Use stock (FSF) version of this file.

This commit is contained in:
Ruslan Ermilov 2002-03-25 13:10:59 +00:00
parent 093e96ffd9
commit 1f4bf5475b
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=93142
6 changed files with 2186 additions and 494 deletions

View File

@ -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 }
};

View File

@ -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

View File

@ -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)

View File

@ -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