mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-11-29 02:22:43 +00:00
Use stock (FSF) version of this file.
This commit is contained in:
parent
093e96ffd9
commit
1f4bf5475b
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=93142
@ -1,3 +1,4 @@
|
||||
/* $FreeBSD$ */
|
||||
/* doc.c -- Generated structure containing function names and doc strings.
|
||||
|
||||
This file was automatically made from various source files with the
|
||||
@ -18,125 +19,129 @@
|
||||
a string which is the user-visible name of the function,
|
||||
and a string which documents its purpose. */
|
||||
|
||||
#include "doc.h"
|
||||
#include "info.h"
|
||||
#include "funs.h"
|
||||
|
||||
FUNCTION_DOC function_doc_array[] = {
|
||||
|
||||
/* Commands found in "./session.c". */
|
||||
{ info_next_line, "next-line", "Move down to the next line" },
|
||||
{ info_prev_line, "prev-line", "Move up to the previous line" },
|
||||
{ info_end_of_line, "end-of-line", "Move to the end of the line" },
|
||||
{ info_beginning_of_line, "beginning-of-line", "Move to the start of the line" },
|
||||
{ info_forward_char, "forward-char", "Move forward a character" },
|
||||
{ info_backward_char, "backward-char", "Move backward a character" },
|
||||
{ info_forward_word, "forward-word", "Move forward a word" },
|
||||
{ info_backward_word, "backward-word", "Move backward a word" },
|
||||
{ info_global_next_node, "global-next-node", "Move forwards or down through node structure" },
|
||||
{ info_global_prev_node, "global-prev-node", "Move backwards or up through node structure" },
|
||||
{ info_scroll_forward, "scroll-forward", "Scroll forward in this window" },
|
||||
{ info_scroll_forward_set_window, "scroll-forward-set-window", "Scroll forward in this window and set default window size" },
|
||||
{ info_scroll_backward, "scroll-backward", "Scroll backward in this window" },
|
||||
{ info_scroll_backward_set_window, "scroll-backward-set-window", "Scroll backward in this window and set default window size" },
|
||||
{ info_beginning_of_node, "beginning-of-node", "Move to the start of this node" },
|
||||
{ info_end_of_node, "end-of-node", "Move to the end of this node" },
|
||||
{ info_down_line, "down-line", "Scroll down by lines" },
|
||||
{ info_up_line, "up-line", "Scroll up by lines" },
|
||||
{ info_scroll_half_screen_down, "scroll-half-screen-down", "Scroll down by half screen size" },
|
||||
{ info_scroll_half_screen_up, "scroll-half-screen-up", "Scroll up by half screen size" },
|
||||
{ info_next_window, "next-window", "Select the next window" },
|
||||
{ info_prev_window, "prev-window", "Select the previous window" },
|
||||
{ info_split_window, "split-window", "Split the current window" },
|
||||
{ info_delete_window, "delete-window", "Delete the current window" },
|
||||
{ info_keep_one_window, "keep-one-window", "Delete all other windows" },
|
||||
{ info_scroll_other_window, "scroll-other-window", "Scroll the other window" },
|
||||
{ info_scroll_other_window_backward, "scroll-other-window-backward", "Scroll the other window backward" },
|
||||
{ info_grow_window, "grow-window", "Grow (or shrink) this window" },
|
||||
{ info_tile_windows, "tile-windows", "Divide the available screen space among the visible windows" },
|
||||
{ info_toggle_wrap, "toggle-wrap", "Toggle the state of line wrapping in the current window" },
|
||||
{ info_next_node, "next-node", "Select the Next node" },
|
||||
{ info_prev_node, "prev-node", "Select the Prev node" },
|
||||
{ info_up_node, "up-node", "Select the Up node" },
|
||||
{ info_last_node, "last-node", "Select the last node in this file" },
|
||||
{ info_first_node, "first-node", "Select the first node in this file" },
|
||||
{ info_last_menu_item, "last-menu-item", "Select the last item in this node's menu" },
|
||||
{ info_menu_digit, "menu-digit", "Select this menu item" },
|
||||
{ info_menu_item, "menu-item", "Read a menu item and select its node" },
|
||||
{ info_xref_item, "xref-item", "Read a footnote or cross reference and select its node" },
|
||||
{ info_find_menu, "find-menu", "Move to the start of this node's menu" },
|
||||
{ info_visit_menu, "visit-menu", "Visit as many menu items at once as possible" },
|
||||
{ info_goto_node, "goto-node", "Read a node name and select it" },
|
||||
{ info_menu_sequence, "menu-sequence", "Read a list of menus starting from dir and follow them" },
|
||||
{ info_goto_invocation_node, "goto-invocation-node", "Find the node describing program invocation" },
|
||||
{ info_man, "man", "Read a manpage reference and select it" },
|
||||
{ info_top_node, "top-node", "Select the node `Top' in this file" },
|
||||
{ info_dir_node, "dir-node", "Select the node `(dir)'" },
|
||||
{ info_history_node, "history-node", "Select the most recently selected node" },
|
||||
{ info_kill_node, "kill-node", "Kill this node" },
|
||||
{ info_view_file, "view-file", "Read the name of a file and select it" },
|
||||
{ info_print_node, "print-node", "Pipe the contents of this node through INFO_PRINT_COMMAND" },
|
||||
{ info_search_case_sensitively, "search-case-sensitively", "Read a string and search for it case-sensitively" },
|
||||
{ info_search, "search", "Read a string and search for it" },
|
||||
{ info_search_backward, "search-backward", "Read a string and search backward for it" },
|
||||
{ info_search_next, "search-next", "Repeat last search in the same direction" },
|
||||
{ info_search_previous, "search-previous", "Repeat last search in the reverse direction" },
|
||||
{ isearch_forward, "isearch-forward", "Search interactively for a string as you type it" },
|
||||
{ isearch_backward, "isearch-backward", "Search interactively for a string as you type it" },
|
||||
{ info_move_to_prev_xref, "move-to-prev-xref", "Move to the previous cross reference" },
|
||||
{ info_move_to_next_xref, "move-to-next-xref", "Move to the next cross reference" },
|
||||
{ info_select_reference_this_line, "select-reference-this-line", "Select reference or menu item appearing on this line" },
|
||||
{ info_abort_key, "abort-key", "Cancel current operation" },
|
||||
{ info_move_to_window_line, "move-to-window-line", "Move the cursor to a specific line of the window" },
|
||||
{ info_redraw_display, "redraw-display", "Redraw the display" },
|
||||
{ info_quit, "quit", "Quit using Info" },
|
||||
{ info_do_lowercase_version, "do-lowercase-version", "" },
|
||||
{ info_add_digit_to_numeric_arg, "add-digit-to-numeric-arg", "Add this digit to the current numeric argument" },
|
||||
{ info_universal_argument, "universal-argument", "Start (or multiply by 4) the current numeric argument" },
|
||||
{ info_numeric_arg_digit_loop, "numeric-arg-digit-loop", "Internally used by \\[universal-argument]" },
|
||||
{ info_next_line, "next-line", (FUNCTION_KEYSEQ *)0, "Move down to the next line" },
|
||||
{ info_prev_line, "prev-line", (FUNCTION_KEYSEQ *)0, "Move up to the previous line" },
|
||||
{ info_end_of_line, "end-of-line", (FUNCTION_KEYSEQ *)0, "Move to the end of the line" },
|
||||
{ info_beginning_of_line, "beginning-of-line", (FUNCTION_KEYSEQ *)0, "Move to the start of the line" },
|
||||
{ info_forward_char, "forward-char", (FUNCTION_KEYSEQ *)0, "Move forward a character" },
|
||||
{ info_backward_char, "backward-char", (FUNCTION_KEYSEQ *)0, "Move backward a character" },
|
||||
{ info_forward_word, "forward-word", (FUNCTION_KEYSEQ *)0, "Move forward a word" },
|
||||
{ info_backward_word, "backward-word", (FUNCTION_KEYSEQ *)0, "Move backward a word" },
|
||||
{ info_global_next_node, "global-next-node", (FUNCTION_KEYSEQ *)0, "Move forwards or down through node structure" },
|
||||
{ info_global_prev_node, "global-prev-node", (FUNCTION_KEYSEQ *)0, "Move backwards or up through node structure" },
|
||||
{ info_scroll_forward, "scroll-forward", (FUNCTION_KEYSEQ *)0, "Scroll forward in this window" },
|
||||
{ info_scroll_forward_set_window, "scroll-forward-set-window", (FUNCTION_KEYSEQ *)0, "Scroll forward in this window and set default window size" },
|
||||
{ info_scroll_forward_page_only, "scroll-forward-page-only", (FUNCTION_KEYSEQ *)0, "Scroll forward in this window staying within node" },
|
||||
{ info_scroll_forward_page_only_set_window, "scroll-forward-page-only-set-window", (FUNCTION_KEYSEQ *)0, "Scroll forward in this window staying within node and set default window size" },
|
||||
{ info_scroll_backward, "scroll-backward", (FUNCTION_KEYSEQ *)0, "Scroll backward in this window" },
|
||||
{ info_scroll_backward_set_window, "scroll-backward-set-window", (FUNCTION_KEYSEQ *)0, "Scroll backward in this window and set default window size" },
|
||||
{ info_scroll_backward_page_only, "scroll-backward-page-only", (FUNCTION_KEYSEQ *)0, "Scroll backward in this window staying within node" },
|
||||
{ info_scroll_backward_page_only_set_window, "scroll-backward-page-only-set-window", (FUNCTION_KEYSEQ *)0, "Scroll backward in this window staying within node and set default window size" },
|
||||
{ info_beginning_of_node, "beginning-of-node", (FUNCTION_KEYSEQ *)0, "Move to the start of this node" },
|
||||
{ info_end_of_node, "end-of-node", (FUNCTION_KEYSEQ *)0, "Move to the end of this node" },
|
||||
{ info_down_line, "down-line", (FUNCTION_KEYSEQ *)0, "Scroll down by lines" },
|
||||
{ info_up_line, "up-line", (FUNCTION_KEYSEQ *)0, "Scroll up by lines" },
|
||||
{ info_scroll_half_screen_down, "scroll-half-screen-down", (FUNCTION_KEYSEQ *)0, "Scroll down by half screen size" },
|
||||
{ info_scroll_half_screen_up, "scroll-half-screen-up", (FUNCTION_KEYSEQ *)0, "Scroll up by half screen size" },
|
||||
{ info_next_window, "next-window", (FUNCTION_KEYSEQ *)0, "Select the next window" },
|
||||
{ info_prev_window, "prev-window", (FUNCTION_KEYSEQ *)0, "Select the previous window" },
|
||||
{ info_split_window, "split-window", (FUNCTION_KEYSEQ *)0, "Split the current window" },
|
||||
{ info_delete_window, "delete-window", (FUNCTION_KEYSEQ *)0, "Delete the current window" },
|
||||
{ info_keep_one_window, "keep-one-window", (FUNCTION_KEYSEQ *)0, "Delete all other windows" },
|
||||
{ info_scroll_other_window, "scroll-other-window", (FUNCTION_KEYSEQ *)0, "Scroll the other window" },
|
||||
{ info_scroll_other_window_backward, "scroll-other-window-backward", (FUNCTION_KEYSEQ *)0, "Scroll the other window backward" },
|
||||
{ info_grow_window, "grow-window", (FUNCTION_KEYSEQ *)0, "Grow (or shrink) this window" },
|
||||
{ info_tile_windows, "tile-windows", (FUNCTION_KEYSEQ *)0, "Divide the available screen space among the visible windows" },
|
||||
{ info_toggle_wrap, "toggle-wrap", (FUNCTION_KEYSEQ *)0, "Toggle the state of line wrapping in the current window" },
|
||||
{ info_next_node, "next-node", (FUNCTION_KEYSEQ *)0, "Select the Next node" },
|
||||
{ info_prev_node, "prev-node", (FUNCTION_KEYSEQ *)0, "Select the Prev node" },
|
||||
{ info_up_node, "up-node", (FUNCTION_KEYSEQ *)0, "Select the Up node" },
|
||||
{ info_last_node, "last-node", (FUNCTION_KEYSEQ *)0, "Select the last node in this file" },
|
||||
{ info_first_node, "first-node", (FUNCTION_KEYSEQ *)0, "Select the first node in this file" },
|
||||
{ info_last_menu_item, "last-menu-item", (FUNCTION_KEYSEQ *)0, "Select the last item in this node's menu" },
|
||||
{ info_menu_digit, "menu-digit", (FUNCTION_KEYSEQ *)0, "Select this menu item" },
|
||||
{ info_menu_item, "menu-item", (FUNCTION_KEYSEQ *)0, "Read a menu item and select its node" },
|
||||
{ info_xref_item, "xref-item", (FUNCTION_KEYSEQ *)0, "Read a footnote or cross reference and select its node" },
|
||||
{ info_find_menu, "find-menu", (FUNCTION_KEYSEQ *)0, "Move to the start of this node's menu" },
|
||||
{ info_visit_menu, "visit-menu", (FUNCTION_KEYSEQ *)0, "Visit as many menu items at once as possible" },
|
||||
{ info_goto_node, "goto-node", (FUNCTION_KEYSEQ *)0, "Read a node name and select it" },
|
||||
{ info_menu_sequence, "menu-sequence", (FUNCTION_KEYSEQ *)0, "Read a list of menus starting from dir and follow them" },
|
||||
{ info_goto_invocation_node, "goto-invocation-node", (FUNCTION_KEYSEQ *)0, "Find the node describing program invocation" },
|
||||
{ info_man, "man", (FUNCTION_KEYSEQ *)0, "Read a manpage reference and select it" },
|
||||
{ info_top_node, "top-node", (FUNCTION_KEYSEQ *)0, "Select the node `Top' in this file" },
|
||||
{ info_dir_node, "dir-node", (FUNCTION_KEYSEQ *)0, "Select the node `(dir)'" },
|
||||
{ info_history_node, "history-node", (FUNCTION_KEYSEQ *)0, "Select the most recently selected node" },
|
||||
{ info_kill_node, "kill-node", (FUNCTION_KEYSEQ *)0, "Kill this node" },
|
||||
{ info_view_file, "view-file", (FUNCTION_KEYSEQ *)0, "Read the name of a file and select it" },
|
||||
{ info_print_node, "print-node", (FUNCTION_KEYSEQ *)0, "Pipe the contents of this node through INFO_PRINT_COMMAND" },
|
||||
{ info_search_case_sensitively, "search-case-sensitively", (FUNCTION_KEYSEQ *)0, "Read a string and search for it case-sensitively" },
|
||||
{ info_search, "search", (FUNCTION_KEYSEQ *)0, "Read a string and search for it" },
|
||||
{ info_search_backward, "search-backward", (FUNCTION_KEYSEQ *)0, "Read a string and search backward for it" },
|
||||
{ info_search_next, "search-next", (FUNCTION_KEYSEQ *)0, "Repeat last search in the same direction" },
|
||||
{ info_search_previous, "search-previous", (FUNCTION_KEYSEQ *)0, "Repeat last search in the reverse direction" },
|
||||
{ isearch_forward, "isearch-forward", (FUNCTION_KEYSEQ *)0, "Search interactively for a string as you type it" },
|
||||
{ isearch_backward, "isearch-backward", (FUNCTION_KEYSEQ *)0, "Search interactively for a string as you type it" },
|
||||
{ info_move_to_prev_xref, "move-to-prev-xref", (FUNCTION_KEYSEQ *)0, "Move to the previous cross reference" },
|
||||
{ info_move_to_next_xref, "move-to-next-xref", (FUNCTION_KEYSEQ *)0, "Move to the next cross reference" },
|
||||
{ info_select_reference_this_line, "select-reference-this-line", (FUNCTION_KEYSEQ *)0, "Select reference or menu item appearing on this line" },
|
||||
{ info_abort_key, "abort-key", (FUNCTION_KEYSEQ *)0, "Cancel current operation" },
|
||||
{ info_move_to_window_line, "move-to-window-line", (FUNCTION_KEYSEQ *)0, "Move the cursor to a specific line of the window" },
|
||||
{ info_redraw_display, "redraw-display", (FUNCTION_KEYSEQ *)0, "Redraw the display" },
|
||||
{ info_quit, "quit", (FUNCTION_KEYSEQ *)0, "Quit using Info" },
|
||||
{ info_do_lowercase_version, "do-lowercase-version", (FUNCTION_KEYSEQ *)0, "Run command bound to this key's lowercase variant" },
|
||||
{ info_add_digit_to_numeric_arg, "add-digit-to-numeric-arg", (FUNCTION_KEYSEQ *)0, "Add this digit to the current numeric argument" },
|
||||
{ info_universal_argument, "universal-argument", (FUNCTION_KEYSEQ *)0, "Start (or multiply by 4) the current numeric argument" },
|
||||
{ info_numeric_arg_digit_loop, "numeric-arg-digit-loop", (FUNCTION_KEYSEQ *)0, "Internally used by \\[universal-argument]" },
|
||||
/* Commands found in "./echo-area.c". */
|
||||
{ ea_forward, "echo-area-forward", "Move forward a character" },
|
||||
{ ea_backward, "echo-area-backward", "Move backward a character" },
|
||||
{ ea_beg_of_line, "echo-area-beg-of-line", "Move to the start of this line" },
|
||||
{ ea_end_of_line, "echo-area-end-of-line", "Move to the end of this line" },
|
||||
{ ea_forward_word, "echo-area-forward-word", "Move forward a word" },
|
||||
{ ea_backward_word, "echo-area-backward-word", "Move backward a word" },
|
||||
{ ea_delete, "echo-area-delete", "Delete the character under the cursor" },
|
||||
{ ea_rubout, "echo-area-rubout", "Delete the character behind the cursor" },
|
||||
{ ea_abort, "echo-area-abort", "Cancel or quit operation" },
|
||||
{ ea_newline, "echo-area-newline", "Accept (or force completion of) this line" },
|
||||
{ ea_quoted_insert, "echo-area-quoted-insert", "Insert next character verbatim" },
|
||||
{ ea_insert, "echo-area-insert", "Insert this character" },
|
||||
{ ea_tab_insert, "echo-area-tab-insert", "Insert a TAB character" },
|
||||
{ ea_transpose_chars, "echo-area-transpose-chars", "Transpose characters at point" },
|
||||
{ ea_yank, "echo-area-yank", "Yank back the contents of the last kill" },
|
||||
{ ea_yank_pop, "echo-area-yank-pop", "Yank back a previous kill" },
|
||||
{ ea_kill_line, "echo-area-kill-line", "Kill to the end of the line" },
|
||||
{ ea_backward_kill_line, "echo-area-backward-kill-line", "Kill to the beginning of the line" },
|
||||
{ ea_kill_word, "echo-area-kill-word", "Kill the word following the cursor" },
|
||||
{ ea_backward_kill_word, "echo-area-backward-kill-word", "Kill the word preceding the cursor" },
|
||||
{ ea_possible_completions, "echo-area-possible-completions", "List possible completions" },
|
||||
{ ea_complete, "echo-area-complete", "Insert completion" },
|
||||
{ ea_scroll_completions_window, "echo-area-scroll-completions-window", "Scroll the completions window" },
|
||||
{ ea_forward, "echo-area-forward", (FUNCTION_KEYSEQ *)0, "Move forward a character" },
|
||||
{ ea_backward, "echo-area-backward", (FUNCTION_KEYSEQ *)0, "Move backward a character" },
|
||||
{ ea_beg_of_line, "echo-area-beg-of-line", (FUNCTION_KEYSEQ *)0, "Move to the start of this line" },
|
||||
{ ea_end_of_line, "echo-area-end-of-line", (FUNCTION_KEYSEQ *)0, "Move to the end of this line" },
|
||||
{ ea_forward_word, "echo-area-forward-word", (FUNCTION_KEYSEQ *)0, "Move forward a word" },
|
||||
{ ea_backward_word, "echo-area-backward-word", (FUNCTION_KEYSEQ *)0, "Move backward a word" },
|
||||
{ ea_delete, "echo-area-delete", (FUNCTION_KEYSEQ *)0, "Delete the character under the cursor" },
|
||||
{ ea_rubout, "echo-area-rubout", (FUNCTION_KEYSEQ *)0, "Delete the character behind the cursor" },
|
||||
{ ea_abort, "echo-area-abort", (FUNCTION_KEYSEQ *)0, "Cancel or quit operation" },
|
||||
{ ea_newline, "echo-area-newline", (FUNCTION_KEYSEQ *)0, "Accept (or force completion of) this line" },
|
||||
{ ea_quoted_insert, "echo-area-quoted-insert", (FUNCTION_KEYSEQ *)0, "Insert next character verbatim" },
|
||||
{ ea_insert, "echo-area-insert", (FUNCTION_KEYSEQ *)0, "Insert this character" },
|
||||
{ ea_tab_insert, "echo-area-tab-insert", (FUNCTION_KEYSEQ *)0, "Insert a TAB character" },
|
||||
{ ea_transpose_chars, "echo-area-transpose-chars", (FUNCTION_KEYSEQ *)0, "Transpose characters at point" },
|
||||
{ ea_yank, "echo-area-yank", (FUNCTION_KEYSEQ *)0, "Yank back the contents of the last kill" },
|
||||
{ ea_yank_pop, "echo-area-yank-pop", (FUNCTION_KEYSEQ *)0, "Yank back a previous kill" },
|
||||
{ ea_kill_line, "echo-area-kill-line", (FUNCTION_KEYSEQ *)0, "Kill to the end of the line" },
|
||||
{ ea_backward_kill_line, "echo-area-backward-kill-line", (FUNCTION_KEYSEQ *)0, "Kill to the beginning of the line" },
|
||||
{ ea_kill_word, "echo-area-kill-word", (FUNCTION_KEYSEQ *)0, "Kill the word following the cursor" },
|
||||
{ ea_backward_kill_word, "echo-area-backward-kill-word", (FUNCTION_KEYSEQ *)0, "Kill the word preceding the cursor" },
|
||||
{ ea_possible_completions, "echo-area-possible-completions", (FUNCTION_KEYSEQ *)0, "List possible completions" },
|
||||
{ ea_complete, "echo-area-complete", (FUNCTION_KEYSEQ *)0, "Insert completion" },
|
||||
{ ea_scroll_completions_window, "echo-area-scroll-completions-window", (FUNCTION_KEYSEQ *)0, "Scroll the completions window" },
|
||||
/* Commands found in "./infodoc.c". */
|
||||
{ info_get_help_window, "get-help-window", "Display help message" },
|
||||
{ info_get_info_help_node, "get-info-help-node", "Visit Info node `(info)Help'" },
|
||||
{ describe_key, "describe-key", "Print documentation for KEY" },
|
||||
{ info_where_is, "where-is", "Show what to type to execute a given command" },
|
||||
{ info_get_help_window, "get-help-window", (FUNCTION_KEYSEQ *)0, "Display help message" },
|
||||
{ info_get_info_help_node, "get-info-help-node", (FUNCTION_KEYSEQ *)0, "Visit Info node `(info)Help'" },
|
||||
{ describe_key, "describe-key", (FUNCTION_KEYSEQ *)0, "Print documentation for KEY" },
|
||||
{ info_where_is, "where-is", (FUNCTION_KEYSEQ *)0, "Show what to type to execute a given command" },
|
||||
/* Commands found in "./m-x.c". */
|
||||
{ describe_command, "describe-command", "Read the name of an Info command and describe it" },
|
||||
{ info_execute_command, "execute-command", "Read a command name in the echo area and execute it" },
|
||||
{ set_screen_height, "set-screen-height", "Set the height of the displayed window" },
|
||||
{ describe_command, "describe-command", (FUNCTION_KEYSEQ *)0, "Read the name of an Info command and describe it" },
|
||||
{ info_execute_command, "execute-command", (FUNCTION_KEYSEQ *)0, "Read a command name in the echo area and execute it" },
|
||||
{ set_screen_height, "set-screen-height", (FUNCTION_KEYSEQ *)0, "Set the height of the displayed window" },
|
||||
/* Commands found in "./indices.c". */
|
||||
{ info_index_search, "index-search", "Look up a string in the index for this file" },
|
||||
{ info_next_index_match, "next-index-match", "Go to the next matching index item from the last `\\[index-search]' command" },
|
||||
{ info_index_apropos, "index-apropos", "Grovel all known info file's indices for a string and build a menu" },
|
||||
{ info_index_search, "index-search", (FUNCTION_KEYSEQ *)0, "Look up a string in the index for this file" },
|
||||
{ info_next_index_match, "next-index-match", (FUNCTION_KEYSEQ *)0, "Go to the next matching index item from the last `\\[index-search]' command" },
|
||||
{ info_index_apropos, "index-apropos", (FUNCTION_KEYSEQ *)0, "Grovel all known info file's indices for a string and build a menu" },
|
||||
/* Commands found in "./nodemenu.c". */
|
||||
{ list_visited_nodes, "list-visited-nodes", "Make a window containing a menu of all of the currently visited nodes" },
|
||||
{ select_visited_node, "select-visited-node", "Select a node which has been previously visited in a visible window" },
|
||||
{ list_visited_nodes, "list-visited-nodes", (FUNCTION_KEYSEQ *)0, "Make a window containing a menu of all of the currently visited nodes" },
|
||||
{ select_visited_node, "select-visited-node", (FUNCTION_KEYSEQ *)0, "Select a node which has been previously visited in a visible window" },
|
||||
/* Commands found in "./footnotes.c". */
|
||||
{ info_show_footnotes, "show-footnotes", "Show the footnotes associated with this node in another window" },
|
||||
{ info_show_footnotes, "show-footnotes", (FUNCTION_KEYSEQ *)0, "Show the footnotes associated with this node in another window" },
|
||||
/* Commands found in "./variables.c". */
|
||||
{ describe_variable, "describe-variable", "Explain the use of a variable" },
|
||||
{ set_variable, "set-variable", "Set the value of an Info variable" },
|
||||
{ (VFunction *)NULL, (char *)NULL, (char *)NULL }
|
||||
{ describe_variable, "describe-variable", (FUNCTION_KEYSEQ *)0, "Explain the use of a variable" },
|
||||
{ set_variable, "set-variable", (FUNCTION_KEYSEQ *)0, "Set the value of an Info variable" },
|
||||
{ (VFunction *)NULL, (char *)NULL, (FUNCTION_KEYSEQ *)NULL, (char *)NULL }
|
||||
};
|
||||
|
@ -1,124 +1,242 @@
|
||||
/* $FreeBSD$ */
|
||||
/* funs.h -- Generated declarations for Info commands. */
|
||||
|
||||
/* Functions declared in "./session.c". */
|
||||
#define A_info_next_line 0
|
||||
extern void info_next_line ();
|
||||
#define A_info_prev_line 1
|
||||
extern void info_prev_line ();
|
||||
#define A_info_end_of_line 2
|
||||
extern void info_end_of_line ();
|
||||
#define A_info_beginning_of_line 3
|
||||
extern void info_beginning_of_line ();
|
||||
#define A_info_forward_char 4
|
||||
extern void info_forward_char ();
|
||||
#define A_info_backward_char 5
|
||||
extern void info_backward_char ();
|
||||
#define A_info_forward_word 6
|
||||
extern void info_forward_word ();
|
||||
#define A_info_backward_word 7
|
||||
extern void info_backward_word ();
|
||||
#define A_info_global_next_node 8
|
||||
extern void info_global_next_node ();
|
||||
#define A_info_global_prev_node 9
|
||||
extern void info_global_prev_node ();
|
||||
#define A_info_scroll_forward 10
|
||||
extern void info_scroll_forward ();
|
||||
#define A_info_scroll_forward_set_window 11
|
||||
extern void info_scroll_forward_set_window ();
|
||||
#define A_info_scroll_forward_page_only 12
|
||||
extern void info_scroll_forward_page_only ();
|
||||
#define A_info_scroll_forward_page_only_set_window 13
|
||||
extern void info_scroll_forward_page_only_set_window ();
|
||||
#define A_info_scroll_backward 14
|
||||
extern void info_scroll_backward ();
|
||||
#define A_info_scroll_backward_set_window 15
|
||||
extern void info_scroll_backward_set_window ();
|
||||
#define A_info_scroll_backward_page_only 16
|
||||
extern void info_scroll_backward_page_only ();
|
||||
#define A_info_scroll_backward_page_only_set_window 17
|
||||
extern void info_scroll_backward_page_only_set_window ();
|
||||
#define A_info_beginning_of_node 18
|
||||
extern void info_beginning_of_node ();
|
||||
#define A_info_end_of_node 19
|
||||
extern void info_end_of_node ();
|
||||
#define A_info_down_line 20
|
||||
extern void info_down_line ();
|
||||
#define A_info_up_line 21
|
||||
extern void info_up_line ();
|
||||
#define A_info_scroll_half_screen_down 22
|
||||
extern void info_scroll_half_screen_down ();
|
||||
#define A_info_scroll_half_screen_up 23
|
||||
extern void info_scroll_half_screen_up ();
|
||||
#define A_info_next_window 24
|
||||
extern void info_next_window ();
|
||||
#define A_info_prev_window 25
|
||||
extern void info_prev_window ();
|
||||
#define A_info_split_window 26
|
||||
extern void info_split_window ();
|
||||
#define A_info_delete_window 27
|
||||
extern void info_delete_window ();
|
||||
#define A_info_keep_one_window 28
|
||||
extern void info_keep_one_window ();
|
||||
#define A_info_scroll_other_window 29
|
||||
extern void info_scroll_other_window ();
|
||||
#define A_info_scroll_other_window_backward 30
|
||||
extern void info_scroll_other_window_backward ();
|
||||
#define A_info_grow_window 31
|
||||
extern void info_grow_window ();
|
||||
#define A_info_tile_windows 32
|
||||
extern void info_tile_windows ();
|
||||
#define A_info_toggle_wrap 33
|
||||
extern void info_toggle_wrap ();
|
||||
#define A_info_next_node 34
|
||||
extern void info_next_node ();
|
||||
#define A_info_prev_node 35
|
||||
extern void info_prev_node ();
|
||||
#define A_info_up_node 36
|
||||
extern void info_up_node ();
|
||||
#define A_info_last_node 37
|
||||
extern void info_last_node ();
|
||||
#define A_info_first_node 38
|
||||
extern void info_first_node ();
|
||||
#define A_info_last_menu_item 39
|
||||
extern void info_last_menu_item ();
|
||||
#define A_info_menu_digit 40
|
||||
extern void info_menu_digit ();
|
||||
#define A_info_menu_item 41
|
||||
extern void info_menu_item ();
|
||||
#define A_info_xref_item 42
|
||||
extern void info_xref_item ();
|
||||
#define A_info_find_menu 43
|
||||
extern void info_find_menu ();
|
||||
#define A_info_visit_menu 44
|
||||
extern void info_visit_menu ();
|
||||
#define A_info_goto_node 45
|
||||
extern void info_goto_node ();
|
||||
#define A_info_menu_sequence 46
|
||||
extern void info_menu_sequence ();
|
||||
#define A_info_goto_invocation_node 47
|
||||
extern void info_goto_invocation_node ();
|
||||
#define A_info_man 48
|
||||
extern void info_man ();
|
||||
#define A_info_top_node 49
|
||||
extern void info_top_node ();
|
||||
#define A_info_dir_node 50
|
||||
extern void info_dir_node ();
|
||||
#define A_info_history_node 51
|
||||
extern void info_history_node ();
|
||||
#define A_info_kill_node 52
|
||||
extern void info_kill_node ();
|
||||
#define A_info_view_file 53
|
||||
extern void info_view_file ();
|
||||
#define A_info_print_node 54
|
||||
extern void info_print_node ();
|
||||
#define A_info_search_case_sensitively 55
|
||||
extern void info_search_case_sensitively ();
|
||||
#define A_info_search 56
|
||||
extern void info_search ();
|
||||
#define A_info_search_backward 57
|
||||
extern void info_search_backward ();
|
||||
#define A_info_search_next 58
|
||||
extern void info_search_next ();
|
||||
#define A_info_search_previous 59
|
||||
extern void info_search_previous ();
|
||||
#define A_isearch_forward 60
|
||||
extern void isearch_forward ();
|
||||
#define A_isearch_backward 61
|
||||
extern void isearch_backward ();
|
||||
#define A_info_move_to_prev_xref 62
|
||||
extern void info_move_to_prev_xref ();
|
||||
#define A_info_move_to_next_xref 63
|
||||
extern void info_move_to_next_xref ();
|
||||
#define A_info_select_reference_this_line 64
|
||||
extern void info_select_reference_this_line ();
|
||||
#define A_info_abort_key 65
|
||||
extern void info_abort_key ();
|
||||
#define A_info_move_to_window_line 66
|
||||
extern void info_move_to_window_line ();
|
||||
#define A_info_redraw_display 67
|
||||
extern void info_redraw_display ();
|
||||
#define A_info_quit 68
|
||||
extern void info_quit ();
|
||||
#define A_info_do_lowercase_version 69
|
||||
extern void info_do_lowercase_version ();
|
||||
#define A_info_add_digit_to_numeric_arg 70
|
||||
extern void info_add_digit_to_numeric_arg ();
|
||||
#define A_info_universal_argument 71
|
||||
extern void info_universal_argument ();
|
||||
#define A_info_numeric_arg_digit_loop 72
|
||||
extern void info_numeric_arg_digit_loop ();
|
||||
|
||||
/* Functions declared in "./echo-area.c". */
|
||||
#define A_ea_forward 73
|
||||
extern void ea_forward ();
|
||||
#define A_ea_backward 74
|
||||
extern void ea_backward ();
|
||||
#define A_ea_beg_of_line 75
|
||||
extern void ea_beg_of_line ();
|
||||
#define A_ea_end_of_line 76
|
||||
extern void ea_end_of_line ();
|
||||
#define A_ea_forward_word 77
|
||||
extern void ea_forward_word ();
|
||||
#define A_ea_backward_word 78
|
||||
extern void ea_backward_word ();
|
||||
#define A_ea_delete 79
|
||||
extern void ea_delete ();
|
||||
#define A_ea_rubout 80
|
||||
extern void ea_rubout ();
|
||||
#define A_ea_abort 81
|
||||
extern void ea_abort ();
|
||||
#define A_ea_newline 82
|
||||
extern void ea_newline ();
|
||||
#define A_ea_quoted_insert 83
|
||||
extern void ea_quoted_insert ();
|
||||
#define A_ea_insert 84
|
||||
extern void ea_insert ();
|
||||
#define A_ea_tab_insert 85
|
||||
extern void ea_tab_insert ();
|
||||
#define A_ea_transpose_chars 86
|
||||
extern void ea_transpose_chars ();
|
||||
#define A_ea_yank 87
|
||||
extern void ea_yank ();
|
||||
#define A_ea_yank_pop 88
|
||||
extern void ea_yank_pop ();
|
||||
#define A_ea_kill_line 89
|
||||
extern void ea_kill_line ();
|
||||
#define A_ea_backward_kill_line 90
|
||||
extern void ea_backward_kill_line ();
|
||||
#define A_ea_kill_word 91
|
||||
extern void ea_kill_word ();
|
||||
#define A_ea_backward_kill_word 92
|
||||
extern void ea_backward_kill_word ();
|
||||
#define A_ea_possible_completions 93
|
||||
extern void ea_possible_completions ();
|
||||
#define A_ea_complete 94
|
||||
extern void ea_complete ();
|
||||
#define A_ea_scroll_completions_window 95
|
||||
extern void ea_scroll_completions_window ();
|
||||
|
||||
/* Functions declared in "./infodoc.c". */
|
||||
#define A_info_get_help_window 96
|
||||
extern void info_get_help_window ();
|
||||
#define A_info_get_info_help_node 97
|
||||
extern void info_get_info_help_node ();
|
||||
#define A_describe_key 98
|
||||
extern void describe_key ();
|
||||
#define A_info_where_is 99
|
||||
extern void info_where_is ();
|
||||
|
||||
/* Functions declared in "./m-x.c". */
|
||||
#define A_describe_command 100
|
||||
extern void describe_command ();
|
||||
#define A_info_execute_command 101
|
||||
extern void info_execute_command ();
|
||||
#define A_set_screen_height 102
|
||||
extern void set_screen_height ();
|
||||
|
||||
/* Functions declared in "./indices.c". */
|
||||
#define A_info_index_search 103
|
||||
extern void info_index_search ();
|
||||
#define A_info_next_index_match 104
|
||||
extern void info_next_index_match ();
|
||||
#define A_info_index_apropos 105
|
||||
extern void info_index_apropos ();
|
||||
|
||||
/* Functions declared in "./nodemenu.c". */
|
||||
#define A_list_visited_nodes 106
|
||||
extern void list_visited_nodes ();
|
||||
#define A_select_visited_node 107
|
||||
extern void select_visited_node ();
|
||||
|
||||
/* Functions declared in "./footnotes.c". */
|
||||
#define A_info_show_footnotes 108
|
||||
extern void info_show_footnotes ();
|
||||
|
||||
/* Functions declared in "./variables.c". */
|
||||
#define A_describe_variable 109
|
||||
extern void describe_variable ();
|
||||
#define A_set_variable 110
|
||||
extern void set_variable ();
|
||||
|
||||
#define A_NCOMMANDS 111
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,9 @@
|
||||
/* $FreeBSD$ */
|
||||
/* session.c -- user windowing interface to Info.
|
||||
$Id: session.c,v 1.38 1999/09/25 16:10:04 karl Exp $
|
||||
$Id: session.c,v 1.45 2002/03/02 15:05:04 karl Exp $
|
||||
|
||||
Copyright (C) 1993, 96, 97, 98, 99 Free Software Foundation, Inc.
|
||||
Copyright (C) 1993, 96, 97, 98, 99, 2000, 01, 02
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@ -1139,19 +1141,26 @@ DECLARE_INFO_COMMAND (info_global_prev_node,
|
||||
}
|
||||
}
|
||||
|
||||
/* Show the next screen of WINDOW's node. */
|
||||
DECLARE_INFO_COMMAND (info_scroll_forward, _("Scroll forward in this window"))
|
||||
static void _scroll_forward();
|
||||
static void _scroll_backward();
|
||||
|
||||
static void
|
||||
_scroll_forward(window, count, key, behaviour)
|
||||
WINDOW *window;
|
||||
int count;
|
||||
unsigned char key;
|
||||
int behaviour;
|
||||
{
|
||||
if (count < 0)
|
||||
info_scroll_backward (window, -count, key);
|
||||
_scroll_backward (window, -count, key, behaviour);
|
||||
else
|
||||
{
|
||||
int desired_top;
|
||||
|
||||
/* Without an explicit numeric argument, scroll the bottom two
|
||||
lines to the top of this window, Or, if at bottom of window,
|
||||
and the user wishes to scroll through nodes get the "Next" node
|
||||
for this window. */
|
||||
and the chosen behaviour is to scroll through nodes get the
|
||||
"Next" node for this window. */
|
||||
if (default_window_size > 0)
|
||||
desired_top = window->pagetop + default_window_size;
|
||||
else if (!info_explicit_arg && count == 1)
|
||||
@ -1159,16 +1168,9 @@ DECLARE_INFO_COMMAND (info_scroll_forward, _("Scroll forward in this window"))
|
||||
desired_top = window->pagetop + (window->height - 2);
|
||||
|
||||
/* If there are no more lines to scroll here, error, or get
|
||||
another node, depending on INFO_SCROLL_BEHAVIOUR. */
|
||||
another node, depending on BEHAVIOUR. */
|
||||
if (desired_top > window->line_count)
|
||||
{
|
||||
int behaviour = info_scroll_behaviour;
|
||||
|
||||
/* Here is a hack. If the key being used is not SPC, do the
|
||||
PageOnly behaviour. */
|
||||
if (key != SPC && key != DEL)
|
||||
behaviour = IS_PageOnly;
|
||||
|
||||
forward_move_node_structure (window, behaviour);
|
||||
return;
|
||||
}
|
||||
@ -1186,28 +1188,22 @@ DECLARE_INFO_COMMAND (info_scroll_forward, _("Scroll forward in this window"))
|
||||
}
|
||||
}
|
||||
|
||||
/* Like info_scroll_forward, but sets default_window_size as a side
|
||||
effect. */
|
||||
DECLARE_INFO_COMMAND (info_scroll_forward_set_window,
|
||||
_("Scroll forward in this window and set default window size"))
|
||||
{
|
||||
if (info_explicit_arg)
|
||||
default_window_size = count;
|
||||
info_scroll_forward (window, count, key);
|
||||
}
|
||||
|
||||
/* Show the previous screen of WINDOW's node. */
|
||||
DECLARE_INFO_COMMAND (info_scroll_backward, _("Scroll backward in this window"))
|
||||
static void
|
||||
_scroll_backward(window, count, key, behaviour)
|
||||
WINDOW *window;
|
||||
int count;
|
||||
unsigned char key;
|
||||
int behaviour;
|
||||
{
|
||||
if (count < 0)
|
||||
info_scroll_forward (window, -count, key);
|
||||
_scroll_forward (window, -count, key, behaviour);
|
||||
else
|
||||
{
|
||||
int desired_top;
|
||||
|
||||
/* Without an explicit numeric argument, scroll the top two lines
|
||||
to the bottom of this window, or move to the previous, or Up'th
|
||||
node. */
|
||||
to the bottom of this window, or, depending on the selected
|
||||
behaviour, move to the previous, or Up'th node. */
|
||||
if (default_window_size > 0)
|
||||
desired_top = window->pagetop - default_window_size;
|
||||
else if (!info_explicit_arg && count == 1)
|
||||
@ -1216,14 +1212,6 @@ DECLARE_INFO_COMMAND (info_scroll_backward, _("Scroll backward in this window"))
|
||||
|
||||
if ((desired_top < 0) && (window->pagetop == 0))
|
||||
{
|
||||
int behaviour = info_scroll_behaviour;
|
||||
|
||||
/* Same kind of hack as in info_scroll_forward. If the key
|
||||
used to invoke this command is not DEL, do only the PageOnly
|
||||
behaviour. */
|
||||
if (key != DEL && key != SPC)
|
||||
behaviour = IS_PageOnly;
|
||||
|
||||
backward_move_node_structure (window, behaviour);
|
||||
return;
|
||||
}
|
||||
@ -1238,6 +1226,44 @@ DECLARE_INFO_COMMAND (info_scroll_backward, _("Scroll backward in this window"))
|
||||
}
|
||||
}
|
||||
|
||||
/* Show the next screen of WINDOW's node. */
|
||||
DECLARE_INFO_COMMAND (info_scroll_forward, _("Scroll forward in this window"))
|
||||
{
|
||||
_scroll_forward (window, count, key, info_scroll_behaviour);
|
||||
}
|
||||
|
||||
/* Like info_scroll_forward, but sets default_window_size as a side
|
||||
effect. */
|
||||
DECLARE_INFO_COMMAND (info_scroll_forward_set_window,
|
||||
_("Scroll forward in this window and set default window size"))
|
||||
{
|
||||
if (info_explicit_arg)
|
||||
default_window_size = count;
|
||||
_scroll_forward (window, count, key, info_scroll_behaviour);
|
||||
}
|
||||
|
||||
/* Show the next screen of WINDOW's node but never advance to next node. */
|
||||
DECLARE_INFO_COMMAND (info_scroll_forward_page_only, _("Scroll forward in this window staying within node"))
|
||||
{
|
||||
_scroll_forward (window, count, key, IS_PageOnly);
|
||||
}
|
||||
|
||||
/* Like info_scroll_forward_page_only, but sets default_window_size as a side
|
||||
effect. */
|
||||
DECLARE_INFO_COMMAND (info_scroll_forward_page_only_set_window,
|
||||
_("Scroll forward in this window staying within node and set default window size"))
|
||||
{
|
||||
if (info_explicit_arg)
|
||||
default_window_size = count;
|
||||
_scroll_forward (window, count, key, IS_PageOnly);
|
||||
}
|
||||
|
||||
/* Show the previous screen of WINDOW's node. */
|
||||
DECLARE_INFO_COMMAND (info_scroll_backward, _("Scroll backward in this window"))
|
||||
{
|
||||
_scroll_backward (window, count, key, info_scroll_behaviour);
|
||||
}
|
||||
|
||||
/* Like info_scroll_backward, but sets default_window_size as a side
|
||||
effect. */
|
||||
DECLARE_INFO_COMMAND (info_scroll_backward_set_window,
|
||||
@ -1245,7 +1271,24 @@ DECLARE_INFO_COMMAND (info_scroll_backward_set_window,
|
||||
{
|
||||
if (info_explicit_arg)
|
||||
default_window_size = count;
|
||||
info_scroll_backward (window, count, key);
|
||||
_scroll_backward (window, count, key, info_scroll_behaviour);
|
||||
}
|
||||
|
||||
/* Show the previous screen of WINDOW's node but never move to previous
|
||||
node. */
|
||||
DECLARE_INFO_COMMAND (info_scroll_backward_page_only, _("Scroll backward in this window staying within node"))
|
||||
{
|
||||
_scroll_backward (window, count, key, IS_PageOnly);
|
||||
}
|
||||
|
||||
/* Like info_scroll_backward_page_only, but sets default_window_size as a side
|
||||
effect. */
|
||||
DECLARE_INFO_COMMAND (info_scroll_backward_page_only_set_window,
|
||||
_("Scroll backward in this window staying within node and set default window size"))
|
||||
{
|
||||
if (info_explicit_arg)
|
||||
default_window_size = count;
|
||||
_scroll_backward (window, count, key, IS_PageOnly);
|
||||
}
|
||||
|
||||
/* Move to the beginning of the node. */
|
||||
@ -1301,7 +1344,7 @@ DECLARE_INFO_COMMAND (info_scroll_half_screen_down,
|
||||
_("Scroll down by half screen size"))
|
||||
{
|
||||
if (count < 0)
|
||||
info_scroll_half_screen_up (window -count, key);
|
||||
info_scroll_half_screen_up (window, -count, key);
|
||||
else
|
||||
{
|
||||
int scroll_size = (the_screen->height + 1) / 2;
|
||||
@ -1327,7 +1370,7 @@ DECLARE_INFO_COMMAND (info_scroll_half_screen_up,
|
||||
_("Scroll up by half screen size"))
|
||||
{
|
||||
if (count < 0)
|
||||
info_scroll_half_screen_down (window -count, key);
|
||||
info_scroll_half_screen_down (window, -count, key);
|
||||
else
|
||||
{
|
||||
int scroll_size = (the_screen->height + 1) / 2;
|
||||
@ -2028,7 +2071,19 @@ info_menu_or_ref_item (window, count, key, builder, ask_p)
|
||||
refs = manpage_xrefs_in_binding (window->node, &binding);
|
||||
else
|
||||
#endif /* HANDLE_MAN_PAGES */
|
||||
refs = info_xrefs (&binding);
|
||||
{
|
||||
refs = info_xrefs (&binding);
|
||||
if (!refs && point_line > 0)
|
||||
{
|
||||
/* People get annoyed that Info cannot find an xref
|
||||
which starts on a previous line and ends on this
|
||||
one. So if we fail to find a reference on this
|
||||
line, let's try the one before. */
|
||||
binding.start =
|
||||
window->line_starts[point_line - 1] - binding.buffer;
|
||||
refs = info_xrefs (&binding);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (refs)
|
||||
@ -2139,8 +2194,43 @@ info_menu_or_ref_item (window, count, key, builder, ask_p)
|
||||
|
||||
if (line)
|
||||
{
|
||||
/* Find the selected label in the references. */
|
||||
entry = info_get_labeled_reference (line, menu);
|
||||
/* It is possible that the references have more than a single
|
||||
entry with the same label, and also LINE is down-cased, which
|
||||
complicates matters even more. Try to be as accurate as we
|
||||
can: if they've chosen the default, use defentry directly. */
|
||||
if (defentry && strcmp (line, defentry->label) == 0)
|
||||
entry = defentry;
|
||||
else
|
||||
/* Find the selected label in the references. If there are
|
||||
more than one label which matches, find the one that's
|
||||
closest to point. */
|
||||
{
|
||||
register int i;
|
||||
int best = -1, min_dist = window->node->nodelen;
|
||||
REFERENCE *ref;
|
||||
|
||||
for (i = 0; menu && (ref = menu[i]); i++)
|
||||
{
|
||||
/* Need to use strcasecmp because LINE is downcased
|
||||
inside info_read_completing_in_echo_area. */
|
||||
if (strcasecmp (line, ref->label) == 0)
|
||||
{
|
||||
/* ref->end is more accurate estimate of position
|
||||
for menus than ref->start. Go figure. */
|
||||
int dist = abs (window->point - ref->end);
|
||||
|
||||
if (dist < min_dist)
|
||||
{
|
||||
min_dist = dist;
|
||||
best = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (best != -1)
|
||||
entry = menu[best];
|
||||
else
|
||||
entry = (REFERENCE *)NULL;
|
||||
}
|
||||
|
||||
if (!entry && defentry)
|
||||
info_error (_("The reference disappeared! (%s)."), line);
|
||||
@ -2413,7 +2503,12 @@ info_follow_menus (initial_node, menus, errstr, errarg1, errarg2)
|
||||
{
|
||||
if (arg == first_arg)
|
||||
{
|
||||
node = make_manpage_node (first_arg);
|
||||
/* Maybe they typed "info foo" instead of "info -f foo". */
|
||||
node = info_get_node (first_arg, 0);
|
||||
if (node)
|
||||
add_file_directory_to_path (first_arg);
|
||||
else
|
||||
node = make_manpage_node (first_arg);
|
||||
if (node)
|
||||
goto maybe_got_node;
|
||||
}
|
||||
@ -3873,14 +3968,27 @@ incremental_search (window, count, ignore)
|
||||
|
||||
if (!Meta_p (key) || key > 32)
|
||||
{
|
||||
func = window->keymap[key].function;
|
||||
func = InfoFunction(window->keymap[key].function);
|
||||
|
||||
/* If this key invokes an incremental search, then this means that
|
||||
we will either search again in the same direction, search
|
||||
again in the reverse direction, or insert the last search
|
||||
string that was accepted through incremental searching. */
|
||||
if (func == isearch_forward || func == isearch_backward)
|
||||
if (isprint (key) || func == (VFunction *)NULL)
|
||||
{
|
||||
insert_and_search:
|
||||
|
||||
if (isearch_string_index + 2 >= isearch_string_size)
|
||||
isearch_string = (char *)xrealloc
|
||||
(isearch_string, isearch_string_size += 100);
|
||||
|
||||
isearch_string[isearch_string_index++] = key;
|
||||
isearch_string[isearch_string_index] = '\0';
|
||||
goto search_now;
|
||||
}
|
||||
else if (func == isearch_forward || func == isearch_backward)
|
||||
{
|
||||
/* If this key invokes an incremental search, then this
|
||||
means that we will either search again in the same
|
||||
direction, search again in the reverse direction, or
|
||||
insert the last search string that was accepted through
|
||||
incremental searching. */
|
||||
if ((func == isearch_forward && dir > 0) ||
|
||||
(func == isearch_backward && dir < 0))
|
||||
{
|
||||
@ -3918,18 +4026,6 @@ incremental_search (window, count, ignore)
|
||||
dir = -dir;
|
||||
}
|
||||
}
|
||||
else if (isprint (key) || func == (VFunction *)NULL)
|
||||
{
|
||||
insert_and_search:
|
||||
|
||||
if (isearch_string_index + 2 >= isearch_string_size)
|
||||
isearch_string = (char *)xrealloc
|
||||
(isearch_string, isearch_string_size += 100);
|
||||
|
||||
isearch_string[isearch_string_index++] = key;
|
||||
isearch_string[isearch_string_index] = '\0';
|
||||
goto search_now;
|
||||
}
|
||||
else if (func == info_abort_key)
|
||||
{
|
||||
/* If C-g pressed, and the search is failing, pop the search
|
||||
@ -3971,8 +4067,9 @@ incremental_search (window, count, ignore)
|
||||
/* FIXME: this seems like a kludge! We need a more reliable
|
||||
mechanism to know when ESC is a separate key and when it is
|
||||
part of an escape sequence. */
|
||||
if (key != isearch_terminate_search_key ||
|
||||
info_any_buffered_input_p ())
|
||||
if (key != RET /* Emacs addicts want RET to get lost */
|
||||
&& (key != isearch_terminate_search_key
|
||||
|| info_any_buffered_input_p ()))
|
||||
info_set_pending_input (key);
|
||||
|
||||
if (func == info_abort_key)
|
||||
@ -4377,8 +4474,10 @@ DECLARE_INFO_COMMAND (info_quit, _("Quit using Info"))
|
||||
/* */
|
||||
/* **************************************************************** */
|
||||
|
||||
/* Declaration only. Special cased in info_dispatch_on_key (). */
|
||||
DECLARE_INFO_COMMAND (info_do_lowercase_version, "")
|
||||
/* Declaration only. Special cased in info_dispatch_on_key ().
|
||||
Doc string is to avoid ugly results with describe_key etc. */
|
||||
DECLARE_INFO_COMMAND (info_do_lowercase_version,
|
||||
_("Run command bound to this key's lowercase variant"))
|
||||
{}
|
||||
|
||||
static void
|
||||
@ -4403,7 +4502,6 @@ dispatch_error (keyseq)
|
||||
|
||||
/* Keeping track of key sequences. */
|
||||
static char *info_keyseq = (char *)NULL;
|
||||
static char keyseq_rep[100];
|
||||
static int info_keyseq_index = 0;
|
||||
static int info_keyseq_size = 0;
|
||||
static int info_keyseq_displayed_p = 0;
|
||||
@ -4428,25 +4526,6 @@ add_char_to_keyseq (character)
|
||||
info_keyseq[info_keyseq_index] = '\0';
|
||||
}
|
||||
|
||||
/* Return the pretty printable string which represents KEYSEQ. */
|
||||
char *
|
||||
pretty_keyseq (keyseq)
|
||||
char *keyseq;
|
||||
{
|
||||
register int i;
|
||||
|
||||
keyseq_rep[0] = '\0';
|
||||
|
||||
for (i = 0; keyseq[i]; i++)
|
||||
{
|
||||
sprintf (keyseq_rep + strlen (keyseq_rep), "%s%s",
|
||||
strlen (keyseq_rep) ? " " : "",
|
||||
pretty_keyname (keyseq[i]));
|
||||
}
|
||||
|
||||
return (keyseq_rep);
|
||||
}
|
||||
|
||||
/* Display the current value of info_keyseq. If argument EXPECTING is
|
||||
non-zero, input is expected to be read after the key sequence is
|
||||
displayed, so add an additional prompting character to the sequence. */
|
||||
@ -4513,6 +4592,7 @@ info_dispatch_on_key (key, map)
|
||||
unsigned char key;
|
||||
Keymap map;
|
||||
{
|
||||
#if !defined(INFOKEY)
|
||||
if (Meta_p (key) && (!ISO_Latin_p || map[key].function != ea_insert))
|
||||
{
|
||||
if (map[ESC].type == ISKMAP)
|
||||
@ -4528,6 +4608,7 @@ info_dispatch_on_key (key, map)
|
||||
}
|
||||
return;
|
||||
}
|
||||
#endif /* INFOKEY */
|
||||
|
||||
switch (map[key].type)
|
||||
{
|
||||
@ -4535,13 +4616,26 @@ info_dispatch_on_key (key, map)
|
||||
{
|
||||
VFunction *func;
|
||||
|
||||
func = map[key].function;
|
||||
func = InfoFunction(map[key].function);
|
||||
if (func != (VFunction *)NULL)
|
||||
{
|
||||
/* Special case info_do_lowercase_version (). */
|
||||
if (func == info_do_lowercase_version)
|
||||
{
|
||||
#if defined(INFOKEY)
|
||||
unsigned char lowerkey;
|
||||
|
||||
lowerkey = Meta_p(key) ? Meta (tolower (UnMeta (key))) : tolower (key);
|
||||
if (lowerkey == key)
|
||||
{
|
||||
add_char_to_keyseq (key);
|
||||
dispatch_error (info_keyseq);
|
||||
return;
|
||||
}
|
||||
info_dispatch_on_key (lowerkey, map);
|
||||
#else /* !INFOKEY */
|
||||
info_dispatch_on_key (tolower (key), map);
|
||||
#endif /* INFOKEY */
|
||||
return;
|
||||
}
|
||||
|
||||
@ -4554,7 +4648,7 @@ info_dispatch_on_key (key, map)
|
||||
WINDOW *where;
|
||||
|
||||
where = active_window;
|
||||
(*map[key].function)
|
||||
(*InfoFunction(map[key].function))
|
||||
(active_window, info_numeric_arg * info_numeric_arg_sign, key);
|
||||
|
||||
/* If we have input pending, then the last command was a prefix
|
||||
@ -4564,9 +4658,9 @@ info_dispatch_on_key (key, map)
|
||||
if (!info_input_pending_p ())
|
||||
{
|
||||
if (where == the_echo_area)
|
||||
ea_last_executed_command = map[key].function;
|
||||
ea_last_executed_command = InfoFunction(map[key].function);
|
||||
else
|
||||
info_last_executed_command = map[key].function;
|
||||
info_last_executed_command = InfoFunction(map[key].function);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4581,7 +4675,7 @@ info_dispatch_on_key (key, map)
|
||||
|
||||
case ISKMAP:
|
||||
add_char_to_keyseq (key);
|
||||
if (map[key].function != (VFunction *)NULL)
|
||||
if (map[key].function != (InfoCommand *)NULL)
|
||||
{
|
||||
unsigned char newkey;
|
||||
|
||||
@ -4660,23 +4754,35 @@ DECLARE_INFO_COMMAND (info_numeric_arg_digit_loop,
|
||||
|
||||
pure_key = key = info_get_another_input_char ();
|
||||
|
||||
#if !defined(INFOKEY)
|
||||
if (Meta_p (key))
|
||||
add_char_to_keyseq (ESC);
|
||||
|
||||
add_char_to_keyseq (UnMeta (key));
|
||||
#else /* defined(INFOKEY) */
|
||||
add_char_to_keyseq (key);
|
||||
#endif /* defined(INFOKEY) */
|
||||
}
|
||||
|
||||
#if !defined(INFOKEY)
|
||||
if (Meta_p (key))
|
||||
key = UnMeta (key);
|
||||
#endif /* !defined(INFOKEY) */
|
||||
|
||||
if (keymap[key].type == ISFUNC &&
|
||||
keymap[key].function == info_universal_argument)
|
||||
InfoFunction(keymap[key].function) == info_universal_argument)
|
||||
{
|
||||
info_numeric_arg *= 4;
|
||||
key = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
#if defined(INFOKEY)
|
||||
if (Meta_p (key))
|
||||
key = UnMeta (key);
|
||||
#endif /* !defined(INFOKEY) */
|
||||
|
||||
|
||||
if (isdigit (key))
|
||||
{
|
||||
if (info_explicit_arg)
|
||||
|
@ -1,7 +1,8 @@
|
||||
/* $FreeBSD$ */
|
||||
/* terminal.c -- How to handle the physical terminal for Info.
|
||||
$Id: terminal.c,v 1.19 1999/09/20 12:28:54 karl Exp $
|
||||
$Id: terminal.c,v 1.23 2001/11/16 23:16:04 karl Exp $
|
||||
|
||||
Copyright (C) 1988, 89, 90, 91, 92, 93, 96, 97, 98, 99
|
||||
Copyright (C) 1988, 89, 90, 91, 92, 93, 96, 97, 98, 99, 2001
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@ -26,7 +27,6 @@
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <signal.h>
|
||||
#include <sys/ioctl.h> /* TIOCGWINSZ on LynxOS, at least */
|
||||
|
||||
/* The Unix termcap interface code. */
|
||||
#ifdef HAVE_NCURSES_TERMCAP_H
|
||||
@ -217,12 +217,17 @@ int terminal_use_visible_bell_p = 0;
|
||||
int terminal_can_scroll = 0;
|
||||
|
||||
/* The key sequences output by the arrow keys, if this terminal has any. */
|
||||
char *term_ku = (char *)NULL;
|
||||
char *term_kd = (char *)NULL;
|
||||
char *term_kr = (char *)NULL;
|
||||
char *term_kl = (char *)NULL;
|
||||
char *term_kP = (char *)NULL; /* page-up */
|
||||
char *term_kN = (char *)NULL; /* page-down */
|
||||
char *term_ku = NULL;
|
||||
char *term_kd = NULL;
|
||||
char *term_kr = NULL;
|
||||
char *term_kl = NULL;
|
||||
char *term_kP = NULL; /* page-up */
|
||||
char *term_kN = NULL; /* page-down */
|
||||
char *term_kh = NULL; /* home */
|
||||
char *term_ke = NULL; /* end */
|
||||
char *term_kD = NULL; /* delete */
|
||||
char *term_ki = NULL; /* ins */
|
||||
char *term_kx = NULL; /* del */
|
||||
|
||||
/* Move the cursor to the terminal location of X and Y. */
|
||||
void
|
||||
@ -555,6 +560,8 @@ terminal_initialize_terminal (terminal_name)
|
||||
term_up = term_dn = audible_bell = visible_bell = NULL;
|
||||
term_ku = term_kd = term_kl = term_kr = NULL;
|
||||
term_kP = term_kN = NULL;
|
||||
term_kh = term_ke = NULL;
|
||||
term_kD = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
@ -601,7 +608,7 @@ terminal_initialize_terminal (terminal_name)
|
||||
if (term_invbeg)
|
||||
term_invend = tgetstr ("me", &buffer);
|
||||
else
|
||||
term_invend = (char *)NULL;
|
||||
term_invend = NULL;
|
||||
|
||||
if (!term_cr)
|
||||
term_cr = "\r";
|
||||
@ -611,7 +618,7 @@ terminal_initialize_terminal (terminal_name)
|
||||
term_up = tgetstr ("up", &buffer);
|
||||
term_dn = tgetstr ("dn", &buffer);
|
||||
visible_bell = tgetstr ("vb", &buffer);
|
||||
terminal_has_visible_bell_p = (visible_bell != (char *)NULL);
|
||||
terminal_has_visible_bell_p = (visible_bell != NULL);
|
||||
audible_bell = tgetstr ("bl", &buffer);
|
||||
if (!audible_bell)
|
||||
audible_bell = "\007";
|
||||
@ -630,8 +637,8 @@ terminal_initialize_terminal (terminal_name)
|
||||
}
|
||||
else
|
||||
{
|
||||
term_mm = (char *)NULL;
|
||||
term_mo = (char *)NULL;
|
||||
term_mm = NULL;
|
||||
term_mo = NULL;
|
||||
}
|
||||
|
||||
/* Attempt to find the arrow keys. */
|
||||
@ -643,6 +650,19 @@ terminal_initialize_terminal (terminal_name)
|
||||
term_kP = tgetstr ("kP", &buffer);
|
||||
term_kN = tgetstr ("kN", &buffer);
|
||||
|
||||
#if defined(INFOKEY)
|
||||
term_kh = tgetstr ("kh", &buffer);
|
||||
term_ke = tgetstr ("@7", &buffer);
|
||||
term_ki = tgetstr ("kI", &buffer);
|
||||
term_kx = tgetstr ("kD", &buffer);
|
||||
#endif /* defined(INFOKEY) */
|
||||
|
||||
/* Home and end keys. */
|
||||
term_kh = tgetstr ("kh", &buffer);
|
||||
term_ke = tgetstr ("@7", &buffer);
|
||||
|
||||
term_kD = tgetstr ("kD", &buffer);
|
||||
|
||||
/* If this terminal is not cursor addressable, then it is really dumb. */
|
||||
if (!term_goto)
|
||||
terminal_is_dumb_p = 1;
|
||||
@ -736,11 +756,22 @@ terminal_prep_terminal ()
|
||||
#endif /* VLNEXT */
|
||||
#endif /* TERMIOS or TERMIO */
|
||||
|
||||
/* cf. emacs/src/sysdep.c for being sure output is on. */
|
||||
#if defined (HAVE_TERMIOS_H)
|
||||
/* linux kernel 2.2.x needs a TCOFF followed by a TCOON to turn output
|
||||
back on if the user presses ^S at the very beginning; just a TCOON
|
||||
doesn't work. --Kevin Ryde <user42@zip.com.au>, 16jun2000. */
|
||||
tcsetattr (tty, TCSANOW, &ttybuff);
|
||||
# ifdef TCOON
|
||||
tcflow (tty, TCOOFF);
|
||||
tcflow (tty, TCOON);
|
||||
# endif
|
||||
#else
|
||||
# if defined (HAVE_TERMIO_H)
|
||||
ioctl (tty, TCSETA, &ttybuff);
|
||||
# ifdef TCXONC
|
||||
ioctl (tty, TCXONC, 1);
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user