aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPavel Janík2001-10-20 20:56:10 +0000
committerPavel Janík2001-10-20 20:56:10 +0000
commitfdb82f93376a6b495c573a6c788b807acffdbfa9 (patch)
tree107b731b733908446a3902f6ce0e4f2d23dcd8f9 /src
parentc0a53abba1d89bb487e3a38a0e7336bdce46fd1d (diff)
downloademacs-fdb82f93376a6b495c573a6c788b807acffdbfa9.tar.gz
emacs-fdb82f93376a6b495c573a6c788b807acffdbfa9.zip
Change doc-string comments to `new style' [w/`doc:' keyword].
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog2
-rw-r--r--src/callint.c217
-rw-r--r--src/callproc.c138
-rw-r--r--src/casefiddle.c108
-rw-r--r--src/casetab.c54
-rw-r--r--src/category.c168
-rw-r--r--src/ccl.c126
-rw-r--r--src/charset.c294
-rw-r--r--src/process.c468
-rw-r--r--src/syntax.c366
-rw-r--r--src/window.c1019
11 files changed, 1462 insertions, 1498 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index e558c665d2f..cedd5ff8b8e 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -7,7 +7,7 @@
7 0 because unused. 7 0 because unused.
8 8
9 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c 9 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
10 * category.c, ccl.c, charset.c, process.c, window.c: Change 10 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c: Change
11 doc-string comments to `new style' [w/`doc:' keyword]. 11 doc-string comments to `new style' [w/`doc:' keyword].
12 12
132001-10-20 Miles Bader <miles@gnu.org> 132001-10-20 Miles Bader <miles@gnu.org>
diff --git a/src/callint.c b/src/callint.c
index 329911cda6e..1299a82f6c6 100644
--- a/src/callint.c
+++ b/src/callint.c
@@ -21,6 +21,7 @@ Boston, MA 02111-1307, USA. */
21 21
22 22
23#include <config.h> 23#include <config.h>
24
24#include "lisp.h" 25#include "lisp.h"
25#include "buffer.h" 26#include "buffer.h"
26#include "commands.h" 27#include "commands.h"
@@ -62,72 +63,66 @@ static char *callint_message;
62/* Allocated length of that buffer. */ 63/* Allocated length of that buffer. */
63static int callint_message_size; 64static int callint_message_size;
64 65
65/* This comment supplies the doc string for interactive,
66 for make-docfile to see. We cannot put this in the real DEFUN
67 due to limits in the Unix cpp.
68
69DEFUN ("interactive", Ffoo, Sfoo, 0, 0, 0,
70 "Specify a way of parsing arguments for interactive use of a function.\n\
71For example, write\n\
72 (defun foo (arg) \"Doc string\" (interactive \"p\") ...use arg...)\n\
73to make ARG be the prefix argument when `foo' is called as a command.\n\
74The \"call\" to `interactive' is actually a declaration rather than a function;\n\
75 it tells `call-interactively' how to read arguments\n\
76 to pass to the function.\n\
77When actually called, `interactive' just returns nil.\n\
78\n\
79The argument of `interactive' is usually a string containing a code letter\n\
80 followed by a prompt. (Some code letters do not use I/O to get\n\
81 the argument and do not need prompts.) To prompt for multiple arguments,\n\
82 give a code letter, its prompt, a newline, and another code letter, etc.\n\
83 Prompts are passed to format, and may use % escapes to print the\n\
84 arguments that have already been read.\n\
85If the argument is not a string, it is evaluated to get a list of\n\
86 arguments to pass to the function.\n\
87Just `(interactive)' means pass no args when calling interactively.\n\
88\nCode letters available are:\n\
89a -- Function name: symbol with a function definition.\n\
90b -- Name of existing buffer.\n\
91B -- Name of buffer, possibly nonexistent.\n\
92c -- Character (no input method is used).\n\
93C -- Command name: symbol with interactive function definition.\n\
94d -- Value of point as number. Does not do I/O.\n\
95D -- Directory name.\n\
96e -- Parametrized event (i.e., one that's a list) that invoked this command.\n\
97 If used more than once, the Nth `e' returns the Nth parameterized event.\n\
98 This skips events that are integers or symbols.\n\
99f -- Existing file name.\n\
100F -- Possibly nonexistent file name.\n\
101i -- Ignored, i.e. always nil. Does not do I/O.\n\
102k -- Key sequence (downcase the last event if needed to get a definition).\n\
103K -- Key sequence to be redefined (do not downcase the last event).\n\
104m -- Value of mark as number. Does not do I/O.\n\
105M -- Any string. Inherits the current input method.\n\
106n -- Number read using minibuffer.\n\
107N -- Raw prefix arg, or if none, do like code `n'.\n\
108p -- Prefix arg converted to number. Does not do I/O.\n\
109P -- Prefix arg in raw form. Does not do I/O.\n\
110r -- Region: point and mark as 2 numeric args, smallest first. Does no I/O.\n\
111s -- Any string. Does not inherit the current input method.\n\
112S -- Any symbol.\n\
113v -- Variable name: symbol that is user-variable-p.\n\
114x -- Lisp expression read but not evaluated.\n\
115X -- Lisp expression read and evaluated.\n\
116z -- Coding system.\n\
117Z -- Coding system, nil if no prefix arg.\n\
118In addition, if the string begins with `*'\n\
119 then an error is signaled if the buffer is read-only.\n\
120 This happens before reading any arguments.\n\
121If the string begins with `@', then Emacs searches the key sequence\n\
122 which invoked the command for its first mouse click (or any other\n\
123 event which specifies a window), and selects that window before\n\
124 reading any arguments. You may use both `@' and `*'; they are\n\
125 processed in the order that they appear." */
126
127/* ARGSUSED */ 66/* ARGSUSED */
128DEFUN ("interactive", Finteractive, Sinteractive, 0, UNEVALLED, 0, 67DEFUN ("interactive", Finteractive, Sinteractive, 0, UNEVALLED, 0,
129 0 /* See immediately above */) 68 doc: /* Specify a way of parsing arguments for interactive use of a function.
130 (args) 69For example, write
70 (defun foo (arg) "Doc string" (interactive "p") ...use arg...)
71to make ARG be the prefix argument when `foo' is called as a command.
72The "call" to `interactive' is actually a declaration rather than a function;
73 it tells `call-interactively' how to read arguments
74 to pass to the function.
75When actually called, `interactive' just returns nil.
76
77The argument of `interactive' is usually a string containing a code letter
78 followed by a prompt. (Some code letters do not use I/O to get
79 the argument and do not need prompts.) To prompt for multiple arguments,
80 give a code letter, its prompt, a newline, and another code letter, etc.
81 Prompts are passed to format, and may use % escapes to print the
82 arguments that have already been read.
83If the argument is not a string, it is evaluated to get a list of
84 arguments to pass to the function.
85Just `(interactive)' means pass no args when calling interactively.
86
87Code letters available are:
88a -- Function name: symbol with a function definition.
89b -- Name of existing buffer.
90B -- Name of buffer, possibly nonexistent.
91c -- Character (no input method is used).
92C -- Command name: symbol with interactive function definition.
93d -- Value of point as number. Does not do I/O.
94D -- Directory name.
95e -- Parametrized event (i.e., one that's a list) that invoked this command.
96 If used more than once, the Nth `e' returns the Nth parameterized event.
97 This skips events that are integers or symbols.
98f -- Existing file name.
99F -- Possibly nonexistent file name.
100i -- Ignored, i.e. always nil. Does not do I/O.
101k -- Key sequence (downcase the last event if needed to get a definition).
102K -- Key sequence to be redefined (do not downcase the last event).
103m -- Value of mark as number. Does not do I/O.
104M -- Any string. Inherits the current input method.
105n -- Number read using minibuffer.
106N -- Raw prefix arg, or if none, do like code `n'.
107p -- Prefix arg converted to number. Does not do I/O.
108P -- Prefix arg in raw form. Does not do I/O.
109r -- Region: point and mark as 2 numeric args, smallest first. Does no I/O.
110s -- Any string. Does not inherit the current input method.
111S -- Any symbol.
112v -- Variable name: symbol that is user-variable-p.
113x -- Lisp expression read but not evaluated.
114X -- Lisp expression read and evaluated.
115z -- Coding system.
116Z -- Coding system, nil if no prefix arg.
117In addition, if the string begins with `*'
118 then an error is signaled if the buffer is read-only.
119 This happens before reading any arguments.
120If the string begins with `@', then Emacs searches the key sequence
121 which invoked the command for its first mouse click (or any other
122 event which specifies a window), and selects that window before
123 reading any arguments. You may use both `@' and `*'; they are
124 processed in the order that they appear. */)
125 (args)
131 Lisp_Object args; 126 Lisp_Object args;
132{ 127{
133 return Qnil; 128 return Qnil;
@@ -178,19 +173,19 @@ check_mark ()
178 173
179 174
180DEFUN ("call-interactively", Fcall_interactively, Scall_interactively, 1, 3, 0, 175DEFUN ("call-interactively", Fcall_interactively, Scall_interactively, 1, 3, 0,
181 "Call FUNCTION, reading args according to its interactive calling specs.\n\ 176 doc: /* Call FUNCTION, reading args according to its interactive calling specs.
182Return the value FUNCTION returns.\n\ 177Return the value FUNCTION returns.
183The function contains a specification of how to do the argument reading.\n\ 178The function contains a specification of how to do the argument reading.
184In the case of user-defined functions, this is specified by placing a call\n\ 179In the case of user-defined functions, this is specified by placing a call
185to the function `interactive' at the top level of the function body.\n\ 180to the function `interactive' at the top level of the function body.
186See `interactive'.\n\ 181See `interactive'.
187\n\ 182
188Optional second arg RECORD-FLAG non-nil\n\ 183Optional second arg RECORD-FLAG non-nil
189means unconditionally put this command in the command-history.\n\ 184means unconditionally put this command in the command-history.
190Otherwise, this is done only if an arg is read using the minibuffer.\n\ 185Otherwise, this is done only if an arg is read using the minibuffer.
191Optional third arg KEYS, if given, specifies the sequence of events to\n\ 186Optional third arg KEYS, if given, specifies the sequence of events to
192supply if the command inquires which events were used to invoke it.") 187supply if the command inquires which events were used to invoke it. */)
193 (function, record_flag, keys) 188 (function, record_flag, keys)
194 Lisp_Object function, record_flag, keys; 189 Lisp_Object function, record_flag, keys;
195{ 190{
196 Lisp_Object *args, *visargs; 191 Lisp_Object *args, *visargs;
@@ -799,11 +794,11 @@ supply if the command inquires which events were used to invoke it.")
799} 794}
800 795
801DEFUN ("prefix-numeric-value", Fprefix_numeric_value, Sprefix_numeric_value, 796DEFUN ("prefix-numeric-value", Fprefix_numeric_value, Sprefix_numeric_value,
802 1, 1, 0, 797 1, 1, 0,
803 "Return numeric meaning of raw prefix argument RAW.\n\ 798 doc: /* Return numeric meaning of raw prefix argument RAW.
804A raw prefix argument is what you get from `(interactive \"P\")'.\n\ 799A raw prefix argument is what you get from `(interactive "P")'.
805Its numeric meaning is what you would get from `(interactive \"p\")'.") 800Its numeric meaning is what you would get from `(interactive "p")'. */)
806 (raw) 801 (raw)
807 Lisp_Object raw; 802 Lisp_Object raw;
808{ 803{
809 Lisp_Object val; 804 Lisp_Object val;
@@ -866,51 +861,51 @@ syms_of_callint ()
866 861
867 862
868 DEFVAR_KBOARD ("prefix-arg", Vprefix_arg, 863 DEFVAR_KBOARD ("prefix-arg", Vprefix_arg,
869 "The value of the prefix argument for the next editing command.\n\ 864 doc: /* The value of the prefix argument for the next editing command.
870It may be a number, or the symbol `-' for just a minus sign as arg,\n\ 865It may be a number, or the symbol `-' for just a minus sign as arg,
871or a list whose car is a number for just one or more C-u's\n\ 866or a list whose car is a number for just one or more C-u's
872or nil if no argument has been specified.\n\ 867or nil if no argument has been specified.
873\n\ 868
874You cannot examine this variable to find the argument for this command\n\ 869You cannot examine this variable to find the argument for this command
875since it has been set to nil by the time you can look.\n\ 870since it has been set to nil by the time you can look.
876Instead, you should use the variable `current-prefix-arg', although\n\ 871Instead, you should use the variable `current-prefix-arg', although
877normally commands can get this prefix argument with (interactive \"P\")."); 872normally commands can get this prefix argument with (interactive "P"). */);
878 873
879 DEFVAR_KBOARD ("last-prefix-arg", Vlast_prefix_arg, 874 DEFVAR_KBOARD ("last-prefix-arg", Vlast_prefix_arg,
880 "The value of the prefix argument for the previous editing command.\n\ 875 doc: /* The value of the prefix argument for the previous editing command.
881See `prefix-arg' for the meaning of the value."); 876See `prefix-arg' for the meaning of the value. */);
882 877
883 DEFVAR_LISP ("current-prefix-arg", &Vcurrent_prefix_arg, 878 DEFVAR_LISP ("current-prefix-arg", &Vcurrent_prefix_arg,
884 "The value of the prefix argument for this editing command.\n\ 879 doc: /* The value of the prefix argument for this editing command.
885It may be a number, or the symbol `-' for just a minus sign as arg,\n\ 880It may be a number, or the symbol `-' for just a minus sign as arg,
886or a list whose car is a number for just one or more C-u's\n\ 881or a list whose car is a number for just one or more C-u's
887or nil if no argument has been specified.\n\ 882or nil if no argument has been specified.
888This is what `(interactive \"P\")' returns."); 883This is what `(interactive \"P\")' returns. */);
889 Vcurrent_prefix_arg = Qnil; 884 Vcurrent_prefix_arg = Qnil;
890 885
891 DEFVAR_LISP ("command-history", &Vcommand_history, 886 DEFVAR_LISP ("command-history", &Vcommand_history,
892 "List of recent commands that read arguments from terminal.\n\ 887 doc: /* List of recent commands that read arguments from terminal.
893Each command is represented as a form to evaluate."); 888Each command is represented as a form to evaluate. */);
894 Vcommand_history = Qnil; 889 Vcommand_history = Qnil;
895 890
896 DEFVAR_LISP ("command-debug-status", &Vcommand_debug_status, 891 DEFVAR_LISP ("command-debug-status", &Vcommand_debug_status,
897 "Debugging status of current interactive command.\n\ 892 doc: /* Debugging status of current interactive command.
898Bound each time `call-interactively' is called;\n\ 893Bound each time `call-interactively' is called;
899may be set by the debugger as a reminder for itself."); 894may be set by the debugger as a reminder for itself. */);
900 Vcommand_debug_status = Qnil; 895 Vcommand_debug_status = Qnil;
901 896
902 DEFVAR_LISP ("mark-even-if-inactive", &Vmark_even_if_inactive, 897 DEFVAR_LISP ("mark-even-if-inactive", &Vmark_even_if_inactive,
903 "*Non-nil means you can use the mark even when inactive.\n\ 898 doc: /* *Non-nil means you can use the mark even when inactive.
904This option makes a difference in Transient Mark mode.\n\ 899This option makes a difference in Transient Mark mode.
905When the option is non-nil, deactivation of the mark\n\ 900When the option is non-nil, deactivation of the mark
906turns off region highlighting, but commands that use the mark\n\ 901turns off region highlighting, but commands that use the mark
907behave as if the mark were still active."); 902behave as if the mark were still active. */);
908 Vmark_even_if_inactive = Qnil; 903 Vmark_even_if_inactive = Qnil;
909 904
910 DEFVAR_LISP ("mouse-leave-buffer-hook", &Vmouse_leave_buffer_hook, 905 DEFVAR_LISP ("mouse-leave-buffer-hook", &Vmouse_leave_buffer_hook,
911 "Hook to run when about to switch windows with a mouse command.\n\ 906 doc: /* Hook to run when about to switch windows with a mouse command.
912Its purpose is to give temporary modes such as Isearch mode\n\ 907Its purpose is to give temporary modes such as Isearch mode
913a way to turn themselves off when a mouse command switches windows."); 908a way to turn themselves off when a mouse command switches windows. */);
914 Vmouse_leave_buffer_hook = Qnil; 909 Vmouse_leave_buffer_hook = Qnil;
915 910
916 defsubr (&Sinteractive); 911 defsubr (&Sinteractive);
diff --git a/src/callproc.c b/src/callproc.c
index 2c98933afba..f8709ee42d0 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -189,25 +189,25 @@ call_process_cleanup (fdpid)
189} 189}
190 190
191DEFUN ("call-process", Fcall_process, Scall_process, 1, MANY, 0, 191DEFUN ("call-process", Fcall_process, Scall_process, 1, MANY, 0,
192 "Call PROGRAM synchronously in separate process.\n\ 192 doc: /* Call PROGRAM synchronously in separate process.
193The remaining arguments are optional.\n\ 193The remaining arguments are optional.
194The program's input comes from file INFILE (nil means `/dev/null').\n\ 194The program's input comes from file INFILE (nil means `/dev/null').
195Insert output in BUFFER before point; t means current buffer;\n\ 195Insert output in BUFFER before point; t means current buffer;
196 nil for BUFFER means discard it; 0 means discard and don't wait.\n\ 196 nil for BUFFER means discard it; 0 means discard and don't wait.
197BUFFER can also have the form (REAL-BUFFER STDERR-FILE); in that case,\n\ 197BUFFER can also have the form (REAL-BUFFER STDERR-FILE); in that case,
198REAL-BUFFER says what to do with standard output, as above,\n\ 198REAL-BUFFER says what to do with standard output, as above,
199while STDERR-FILE says what to do with standard error in the child.\n\ 199while STDERR-FILE says what to do with standard error in the child.
200STDERR-FILE may be nil (discard standard error output),\n\ 200STDERR-FILE may be nil (discard standard error output),
201t (mix it with ordinary output), or a file name string.\n\ 201t (mix it with ordinary output), or a file name string.
202\n\ 202
203Fourth arg DISPLAY non-nil means redisplay buffer as output is inserted.\n\ 203Fourth arg DISPLAY non-nil means redisplay buffer as output is inserted.
204Remaining arguments are strings passed as command arguments to PROGRAM.\n\ 204Remaining arguments are strings passed as command arguments to PROGRAM.
205\n\ 205
206If BUFFER is 0, `call-process' returns immediately with value nil.\n\ 206If BUFFER is 0, `call-process' returns immediately with value nil.
207Otherwise it waits for PROGRAM to terminate\n\ 207Otherwise it waits for PROGRAM to terminate
208and returns a numeric exit status or a signal description string.\n\ 208and returns a numeric exit status or a signal description string.
209If you quit, the process is killed with SIGINT, or SIGKILL if you quit again.") 209If you quit, the process is killed with SIGINT, or SIGKILL if you quit again. */)
210 (nargs, args) 210 (nargs, args)
211 int nargs; 211 int nargs;
212 register Lisp_Object *args; 212 register Lisp_Object *args;
213{ 213{
@@ -971,27 +971,27 @@ delete_temp_file (name)
971} 971}
972 972
973DEFUN ("call-process-region", Fcall_process_region, Scall_process_region, 973DEFUN ("call-process-region", Fcall_process_region, Scall_process_region,
974 3, MANY, 0, 974 3, MANY, 0,
975 "Send text from START to END to a synchronous process running PROGRAM.\n\ 975 doc: /* Send text from START to END to a synchronous process running PROGRAM.
976The remaining arguments are optional.\n\ 976The remaining arguments are optional.
977Delete the text if fourth arg DELETE is non-nil.\n\ 977Delete the text if fourth arg DELETE is non-nil.
978\n\ 978
979Insert output in BUFFER before point; t means current buffer;\n\ 979Insert output in BUFFER before point; t means current buffer;
980 nil for BUFFER means discard it; 0 means discard and don't wait.\n\ 980 nil for BUFFER means discard it; 0 means discard and don't wait.
981BUFFER can also have the form (REAL-BUFFER STDERR-FILE); in that case,\n\ 981BUFFER can also have the form (REAL-BUFFER STDERR-FILE); in that case,
982REAL-BUFFER says what to do with standard output, as above,\n\ 982REAL-BUFFER says what to do with standard output, as above,
983while STDERR-FILE says what to do with standard error in the child.\n\ 983while STDERR-FILE says what to do with standard error in the child.
984STDERR-FILE may be nil (discard standard error output),\n\ 984STDERR-FILE may be nil (discard standard error output),
985t (mix it with ordinary output), or a file name string.\n\ 985t (mix it with ordinary output), or a file name string.
986\n\ 986
987Sixth arg DISPLAY non-nil means redisplay buffer as output is inserted.\n\ 987Sixth arg DISPLAY non-nil means redisplay buffer as output is inserted.
988Remaining args are passed to PROGRAM at startup as command args.\n\ 988Remaining args are passed to PROGRAM at startup as command args.
989\n\ 989
990If BUFFER is nil, `call-process-region' returns immediately with value nil.\n\ 990If BUFFER is nil, `call-process-region' returns immediately with value nil.
991Otherwise it waits for PROGRAM to terminate\n\ 991Otherwise it waits for PROGRAM to terminate
992and returns a numeric exit status or a signal description string.\n\ 992and returns a numeric exit status or a signal description string.
993If you quit, the process is killed with SIGINT, or SIGKILL if you quit again.") 993If you quit, the process is killed with SIGINT, or SIGKILL if you quit again. */)
994 (nargs, args) 994 (nargs, args)
995 int nargs; 995 int nargs;
996 register Lisp_Object *args; 996 register Lisp_Object *args;
997{ 997{
@@ -1406,10 +1406,10 @@ getenv_internal (var, varlen, value, valuelen)
1406} 1406}
1407 1407
1408DEFUN ("getenv-internal", Fgetenv_internal, Sgetenv_internal, 1, 1, 0, 1408DEFUN ("getenv-internal", Fgetenv_internal, Sgetenv_internal, 1, 1, 0,
1409 "Return the value of environment variable VAR, as a string.\n\ 1409 doc: /* Return the value of environment variable VAR, as a string.
1410VAR should be a string. Value is nil if VAR is undefined in the environment.\n\ 1410VAR should be a string. Value is nil if VAR is undefined in the environment.
1411This function consults the variable ``process-environment'' for its value.") 1411This function consults the variable ``process-environment'' for its value. */)
1412 (var) 1412 (var)
1413 Lisp_Object var; 1413 Lisp_Object var;
1414{ 1414{
1415 char *value; 1415 char *value;
@@ -1579,50 +1579,50 @@ syms_of_callproc ()
1579#endif /* DOS_NT */ 1579#endif /* DOS_NT */
1580 1580
1581 DEFVAR_LISP ("shell-file-name", &Vshell_file_name, 1581 DEFVAR_LISP ("shell-file-name", &Vshell_file_name,
1582 "*File name to load inferior shells from.\n\ 1582 doc: /* *File name to load inferior shells from.
1583Initialized from the SHELL environment variable."); 1583Initialized from the SHELL environment variable. */);
1584 1584
1585 DEFVAR_LISP ("exec-path", &Vexec_path, 1585 DEFVAR_LISP ("exec-path", &Vexec_path,
1586 "*List of directories to search programs to run in subprocesses.\n\ 1586 doc: /* *List of directories to search programs to run in subprocesses.
1587Each element is a string (directory name) or nil (try default directory)."); 1587Each element is a string (directory name) or nil (try default directory). */);
1588 1588
1589 DEFVAR_LISP ("exec-suffixes", &Vexec_suffixes, 1589 DEFVAR_LISP ("exec-suffixes", &Vexec_suffixes,
1590 "*List of suffixes to try to find executable file names.\n\ 1590 doc: /* *List of suffixes to try to find executable file names.
1591Each element is a string"); 1591Each element is a string. */);
1592 Vexec_suffixes = Qnil; 1592 Vexec_suffixes = Qnil;
1593 1593
1594 DEFVAR_LISP ("exec-directory", &Vexec_directory, 1594 DEFVAR_LISP ("exec-directory", &Vexec_directory,
1595 "Directory for executables for Emacs to invoke.\n\ 1595 doc: /* Directory for executables for Emacs to invoke.
1596More generally, this includes any architecture-dependent files\n\ 1596More generally, this includes any architecture-dependent files
1597that are built and installed from the Emacs distribution."); 1597that are built and installed from the Emacs distribution. */);
1598 1598
1599 DEFVAR_LISP ("data-directory", &Vdata_directory, 1599 DEFVAR_LISP ("data-directory", &Vdata_directory,
1600 "Directory of machine-independent files that come with GNU Emacs.\n\ 1600 doc: /* Directory of machine-independent files that come with GNU Emacs.
1601These are files intended for Emacs to use while it runs."); 1601These are files intended for Emacs to use while it runs. */);
1602 1602
1603 DEFVAR_LISP ("doc-directory", &Vdoc_directory, 1603 DEFVAR_LISP ("doc-directory", &Vdoc_directory,
1604 "Directory containing the DOC file that comes with GNU Emacs.\n\ 1604 doc: /* Directory containing the DOC file that comes with GNU Emacs.
1605This is usually the same as data-directory."); 1605This is usually the same as data-directory. */);
1606 1606
1607 DEFVAR_LISP ("configure-info-directory", &Vconfigure_info_directory, 1607 DEFVAR_LISP ("configure-info-directory", &Vconfigure_info_directory,
1608 "For internal use by the build procedure only.\n\ 1608 doc: /* For internal use by the build procedure only.
1609This is the name of the directory in which the build procedure installed\n\ 1609This is the name of the directory in which the build procedure installed
1610Emacs's info files; the default value for Info-default-directory-list\n\ 1610Emacs's info files; the default value for Info-default-directory-list
1611includes this."); 1611includes this. */);
1612 Vconfigure_info_directory = build_string (PATH_INFO); 1612 Vconfigure_info_directory = build_string (PATH_INFO);
1613 1613
1614 DEFVAR_LISP ("temp-file-name-pattern", &Vtemp_file_name_pattern, 1614 DEFVAR_LISP ("temp-file-name-pattern", &Vtemp_file_name_pattern,
1615 "Pattern for making names for temporary files.\n\ 1615 doc: /* Pattern for making names for temporary files.
1616This is used by `call-process-region'."); 1616This is used by `call-process-region'. */);
1617 /* This variable is initialized in init_callproc. */ 1617 /* This variable is initialized in init_callproc. */
1618 1618
1619 DEFVAR_LISP ("process-environment", &Vprocess_environment, 1619 DEFVAR_LISP ("process-environment", &Vprocess_environment,
1620 "List of environment variables for subprocesses to inherit.\n\ 1620 doc: /* List of environment variables for subprocesses to inherit.
1621Each element should be a string of the form ENVVARNAME=VALUE.\n\ 1621Each element should be a string of the form ENVVARNAME=VALUE.
1622If multiple entries define the same variable, the first one always\n\ 1622If multiple entries define the same variable, the first one always
1623takes precedence.\n\ 1623takes precedence.
1624The environment which Emacs inherits is placed in this variable\n\ 1624The environment which Emacs inherits is placed in this variable
1625when Emacs starts."); 1625when Emacs starts. */);
1626 1626
1627#ifndef VMS 1627#ifndef VMS
1628 defsubr (&Scall_process); 1628 defsubr (&Scall_process);
diff --git a/src/casefiddle.c b/src/casefiddle.c
index 61928794ec1..47f355461a8 100644
--- a/src/casefiddle.c
+++ b/src/casefiddle.c
@@ -134,33 +134,33 @@ casify_object (flag, obj)
134} 134}
135 135
136DEFUN ("upcase", Fupcase, Supcase, 1, 1, 0, 136DEFUN ("upcase", Fupcase, Supcase, 1, 1, 0,
137 "Convert argument to upper case and return that.\n\ 137 doc: /* Convert argument to upper case and return that.
138The argument may be a character or string. The result has the same type.\n\ 138The argument may be a character or string. The result has the same type.
139The argument object is not altered--the value is a copy.\n\ 139The argument object is not altered--the value is a copy.
140See also `capitalize', `downcase' and `upcase-initials'.") 140See also `capitalize', `downcase' and `upcase-initials'. */)
141 (obj) 141 (obj)
142 Lisp_Object obj; 142 Lisp_Object obj;
143{ 143{
144 return casify_object (CASE_UP, obj); 144 return casify_object (CASE_UP, obj);
145} 145}
146 146
147DEFUN ("downcase", Fdowncase, Sdowncase, 1, 1, 0, 147DEFUN ("downcase", Fdowncase, Sdowncase, 1, 1, 0,
148 "Convert argument to lower case and return that.\n\ 148 doc: /* Convert argument to lower case and return that.
149The argument may be a character or string. The result has the same type.\n\ 149The argument may be a character or string. The result has the same type.
150The argument object is not altered--the value is a copy.") 150The argument object is not altered--the value is a copy. */)
151 (obj) 151 (obj)
152 Lisp_Object obj; 152 Lisp_Object obj;
153{ 153{
154 return casify_object (CASE_DOWN, obj); 154 return casify_object (CASE_DOWN, obj);
155} 155}
156 156
157DEFUN ("capitalize", Fcapitalize, Scapitalize, 1, 1, 0, 157DEFUN ("capitalize", Fcapitalize, Scapitalize, 1, 1, 0,
158 "Convert argument to capitalized form and return that.\n\ 158 doc: /* Convert argument to capitalized form and return that.
159This means that each word's first character is upper case\n\ 159This means that each word's first character is upper case
160and the rest is lower case.\n\ 160and the rest is lower case.
161The argument may be a character or string. The result has the same type.\n\ 161The argument may be a character or string. The result has the same type.
162The argument object is not altered--the value is a copy.") 162The argument object is not altered--the value is a copy. */)
163 (obj) 163 (obj)
164 Lisp_Object obj; 164 Lisp_Object obj;
165{ 165{
166 return casify_object (CASE_CAPITALIZE, obj); 166 return casify_object (CASE_CAPITALIZE, obj);
@@ -169,11 +169,11 @@ The argument object is not altered--the value is a copy.")
169/* Like Fcapitalize but change only the initials. */ 169/* Like Fcapitalize but change only the initials. */
170 170
171DEFUN ("upcase-initials", Fupcase_initials, Supcase_initials, 1, 1, 0, 171DEFUN ("upcase-initials", Fupcase_initials, Supcase_initials, 1, 1, 0,
172 "Convert the initial of each word in the argument to upper case.\n\ 172 doc: /* Convert the initial of each word in the argument to upper case.
173Do not change the other letters of each word.\n\ 173Do not change the other letters of each word.
174The argument may be a character or string. The result has the same type.\n\ 174The argument may be a character or string. The result has the same type.
175The argument object is not altered--the value is a copy.") 175The argument object is not altered--the value is a copy. */)
176 (obj) 176 (obj)
177 Lisp_Object obj; 177 Lisp_Object obj;
178{ 178{
179 return casify_object (CASE_CAPITALIZE_UP, obj); 179 return casify_object (CASE_CAPITALIZE_UP, obj);
@@ -293,12 +293,12 @@ casify_region (flag, b, e)
293} 293}
294 294
295DEFUN ("upcase-region", Fupcase_region, Supcase_region, 2, 2, "r", 295DEFUN ("upcase-region", Fupcase_region, Supcase_region, 2, 2, "r",
296 "Convert the region to upper case. In programs, wants two arguments.\n\ 296 doc: /* Convert the region to upper case. In programs, wants two arguments.
297These arguments specify the starting and ending character numbers of\n\ 297These arguments specify the starting and ending character numbers of
298the region to operate on. When used as a command, the text between\n\ 298the region to operate on. When used as a command, the text between
299point and the mark is operated on.\n\ 299point and the mark is operated on.
300See also `capitalize-region'.") 300See also `capitalize-region'. */)
301 (beg, end) 301 (beg, end)
302 Lisp_Object beg, end; 302 Lisp_Object beg, end;
303{ 303{
304 casify_region (CASE_UP, beg, end); 304 casify_region (CASE_UP, beg, end);
@@ -306,11 +306,11 @@ See also `capitalize-region'.")
306} 306}
307 307
308DEFUN ("downcase-region", Fdowncase_region, Sdowncase_region, 2, 2, "r", 308DEFUN ("downcase-region", Fdowncase_region, Sdowncase_region, 2, 2, "r",
309 "Convert the region to lower case. In programs, wants two arguments.\n\ 309 doc: /* Convert the region to lower case. In programs, wants two arguments.
310These arguments specify the starting and ending character numbers of\n\ 310These arguments specify the starting and ending character numbers of
311the region to operate on. When used as a command, the text between\n\ 311the region to operate on. When used as a command, the text between
312point and the mark is operated on.") 312point and the mark is operated on. */)
313 (beg, end) 313 (beg, end)
314 Lisp_Object beg, end; 314 Lisp_Object beg, end;
315{ 315{
316 casify_region (CASE_DOWN, beg, end); 316 casify_region (CASE_DOWN, beg, end);
@@ -318,12 +318,12 @@ point and the mark is operated on.")
318} 318}
319 319
320DEFUN ("capitalize-region", Fcapitalize_region, Scapitalize_region, 2, 2, "r", 320DEFUN ("capitalize-region", Fcapitalize_region, Scapitalize_region, 2, 2, "r",
321 "Convert the region to capitalized form.\n\ 321 doc: /* Convert the region to capitalized form.
322Capitalized form means each word's first character is upper case\n\ 322Capitalized form means each word's first character is upper case
323and the rest of it is lower case.\n\ 323and the rest of it is lower case.
324In programs, give two arguments, the starting and ending\n\ 324In programs, give two arguments, the starting and ending
325character positions to operate on.") 325character positions to operate on. */)
326 (beg, end) 326 (beg, end)
327 Lisp_Object beg, end; 327 Lisp_Object beg, end;
328{ 328{
329 casify_region (CASE_CAPITALIZE, beg, end); 329 casify_region (CASE_CAPITALIZE, beg, end);
@@ -334,11 +334,11 @@ character positions to operate on.")
334 334
335DEFUN ("upcase-initials-region", Fupcase_initials_region, 335DEFUN ("upcase-initials-region", Fupcase_initials_region,
336 Supcase_initials_region, 2, 2, "r", 336 Supcase_initials_region, 2, 2, "r",
337 "Upcase the initial of each word in the region.\n\ 337 doc: /* Upcase the initial of each word in the region.
338Subsequent letters of each word are not changed.\n\ 338Subsequent letters of each word are not changed.
339In programs, give two arguments, the starting and ending\n\ 339In programs, give two arguments, the starting and ending
340character positions to operate on.") 340character positions to operate on. */)
341 (beg, end) 341 (beg, end)
342 Lisp_Object beg, end; 342 Lisp_Object beg, end;
343{ 343{
344 casify_region (CASE_CAPITALIZE_UP, beg, end); 344 casify_region (CASE_CAPITALIZE_UP, beg, end);
@@ -367,10 +367,10 @@ operate_on_word (arg, newpoint)
367} 367}
368 368
369DEFUN ("upcase-word", Fupcase_word, Supcase_word, 1, 1, "p", 369DEFUN ("upcase-word", Fupcase_word, Supcase_word, 1, 1, "p",
370 "Convert following word (or ARG words) to upper case, moving over.\n\ 370 doc: /* Convert following word (or ARG words) to upper case, moving over.
371With negative argument, convert previous words but do not move.\n\ 371With negative argument, convert previous words but do not move.
372See also `capitalize-word'.") 372See also `capitalize-word'. */)
373 (arg) 373 (arg)
374 Lisp_Object arg; 374 Lisp_Object arg;
375{ 375{
376 Lisp_Object beg, end; 376 Lisp_Object beg, end;
@@ -383,9 +383,9 @@ See also `capitalize-word'.")
383} 383}
384 384
385DEFUN ("downcase-word", Fdowncase_word, Sdowncase_word, 1, 1, "p", 385DEFUN ("downcase-word", Fdowncase_word, Sdowncase_word, 1, 1, "p",
386 "Convert following word (or ARG words) to lower case, moving over.\n\ 386 doc: /* Convert following word (or ARG words) to lower case, moving over.
387With negative argument, convert previous words but do not move.") 387With negative argument, convert previous words but do not move. */)
388 (arg) 388 (arg)
389 Lisp_Object arg; 389 Lisp_Object arg;
390{ 390{
391 Lisp_Object beg, end; 391 Lisp_Object beg, end;
@@ -398,11 +398,11 @@ With negative argument, convert previous words but do not move.")
398} 398}
399 399
400DEFUN ("capitalize-word", Fcapitalize_word, Scapitalize_word, 1, 1, "p", 400DEFUN ("capitalize-word", Fcapitalize_word, Scapitalize_word, 1, 1, "p",
401 "Capitalize the following word (or ARG words), moving over.\n\ 401 doc: /* Capitalize the following word (or ARG words), moving over.
402This gives the word(s) a first character in upper case\n\ 402This gives the word(s) a first character in upper case
403and the rest lower case.\n\ 403and the rest lower case.
404With negative argument, capitalize previous words but do not move.") 404With negative argument, capitalize previous words but do not move. */)
405 (arg) 405 (arg)
406 Lisp_Object arg; 406 Lisp_Object arg;
407{ 407{
408 Lisp_Object beg, end; 408 Lisp_Object beg, end;
diff --git a/src/casetab.c b/src/casetab.c
index aa87f5ad8fb..de504e2e335 100644
--- a/src/casetab.c
+++ b/src/casetab.c
@@ -39,9 +39,9 @@ static void set_identity ();
39static void shuffle (); 39static void shuffle ();
40 40
41DEFUN ("case-table-p", Fcase_table_p, Scase_table_p, 1, 1, 0, 41DEFUN ("case-table-p", Fcase_table_p, Scase_table_p, 1, 1, 0,
42 "Return t iff OBJECT is a case table.\n\ 42 doc: /* Return t iff OBJECT is a case table.
43See `set-case-table' for more information on these data structures.") 43See `set-case-table' for more information on these data structures. */)
44 (object) 44 (object)
45 Lisp_Object object; 45 Lisp_Object object;
46{ 46{
47 Lisp_Object up, canon, eqv; 47 Lisp_Object up, canon, eqv;
@@ -74,16 +74,16 @@ check_case_table (obj)
74} 74}
75 75
76DEFUN ("current-case-table", Fcurrent_case_table, Scurrent_case_table, 0, 0, 0, 76DEFUN ("current-case-table", Fcurrent_case_table, Scurrent_case_table, 0, 0, 0,
77 "Return the case table of the current buffer.") 77 doc: /* Return the case table of the current buffer. */)
78 () 78 ()
79{ 79{
80 return current_buffer->downcase_table; 80 return current_buffer->downcase_table;
81} 81}
82 82
83DEFUN ("standard-case-table", Fstandard_case_table, Sstandard_case_table, 0, 0, 0, 83DEFUN ("standard-case-table", Fstandard_case_table, Sstandard_case_table, 0, 0, 0,
84 "Return the standard case table.\n\ 84 doc: /* Return the standard case table.
85This is the one used for new buffers.") 85This is the one used for new buffers. */)
86 () 86 ()
87{ 87{
88 return Vascii_downcase_table; 88 return Vascii_downcase_table;
89} 89}
@@ -91,31 +91,31 @@ This is the one used for new buffers.")
91static Lisp_Object set_case_table (); 91static Lisp_Object set_case_table ();
92 92
93DEFUN ("set-case-table", Fset_case_table, Sset_case_table, 1, 1, 0, 93DEFUN ("set-case-table", Fset_case_table, Sset_case_table, 1, 1, 0,
94 "Select a new case table for the current buffer.\n\ 94 doc: /* Select a new case table for the current buffer.
95A case table is a char-table which maps characters\n\ 95A case table is a char-table which maps characters
96to their lower-case equivalents. It also has three \"extra\" slots\n\ 96to their lower-case equivalents. It also has three \"extra\" slots
97which may be additional char-tables or nil.\n\ 97which may be additional char-tables or nil.
98These slots are called UPCASE, CANONICALIZE and EQUIVALENCES.\n\ 98These slots are called UPCASE, CANONICALIZE and EQUIVALENCES.
99UPCASE maps each character to its upper-case equivalent;\n\ 99UPCASE maps each character to its upper-case equivalent;
100 if lower and upper case characters are in 1-1 correspondence,\n\ 100 if lower and upper case characters are in 1-1 correspondence,
101 you may use nil and the upcase table will be deduced from DOWNCASE.\n\ 101 you may use nil and the upcase table will be deduced from DOWNCASE.
102CANONICALIZE maps each character to a canonical equivalent;\n\ 102CANONICALIZE maps each character to a canonical equivalent;
103 any two characters that are related by case-conversion have the same\n\ 103 any two characters that are related by case-conversion have the same
104 canonical equivalent character; it may be nil, in which case it is\n\ 104 canonical equivalent character; it may be nil, in which case it is
105 deduced from DOWNCASE and UPCASE.\n\ 105 deduced from DOWNCASE and UPCASE.
106EQUIVALENCES is a map that cyclicly permutes each equivalence class\n\ 106EQUIVALENCES is a map that cyclicly permutes each equivalence class
107 (of characters with the same canonical equivalent); it may be nil,\n\ 107 (of characters with the same canonical equivalent); it may be nil,
108 in which case it is deduced from CANONICALIZE.") 108 in which case it is deduced from CANONICALIZE. */)
109 (table) 109 (table)
110 Lisp_Object table; 110 Lisp_Object table;
111{ 111{
112 return set_case_table (table, 0); 112 return set_case_table (table, 0);
113} 113}
114 114
115DEFUN ("set-standard-case-table", Fset_standard_case_table, Sset_standard_case_table, 1, 1, 0, 115DEFUN ("set-standard-case-table", Fset_standard_case_table, Sset_standard_case_table, 1, 1, 0,
116 "Select a new standard case table for new buffers.\n\ 116 doc: /* Select a new standard case table for new buffers.
117See `set-case-table' for more info on case tables.") 117See `set-case-table' for more info on case tables. */)
118 (table) 118 (table)
119 Lisp_Object table; 119 Lisp_Object table;
120{ 120{
121 return set_case_table (table, 1); 121 return set_case_table (table, 1);
diff --git a/src/category.c b/src/category.c
index c09e32e8d47..40804367528 100644
--- a/src/category.c
+++ b/src/category.c
@@ -53,11 +53,11 @@ Lisp_Object _temp_category_set;
53/* Category set staff. */ 53/* Category set staff. */
54 54
55DEFUN ("make-category-set", Fmake_category_set, Smake_category_set, 1, 1, 0, 55DEFUN ("make-category-set", Fmake_category_set, Smake_category_set, 1, 1, 0,
56 "Return a newly created category-set which contains CATEGORIES.\n\ 56 doc: /* Return a newly created category-set which contains CATEGORIES.
57CATEGORIES is a string of category mnemonics.\n\ 57CATEGORIES is a string of category mnemonics.
58The value is a bool-vector which has t at the indices corresponding to\n\ 58The value is a bool-vector which has t at the indices corresponding to
59those categories.") 59those categories. */)
60 (categories) 60 (categories)
61 Lisp_Object categories; 61 Lisp_Object categories;
62{ 62{
63 Lisp_Object val; 63 Lisp_Object val;
@@ -87,12 +87,12 @@ those categories.")
87Lisp_Object check_category_table (); 87Lisp_Object check_category_table ();
88 88
89DEFUN ("define-category", Fdefine_category, Sdefine_category, 2, 3, 0, 89DEFUN ("define-category", Fdefine_category, Sdefine_category, 2, 3, 0,
90 "Define CHAR as a category which is described by DOCSTRING.\n\ 90 doc: /* Define CHAR as a category which is described by DOCSTRING.
91CHAR should be an ASCII printing character in the range ` ' to `~'.\n\ 91CHAR should be an ASCII printing character in the range ` ' to `~'.
92DOCSTRING is a documentation string of the category.\n\ 92DOCSTRING is a documentation string of the category.
93The category is defined only in category table TABLE, which defaults to\n\ 93The category is defined only in category table TABLE, which defaults to
94 the current buffer's category table.") 94 the current buffer's category table. */)
95 (category, docstring, table) 95 (category, docstring, table)
96 Lisp_Object category, docstring, table; 96 Lisp_Object category, docstring, table;
97{ 97{
98 CHECK_CATEGORY (category, 0); 98 CHECK_CATEGORY (category, 0);
@@ -107,8 +107,8 @@ The category is defined only in category table TABLE, which defaults to\n\
107} 107}
108 108
109DEFUN ("category-docstring", Fcategory_docstring, Scategory_docstring, 1, 2, 0, 109DEFUN ("category-docstring", Fcategory_docstring, Scategory_docstring, 1, 2, 0,
110 "Return the documentation string of CATEGORY, as defined in CATEGORY-TABLE.") 110 doc: /* Return the documentation string of CATEGORY, as defined in CATEGORY-TABLE. */)
111 (category, table) 111 (category, table)
112 Lisp_Object category, table; 112 Lisp_Object category, table;
113{ 113{
114 CHECK_CATEGORY (category, 0); 114 CHECK_CATEGORY (category, 0);
@@ -119,11 +119,11 @@ DEFUN ("category-docstring", Fcategory_docstring, Scategory_docstring, 1, 2, 0,
119 119
120DEFUN ("get-unused-category", Fget_unused_category, Sget_unused_category, 120DEFUN ("get-unused-category", Fget_unused_category, Sget_unused_category,
121 0, 1, 0, 121 0, 1, 0,
122 "Return a category which is not yet defined in CATEGORY-TABLE.\n\ 122 doc: /* Return a category which is not yet defined in CATEGORY-TABLE. If no
123If no category remains available, return nil.\n\ 123category remains available, return nil. The optional argument CATEGORY-TABLE
124The optional argument CATEGORY-TABLE specifies which category table\n\ 124specifies which category table to modify; it defaults to the current
125to modify; it defaults to the current buffer's category table.") 125buffer's category table. */)
126 (table) 126 (table)
127 Lisp_Object table; 127 Lisp_Object table;
128{ 128{
129 int i; 129 int i;
@@ -141,8 +141,8 @@ to modify; it defaults to the current buffer's category table.")
141/* Category-table staff. */ 141/* Category-table staff. */
142 142
143DEFUN ("category-table-p", Fcategory_table_p, Scategory_table_p, 1, 1, 0, 143DEFUN ("category-table-p", Fcategory_table_p, Scategory_table_p, 1, 1, 0,
144 "Return t if ARG is a category table.") 144 doc: /* Return t if ARG is a category table. */)
145 (arg) 145 (arg)
146 Lisp_Object arg; 146 Lisp_Object arg;
147{ 147{
148 if (CHAR_TABLE_P (arg) 148 if (CHAR_TABLE_P (arg)
@@ -169,18 +169,18 @@ check_category_table (table)
169} 169}
170 170
171DEFUN ("category-table", Fcategory_table, Scategory_table, 0, 0, 0, 171DEFUN ("category-table", Fcategory_table, Scategory_table, 0, 0, 0,
172 "Return the current category table.\n\ 172 doc: /* Return the current category table.
173This is the one specified by the current buffer.") 173This is the one specified by the current buffer. */)
174 () 174 ()
175{ 175{
176 return current_buffer->category_table; 176 return current_buffer->category_table;
177} 177}
178 178
179DEFUN ("standard-category-table", Fstandard_category_table, 179DEFUN ("standard-category-table", Fstandard_category_table,
180 Sstandard_category_table, 0, 0, 0, 180 Sstandard_category_table, 0, 0, 0,
181 "Return the standard category table.\n\ 181 doc: /* Return the standard category table.
182This is the one used for new buffers.") 182This is the one used for new buffers. */)
183 () 183 ()
184{ 184{
185 return Vstandard_category_table; 185 return Vstandard_category_table;
186} 186}
@@ -238,9 +238,9 @@ copy_category_table (table)
238 238
239DEFUN ("copy-category-table", Fcopy_category_table, Scopy_category_table, 239DEFUN ("copy-category-table", Fcopy_category_table, Scopy_category_table,
240 0, 1, 0, 240 0, 1, 0,
241 "Construct a new category table and return it.\n\ 241 doc: /* Construct a new category table and return it.
242It is a copy of the TABLE, which defaults to the standard category table.") 242It is a copy of the TABLE, which defaults to the standard category table. */)
243 (table) 243 (table)
244 Lisp_Object table; 244 Lisp_Object table;
245{ 245{
246 if (!NILP (table)) 246 if (!NILP (table))
@@ -253,8 +253,8 @@ It is a copy of the TABLE, which defaults to the standard category table.")
253 253
254DEFUN ("make-category-table", Fmake_category_table, Smake_category_table, 254DEFUN ("make-category-table", Fmake_category_table, Smake_category_table,
255 0, 0, 0, 255 0, 0, 0,
256 "Construct a new and empty category table and return it.") 256 doc: /* Construct a new and empty category table and return it. */)
257 () 257 ()
258{ 258{
259 Lisp_Object val; 259 Lisp_Object val;
260 260
@@ -266,8 +266,8 @@ DEFUN ("make-category-table", Fmake_category_table, Smake_category_table,
266} 266}
267 267
268DEFUN ("set-category-table", Fset_category_table, Sset_category_table, 1, 1, 0, 268DEFUN ("set-category-table", Fset_category_table, Sset_category_table, 1, 1, 0,
269 "Specify TABLE as the category table for the current buffer.") 269 doc: /* Specify TABLE as the category table for the current buffer. */)
270 (table) 270 (table)
271 Lisp_Object table; 271 Lisp_Object table;
272{ 272{
273 int idx; 273 int idx;
@@ -281,8 +281,8 @@ DEFUN ("set-category-table", Fset_category_table, Sset_category_table, 1, 1, 0,
281 281
282 282
283DEFUN ("char-category-set", Fchar_category_set, Schar_category_set, 1, 1, 0, 283DEFUN ("char-category-set", Fchar_category_set, Schar_category_set, 1, 1, 0,
284 "Return the category set of CHAR.") 284 doc: /* Return the category set of CHAR. */)
285 (ch) 285 (ch)
286 Lisp_Object ch; 286 Lisp_Object ch;
287{ 287{
288 CHECK_NUMBER (ch, 0); 288 CHECK_NUMBER (ch, 0);
@@ -291,11 +291,11 @@ DEFUN ("char-category-set", Fchar_category_set, Schar_category_set, 1, 1, 0,
291 291
292DEFUN ("category-set-mnemonics", Fcategory_set_mnemonics, 292DEFUN ("category-set-mnemonics", Fcategory_set_mnemonics,
293 Scategory_set_mnemonics, 1, 1, 0, 293 Scategory_set_mnemonics, 1, 1, 0,
294 "Return a string containing mnemonics of the categories in CATEGORY-SET.\n\ 294 doc: /* Return a string containing mnemonics of the categories in CATEGORY-SET.
295CATEGORY-SET is a bool-vector, and the categories \"in\" it are those\n\ 295CATEGORY-SET is a bool-vector, and the categories \"in\" it are those
296that are indexes where t occurs the bool-vector.\n\ 296that are indexes where t occurs the bool-vector.
297The return value is a string containing those same categories.") 297The return value is a string containing those same categories. */)
298 (category_set) 298 (category_set)
299 Lisp_Object category_set; 299 Lisp_Object category_set;
300{ 300{
301 int i, j; 301 int i, j;
@@ -357,12 +357,12 @@ set_category_set (category_set, category, val)
357 357
358DEFUN ("modify-category-entry", Fmodify_category_entry, 358DEFUN ("modify-category-entry", Fmodify_category_entry,
359 Smodify_category_entry, 2, 4, 0, 359 Smodify_category_entry, 2, 4, 0,
360 "Modify the category set of CHARACTER by adding CATEGORY to it.\n\ 360 doc: /* Modify the category set of CHARACTER by adding CATEGORY to it.
361The category is changed only for table TABLE, which defaults to\n\ 361The category is changed only for table TABLE, which defaults to
362 the current buffer's category table.\n\ 362 the current buffer's category table.
363If optional fourth argument RESET is non-nil,\n\ 363If optional fourth argument RESET is non-nil,
364 then delete CATEGORY from the category set instead of adding it.") 364then delete CATEGORY from the category set instead of adding it. */)
365 (character, category, table, reset) 365 (character, category, table, reset)
366 Lisp_Object character, category, table, reset; 366 Lisp_Object character, category, table, reset;
367{ 367{
368 int c, charset, c1, c2; 368 int c, charset, c1, c2;
@@ -553,9 +553,9 @@ describe_category_1 (vector)
553} 553}
554 554
555DEFUN ("describe-categories", Fdescribe_categories, Sdescribe_categories, 0, 0, "", 555DEFUN ("describe-categories", Fdescribe_categories, Sdescribe_categories, 0, 0, "",
556 "Describe the category specifications in the current category table.\n\ 556 doc: /* Describe the category specifications in the current category table.
557The descriptions are inserted in a buffer, which is then displayed.") 557The descriptions are inserted in a buffer, which is then displayed. */)
558 () 558 ()
559{ 559{
560 internal_with_output_to_temp_buffer 560 internal_with_output_to_temp_buffer
561 ("*Help*", describe_category_1, current_buffer->category_table); 561 ("*Help*", describe_category_1, current_buffer->category_table);
@@ -643,45 +643,45 @@ syms_of_category ()
643 staticpro (&Qcategory_table_p); 643 staticpro (&Qcategory_table_p);
644 644
645 DEFVAR_LISP ("word-combining-categories", &Vword_combining_categories, 645 DEFVAR_LISP ("word-combining-categories", &Vword_combining_categories,
646 "List of pair (cons) of categories to determine word boundary.\n\ 646 doc: /* List of pair (cons) of categories to determine word boundary.
647\n\ 647
648Emacs treats a sequence of word constituent characters as a single\n\ 648Emacs treats a sequence of word constituent characters as a single
649word (i.e. finds no word boundary between them) iff they belongs to\n\ 649word (i.e. finds no word boundary between them) iff they belongs to
650the same charset. But, exceptions are allowed in the following cases.\n\ 650the same charset. But, exceptions are allowed in the following cases.
651\n\ 651
652\(1) The case that characters are in different charsets is controlled\n\ 652\(1) The case that characters are in different charsets is controlled
653by the variable `word-combining-categories'.\n\ 653by the variable `word-combining-categories'.
654\n\ 654
655Emacs finds no word boundary between characters of different charsets\n\ 655Emacs finds no word boundary between characters of different charsets
656if they have categories matching some element of this list.\n\ 656if they have categories matching some element of this list.
657\n\ 657
658More precisely, if an element of this list is a cons of category CAT1\n\ 658More precisely, if an element of this list is a cons of category CAT1
659and CAT2, and a multibyte character C1 which has CAT1 is followed by\n\ 659and CAT2, and a multibyte character C1 which has CAT1 is followed by
660C2 which has CAT2, there's no word boundary between C1 and C2.\n\ 660C2 which has CAT2, there's no word boundary between C1 and C2.
661\n\ 661
662For instance, to tell that ASCII characters and Latin-1 characters can\n\ 662For instance, to tell that ASCII characters and Latin-1 characters can
663form a single word, the element `(?l . ?l)' should be in this list\n\ 663form a single word, the element `(?l . ?l)' should be in this list
664because both characters have the category `l' (Latin characters).\n\ 664because both characters have the category `l' (Latin characters).
665\n\ 665
666\(2) The case that character are in the same charset is controlled by\n\ 666\(2) The case that character are in the same charset is controlled by
667the variable `word-separating-categories'.\n\ 667the variable `word-separating-categories'.
668\n\ 668
669Emacs find a word boundary between characters of the same charset\n\ 669Emacs find a word boundary between characters of the same charset
670if they have categories matching some element of this list.\n\ 670if they have categories matching some element of this list.
671\n\ 671
672More precisely, if an element of this list is a cons of category CAT1\n\ 672More precisely, if an element of this list is a cons of category CAT1
673and CAT2, and a multibyte character C1 which has CAT1 is followed by\n\ 673and CAT2, and a multibyte character C1 which has CAT1 is followed by
674C2 which has CAT2, there's a word boundary between C1 and C2.\n\ 674C2 which has CAT2, there's a word boundary between C1 and C2.
675\n\ 675
676For instance, to tell that there's a word boundary between Japanese\n\ 676For instance, to tell that there's a word boundary between Japanese
677Hiragana and Japanese Kanji (both are in the same charset), the\n\ 677Hiragana and Japanese Kanji (both are in the same charset), the
678element `(?H . ?C) should be in this list."); 678element `(?H . ?C) should be in this list. */);
679 679
680 Vword_combining_categories = Qnil; 680 Vword_combining_categories = Qnil;
681 681
682 DEFVAR_LISP ("word-separating-categories", &Vword_separating_categories, 682 DEFVAR_LISP ("word-separating-categories", &Vword_separating_categories,
683 "List of pair (cons) of categories to determine word boundary.\n\ 683 doc: /* List of pair (cons) of categories to determine word boundary.
684See the documentation of the variable `word-combining-categories'."); 684See the documentation of the variable `word-combining-categories'. */);
685 685
686 Vword_separating_categories = Qnil; 686 Vword_separating_categories = Qnil;
687 687
diff --git a/src/ccl.c b/src/ccl.c
index 52a4ff3c388..e8ddc959d2c 100644
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -2010,9 +2010,9 @@ setup_ccl_program (ccl, ccl_prog)
2010#ifdef emacs 2010#ifdef emacs
2011 2011
2012DEFUN ("ccl-program-p", Fccl_program_p, Sccl_program_p, 1, 1, 0, 2012DEFUN ("ccl-program-p", Fccl_program_p, Sccl_program_p, 1, 1, 0,
2013 "Return t if OBJECT is a CCL program name or a compiled CCL program code.\n\ 2013 doc: /* Return t if OBJECT is a CCL program name or a compiled CCL program code.
2014See the documentation of `define-ccl-program' for the detail of CCL program.") 2014See the documentation of `define-ccl-program' for the detail of CCL program. */)
2015 (object) 2015 (object)
2016 Lisp_Object object; 2016 Lisp_Object object;
2017{ 2017{
2018 Lisp_Object val; 2018 Lisp_Object val;
@@ -2032,22 +2032,22 @@ See the documentation of `define-ccl-program' for the detail of CCL program.")
2032} 2032}
2033 2033
2034DEFUN ("ccl-execute", Fccl_execute, Sccl_execute, 2, 2, 0, 2034DEFUN ("ccl-execute", Fccl_execute, Sccl_execute, 2, 2, 0,
2035 "Execute CCL-PROGRAM with registers initialized by REGISTERS.\n\ 2035 doc: /* Execute CCL-PROGRAM with registers initialized by REGISTERS.
2036\n\ 2036
2037CCL-PROGRAM is a CCL program name (symbol)\n\ 2037CCL-PROGRAM is a CCL program name (symbol)
2038or compiled code generated by `ccl-compile' (for backward compatibility.\n\ 2038or compiled code generated by `ccl-compile' (for backward compatibility.
2039In the latter case, the execution overhead is bigger than in the former).\n\ 2039In the latter case, the execution overhead is bigger than in the former).
2040No I/O commands should appear in CCL-PROGRAM.\n\ 2040No I/O commands should appear in CCL-PROGRAM.
2041\n\ 2041
2042REGISTERS is a vector of [R0 R1 ... R7] where RN is an initial value\n\ 2042REGISTERS is a vector of [R0 R1 ... R7] where RN is an initial value
2043for the Nth register.\n\ 2043for the Nth register.
2044\n\ 2044
2045As side effect, each element of REGISTERS holds the value of\n\ 2045As side effect, each element of REGISTERS holds the value of
2046the corresponding register after the execution.\n\ 2046the corresponding register after the execution.
2047\n\ 2047
2048See the documentation of `define-ccl-program' for a definition of CCL\n\ 2048See the documentation of `define-ccl-program' for a definition of CCL
2049programs.") 2049programs. */)
2050 (ccl_prog, reg) 2050 (ccl_prog, reg)
2051 Lisp_Object ccl_prog, reg; 2051 Lisp_Object ccl_prog, reg;
2052{ 2052{
2053 struct ccl_program ccl; 2053 struct ccl_program ccl;
@@ -2077,31 +2077,31 @@ programs.")
2077 2077
2078DEFUN ("ccl-execute-on-string", Fccl_execute_on_string, Sccl_execute_on_string, 2078DEFUN ("ccl-execute-on-string", Fccl_execute_on_string, Sccl_execute_on_string,
2079 3, 5, 0, 2079 3, 5, 0,
2080 "Execute CCL-PROGRAM with initial STATUS on STRING.\n\ 2080 doc: /* Execute CCL-PROGRAM with initial STATUS on STRING.
2081\n\ 2081
2082CCL-PROGRAM is a symbol registered by register-ccl-program,\n\ 2082CCL-PROGRAM is a symbol registered by register-ccl-program,
2083or a compiled code generated by `ccl-compile' (for backward compatibility,\n\ 2083or a compiled code generated by `ccl-compile' (for backward compatibility,
2084in this case, the execution is slower).\n\ 2084in this case, the execution is slower).
2085\n\ 2085
2086Read buffer is set to STRING, and write buffer is allocated automatically.\n\ 2086Read buffer is set to STRING, and write buffer is allocated automatically.
2087\n\ 2087
2088STATUS is a vector of [R0 R1 ... R7 IC], where\n\ 2088STATUS is a vector of [R0 R1 ... R7 IC], where
2089 R0..R7 are initial values of corresponding registers,\n\ 2089 R0..R7 are initial values of corresponding registers,
2090 IC is the instruction counter specifying from where to start the program.\n\ 2090 IC is the instruction counter specifying from where to start the program.
2091If R0..R7 are nil, they are initialized to 0.\n\ 2091If R0..R7 are nil, they are initialized to 0.
2092If IC is nil, it is initialized to head of the CCL program.\n\ 2092If IC is nil, it is initialized to head of the CCL program.
2093\n\ 2093
2094If optional 4th arg CONTINUE is non-nil, keep IC on read operation\n\ 2094If optional 4th arg CONTINUE is non-nil, keep IC on read operation
2095when read buffer is exausted, else, IC is always set to the end of\n\ 2095when read buffer is exausted, else, IC is always set to the end of
2096CCL-PROGRAM on exit.\n\ 2096CCL-PROGRAM on exit.
2097\n\ 2097
2098It returns the contents of write buffer as a string,\n\ 2098It returns the contents of write buffer as a string,
2099 and as side effect, STATUS is updated.\n\ 2099 and as side effect, STATUS is updated.
2100If the optional 5th arg UNIBYTE-P is non-nil, the returned string\n\ 2100If the optional 5th arg UNIBYTE-P is non-nil, the returned string
2101is a unibyte string. By default it is a multibyte string.\n\ 2101is a unibyte string. By default it is a multibyte string.
2102\n\ 2102
2103See the documentation of `define-ccl-program' for the detail of CCL program.") 2103See the documentation of `define-ccl-program' for the detail of CCL program. */)
2104 (ccl_prog, status, str, contin, unibyte_p) 2104 (ccl_prog, status, str, contin, unibyte_p)
2105 Lisp_Object ccl_prog, status, str, contin, unibyte_p; 2105 Lisp_Object ccl_prog, status, str, contin, unibyte_p;
2106{ 2106{
2107 Lisp_Object val; 2107 Lisp_Object val;
@@ -2167,11 +2167,11 @@ See the documentation of `define-ccl-program' for the detail of CCL program.")
2167 2167
2168DEFUN ("register-ccl-program", Fregister_ccl_program, Sregister_ccl_program, 2168DEFUN ("register-ccl-program", Fregister_ccl_program, Sregister_ccl_program,
2169 2, 2, 0, 2169 2, 2, 0,
2170 "Register CCL program CCL_PROG as NAME in `ccl-program-table'.\n\ 2170 doc: /* Register CCL program CCL_PROG as NAME in `ccl-program-table'.
2171CCL_PROG should be a compiled CCL program (vector), or nil.\n\ 2171CCL_PROG should be a compiled CCL program (vector), or nil.
2172If it is nil, just reserve NAME as a CCL program name.\n\ 2172If it is nil, just reserve NAME as a CCL program name.
2173Return index number of the registered CCL program.") 2173Return index number of the registered CCL program. */)
2174 (name, ccl_prog) 2174 (name, ccl_prog)
2175 Lisp_Object name, ccl_prog; 2175 Lisp_Object name, ccl_prog;
2176{ 2176{
2177 int len = XVECTOR (Vccl_program_table)->size; 2177 int len = XVECTOR (Vccl_program_table)->size;
@@ -2252,9 +2252,9 @@ Return index number of the registered CCL program.")
2252DEFUN ("register-code-conversion-map", Fregister_code_conversion_map, 2252DEFUN ("register-code-conversion-map", Fregister_code_conversion_map,
2253 Sregister_code_conversion_map, 2253 Sregister_code_conversion_map,
2254 2, 2, 0, 2254 2, 2, 0,
2255 "Register SYMBOL as code conversion map MAP.\n\ 2255 doc: /* Register SYMBOL as code conversion map MAP.
2256Return index number of the registered map.") 2256Return index number of the registered map. */)
2257 (symbol, map) 2257 (symbol, map)
2258 Lisp_Object symbol, map; 2258 Lisp_Object symbol, map;
2259{ 2259{
2260 int len = XVECTOR (Vcode_conversion_map_vector)->size; 2260 int len = XVECTOR (Vcode_conversion_map_vector)->size;
@@ -2319,20 +2319,20 @@ syms_of_ccl ()
2319 staticpro (&Qcode_conversion_map_id); 2319 staticpro (&Qcode_conversion_map_id);
2320 2320
2321 DEFVAR_LISP ("code-conversion-map-vector", &Vcode_conversion_map_vector, 2321 DEFVAR_LISP ("code-conversion-map-vector", &Vcode_conversion_map_vector,
2322 "Vector of code conversion maps."); 2322 doc: /* Vector of code conversion maps. */);
2323 Vcode_conversion_map_vector = Fmake_vector (make_number (16), Qnil); 2323 Vcode_conversion_map_vector = Fmake_vector (make_number (16), Qnil);
2324 2324
2325 DEFVAR_LISP ("font-ccl-encoder-alist", &Vfont_ccl_encoder_alist, 2325 DEFVAR_LISP ("font-ccl-encoder-alist", &Vfont_ccl_encoder_alist,
2326 "Alist of fontname patterns vs corresponding CCL program.\n\ 2326 doc: /* Alist of fontname patterns vs corresponding CCL program.
2327Each element looks like (REGEXP . CCL-CODE),\n\ 2327Each element looks like (REGEXP . CCL-CODE),
2328 where CCL-CODE is a compiled CCL program.\n\ 2328 where CCL-CODE is a compiled CCL program.
2329When a font whose name matches REGEXP is used for displaying a character,\n\ 2329When a font whose name matches REGEXP is used for displaying a character,
2330 CCL-CODE is executed to calculate the code point in the font\n\ 2330 CCL-CODE is executed to calculate the code point in the font
2331 from the charset number and position code(s) of the character which are set\n\ 2331 from the charset number and position code(s) of the character which are set
2332 in CCL registers R0, R1, and R2 before the execution.\n\ 2332 in CCL registers R0, R1, and R2 before the execution.
2333The code point in the font is set in CCL registers R1 and R2\n\ 2333The code point in the font is set in CCL registers R1 and R2
2334 when the execution terminated.\n\ 2334 when the execution terminated.
2335If the font is single-byte font, the register R2 is not used."); 2335 If the font is single-byte font, the register R2 is not used. */);
2336 Vfont_ccl_encoder_alist = Qnil; 2336 Vfont_ccl_encoder_alist = Qnil;
2337 2337
2338 defsubr (&Sccl_program_p); 2338 defsubr (&Sccl_program_p);
diff --git a/src/charset.c b/src/charset.c
index 38d22121f98..7c50d245ebe 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -631,37 +631,37 @@ get_new_private_charset_id (dimension, width)
631} 631}
632 632
633DEFUN ("define-charset", Fdefine_charset, Sdefine_charset, 3, 3, 0, 633DEFUN ("define-charset", Fdefine_charset, Sdefine_charset, 3, 3, 0,
634 "Define CHARSET-ID as the identification number of CHARSET with INFO-VECTOR.\n\ 634 doc: /* Define CHARSET-ID as the identification number of CHARSET with INFO-VECTOR.
635If CHARSET-ID is nil, it is decided automatically, which means CHARSET is\n\ 635If CHARSET-ID is nil, it is decided automatically, which means CHARSET is
636 treated as a private charset.\n\ 636 treated as a private charset.
637INFO-VECTOR is a vector of the format:\n\ 637INFO-VECTOR is a vector of the format:
638 [DIMENSION CHARS WIDTH DIRECTION ISO-FINAL-CHAR ISO-GRAPHIC-PLANE\n\ 638 [DIMENSION CHARS WIDTH DIRECTION ISO-FINAL-CHAR ISO-GRAPHIC-PLANE
639 SHORT-NAME LONG-NAME DESCRIPTION]\n\ 639 SHORT-NAME LONG-NAME DESCRIPTION]
640The meanings of each elements is as follows:\n\ 640The meanings of each elements is as follows:
641DIMENSION (integer) is the number of bytes to represent a character: 1 or 2.\n\ 641DIMENSION (integer) is the number of bytes to represent a character: 1 or 2.
642CHARS (integer) is the number of characters in a dimension: 94 or 96.\n\ 642CHARS (integer) is the number of characters in a dimension: 94 or 96.
643WIDTH (integer) is the number of columns a character in the charset\n\ 643WIDTH (integer) is the number of columns a character in the charset
644occupies on the screen: one of 0, 1, and 2.\n\ 644occupies on the screen: one of 0, 1, and 2.
645\n\ 645
646DIRECTION (integer) is the rendering direction of characters in the\n\ 646DIRECTION (integer) is the rendering direction of characters in the
647charset when rendering. If 0, render from left to right, else\n\ 647charset when rendering. If 0, render from left to right, else
648render from right to left.\n\ 648render from right to left.
649\n\ 649
650ISO-FINAL-CHAR (character) is the final character of the\n\ 650ISO-FINAL-CHAR (character) is the final character of the
651corresponding ISO 2022 charset.\n\ 651corresponding ISO 2022 charset.
652It may be -1 if the charset is internal use only.\n\ 652It may be -1 if the charset is internal use only.
653\n\ 653
654ISO-GRAPHIC-PLANE (integer) is the graphic plane to be invoked\n\ 654ISO-GRAPHIC-PLANE (integer) is the graphic plane to be invoked
655while encoding to variants of ISO 2022 coding system, one of the\n\ 655while encoding to variants of ISO 2022 coding system, one of the
656following: 0/graphic-plane-left(GL), 1/graphic-plane-right(GR).\n\ 656following: 0/graphic-plane-left(GL), 1/graphic-plane-right(GR).
657It may be -1 if the charset is internal use only.\n\ 657It may be -1 if the charset is internal use only.
658\n\ 658
659SHORT-NAME (string) is the short name to refer to the charset.\n\ 659SHORT-NAME (string) is the short name to refer to the charset.
660\n\ 660
661LONG-NAME (string) is the long name to refer to the charset.\n\ 661LONG-NAME (string) is the long name to refer to the charset.
662\n\ 662
663DESCRIPTION (string) is the description string of the charset.") 663DESCRIPTION (string) is the description string of the charset. */)
664 (charset_id, charset_symbol, info_vector) 664 (charset_id, charset_symbol, info_vector)
665 Lisp_Object charset_id, charset_symbol, info_vector; 665 Lisp_Object charset_id, charset_symbol, info_vector;
666{ 666{
667 Lisp_Object *vec; 667 Lisp_Object *vec;
@@ -713,23 +713,23 @@ DESCRIPTION (string) is the description string of the charset.")
713 713
714DEFUN ("generic-character-list", Fgeneric_character_list, 714DEFUN ("generic-character-list", Fgeneric_character_list,
715 Sgeneric_character_list, 0, 0, 0, 715 Sgeneric_character_list, 0, 0, 0,
716 "Return a list of all possible generic characters.\n\ 716 doc: /* Return a list of all possible generic characters.
717It includes a generic character for a charset not yet defined.") 717It includes a generic character for a charset not yet defined. */)
718 () 718 ()
719{ 719{
720 return Vgeneric_character_list; 720 return Vgeneric_character_list;
721} 721}
722 722
723DEFUN ("get-unused-iso-final-char", Fget_unused_iso_final_char, 723DEFUN ("get-unused-iso-final-char", Fget_unused_iso_final_char,
724 Sget_unused_iso_final_char, 2, 2, 0, 724 Sget_unused_iso_final_char, 2, 2, 0,
725 "Return an unsed ISO's final char for a charset of DIMENISION and CHARS.\n\ 725 doc: /* Return an unsed ISO's final char for a charset of DIMENISION and CHARS.
726DIMENSION is the number of bytes to represent a character: 1 or 2.\n\ 726DIMENSION is the number of bytes to represent a character: 1 or 2.
727CHARS is the number of characters in a dimension: 94 or 96.\n\ 727CHARS is the number of characters in a dimension: 94 or 96.
728\n\ 728
729This final char is for private use, thus the range is `0' (48) .. `?' (63).\n\ 729This final char is for private use, thus the range is `0' (48) .. `?' (63).
730If there's no unused final char for the specified kind of charset,\n\ 730If there's no unused final char for the specified kind of charset,
731return nil.") 731return nil. */)
732 (dimension, chars) 732 (dimension, chars)
733 Lisp_Object dimension, chars; 733 Lisp_Object dimension, chars;
734{ 734{
735 int final_char; 735 int final_char;
@@ -752,9 +752,9 @@ return nil.")
752 752
753DEFUN ("declare-equiv-charset", Fdeclare_equiv_charset, Sdeclare_equiv_charset, 753DEFUN ("declare-equiv-charset", Fdeclare_equiv_charset, Sdeclare_equiv_charset,
754 4, 4, 0, 754 4, 4, 0,
755 "Declare a charset of DIMENSION, CHARS, FINAL-CHAR is the same as CHARSET.\n\ 755 doc: /* Declare a charset of DIMENSION, CHARS, FINAL-CHAR is the same as CHARSET.
756CHARSET should be defined by `defined-charset' in advance.") 756CHARSET should be defined by `defined-charset' in advance. */)
757 (dimension, chars, final_char, charset_symbol) 757 (dimension, chars, final_char, charset_symbol)
758 Lisp_Object dimension, chars, final_char, charset_symbol; 758 Lisp_Object dimension, chars, final_char, charset_symbol;
759{ 759{
760 int charset; 760 int charset;
@@ -860,16 +860,16 @@ find_charset_in_text (ptr, nchars, nbytes, charsets, table)
860 860
861DEFUN ("find-charset-region", Ffind_charset_region, Sfind_charset_region, 861DEFUN ("find-charset-region", Ffind_charset_region, Sfind_charset_region,
862 2, 3, 0, 862 2, 3, 0,
863 "Return a list of charsets in the region between BEG and END.\n\ 863 doc: /* Return a list of charsets in the region between BEG and END.
864BEG and END are buffer positions.\n\ 864BEG and END are buffer positions.
865Optional arg TABLE if non-nil is a translation table to look up.\n\ 865Optional arg TABLE if non-nil is a translation table to look up.
866\n\ 866
867If the region contains invalid multibyte characters,\n\ 867If the region contains invalid multibyte characters,
868`unknown' is included in the returned list.\n\ 868`unknown' is included in the returned list.
869\n\ 869
870If the current buffer is unibyte, the returned list may contain\n\ 870If the current buffer is unibyte, the returned list may contain
871only `ascii', `eight-bit-control', and `eight-bit-graphic'.") 871only `ascii', `eight-bit-control', and `eight-bit-graphic'. */)
872 (beg, end, table) 872 (beg, end, table)
873 Lisp_Object beg, end, table; 873 Lisp_Object beg, end, table;
874{ 874{
875 int charsets[MAX_CHARSET + 1]; 875 int charsets[MAX_CHARSET + 1];
@@ -917,15 +917,15 @@ only `ascii', `eight-bit-control', and `eight-bit-graphic'.")
917 917
918DEFUN ("find-charset-string", Ffind_charset_string, Sfind_charset_string, 918DEFUN ("find-charset-string", Ffind_charset_string, Sfind_charset_string,
919 1, 2, 0, 919 1, 2, 0,
920 "Return a list of charsets in STR.\n\ 920 doc: /* Return a list of charsets in STR.
921Optional arg TABLE if non-nil is a translation table to look up.\n\ 921Optional arg TABLE if non-nil is a translation table to look up.
922\n\ 922
923If the string contains invalid multibyte characters,\n\ 923If the string contains invalid multibyte characters,
924`unknown' is included in the returned list.\n\ 924`unknown' is included in the returned list.
925\n\ 925
926If STR is unibyte, the returned list may contain\n\ 926If STR is unibyte, the returned list may contain
927only `ascii', `eight-bit-control', and `eight-bit-graphic'.") 927only `ascii', `eight-bit-control', and `eight-bit-graphic'. */)
928 (str, table) 928 (str, table)
929 Lisp_Object str, table; 929 Lisp_Object str, table;
930{ 930{
931 int charsets[MAX_CHARSET + 1]; 931 int charsets[MAX_CHARSET + 1];
@@ -951,8 +951,9 @@ only `ascii', `eight-bit-control', and `eight-bit-graphic'.")
951 951
952 952
953DEFUN ("make-char-internal", Fmake_char_internal, Smake_char_internal, 1, 3, 0, 953DEFUN ("make-char-internal", Fmake_char_internal, Smake_char_internal, 1, 3, 0,
954 "") 954 doc: /* Return a character made from arguments.
955 (charset, code1, code2) 955Internal use only. */)
956 (charset, code1, code2)
956 Lisp_Object charset, code1, code2; 957 Lisp_Object charset, code1, code2;
957{ 958{
958 int charset_id, c1, c2; 959 int charset_id, c1, c2;
@@ -1016,10 +1017,10 @@ DEFUN ("make-char-internal", Fmake_char_internal, Smake_char_internal, 1, 3, 0,
1016} 1017}
1017 1018
1018DEFUN ("split-char", Fsplit_char, Ssplit_char, 1, 1, 0, 1019DEFUN ("split-char", Fsplit_char, Ssplit_char, 1, 1, 0,
1019 "Return list of charset and one or two position-codes of CHAR.\n\ 1020 doc: /* Return list of charset and one or two position-codes of CHAR.
1020If CHAR is invalid as a character code,\n\ 1021If CHAR is invalid as a character code,
1021return a list of symbol `unknown' and CHAR.") 1022return a list of symbol `unknown' and CHAR. */)
1022 (ch) 1023 (ch)
1023 Lisp_Object ch; 1024 Lisp_Object ch;
1024{ 1025{
1025 int c, charset, c1, c2; 1026 int c, charset, c1, c2;
@@ -1036,8 +1037,8 @@ return a list of symbol `unknown' and CHAR.")
1036} 1037}
1037 1038
1038DEFUN ("char-charset", Fchar_charset, Schar_charset, 1, 1, 0, 1039DEFUN ("char-charset", Fchar_charset, Schar_charset, 1, 1, 0,
1039 "Return charset of CHAR.") 1040 doc: /* Return charset of CHAR. */)
1040 (ch) 1041 (ch)
1041 Lisp_Object ch; 1042 Lisp_Object ch;
1042{ 1043{
1043 CHECK_NUMBER (ch, 0); 1044 CHECK_NUMBER (ch, 0);
@@ -1046,10 +1047,10 @@ DEFUN ("char-charset", Fchar_charset, Schar_charset, 1, 1, 0,
1046} 1047}
1047 1048
1048DEFUN ("charset-after", Fcharset_after, Scharset_after, 0, 1, 0, 1049DEFUN ("charset-after", Fcharset_after, Scharset_after, 0, 1, 0,
1049 "Return charset of a character in the current buffer at position POS.\n\ 1050 doc: /* Return charset of a character in the current buffer at position POS.
1050If POS is nil, it defauls to the current point.\n\ 1051If POS is nil, it defauls to the current point.
1051If POS is out of range, the value is nil.") 1052If POS is out of range, the value is nil. */)
1052 (pos) 1053 (pos)
1053 Lisp_Object pos; 1054 Lisp_Object pos;
1054{ 1055{
1055 Lisp_Object ch; 1056 Lisp_Object ch;
@@ -1063,14 +1064,14 @@ If POS is out of range, the value is nil.")
1063} 1064}
1064 1065
1065DEFUN ("iso-charset", Fiso_charset, Siso_charset, 3, 3, 0, 1066DEFUN ("iso-charset", Fiso_charset, Siso_charset, 3, 3, 0,
1066 "Return charset of ISO's specification DIMENSION, CHARS, and FINAL-CHAR.\n\ 1067 doc: /* Return charset of ISO's specification DIMENSION, CHARS, and FINAL-CHAR.
1067\n\ 1068
1068ISO 2022's designation sequence (escape sequence) distinguishes charsets\n\ 1069ISO 2022's designation sequence (escape sequence) distinguishes charsets
1069by their DIMENSION, CHARS, and FINAL-CHAR,\n\ 1070by their DIMENSION, CHARS, and FINAL-CHAR,
1070where as Emacs distinguishes them by charset symbol.\n\ 1071where as Emacs distinguishes them by charset symbol.
1071See the documentation of the function `charset-info' for the meanings of\n\ 1072See the documentation of the function `charset-info' for the meanings of
1072DIMENSION, CHARS, and FINAL-CHAR.") 1073DIMENSION, CHARS, and FINAL-CHAR. */)
1073 (dimension, chars, final_char) 1074 (dimension, chars, final_char)
1074 Lisp_Object dimension, chars, final_char; 1075 Lisp_Object dimension, chars, final_char;
1075{ 1076{
1076 int charset; 1077 int charset;
@@ -1115,10 +1116,10 @@ char_valid_p (c, genericp)
1115} 1116}
1116 1117
1117DEFUN ("char-valid-p", Fchar_valid_p, Schar_valid_p, 1, 2, 0, 1118DEFUN ("char-valid-p", Fchar_valid_p, Schar_valid_p, 1, 2, 0,
1118 "Return t if OBJECT is a valid normal character.\n\ 1119 doc: /* Return t if OBJECT is a valid normal character.
1119If optional arg GENERICP is non-nil, also return t if OBJECT is\n\ 1120If optional arg GENERICP is non-nil, also return t if OBJECT is
1120a valid generic character.") 1121a valid generic character. */)
1121 (object, genericp) 1122 (object, genericp)
1122 Lisp_Object object, genericp; 1123 Lisp_Object object, genericp;
1123{ 1124{
1124 if (! NATNUMP (object)) 1125 if (! NATNUMP (object))
@@ -1128,10 +1129,10 @@ a valid generic character.")
1128 1129
1129DEFUN ("unibyte-char-to-multibyte", Funibyte_char_to_multibyte, 1130DEFUN ("unibyte-char-to-multibyte", Funibyte_char_to_multibyte,
1130 Sunibyte_char_to_multibyte, 1, 1, 0, 1131 Sunibyte_char_to_multibyte, 1, 1, 0,
1131 "Convert the unibyte character CH to multibyte character.\n\ 1132 doc: /* Convert the unibyte character CH to multibyte character.
1132The conversion is done based on `nonascii-translation-table' (which see)\n\ 1133The conversion is done based on `nonascii-translation-table' (which see)
1133 or `nonascii-insert-offset' (which see).") 1134 or `nonascii-insert-offset' (which see). */)
1134 (ch) 1135 (ch)
1135 Lisp_Object ch; 1136 Lisp_Object ch;
1136{ 1137{
1137 int c; 1138 int c;
@@ -1148,10 +1149,10 @@ The conversion is done based on `nonascii-translation-table' (which see)\n\
1148 1149
1149DEFUN ("multibyte-char-to-unibyte", Fmultibyte_char_to_unibyte, 1150DEFUN ("multibyte-char-to-unibyte", Fmultibyte_char_to_unibyte,
1150 Smultibyte_char_to_unibyte, 1, 1, 0, 1151 Smultibyte_char_to_unibyte, 1, 1, 0,
1151 "Convert the multibyte character CH to unibyte character.\n\ 1152 doc: /* Convert the multibyte character CH to unibyte character.
1152The conversion is done based on `nonascii-translation-table' (which see)\n\ 1153The conversion is done based on `nonascii-translation-table' (which see)
1153 or `nonascii-insert-offset' (which see).") 1154 or `nonascii-insert-offset' (which see). */)
1154 (ch) 1155 (ch)
1155 Lisp_Object ch; 1156 Lisp_Object ch;
1156{ 1157{
1157 int c; 1158 int c;
@@ -1167,9 +1168,9 @@ The conversion is done based on `nonascii-translation-table' (which see)\n\
1167} 1168}
1168 1169
1169DEFUN ("char-bytes", Fchar_bytes, Schar_bytes, 1, 1, 0, 1170DEFUN ("char-bytes", Fchar_bytes, Schar_bytes, 1, 1, 0,
1170 "Return 1 regardless of the argument CHAR.\n\ 1171 doc: /* Return 1 regardless of the argument CHAR.
1171This is now an obsolete function. We keep it just for backward compatibility.") 1172This is now an obsolete function. We keep it just for backward compatibility. */)
1172 (ch) 1173 (ch)
1173 Lisp_Object ch; 1174 Lisp_Object ch;
1174{ 1175{
1175 CHECK_NUMBER (ch, 0); 1176 CHECK_NUMBER (ch, 0);
@@ -1212,11 +1213,11 @@ char_bytes (c)
1212 : 4)))) 1213 : 4))))
1213 1214
1214DEFUN ("char-width", Fchar_width, Schar_width, 1, 1, 0, 1215DEFUN ("char-width", Fchar_width, Schar_width, 1, 1, 0,
1215 "Return width of CHAR when displayed in the current buffer.\n\ 1216 doc: /* Return width of CHAR when displayed in the current buffer.
1216The width is measured by how many columns it occupies on the screen.\n\ 1217The width is measured by how many columns it occupies on the screen.
1217Tab is taken to occupy `tab-width' columns.") 1218Tab is taken to occupy `tab-width' columns. */)
1218 (ch) 1219 (ch)
1219 Lisp_Object ch; 1220 Lisp_Object ch;
1220{ 1221{
1221 Lisp_Object val, disp; 1222 Lisp_Object val, disp;
1222 int c; 1223 int c;
@@ -1389,13 +1390,13 @@ lisp_string_width (string, precision, nchars, nbytes)
1389} 1390}
1390 1391
1391DEFUN ("string-width", Fstring_width, Sstring_width, 1, 1, 0, 1392DEFUN ("string-width", Fstring_width, Sstring_width, 1, 1, 0,
1392 "Return width of STRING when displayed in the current buffer.\n\ 1393 doc: /* Return width of STRING when displayed in the current buffer.
1393Width is measured by how many columns it occupies on the screen.\n\ 1394Width is measured by how many columns it occupies on the screen.
1394When calculating width of a multibyte character in STRING,\n\ 1395When calculating width of a multibyte character in STRING,
1395only the base leading-code is considered; the validity of\n\ 1396only the base leading-code is considered; the validity of
1396the following bytes is not checked. Tabs in STRING are always\n\ 1397the following bytes is not checked. Tabs in STRING are always
1397taken to occupy `tab-width' columns.") 1398taken to occupy `tab-width' columns. */)
1398 (str) 1399 (str)
1399 Lisp_Object str; 1400 Lisp_Object str;
1400{ 1401{
1401 Lisp_Object val; 1402 Lisp_Object val;
@@ -1406,9 +1407,9 @@ taken to occupy `tab-width' columns.")
1406} 1407}
1407 1408
1408DEFUN ("char-direction", Fchar_direction, Schar_direction, 1, 1, 0, 1409DEFUN ("char-direction", Fchar_direction, Schar_direction, 1, 1, 0,
1409 "Return the direction of CHAR.\n\ 1410 doc: /* Return the direction of CHAR.
1410The returned value is 0 for left-to-right and 1 for right-to-left.") 1411The returned value is 0 for left-to-right and 1 for right-to-left. */)
1411 (ch) 1412 (ch)
1412 Lisp_Object ch; 1413 Lisp_Object ch;
1413{ 1414{
1414 int charset; 1415 int charset;
@@ -1421,8 +1422,8 @@ The returned value is 0 for left-to-right and 1 for right-to-left.")
1421} 1422}
1422 1423
1423DEFUN ("chars-in-region", Fchars_in_region, Schars_in_region, 2, 2, 0, 1424DEFUN ("chars-in-region", Fchars_in_region, Schars_in_region, 2, 2, 0,
1424 "Return number of characters between BEG and END.") 1425 doc: /* Return number of characters between BEG and END. */)
1425 (beg, end) 1426 (beg, end)
1426 Lisp_Object beg, end; 1427 Lisp_Object beg, end;
1427{ 1428{
1428 int from, to; 1429 int from, to;
@@ -1628,8 +1629,8 @@ str_as_unibyte (str, bytes)
1628 1629
1629 1630
1630DEFUN ("string", Fstring, Sstring, 1, MANY, 0, 1631DEFUN ("string", Fstring, Sstring, 1, MANY, 0,
1631 "Concatenate all the argument characters and make the result a string.") 1632 doc: /* Concatenate all the argument characters and make the result a string. */)
1632 (n, args) 1633 (n, args)
1633 int n; 1634 int n;
1634 Lisp_Object *args; 1635 Lisp_Object *args;
1635{ 1636{
@@ -1674,8 +1675,8 @@ charset_id_internal (charset_name)
1674} 1675}
1675 1676
1676DEFUN ("setup-special-charsets", Fsetup_special_charsets, 1677DEFUN ("setup-special-charsets", Fsetup_special_charsets,
1677 Ssetup_special_charsets, 0, 0, 0, "Internal use only.") 1678 Ssetup_special_charsets, 0, 0, 0, doc: /* Internal use only. */)
1678 () 1679 ()
1679{ 1680{
1680 charset_latin_iso8859_1 = charset_id_internal ("latin-iso8859-1"); 1681 charset_latin_iso8859_1 = charset_id_internal ("latin-iso8859-1");
1681 charset_jisx0208_1978 = charset_id_internal ("japanese-jisx0208-1978"); 1682 charset_jisx0208_1978 = charset_id_internal ("japanese-jisx0208-1978");
@@ -1840,56 +1841,59 @@ syms_of_charset ()
1840 defsubr (&Ssetup_special_charsets); 1841 defsubr (&Ssetup_special_charsets);
1841 1842
1842 DEFVAR_LISP ("charset-list", &Vcharset_list, 1843 DEFVAR_LISP ("charset-list", &Vcharset_list,
1843 "List of charsets ever defined."); 1844 doc: /* List of charsets ever defined. */);
1844 Vcharset_list = Fcons (Qascii, Fcons (Qeight_bit_control, 1845 Vcharset_list = Fcons (Qascii, Fcons (Qeight_bit_control,
1845 Fcons (Qeight_bit_graphic, Qnil))); 1846 Fcons (Qeight_bit_graphic, Qnil)));
1846 1847
1847 DEFVAR_LISP ("translation-table-vector", &Vtranslation_table_vector, 1848 DEFVAR_LISP ("translation-table-vector", &Vtranslation_table_vector,
1848 "Vector of cons cell of a symbol and translation table ever defined.\n\ 1849 doc: /* Vector of cons cell of a symbol and translation table ever defined.
1849An ID of a translation table is an index of this vector."); 1850An ID of a translation table is an index of this vector. */);
1850 Vtranslation_table_vector = Fmake_vector (make_number (16), Qnil); 1851 Vtranslation_table_vector = Fmake_vector (make_number (16), Qnil);
1851 1852
1852 DEFVAR_INT ("leading-code-private-11", &leading_code_private_11, 1853 DEFVAR_INT ("leading-code-private-11", &leading_code_private_11,
1853 "Leading-code of private TYPE9N charset of column-width 1."); 1854 doc: /* Leading-code of private TYPE9N charset of column-width 1. */);
1854 leading_code_private_11 = LEADING_CODE_PRIVATE_11; 1855 leading_code_private_11 = LEADING_CODE_PRIVATE_11;
1855 1856
1856 DEFVAR_INT ("leading-code-private-12", &leading_code_private_12, 1857 DEFVAR_INT ("leading-code-private-12", &leading_code_private_12,
1857 "Leading-code of private TYPE9N charset of column-width 2."); 1858 doc: /* Leading-code of private TYPE9N charset of column-width 2. */);
1858 leading_code_private_12 = LEADING_CODE_PRIVATE_12; 1859 leading_code_private_12 = LEADING_CODE_PRIVATE_12;
1859 1860
1860 DEFVAR_INT ("leading-code-private-21", &leading_code_private_21, 1861 DEFVAR_INT ("leading-code-private-21", &leading_code_private_21,
1861 "Leading-code of private TYPE9Nx9N charset of column-width 1."); 1862 doc: /* Leading-code of private TYPE9Nx9N charset of column-width 1. */);
1862 leading_code_private_21 = LEADING_CODE_PRIVATE_21; 1863 leading_code_private_21 = LEADING_CODE_PRIVATE_21;
1863 1864
1864 DEFVAR_INT ("leading-code-private-22", &leading_code_private_22, 1865 DEFVAR_INT ("leading-code-private-22", &leading_code_private_22,
1865 "Leading-code of private TYPE9Nx9N charset of column-width 2."); 1866 doc: /* Leading-code of private TYPE9Nx9N charset of column-width 2. */);
1866 leading_code_private_22 = LEADING_CODE_PRIVATE_22; 1867 leading_code_private_22 = LEADING_CODE_PRIVATE_22;
1867 1868
1868 DEFVAR_INT ("nonascii-insert-offset", &nonascii_insert_offset, 1869 DEFVAR_INT ("nonascii-insert-offset", &nonascii_insert_offset,
1869 "Offset for converting non-ASCII unibyte codes 0240...0377 to multibyte.\n\ 1870 doc: /* Offset for converting non-ASCII unibyte codes 0240...0377 to multibyte.
1870This is used for converting unibyte text to multibyte,\n\ 1871This is used for converting unibyte text to multibyte,
1871and for inserting character codes specified by number.\n\n\ 1872and for inserting character codes specified by number.
1872This serves to convert a Latin-1 or similar 8-bit character code\n\ 1873
1873to the corresponding Emacs multibyte character code.\n\ 1874This serves to convert a Latin-1 or similar 8-bit character code
1874Typically the value should be (- (make-char CHARSET 0) 128),\n\ 1875to the corresponding Emacs multibyte character code.
1875for your choice of character set.\n\ 1876Typically the value should be (- (make-char CHARSET 0) 128),
1876If `nonascii-translation-table' is non-nil, it overrides this variable."); 1877for your choice of character set.
1878If `nonascii-translation-table' is non-nil, it overrides this variable. */);
1877 nonascii_insert_offset = 0; 1879 nonascii_insert_offset = 0;
1878 1880
1879 DEFVAR_LISP ("nonascii-translation-table", &Vnonascii_translation_table, 1881 DEFVAR_LISP ("nonascii-translation-table", &Vnonascii_translation_table,
1880 "Translation table to convert non-ASCII unibyte codes to multibyte.\n\ 1882 doc: /* Translation table to convert non-ASCII unibyte codes to multibyte.
1881This is used for converting unibyte text to multibyte,\n\ 1883This is used for converting unibyte text to multibyte,
1882and for inserting character codes specified by number.\n\n\ 1884and for inserting character codes specified by number.
1883Conversion is performed only when multibyte characters are enabled,\n\ 1885
1884and it serves to convert a Latin-1 or similar 8-bit character code\n\ 1886Conversion is performed only when multibyte characters are enabled,
1885to the corresponding Emacs character code.\n\n\ 1887and it serves to convert a Latin-1 or similar 8-bit character code
1886If this is nil, `nonascii-insert-offset' is used instead.\n\ 1888to the corresponding Emacs character code.
1887See also the docstring of `make-translation-table'."); 1889
1890If this is nil, `nonascii-insert-offset' is used instead.
1891See also the docstring of `make-translation-table'. */);
1888 Vnonascii_translation_table = Qnil; 1892 Vnonascii_translation_table = Qnil;
1889 1893
1890 DEFVAR_LISP ("auto-fill-chars", &Vauto_fill_chars, 1894 DEFVAR_LISP ("auto-fill-chars", &Vauto_fill_chars,
1891 "A char-table for characters which invoke auto-filling.\n\ 1895 doc: /* A char-table for characters which invoke auto-filling.
1892Such characters have value t in this table."); 1896Such characters have value t in this table. */);
1893 Vauto_fill_chars = Fmake_char_table (Qauto_fill_chars, Qnil); 1897 Vauto_fill_chars = Fmake_char_table (Qauto_fill_chars, Qnil);
1894 CHAR_TABLE_SET (Vauto_fill_chars, make_number (' '), Qt); 1898 CHAR_TABLE_SET (Vauto_fill_chars, make_number (' '), Qt);
1895 CHAR_TABLE_SET (Vauto_fill_chars, make_number ('\n'), Qt); 1899 CHAR_TABLE_SET (Vauto_fill_chars, make_number ('\n'), Qt);
diff --git a/src/process.c b/src/process.c
index 956f2b8fdb3..c833e9c3bef 100644
--- a/src/process.c
+++ b/src/process.c
@@ -481,16 +481,16 @@ remove_process (proc)
481} 481}
482 482
483DEFUN ("processp", Fprocessp, Sprocessp, 1, 1, 0, 483DEFUN ("processp", Fprocessp, Sprocessp, 1, 1, 0,
484 "Return t if OBJECT is a process.") 484 doc: /* Return t if OBJECT is a process. */)
485 (object) 485 (object)
486 Lisp_Object object; 486 Lisp_Object object;
487{ 487{
488 return PROCESSP (object) ? Qt : Qnil; 488 return PROCESSP (object) ? Qt : Qnil;
489} 489}
490 490
491DEFUN ("get-process", Fget_process, Sget_process, 1, 1, 0, 491DEFUN ("get-process", Fget_process, Sget_process, 1, 1, 0,
492 "Return the process named NAME, or nil if there is none.") 492 doc: /* Return the process named NAME, or nil if there is none. */)
493 (name) 493 (name)
494 register Lisp_Object name; 494 register Lisp_Object name;
495{ 495{
496 if (PROCESSP (name)) 496 if (PROCESSP (name))
@@ -500,9 +500,9 @@ DEFUN ("get-process", Fget_process, Sget_process, 1, 1, 0,
500} 500}
501 501
502DEFUN ("get-buffer-process", Fget_buffer_process, Sget_buffer_process, 1, 1, 0, 502DEFUN ("get-buffer-process", Fget_buffer_process, Sget_buffer_process, 1, 1, 0,
503 "Return the (or a) process associated with BUFFER.\n\ 503 doc: /* Return the (or a) process associated with BUFFER.
504BUFFER may be a buffer or the name of one.") 504BUFFER may be a buffer or the name of one. */)
505 (buffer) 505 (buffer)
506 register Lisp_Object buffer; 506 register Lisp_Object buffer;
507{ 507{
508 register Lisp_Object buf, tail, proc; 508 register Lisp_Object buf, tail, proc;
@@ -560,10 +560,10 @@ get_process (name)
560} 560}
561 561
562DEFUN ("delete-process", Fdelete_process, Sdelete_process, 1, 1, 0, 562DEFUN ("delete-process", Fdelete_process, Sdelete_process, 1, 1, 0,
563 "Delete PROCESS: kill it and forget about it immediately.\n\ 563 doc: /* Delete PROCESS: kill it and forget about it immediately.
564PROCESS may be a process, a buffer, the name of a process or buffer, or\n\ 564PROCESS may be a process, a buffer, the name of a process or buffer, or
565nil, indicating the current buffer's process.") 565nil, indicating the current buffer's process. */)
566 (process) 566 (process)
567 register Lisp_Object process; 567 register Lisp_Object process;
568{ 568{
569 process = get_process (process); 569 process = get_process (process);
@@ -588,18 +588,18 @@ nil, indicating the current buffer's process.")
588} 588}
589 589
590DEFUN ("process-status", Fprocess_status, Sprocess_status, 1, 1, 0, 590DEFUN ("process-status", Fprocess_status, Sprocess_status, 1, 1, 0,
591 "Return the status of PROCESS.\n\ 591 doc: /* Return the status of PROCESS.
592The returned value is one of the following symbols:\n\ 592The returned value is one of the following symbols:
593run -- for a process that is running.\n\ 593run -- for a process that is running.
594stop -- for a process stopped but continuable.\n\ 594stop -- for a process stopped but continuable.
595exit -- for a process that has exited.\n\ 595exit -- for a process that has exited.
596signal -- for a process that has got a fatal signal.\n\ 596signal -- for a process that has got a fatal signal.
597open -- for a network stream connection that is open.\n\ 597open -- for a network stream connection that is open.
598closed -- for a network stream connection that is closed.\n\ 598closed -- for a network stream connection that is closed.
599nil -- if arg is a process name and no such process exists.\n\ 599nil -- if arg is a process name and no such process exists.
600PROCESS may be a process, a buffer, the name of a process, or\n\ 600PROCESS may be a process, a buffer, the name of a process, or
601nil, indicating the current buffer's process.") 601nil, indicating the current buffer's process. */)
602 (process) 602 (process)
603 register Lisp_Object process; 603 register Lisp_Object process;
604{ 604{
605 register struct Lisp_Process *p; 605 register struct Lisp_Process *p;
@@ -631,9 +631,9 @@ nil, indicating the current buffer's process.")
631 631
632DEFUN ("process-exit-status", Fprocess_exit_status, Sprocess_exit_status, 632DEFUN ("process-exit-status", Fprocess_exit_status, Sprocess_exit_status,
633 1, 1, 0, 633 1, 1, 0,
634 "Return the exit status of PROCESS or the signal number that killed it.\n\ 634 doc: /* Return the exit status of PROCESS or the signal number that killed it.
635If PROCESS has not yet exited or died, return 0.") 635If PROCESS has not yet exited or died, return 0. */)
636 (process) 636 (process)
637 register Lisp_Object process; 637 register Lisp_Object process;
638{ 638{
639 CHECK_PROCESS (process, 0); 639 CHECK_PROCESS (process, 0);
@@ -645,10 +645,10 @@ If PROCESS has not yet exited or died, return 0.")
645} 645}
646 646
647DEFUN ("process-id", Fprocess_id, Sprocess_id, 1, 1, 0, 647DEFUN ("process-id", Fprocess_id, Sprocess_id, 1, 1, 0,
648 "Return the process id of PROCESS.\n\ 648 doc: /* Return the process id of PROCESS.
649This is the pid of the Unix process which PROCESS uses or talks to.\n\ 649This is the pid of the Unix process which PROCESS uses or talks to.
650For a network connection, this value is nil.") 650For a network connection, this value is nil. */)
651 (process) 651 (process)
652 register Lisp_Object process; 652 register Lisp_Object process;
653{ 653{
654 CHECK_PROCESS (process, 0); 654 CHECK_PROCESS (process, 0);
@@ -656,10 +656,10 @@ For a network connection, this value is nil.")
656} 656}
657 657
658DEFUN ("process-name", Fprocess_name, Sprocess_name, 1, 1, 0, 658DEFUN ("process-name", Fprocess_name, Sprocess_name, 1, 1, 0,
659 "Return the name of PROCESS, as a string.\n\ 659 doc: /* Return the name of PROCESS, as a string.
660This is the name of the program invoked in PROCESS,\n\ 660This is the name of the program invoked in PROCESS,
661possibly modified to make it unique among process names.") 661possibly modified to make it unique among process names. */)
662 (process) 662 (process)
663 register Lisp_Object process; 663 register Lisp_Object process;
664{ 664{
665 CHECK_PROCESS (process, 0); 665 CHECK_PROCESS (process, 0);
@@ -667,11 +667,11 @@ possibly modified to make it unique among process names.")
667} 667}
668 668
669DEFUN ("process-command", Fprocess_command, Sprocess_command, 1, 1, 0, 669DEFUN ("process-command", Fprocess_command, Sprocess_command, 1, 1, 0,
670 "Return the command that was executed to start PROCESS.\n\ 670 doc: /* Return the command that was executed to start PROCESS.
671This is a list of strings, the first string being the program executed\n\ 671This is a list of strings, the first string being the program executed
672and the rest of the strings being the arguments given to it.\n\ 672and the rest of the strings being the arguments given to it.
673For a non-child channel, this is nil.") 673For a non-child channel, this is nil. */)
674 (process) 674 (process)
675 register Lisp_Object process; 675 register Lisp_Object process;
676{ 676{
677 CHECK_PROCESS (process, 0); 677 CHECK_PROCESS (process, 0);
@@ -679,10 +679,10 @@ For a non-child channel, this is nil.")
679} 679}
680 680
681DEFUN ("process-tty-name", Fprocess_tty_name, Sprocess_tty_name, 1, 1, 0, 681DEFUN ("process-tty-name", Fprocess_tty_name, Sprocess_tty_name, 1, 1, 0,
682 "Return the name of the terminal PROCESS uses, or nil if none.\n\ 682 doc: /* Return the name of the terminal PROCESS uses, or nil if none.
683This is the terminal that the process itself reads and writes on,\n\ 683This is the terminal that the process itself reads and writes on,
684not the name of the pty that Emacs uses to talk with that terminal.") 684not the name of the pty that Emacs uses to talk with that terminal. */)
685 (process) 685 (process)
686 register Lisp_Object process; 686 register Lisp_Object process;
687{ 687{
688 CHECK_PROCESS (process, 0); 688 CHECK_PROCESS (process, 0);
@@ -690,9 +690,9 @@ not the name of the pty that Emacs uses to talk with that terminal.")
690} 690}
691 691
692DEFUN ("set-process-buffer", Fset_process_buffer, Sset_process_buffer, 692DEFUN ("set-process-buffer", Fset_process_buffer, Sset_process_buffer,
693 2, 2, 0, 693 2, 2, 0,
694 "Set buffer associated with PROCESS to BUFFER (a buffer, or nil).") 694 doc: /* Set buffer associated with PROCESS to BUFFER (a buffer, or nil). */)
695 (process, buffer) 695 (process, buffer)
696 register Lisp_Object process, buffer; 696 register Lisp_Object process, buffer;
697{ 697{
698 CHECK_PROCESS (process, 0); 698 CHECK_PROCESS (process, 0);
@@ -703,10 +703,10 @@ DEFUN ("set-process-buffer", Fset_process_buffer, Sset_process_buffer,
703} 703}
704 704
705DEFUN ("process-buffer", Fprocess_buffer, Sprocess_buffer, 705DEFUN ("process-buffer", Fprocess_buffer, Sprocess_buffer,
706 1, 1, 0, 706 1, 1, 0,
707 "Return the buffer PROCESS is associated with.\n\ 707 doc: /* Return the buffer PROCESS is associated with.
708Output from PROCESS is inserted in this buffer unless PROCESS has a filter.") 708Output from PROCESS is inserted in this buffer unless PROCESS has a filter. */)
709 (process) 709 (process)
710 register Lisp_Object process; 710 register Lisp_Object process;
711{ 711{
712 CHECK_PROCESS (process, 0); 712 CHECK_PROCESS (process, 0);
@@ -714,9 +714,9 @@ Output from PROCESS is inserted in this buffer unless PROCESS has a filter.")
714} 714}
715 715
716DEFUN ("process-mark", Fprocess_mark, Sprocess_mark, 716DEFUN ("process-mark", Fprocess_mark, Sprocess_mark,
717 1, 1, 0, 717 1, 1, 0,
718 "Return the marker for the end of the last output from PROCESS.") 718 doc: /* Return the marker for the end of the last output from PROCESS. */)
719 (process) 719 (process)
720 register Lisp_Object process; 720 register Lisp_Object process;
721{ 721{
722 CHECK_PROCESS (process, 0); 722 CHECK_PROCESS (process, 0);
@@ -724,14 +724,14 @@ DEFUN ("process-mark", Fprocess_mark, Sprocess_mark,
724} 724}
725 725
726DEFUN ("set-process-filter", Fset_process_filter, Sset_process_filter, 726DEFUN ("set-process-filter", Fset_process_filter, Sset_process_filter,
727 2, 2, 0, 727 2, 2, 0,
728 "Give PROCESS the filter function FILTER; nil means no filter.\n\ 728 doc: /* Give PROCESS the filter function FILTER; nil means no filter.
729t means stop accepting output from the process.\n\ 729t means stop accepting output from the process.
730When a process has a filter, each time it does output\n\ 730When a process has a filter, each time it does output
731the entire string of output is passed to the filter.\n\ 731the entire string of output is passed to the filter.
732The filter gets two arguments: the process and the string of output.\n\ 732The filter gets two arguments: the process and the string of output.
733If the process has a filter, its buffer is not used for output.") 733If the process has a filter, its buffer is not used for output. */)
734 (process, filter) 734 (process, filter)
735 register Lisp_Object process, filter; 735 register Lisp_Object process, filter;
736{ 736{
737 struct Lisp_Process *p; 737 struct Lisp_Process *p;
@@ -766,10 +766,10 @@ If the process has a filter, its buffer is not used for output.")
766} 766}
767 767
768DEFUN ("process-filter", Fprocess_filter, Sprocess_filter, 768DEFUN ("process-filter", Fprocess_filter, Sprocess_filter,
769 1, 1, 0, 769 1, 1, 0,
770 "Returns the filter function of PROCESS; nil if none.\n\ 770 doc: /* Returns the filter function of PROCESS; nil if none.
771See `set-process-filter' for more info on filter functions.") 771See `set-process-filter' for more info on filter functions. */)
772 (process) 772 (process)
773 register Lisp_Object process; 773 register Lisp_Object process;
774{ 774{
775 CHECK_PROCESS (process, 0); 775 CHECK_PROCESS (process, 0);
@@ -777,11 +777,11 @@ See `set-process-filter' for more info on filter functions.")
777} 777}
778 778
779DEFUN ("set-process-sentinel", Fset_process_sentinel, Sset_process_sentinel, 779DEFUN ("set-process-sentinel", Fset_process_sentinel, Sset_process_sentinel,
780 2, 2, 0, 780 2, 2, 0,
781 "Give PROCESS the sentinel SENTINEL; nil for none.\n\ 781 doc: /* Give PROCESS the sentinel SENTINEL; nil for none.
782The sentinel is called as a function when the process changes state.\n\ 782The sentinel is called as a function when the process changes state.
783It gets two arguments: the process, and a string describing the change.") 783It gets two arguments: the process, and a string describing the change. */)
784 (process, sentinel) 784 (process, sentinel)
785 register Lisp_Object process, sentinel; 785 register Lisp_Object process, sentinel;
786{ 786{
787 CHECK_PROCESS (process, 0); 787 CHECK_PROCESS (process, 0);
@@ -790,10 +790,10 @@ It gets two arguments: the process, and a string describing the change.")
790} 790}
791 791
792DEFUN ("process-sentinel", Fprocess_sentinel, Sprocess_sentinel, 792DEFUN ("process-sentinel", Fprocess_sentinel, Sprocess_sentinel,
793 1, 1, 0, 793 1, 1, 0,
794 "Return the sentinel of PROCESS; nil if none.\n\ 794 doc: /* Return the sentinel of PROCESS; nil if none.
795See `set-process-sentinel' for more info on sentinels.") 795See `set-process-sentinel' for more info on sentinels. */)
796 (process) 796 (process)
797 register Lisp_Object process; 797 register Lisp_Object process;
798{ 798{
799 CHECK_PROCESS (process, 0); 799 CHECK_PROCESS (process, 0);
@@ -801,9 +801,9 @@ See `set-process-sentinel' for more info on sentinels.")
801} 801}
802 802
803DEFUN ("set-process-window-size", Fset_process_window_size, 803DEFUN ("set-process-window-size", Fset_process_window_size,
804 Sset_process_window_size, 3, 3, 0, 804 Sset_process_window_size, 3, 3, 0,
805 "Tell PROCESS that it has logical window size HEIGHT and WIDTH.") 805 doc: /* Tell PROCESS that it has logical window size HEIGHT and WIDTH. */)
806 (process, height, width) 806 (process, height, width)
807 register Lisp_Object process, height, width; 807 register Lisp_Object process, height, width;
808{ 808{
809 CHECK_PROCESS (process, 0); 809 CHECK_PROCESS (process, 0);
@@ -819,23 +819,23 @@ DEFUN ("set-process-window-size", Fset_process_window_size,
819} 819}
820 820
821DEFUN ("set-process-inherit-coding-system-flag", 821DEFUN ("set-process-inherit-coding-system-flag",
822 Fset_process_inherit_coding_system_flag, 822 Fset_process_inherit_coding_system_flag,
823 Sset_process_inherit_coding_system_flag, 2, 2, 0, 823 Sset_process_inherit_coding_system_flag, 2, 2, 0,
824 "Determine whether buffer of PROCESS will inherit coding-system.\n\ 824 doc: /* Determine whether buffer of PROCESS will inherit coding-system.
825If the second argument FLAG is non-nil, then the variable\n\ 825If the second argument FLAG is non-nil, then the variable
826`buffer-file-coding-system' of the buffer associated with PROCESS\n\ 826`buffer-file-coding-system' of the buffer associated with PROCESS
827will be bound to the value of the coding system used to decode\n\ 827will be bound to the value of the coding system used to decode
828the process output.\n\ 828the process output.
829\n\ 829
830This is useful when the coding system specified for the process buffer\n\ 830This is useful when the coding system specified for the process buffer
831leaves either the character code conversion or the end-of-line conversion\n\ 831leaves either the character code conversion or the end-of-line conversion
832unspecified, or if the coding system used to decode the process output\n\ 832unspecified, or if the coding system used to decode the process output
833is more appropriate for saving the process buffer.\n\ 833is more appropriate for saving the process buffer.
834\n\ 834
835Binding the variable `inherit-process-coding-system' to non-nil before\n\ 835Binding the variable `inherit-process-coding-system' to non-nil before
836starting the process is an alternative way of setting the inherit flag\n\ 836starting the process is an alternative way of setting the inherit flag
837for the process which will run.") 837for the process which will run. */)
838 (process, flag) 838 (process, flag)
839 register Lisp_Object process, flag; 839 register Lisp_Object process, flag;
840{ 840{
841 CHECK_PROCESS (process, 0); 841 CHECK_PROCESS (process, 0);
@@ -844,13 +844,13 @@ for the process which will run.")
844} 844}
845 845
846DEFUN ("process-inherit-coding-system-flag", 846DEFUN ("process-inherit-coding-system-flag",
847 Fprocess_inherit_coding_system_flag, Sprocess_inherit_coding_system_flag, 847 Fprocess_inherit_coding_system_flag, Sprocess_inherit_coding_system_flag,
848 1, 1, 0, 848 1, 1, 0,
849 "Return the value of inherit-coding-system flag for PROCESS.\n\ 849 doc: /* Return the value of inherit-coding-system flag for PROCESS.
850If this flag is t, `buffer-file-coding-system' of the buffer\n\ 850If this flag is t, `buffer-file-coding-system' of the buffer
851associated with PROCESS will inherit the coding system used to decode\n\ 851associated with PROCESS will inherit the coding system used to decode
852the process output.") 852the process output. */)
853 (process) 853 (process)
854 register Lisp_Object process; 854 register Lisp_Object process;
855{ 855{
856 CHECK_PROCESS (process, 0); 856 CHECK_PROCESS (process, 0);
@@ -858,11 +858,11 @@ the process output.")
858} 858}
859 859
860DEFUN ("process-kill-without-query", Fprocess_kill_without_query, 860DEFUN ("process-kill-without-query", Fprocess_kill_without_query,
861 Sprocess_kill_without_query, 1, 2, 0, 861 Sprocess_kill_without_query, 1, 2, 0,
862 "Say no query needed if PROCESS is running when Emacs is exited.\n\ 862 doc: /* Say no query needed if PROCESS is running when Emacs is exited.
863Optional second argument if non-nil says to require a query.\n\ 863Optional second argument if non-nil says to require a query.
864Value is t if a query was formerly required.") 864Value is t if a query was formerly required. */)
865 (process, value) 865 (process, value)
866 register Lisp_Object process, value; 866 register Lisp_Object process, value;
867{ 867{
868 Lisp_Object tem; 868 Lisp_Object tem;
@@ -875,10 +875,10 @@ Value is t if a query was formerly required.")
875} 875}
876 876
877DEFUN ("process-contact", Fprocess_contact, Sprocess_contact, 877DEFUN ("process-contact", Fprocess_contact, Sprocess_contact,
878 1, 1, 0, 878 1, 1, 0,
879 "Return the contact info of PROCESS; t for a real child.\n\ 879 doc: /* Return the contact info of PROCESS; t for a real child.
880For a net connection, the value is a cons cell of the form (HOST SERVICE).") 880For a net connection, the value is a cons cell of the form (HOST SERVICE). */)
881 (process) 881 (process)
882 register Lisp_Object process; 882 register Lisp_Object process;
883{ 883{
884 CHECK_PROCESS (process, 0); 884 CHECK_PROCESS (process, 0);
@@ -888,10 +888,10 @@ For a net connection, the value is a cons cell of the form (HOST SERVICE).")
888#if 0 /* Turned off because we don't currently record this info 888#if 0 /* Turned off because we don't currently record this info
889 in the process. Perhaps add it. */ 889 in the process. Perhaps add it. */
890DEFUN ("process-connection", Fprocess_connection, Sprocess_connection, 1, 1, 0, 890DEFUN ("process-connection", Fprocess_connection, Sprocess_connection, 1, 1, 0,
891 "Return the connection type of PROCESS.\n\ 891 doc: /* Return the connection type of PROCESS.
892The value is nil for a pipe, t or `pty' for a pty, or `stream' for\n\ 892The value is nil for a pipe, t or `pty' for a pty, or `stream' for
893a socket connection.") 893a socket connection. */)
894 (process) 894 (process)
895 Lisp_Object process; 895 Lisp_Object process;
896{ 896{
897 return XPROCESS (process)->type; 897 return XPROCESS (process)->type;
@@ -1015,10 +1015,10 @@ Proc Status Buffer Tty Command\n\
1015} 1015}
1016 1016
1017DEFUN ("list-processes", Flist_processes, Slist_processes, 0, 0, "", 1017DEFUN ("list-processes", Flist_processes, Slist_processes, 0, 0, "",
1018 "Display a list of all processes.\n\ 1018 doc: /* Display a list of all processes.
1019Any process listed as exited or signaled is actually eliminated\n\ 1019Any process listed as exited or signaled is actually eliminated
1020after the listing is made.") 1020after the listing is made. */)
1021 () 1021 ()
1022{ 1022{
1023 internal_with_output_to_temp_buffer ("*Process List*", 1023 internal_with_output_to_temp_buffer ("*Process List*",
1024 list_processes_1, Qnil); 1024 list_processes_1, Qnil);
@@ -1026,8 +1026,8 @@ after the listing is made.")
1026} 1026}
1027 1027
1028DEFUN ("process-list", Fprocess_list, Sprocess_list, 0, 0, 0, 1028DEFUN ("process-list", Fprocess_list, Sprocess_list, 0, 0, 0,
1029 "Return a list of all processes.") 1029 doc: /* Return a list of all processes. */)
1030 () 1030 ()
1031{ 1031{
1032 return Fmapcar (Qcdr, Vprocess_alist); 1032 return Fmapcar (Qcdr, Vprocess_alist);
1033} 1033}
@@ -1037,16 +1037,16 @@ DEFUN ("process-list", Fprocess_list, Sprocess_list, 0, 0, 0,
1037static Lisp_Object start_process_unwind (); 1037static Lisp_Object start_process_unwind ();
1038 1038
1039DEFUN ("start-process", Fstart_process, Sstart_process, 3, MANY, 0, 1039DEFUN ("start-process", Fstart_process, Sstart_process, 3, MANY, 0,
1040 "Start a program in a subprocess. Return the process object for it.\n\ 1040 doc: /* Start a program in a subprocess. Return the process object for it.
1041NAME is name for process. It is modified if necessary to make it unique.\n\ 1041NAME is name for process. It is modified if necessary to make it unique.
1042BUFFER is the buffer or (buffer-name) to associate with the process.\n\ 1042BUFFER is the buffer or (buffer-name) to associate with the process.
1043 Process output goes at end of that buffer, unless you specify\n\ 1043 Process output goes at end of that buffer, unless you specify
1044 an output stream or filter function to handle the output.\n\ 1044 an output stream or filter function to handle the output.
1045 BUFFER may be also nil, meaning that this process is not associated\n\ 1045 BUFFER may be also nil, meaning that this process is not associated
1046 with any buffer.\n\ 1046 with any buffer.
1047Third arg is program file name. It is searched for in PATH.\n\ 1047Third arg is program file name. It is searched for in PATH.
1048Remaining arguments are strings to give program as arguments.") 1048Remaining arguments are strings to give program as arguments. */)
1049 (nargs, args) 1049 (nargs, args)
1050 int nargs; 1050 int nargs;
1051 register Lisp_Object *args; 1051 register Lisp_Object *args;
1052{ 1052{
@@ -1744,20 +1744,20 @@ create_process (process, new_argv, current_dir)
1744 1744
1745DEFUN ("open-network-stream", Fopen_network_stream, Sopen_network_stream, 1745DEFUN ("open-network-stream", Fopen_network_stream, Sopen_network_stream,
1746 4, 4, 0, 1746 4, 4, 0,
1747 "Open a TCP connection for a service to a host.\n\ 1747 doc: /* Open a TCP connection for a service to a host.
1748Returns a subprocess-object to represent the connection.\n\ 1748Returns a subprocess-object to represent the connection.
1749Input and output work as for subprocesses; `delete-process' closes it.\n\ 1749Input and output work as for subprocesses; `delete-process' closes it.
1750Args are NAME BUFFER HOST SERVICE.\n\ 1750Args are NAME BUFFER HOST SERVICE.
1751NAME is name for process. It is modified if necessary to make it unique.\n\ 1751NAME is name for process. It is modified if necessary to make it unique.
1752BUFFER is the buffer (or buffer-name) to associate with the process.\n\ 1752BUFFER is the buffer (or buffer-name) to associate with the process.
1753 Process output goes at end of that buffer, unless you specify\n\ 1753 Process output goes at end of that buffer, unless you specify
1754 an output stream or filter function to handle the output.\n\ 1754 an output stream or filter function to handle the output.
1755 BUFFER may be also nil, meaning that this process is not associated\n\ 1755 BUFFER may be also nil, meaning that this process is not associated
1756 with any buffer\n\ 1756 with any buffer
1757Third arg is name of the host to connect to, or its IP address.\n\ 1757Third arg is name of the host to connect to, or its IP address.
1758Fourth arg SERVICE is name of the service desired, or an integer\n\ 1758Fourth arg SERVICE is name of the service desired, or an integer
1759 specifying a port number to connect to.") 1759specifying a port number to connect to. */)
1760 (name, buffer, host, service) 1760 (name, buffer, host, service)
1761 Lisp_Object name, buffer, host, service; 1761 Lisp_Object name, buffer, host, service;
1762{ 1762{
1763 Lisp_Object proc; 1763 Lisp_Object proc;
@@ -2236,16 +2236,16 @@ close_process_descs ()
2236} 2236}
2237 2237
2238DEFUN ("accept-process-output", Faccept_process_output, Saccept_process_output, 2238DEFUN ("accept-process-output", Faccept_process_output, Saccept_process_output,
2239 0, 3, 0, 2239 0, 3, 0,
2240 "Allow any pending output from subprocesses to be read by Emacs.\n\ 2240 doc: /* Allow any pending output from subprocesses to be read by Emacs.
2241It is read into the process' buffers or given to their filter functions.\n\ 2241It is read into the process' buffers or given to their filter functions.
2242Non-nil arg PROCESS means do not return until some output has been received\n\ 2242Non-nil arg PROCESS means do not return until some output has been received
2243from PROCESS.\n\ 2243from PROCESS.
2244Non-nil second arg TIMEOUT and third arg TIMEOUT-MSECS are number of\n\ 2244Non-nil second arg TIMEOUT and third arg TIMEOUT-MSECS are number of
2245seconds and microseconds to wait; return after that much time whether\n\ 2245seconds and microseconds to wait; return after that much time whether
2246or not there is input.\n\ 2246or not there is input.
2247Return non-nil iff we received any output before the timeout expired.") 2247Return non-nil iff we received any output before the timeout expired. */)
2248 (process, timeout, timeout_msecs) 2248 (process, timeout, timeout_msecs)
2249 register Lisp_Object process, timeout, timeout_msecs; 2249 register Lisp_Object process, timeout, timeout_msecs;
2250{ 2250{
2251 int seconds; 2251 int seconds;
@@ -3210,9 +3210,9 @@ read_process_output (proc, channel)
3210 3210
3211DEFUN ("waiting-for-user-input-p", Fwaiting_for_user_input_p, Swaiting_for_user_input_p, 3211DEFUN ("waiting-for-user-input-p", Fwaiting_for_user_input_p, Swaiting_for_user_input_p,
3212 0, 0, 0, 3212 0, 0, 0,
3213 "Returns non-nil if emacs is waiting for input from the user.\n\ 3213 doc: /* Returns non-nil if emacs is waiting for input from the user.
3214This is intended for use by asynchronous process output filters and sentinels.") 3214This is intended for use by asynchronous process output filters and sentinels. */)
3215 () 3215 ()
3216{ 3216{
3217 return (waiting_for_user_input_p ? Qt : Qnil); 3217 return (waiting_for_user_input_p ? Qt : Qnil);
3218} 3218}
@@ -3523,15 +3523,15 @@ send_process (proc, buf, len, object)
3523} 3523}
3524 3524
3525DEFUN ("process-send-region", Fprocess_send_region, Sprocess_send_region, 3525DEFUN ("process-send-region", Fprocess_send_region, Sprocess_send_region,
3526 3, 3, 0, 3526 3, 3, 0,
3527 "Send current contents of region as input to PROCESS.\n\ 3527 doc: /* Send current contents of region as input to PROCESS.
3528PROCESS may be a process, a buffer, the name of a process or buffer, or\n\ 3528PROCESS may be a process, a buffer, the name of a process or buffer, or
3529nil, indicating the current buffer's process.\n\ 3529nil, indicating the current buffer's process.
3530Called from program, takes three arguments, PROCESS, START and END.\n\ 3530Called from program, takes three arguments, PROCESS, START and END.
3531If the region is more than 500 characters long,\n\ 3531If the region is more than 500 characters long,
3532it is sent in several bunches. This may happen even for shorter regions.\n\ 3532it is sent in several bunches. This may happen even for shorter regions.
3533Output from processes can arrive in between bunches.") 3533Output from processes can arrive in between bunches. */)
3534 (process, start, end) 3534 (process, start, end)
3535 Lisp_Object process, start, end; 3535 Lisp_Object process, start, end;
3536{ 3536{
3537 Lisp_Object proc; 3537 Lisp_Object proc;
@@ -3552,14 +3552,14 @@ Output from processes can arrive in between bunches.")
3552} 3552}
3553 3553
3554DEFUN ("process-send-string", Fprocess_send_string, Sprocess_send_string, 3554DEFUN ("process-send-string", Fprocess_send_string, Sprocess_send_string,
3555 2, 2, 0, 3555 2, 2, 0,
3556 "Send PROCESS the contents of STRING as input.\n\ 3556 doc: /* Send PROCESS the contents of STRING as input.
3557PROCESS may be a process, a buffer, the name of a process or buffer, or\n\ 3557PROCESS may be a process, a buffer, the name of a process or buffer, or
3558nil, indicating the current buffer's process.\n\ 3558nil, indicating the current buffer's process.
3559If STRING is more than 500 characters long,\n\ 3559If STRING is more than 500 characters long,
3560it is sent in several bunches. This may happen even for shorter strings.\n\ 3560it is sent in several bunches. This may happen even for shorter strings.
3561Output from processes can arrive in between bunches.") 3561Output from processes can arrive in between bunches. */)
3562 (process, string) 3562 (process, string)
3563 Lisp_Object process, string; 3563 Lisp_Object process, string;
3564{ 3564{
3565 Lisp_Object proc; 3565 Lisp_Object proc;
@@ -3572,10 +3572,10 @@ Output from processes can arrive in between bunches.")
3572 3572
3573DEFUN ("process-running-child-p", Fprocess_running_child_p, 3573DEFUN ("process-running-child-p", Fprocess_running_child_p,
3574 Sprocess_running_child_p, 0, 1, 0, 3574 Sprocess_running_child_p, 0, 1, 0,
3575 "Return t if PROCESS has given the terminal to a child.\n\ 3575 doc: /* Return t if PROCESS has given the terminal to a child.
3576If the operating system does not make it possible to find out,\n\ 3576If the operating system does not make it possible to find out,
3577return t unconditionally.") 3577return t unconditionally. */)
3578 (process) 3578 (process)
3579 Lisp_Object process; 3579 Lisp_Object process;
3580{ 3580{
3581 /* Initialize in case ioctl doesn't exist or gives an error, 3581 /* Initialize in case ioctl doesn't exist or gives an error,
@@ -3832,18 +3832,18 @@ process_send_signal (process, signo, current_group, nomsg)
3832} 3832}
3833 3833
3834DEFUN ("interrupt-process", Finterrupt_process, Sinterrupt_process, 0, 2, 0, 3834DEFUN ("interrupt-process", Finterrupt_process, Sinterrupt_process, 0, 2, 0,
3835 "Interrupt process PROCESS.\n\ 3835 doc: /* Interrupt process PROCESS.
3836PROCESS may be a process, a buffer, or the name of a process or buffer.\n\ 3836PROCESS may be a process, a buffer, or the name of a process or buffer.
3837nil or no arg means current buffer's process.\n\ 3837nil or no arg means current buffer's process.
3838Second arg CURRENT-GROUP non-nil means send signal to\n\ 3838Second arg CURRENT-GROUP non-nil means send signal to
3839the current process-group of the process's controlling terminal\n\ 3839the current process-group of the process's controlling terminal
3840rather than to the process's own process group.\n\ 3840rather than to the process's own process group.
3841If the process is a shell, this means interrupt current subjob\n\ 3841If the process is a shell, this means interrupt current subjob
3842rather than the shell.\n\ 3842rather than the shell.
3843\n\ 3843
3844If CURRENT-GROUP is `lambda', and if the shell owns the terminal,\n\ 3844If CURRENT-GROUP is `lambda', and if the shell owns the terminal,
3845don't send the signal.") 3845don't send the signal. */)
3846 (process, current_group) 3846 (process, current_group)
3847 Lisp_Object process, current_group; 3847 Lisp_Object process, current_group;
3848{ 3848{
3849 process_send_signal (process, SIGINT, current_group, 0); 3849 process_send_signal (process, SIGINT, current_group, 0);
@@ -3851,9 +3851,9 @@ don't send the signal.")
3851} 3851}
3852 3852
3853DEFUN ("kill-process", Fkill_process, Skill_process, 0, 2, 0, 3853DEFUN ("kill-process", Fkill_process, Skill_process, 0, 2, 0,
3854 "Kill process PROCESS. May be process or name of one.\n\ 3854 doc: /* Kill process PROCESS. May be process or name of one.
3855See function `interrupt-process' for more details on usage.") 3855See function `interrupt-process' for more details on usage. */)
3856 (process, current_group) 3856 (process, current_group)
3857 Lisp_Object process, current_group; 3857 Lisp_Object process, current_group;
3858{ 3858{
3859 process_send_signal (process, SIGKILL, current_group, 0); 3859 process_send_signal (process, SIGKILL, current_group, 0);
@@ -3861,9 +3861,9 @@ See function `interrupt-process' for more details on usage.")
3861} 3861}
3862 3862
3863DEFUN ("quit-process", Fquit_process, Squit_process, 0, 2, 0, 3863DEFUN ("quit-process", Fquit_process, Squit_process, 0, 2, 0,
3864 "Send QUIT signal to process PROCESS. May be process or name of one.\n\ 3864 doc: /* Send QUIT signal to process PROCESS. May be process or name of one.
3865See function `interrupt-process' for more details on usage.") 3865See function `interrupt-process' for more details on usage. */)
3866 (process, current_group) 3866 (process, current_group)
3867 Lisp_Object process, current_group; 3867 Lisp_Object process, current_group;
3868{ 3868{
3869 process_send_signal (process, SIGQUIT, current_group, 0); 3869 process_send_signal (process, SIGQUIT, current_group, 0);
@@ -3871,9 +3871,9 @@ See function `interrupt-process' for more details on usage.")
3871} 3871}
3872 3872
3873DEFUN ("stop-process", Fstop_process, Sstop_process, 0, 2, 0, 3873DEFUN ("stop-process", Fstop_process, Sstop_process, 0, 2, 0,
3874 "Stop process PROCESS. May be process or name of one.\n\ 3874 doc: /* Stop process PROCESS. May be process or name of one.
3875See function `interrupt-process' for more details on usage.") 3875See function `interrupt-process' for more details on usage. */)
3876 (process, current_group) 3876 (process, current_group)
3877 Lisp_Object process, current_group; 3877 Lisp_Object process, current_group;
3878{ 3878{
3879#ifndef SIGTSTP 3879#ifndef SIGTSTP
@@ -3885,9 +3885,9 @@ See function `interrupt-process' for more details on usage.")
3885} 3885}
3886 3886
3887DEFUN ("continue-process", Fcontinue_process, Scontinue_process, 0, 2, 0, 3887DEFUN ("continue-process", Fcontinue_process, Scontinue_process, 0, 2, 0,
3888 "Continue process PROCESS. May be process or name of one.\n\ 3888 doc: /* Continue process PROCESS. May be process or name of one.
3889See function `interrupt-process' for more details on usage.") 3889See function `interrupt-process' for more details on usage. */)
3890 (process, current_group) 3890 (process, current_group)
3891 Lisp_Object process, current_group; 3891 Lisp_Object process, current_group;
3892{ 3892{
3893#ifdef SIGCONT 3893#ifdef SIGCONT
@@ -3899,11 +3899,11 @@ See function `interrupt-process' for more details on usage.")
3899} 3899}
3900 3900
3901DEFUN ("signal-process", Fsignal_process, Ssignal_process, 3901DEFUN ("signal-process", Fsignal_process, Ssignal_process,
3902 2, 2, "nProcess number: \nnSignal code: ", 3902 2, 2, "nProcess number: \nnSignal code: ",
3903 "Send the process with process id PID the signal with code SIGCODE.\n\ 3903 doc: /* Send the process with process id PID the signal with code SIGCODE.
3904PID must be an integer. The process need not be a child of this Emacs.\n\ 3904PID must be an integer. The process need not be a child of this Emacs.
3905SIGCODE may be an integer, or a symbol whose name is a signal name.") 3905SIGCODE may be an integer, or a symbol whose name is a signal name. */)
3906 (pid, sigcode) 3906 (pid, sigcode)
3907 Lisp_Object pid, sigcode; 3907 Lisp_Object pid, sigcode;
3908{ 3908{
3909 CHECK_NUMBER (pid, 0); 3909 CHECK_NUMBER (pid, 0);
@@ -4023,14 +4023,14 @@ SIGCODE may be an integer, or a symbol whose name is a signal name.")
4023} 4023}
4024 4024
4025DEFUN ("process-send-eof", Fprocess_send_eof, Sprocess_send_eof, 0, 1, 0, 4025DEFUN ("process-send-eof", Fprocess_send_eof, Sprocess_send_eof, 0, 1, 0,
4026 "Make PROCESS see end-of-file in its input.\n\ 4026 doc: /* Make PROCESS see end-of-file in its input.
4027EOF comes after any text already sent to it.\n\ 4027EOF comes after any text already sent to it.
4028PROCESS may be a process, a buffer, the name of a process or buffer, or\n\ 4028PROCESS may be a process, a buffer, the name of a process or buffer, or
4029nil, indicating the current buffer's process.\n\ 4029nil, indicating the current buffer's process.
4030If PROCESS is a network connection, or is a process communicating\n\ 4030If PROCESS is a network connection, or is a process communicating
4031through a pipe (as opposed to a pty), then you cannot send any more\n\ 4031through a pipe (as opposed to a pty), then you cannot send any more
4032text to PROCESS after you call this function.") 4032text to PROCESS after you call this function. */)
4033 (process) 4033 (process)
4034 Lisp_Object process; 4034 Lisp_Object process;
4035{ 4035{
4036 Lisp_Object proc; 4036 Lisp_Object proc;
@@ -4510,10 +4510,10 @@ status_notify ()
4510 4510
4511DEFUN ("set-process-coding-system", Fset_process_coding_system, 4511DEFUN ("set-process-coding-system", Fset_process_coding_system,
4512 Sset_process_coding_system, 1, 3, 0, 4512 Sset_process_coding_system, 1, 3, 0,
4513 "Set coding systems of PROCESS to DECODING and ENCODING.\n\ 4513 doc: /* Set coding systems of PROCESS to DECODING and ENCODING.
4514DECODING will be used to decode subprocess output and ENCODING to\n\ 4514DECODING will be used to decode subprocess output and ENCODING to
4515encode subprocess input.") 4515encode subprocess input. */)
4516 (proc, decoding, encoding) 4516 (proc, decoding, encoding)
4517 register Lisp_Object proc, decoding, encoding; 4517 register Lisp_Object proc, decoding, encoding;
4518{ 4518{
4519 register struct Lisp_Process *p; 4519 register struct Lisp_Process *p;
@@ -4537,8 +4537,8 @@ encode subprocess input.")
4537 4537
4538DEFUN ("process-coding-system", 4538DEFUN ("process-coding-system",
4539 Fprocess_coding_system, Sprocess_coding_system, 1, 1, 0, 4539 Fprocess_coding_system, Sprocess_coding_system, 1, 1, 0,
4540 "Return a cons of coding systems for decoding and encoding of PROCESS.") 4540 doc: /* Return a cons of coding systems for decoding and encoding of PROCESS. */)
4541 (proc) 4541 (proc)
4542 register Lisp_Object proc; 4542 register Lisp_Object proc;
4543{ 4543{
4544 CHECK_PROCESS (proc, 0); 4544 CHECK_PROCESS (proc, 0);
@@ -4660,17 +4660,17 @@ syms_of_process ()
4660 staticpro (&Vprocess_alist); 4660 staticpro (&Vprocess_alist);
4661 4661
4662 DEFVAR_BOOL ("delete-exited-processes", &delete_exited_processes, 4662 DEFVAR_BOOL ("delete-exited-processes", &delete_exited_processes,
4663 "*Non-nil means delete processes immediately when they exit.\n\ 4663 doc: /* *Non-nil means delete processes immediately when they exit.
4664nil means don't delete them until `list-processes' is run."); 4664nil means don't delete them until `list-processes' is run. */);
4665 4665
4666 delete_exited_processes = 1; 4666 delete_exited_processes = 1;
4667 4667
4668 DEFVAR_LISP ("process-connection-type", &Vprocess_connection_type, 4668 DEFVAR_LISP ("process-connection-type", &Vprocess_connection_type,
4669 "Control type of device used to communicate with subprocesses.\n\ 4669 doc: /* Control type of device used to communicate with subprocesses.
4670Values are nil to use a pipe, or t or `pty' to use a pty.\n\ 4670Values are nil to use a pipe, or t or `pty' to use a pty.
4671The value has no effect if the system has no ptys or if all ptys are busy:\n\ 4671The value has no effect if the system has no ptys or if all ptys are busy:
4672then a pipe is used in any case.\n\ 4672then a pipe is used in any case.
4673The value takes effect when `start-process' is called."); 4673The value takes effect when `start-process' is called. */);
4674 Vprocess_connection_type = Qt; 4674 Vprocess_connection_type = Qt;
4675 4675
4676 defsubr (&Sprocessp); 4676 defsubr (&Sprocessp);
@@ -4972,8 +4972,8 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
4972/* Don't confuse make-docfile by having two doc strings for this function. 4972/* Don't confuse make-docfile by having two doc strings for this function.
4973 make-docfile does not pay attention to #if, for good reason! */ 4973 make-docfile does not pay attention to #if, for good reason! */
4974DEFUN ("get-buffer-process", Fget_buffer_process, Sget_buffer_process, 1, 1, 0, 4974DEFUN ("get-buffer-process", Fget_buffer_process, Sget_buffer_process, 1, 1, 0,
4975 0) 4975 0)
4976 (name) 4976 (name)
4977 register Lisp_Object name; 4977 register Lisp_Object name;
4978{ 4978{
4979 return Qnil; 4979 return Qnil;
@@ -4982,10 +4982,10 @@ DEFUN ("get-buffer-process", Fget_buffer_process, Sget_buffer_process, 1, 1, 0,
4982 /* Don't confuse make-docfile by having two doc strings for this function. 4982 /* Don't confuse make-docfile by having two doc strings for this function.
4983 make-docfile does not pay attention to #if, for good reason! */ 4983 make-docfile does not pay attention to #if, for good reason! */
4984DEFUN ("process-inherit-coding-system-flag", 4984DEFUN ("process-inherit-coding-system-flag",
4985 Fprocess_inherit_coding_system_flag, Sprocess_inherit_coding_system_flag, 4985 Fprocess_inherit_coding_system_flag, Sprocess_inherit_coding_system_flag,
4986 1, 1, 0, 4986 1, 1, 0,
4987 0) 4987 0)
4988 (process) 4988 (process)
4989 register Lisp_Object process; 4989 register Lisp_Object process;
4990{ 4990{
4991 /* Ignore the argument and return the value of 4991 /* Ignore the argument and return the value of
diff --git a/src/syntax.c b/src/syntax.c
index 6a17e659979..72df6697602 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -714,9 +714,9 @@ back_comment (from, from_byte, stop, comnested, comstyle, charpos_ptr, bytepos_p
714} 714}
715 715
716DEFUN ("syntax-table-p", Fsyntax_table_p, Ssyntax_table_p, 1, 1, 0, 716DEFUN ("syntax-table-p", Fsyntax_table_p, Ssyntax_table_p, 1, 1, 0,
717 "Return t if OBJECT is a syntax table.\n\ 717 doc: /* Return t if OBJECT is a syntax table.
718Currently, any char-table counts as a syntax table.") 718Currently, any char-table counts as a syntax table. */)
719 (object) 719 (object)
720 Lisp_Object object; 720 Lisp_Object object;
721{ 721{
722 if (CHAR_TABLE_P (object) 722 if (CHAR_TABLE_P (object)
@@ -735,26 +735,26 @@ check_syntax_table (obj)
735} 735}
736 736
737DEFUN ("syntax-table", Fsyntax_table, Ssyntax_table, 0, 0, 0, 737DEFUN ("syntax-table", Fsyntax_table, Ssyntax_table, 0, 0, 0,
738 "Return the current syntax table.\n\ 738 doc: /* Return the current syntax table.
739This is the one specified by the current buffer.") 739This is the one specified by the current buffer. */)
740 () 740 ()
741{ 741{
742 return current_buffer->syntax_table; 742 return current_buffer->syntax_table;
743} 743}
744 744
745DEFUN ("standard-syntax-table", Fstandard_syntax_table, 745DEFUN ("standard-syntax-table", Fstandard_syntax_table,
746 Sstandard_syntax_table, 0, 0, 0, 746 Sstandard_syntax_table, 0, 0, 0,
747 "Return the standard syntax table.\n\ 747 doc: /* Return the standard syntax table.
748This is the one used for new buffers.") 748This is the one used for new buffers. */)
749 () 749 ()
750{ 750{
751 return Vstandard_syntax_table; 751 return Vstandard_syntax_table;
752} 752}
753 753
754DEFUN ("copy-syntax-table", Fcopy_syntax_table, Scopy_syntax_table, 0, 1, 0, 754DEFUN ("copy-syntax-table", Fcopy_syntax_table, Scopy_syntax_table, 0, 1, 0,
755 "Construct a new syntax table and return it.\n\ 755 doc: /* Construct a new syntax table and return it.
756It is a copy of the TABLE, which defaults to the standard syntax table.") 756It is a copy of the TABLE, which defaults to the standard syntax table. */)
757 (table) 757 (table)
758 Lisp_Object table; 758 Lisp_Object table;
759{ 759{
760 Lisp_Object copy; 760 Lisp_Object copy;
@@ -779,9 +779,9 @@ It is a copy of the TABLE, which defaults to the standard syntax table.")
779} 779}
780 780
781DEFUN ("set-syntax-table", Fset_syntax_table, Sset_syntax_table, 1, 1, 0, 781DEFUN ("set-syntax-table", Fset_syntax_table, Sset_syntax_table, 1, 1, 0,
782 "Select a new syntax table for the current buffer.\n\ 782 doc: /* Select a new syntax table for the current buffer.
783One argument, a syntax table.") 783One argument, a syntax table. */)
784 (table) 784 (table)
785 Lisp_Object table; 785 Lisp_Object table;
786{ 786{
787 int idx; 787 int idx;
@@ -859,12 +859,12 @@ syntax_parent_lookup (table, character)
859} 859}
860 860
861DEFUN ("char-syntax", Fchar_syntax, Schar_syntax, 1, 1, 0, 861DEFUN ("char-syntax", Fchar_syntax, Schar_syntax, 1, 1, 0,
862 "Return the syntax code of CHARACTER, described by a character.\n\ 862 doc: /* Return the syntax code of CHARACTER, described by a character.
863For example, if CHARACTER is a word constituent,\n\ 863For example, if CHARACTER is a word constituent,
864the character `w' is returned.\n\ 864the character `w' is returned.
865The characters that correspond to various syntax codes\n\ 865The characters that correspond to various syntax codes
866are listed in the documentation of `modify-syntax-entry'.") 866are listed in the documentation of `modify-syntax-entry'. */)
867 (character) 867 (character)
868 Lisp_Object character; 868 Lisp_Object character;
869{ 869{
870 int char_int; 870 int char_int;
@@ -877,8 +877,8 @@ are listed in the documentation of `modify-syntax-entry'.")
877} 877}
878 878
879DEFUN ("matching-paren", Fmatching_paren, Smatching_paren, 1, 1, 0, 879DEFUN ("matching-paren", Fmatching_paren, Smatching_paren, 1, 1, 0,
880 "Return the matching parenthesis of CHARACTER, or nil if none.") 880 doc: /* Return the matching parenthesis of CHARACTER, or nil if none. */)
881 (character) 881 (character)
882 Lisp_Object character; 882 Lisp_Object character;
883{ 883{
884 int char_int, code; 884 int char_int, code;
@@ -893,12 +893,12 @@ DEFUN ("matching-paren", Fmatching_paren, Smatching_paren, 1, 1, 0,
893} 893}
894 894
895DEFUN ("string-to-syntax", Fstring_to_syntax, Sstring_to_syntax, 1, 1, 0, 895DEFUN ("string-to-syntax", Fstring_to_syntax, Sstring_to_syntax, 1, 1, 0,
896 "Convert a syntax specification STRING into syntax cell form.\n\ 896 doc: /* Convert a syntax specification STRING into syntax cell form.
897STRING should be a string as it is allowed as argument of\n\ 897STRING should be a string as it is allowed as argument of
898`modify-syntax-entry'. Value is the equivalent cons cell\n\ 898`modify-syntax-entry'. Value is the equivalent cons cell
899\(CODE . MATCHING-CHAR) that can be used as value of a `syntax-table'\n\ 899(CODE . MATCHING-CHAR) that can be used as value of a `syntax-table'
900text property.") 900text property. */)
901 (string) 901 (string)
902 Lisp_Object string; 902 Lisp_Object string;
903{ 903{
904 register unsigned char *p; 904 register unsigned char *p;
@@ -969,56 +969,47 @@ text property.")
969 return Fcons (make_number (val), match); 969 return Fcons (make_number (val), match);
970} 970}
971 971
972/* This comment supplies the doc string for modify-syntax-entry, 972/* I really don't know why this is interactive
973 for make-docfile to see. We cannot put this in the real DEFUN 973 help-form should at least be made useful whilst reading the second arg
974 due to limits in the Unix cpp.
975
976DEFUN ("modify-syntax-entry", foo, bar, 2, 3, 0,
977 "Set syntax for character CHAR according to string S.\n\
978The syntax is changed only for table TABLE, which defaults to\n\
979 the current buffer's syntax table.\n\
980The first character of S should be one of the following:\n\
981 Space or - whitespace syntax. w word constituent.\n\
982 _ symbol constituent. . punctuation.\n\
983 ( open-parenthesis. ) close-parenthesis.\n\
984 \" string quote. \\ escape.\n\
985 $ paired delimiter. ' expression quote or prefix operator.\n\
986 < comment starter. > comment ender.\n\
987 / character-quote. @ inherit from `standard-syntax-table'.\n\
988 | generic string fence. ! generic comment fence.\n\
989\n\
990Only single-character comment start and end sequences are represented thus.\n\
991Two-character sequences are represented as described below.\n\
992The second character of S is the matching parenthesis,\n\
993 used only if the first character is `(' or `)'.\n\
994Any additional characters are flags.\n\
995Defined flags are the characters 1, 2, 3, 4, b, p, and n.\n\
996 1 means CHAR is the start of a two-char comment start sequence.\n\
997 2 means CHAR is the second character of such a sequence.\n\
998 3 means CHAR is the start of a two-char comment end sequence.\n\
999 4 means CHAR is the second character of such a sequence.\n\
1000\n\
1001There can be up to two orthogonal comment sequences. This is to support\n\
1002language modes such as C++. By default, all comment sequences are of style\n\
1003a, but you can set the comment sequence style to b (on the second character\n\
1004of a comment-start, or the first character of a comment-end sequence) using\n\
1005this flag:\n\
1006 b means CHAR is part of comment sequence b.\n\
1007 n means CHAR is part of a nestable comment sequence.\n\
1008\n\
1009 p means CHAR is a prefix character for `backward-prefix-chars';\n\
1010 such characters are treated as whitespace when they occur\n\
1011 between expressions.")
1012 (char, s, table)
1013*/ 974*/
1014
1015DEFUN ("modify-syntax-entry", Fmodify_syntax_entry, Smodify_syntax_entry, 2, 3, 975DEFUN ("modify-syntax-entry", Fmodify_syntax_entry, Smodify_syntax_entry, 2, 3,
1016 /* I really don't know why this is interactive
1017 help-form should at least be made useful whilst reading the second arg
1018 */
1019 "cSet syntax for character: \nsSet syntax for %s to: ", 976 "cSet syntax for character: \nsSet syntax for %s to: ",
1020 0 /* See immediately above */) 977 doc: /* Set syntax for character C according to string NEWENTRY.
1021 (c, newentry, syntax_table) 978The syntax is changed only for table SYNTAX_TABLE, which defaults to
979 the current buffer's syntax table.
980The first character of NEWENTRY should be one of the following:
981 Space or - whitespace syntax. w word constituent.
982 _ symbol constituent. . punctuation.
983 ( open-parenthesis. ) close-parenthesis.
984 " string quote. \\ escape.
985 $ paired delimiter. ' expression quote or prefix operator.
986 < comment starter. > comment ender.
987 / character-quote. @ inherit from `standard-syntax-table'.
988 | generic string fence. ! generic comment fence.
989
990Only single-character comment start and end sequences are represented thus.
991Two-character sequences are represented as described below.
992The second character of NEWENTRY is the matching parenthesis,
993 used only if the first character is `(' or `)'.
994Any additional characters are flags.
995Defined flags are the characters 1, 2, 3, 4, b, p, and n.
996 1 means C is the start of a two-char comment start sequence.
997 2 means C is the second character of such a sequence.
998 3 means C is the start of a two-char comment end sequence.
999 4 means C is the second character of such a sequence.
1000
1001There can be up to two orthogonal comment sequences. This is to support
1002language modes such as C++. By default, all comment sequences are of style
1003a, but you can set the comment sequence style to b (on the second character
1004of a comment-start, or the first character of a comment-end sequence) using
1005this flag:
1006 b means C is part of comment sequence b.
1007 n means C is part of a nestable comment sequence.
1008
1009 p means C is a prefix character for `backward-prefix-chars';
1010 such characters are treated as whitespace when they occur
1011 between expressions. */)
1012 (c, newentry, syntax_table)
1022 Lisp_Object c, newentry, syntax_table; 1013 Lisp_Object c, newentry, syntax_table;
1023{ 1014{
1024 CHECK_NUMBER (c, 0); 1015 CHECK_NUMBER (c, 0);
@@ -1201,9 +1192,9 @@ describe_syntax_1 (vector)
1201} 1192}
1202 1193
1203DEFUN ("describe-syntax", Fdescribe_syntax, Sdescribe_syntax, 0, 0, "", 1194DEFUN ("describe-syntax", Fdescribe_syntax, Sdescribe_syntax, 0, 0, "",
1204 "Describe the syntax specifications in the syntax table.\n\ 1195 doc: /* Describe the syntax specifications in the syntax table.
1205The descriptions are inserted in a buffer, which is then displayed.") 1196The descriptions are inserted in a buffer, which is then displayed. */)
1206 () 1197 ()
1207{ 1198{
1208 internal_with_output_to_temp_buffer 1199 internal_with_output_to_temp_buffer
1209 ("*Help*", describe_syntax_1, current_buffer->syntax_table); 1200 ("*Help*", describe_syntax_1, current_buffer->syntax_table);
@@ -1315,12 +1306,12 @@ scan_words (from, count)
1315} 1306}
1316 1307
1317DEFUN ("forward-word", Fforward_word, Sforward_word, 1, 1, "p", 1308DEFUN ("forward-word", Fforward_word, Sforward_word, 1, 1, "p",
1318 "Move point forward ARG words (backward if ARG is negative).\n\ 1309 doc: /* Move point forward ARG words (backward if ARG is negative).
1319Normally returns t.\n\ 1310Normally returns t.
1320If an edge of the buffer or a field boundary is reached, point is left there\n\ 1311If an edge of the buffer or a field boundary is reached, point is left there
1321and the function returns nil. Field boundaries are not noticed if\n\ 1312and the function returns nil. Field boundaries are not noticed if
1322`inhibit-field-text-motion' is non-nil.") 1313`inhibit-field-text-motion' is non-nil. */)
1323 (count) 1314 (count)
1324 Lisp_Object count; 1315 Lisp_Object count;
1325{ 1316{
1326 int orig_val, val; 1317 int orig_val, val;
@@ -1341,48 +1332,48 @@ and the function returns nil. Field boundaries are not noticed if\n\
1341Lisp_Object skip_chars (); 1332Lisp_Object skip_chars ();
1342 1333
1343DEFUN ("skip-chars-forward", Fskip_chars_forward, Sskip_chars_forward, 1, 2, 0, 1334DEFUN ("skip-chars-forward", Fskip_chars_forward, Sskip_chars_forward, 1, 2, 0,
1344 "Move point forward, stopping before a char not in STRING, or at pos LIM.\n\ 1335 doc: /* Move point forward, stopping before a char not in STRING, or at pos LIM.
1345STRING is like the inside of a `[...]' in a regular expression\n\ 1336STRING is like the inside of a `[...]' in a regular expression
1346except that `]' is never special and `\\' quotes `^', `-' or `\\'\n\ 1337except that `]' is never special and `\\' quotes `^', `-' or `\\'
1347 (but not as the end of a range; quoting is never needed there).\n\ 1338 (but not as the end of a range; quoting is never needed there).
1348Thus, with arg \"a-zA-Z\", this skips letters stopping before first nonletter.\n\ 1339Thus, with arg "a-zA-Z", this skips letters stopping before first nonletter.
1349With arg \"^a-zA-Z\", skips nonletters stopping before first letter.\n\ 1340With arg "^a-zA-Z", skips nonletters stopping before first letter.
1350Returns the distance traveled, either zero or positive.") 1341Returns the distance traveled, either zero or positive. */)
1351 (string, lim) 1342 (string, lim)
1352 Lisp_Object string, lim; 1343 Lisp_Object string, lim;
1353{ 1344{
1354 return skip_chars (1, 0, string, lim); 1345 return skip_chars (1, 0, string, lim);
1355} 1346}
1356 1347
1357DEFUN ("skip-chars-backward", Fskip_chars_backward, Sskip_chars_backward, 1, 2, 0, 1348DEFUN ("skip-chars-backward", Fskip_chars_backward, Sskip_chars_backward, 1, 2, 0,
1358 "Move point backward, stopping after a char not in STRING, or at pos LIM.\n\ 1349 doc: /* Move point backward, stopping after a char not in STRING, or at pos LIM.
1359See `skip-chars-forward' for details.\n\ 1350See `skip-chars-forward' for details.
1360Returns the distance traveled, either zero or negative.") 1351Returns the distance traveled, either zero or negative. */)
1361 (string, lim) 1352 (string, lim)
1362 Lisp_Object string, lim; 1353 Lisp_Object string, lim;
1363{ 1354{
1364 return skip_chars (0, 0, string, lim); 1355 return skip_chars (0, 0, string, lim);
1365} 1356}
1366 1357
1367DEFUN ("skip-syntax-forward", Fskip_syntax_forward, Sskip_syntax_forward, 1, 2, 0, 1358DEFUN ("skip-syntax-forward", Fskip_syntax_forward, Sskip_syntax_forward, 1, 2, 0,
1368 "Move point forward across chars in specified syntax classes.\n\ 1359 doc: /* Move point forward across chars in specified syntax classes.
1369SYNTAX is a string of syntax code characters.\n\ 1360SYNTAX is a string of syntax code characters.
1370Stop before a char whose syntax is not in SYNTAX, or at position LIM.\n\ 1361Stop before a char whose syntax is not in SYNTAX, or at position LIM.
1371If SYNTAX starts with ^, skip characters whose syntax is NOT in SYNTAX.\n\ 1362If SYNTAX starts with ^, skip characters whose syntax is NOT in SYNTAX.
1372This function returns the distance traveled, either zero or positive.") 1363This function returns the distance traveled, either zero or positive. */)
1373 (syntax, lim) 1364 (syntax, lim)
1374 Lisp_Object syntax, lim; 1365 Lisp_Object syntax, lim;
1375{ 1366{
1376 return skip_chars (1, 1, syntax, lim); 1367 return skip_chars (1, 1, syntax, lim);
1377} 1368}
1378 1369
1379DEFUN ("skip-syntax-backward", Fskip_syntax_backward, Sskip_syntax_backward, 1, 2, 0, 1370DEFUN ("skip-syntax-backward", Fskip_syntax_backward, Sskip_syntax_backward, 1, 2, 0,
1380 "Move point backward across chars in specified syntax classes.\n\ 1371 doc: /* Move point backward across chars in specified syntax classes.
1381SYNTAX is a string of syntax code characters.\n\ 1372SYNTAX is a string of syntax code characters.
1382Stop on reaching a char whose syntax is not in SYNTAX, or at position LIM.\n\ 1373Stop on reaching a char whose syntax is not in SYNTAX, or at position LIM.
1383If SYNTAX starts with ^, skip characters whose syntax is NOT in SYNTAX.\n\ 1374If SYNTAX starts with ^, skip characters whose syntax is NOT in SYNTAX.
1384This function returns the distance traveled, either zero or negative.") 1375This function returns the distance traveled, either zero or negative. */)
1385 (syntax, lim) 1376 (syntax, lim)
1386 Lisp_Object syntax, lim; 1377 Lisp_Object syntax, lim;
1387{ 1378{
1388 return skip_chars (0, 1, syntax, lim); 1379 return skip_chars (0, 1, syntax, lim);
@@ -1811,12 +1802,12 @@ forw_comment (from, from_byte, stop, nesting, style, prev_syntax,
1811} 1802}
1812 1803
1813DEFUN ("forward-comment", Fforward_comment, Sforward_comment, 1, 1, 0, 1804DEFUN ("forward-comment", Fforward_comment, Sforward_comment, 1, 1, 0,
1814 "Move forward across up to N comments. If N is negative, move backward.\n\ 1805 doc: /* Move forward across up to N comments. If N is negative, move backward.
1815Stop scanning if we find something other than a comment or whitespace.\n\ 1806Stop scanning if we find something other than a comment or whitespace.
1816Set point to where scanning stops.\n\ 1807Set point to where scanning stops.
1817If N comments are found as expected, with nothing except whitespace\n\ 1808If N comments are found as expected, with nothing except whitespace
1818between them, return t; otherwise return nil.") 1809between them, return t; otherwise return nil. */)
1819 (count) 1810 (count)
1820 Lisp_Object count; 1811 Lisp_Object count;
1821{ 1812{
1822 register int from; 1813 register int from;
@@ -2399,20 +2390,20 @@ scan_lists (from, count, depth, sexpflag)
2399} 2390}
2400 2391
2401DEFUN ("scan-lists", Fscan_lists, Sscan_lists, 3, 3, 0, 2392DEFUN ("scan-lists", Fscan_lists, Sscan_lists, 3, 3, 0,
2402 "Scan from character number FROM by COUNT lists.\n\ 2393 doc: /* Scan from character number FROM by COUNT lists.
2403Returns the character number of the position thus found.\n\ 2394Returns the character number of the position thus found.
2404\n\ 2395
2405If DEPTH is nonzero, paren depth begins counting from that value,\n\ 2396If DEPTH is nonzero, paren depth begins counting from that value,
2406only places where the depth in parentheses becomes zero\n\ 2397only places where the depth in parentheses becomes zero
2407are candidates for stopping; COUNT such places are counted.\n\ 2398are candidates for stopping; COUNT such places are counted.
2408Thus, a positive value for DEPTH means go out levels.\n\ 2399Thus, a positive value for DEPTH means go out levels.
2409\n\ 2400
2410Comments are ignored if `parse-sexp-ignore-comments' is non-nil.\n\ 2401Comments are ignored if `parse-sexp-ignore-comments' is non-nil.
2411\n\ 2402
2412If the beginning or end of (the accessible part of) the buffer is reached\n\ 2403If the beginning or end of (the accessible part of) the buffer is reached
2413and the depth is wrong, an error is signaled.\n\ 2404and the depth is wrong, an error is signaled.
2414If the depth is right but the count is not used up, nil is returned.") 2405If the depth is right but the count is not used up, nil is returned. */)
2415 (from, count, depth) 2406 (from, count, depth)
2416 Lisp_Object from, count, depth; 2407 Lisp_Object from, count, depth;
2417{ 2408{
2418 CHECK_NUMBER (from, 0); 2409 CHECK_NUMBER (from, 0);
@@ -2423,17 +2414,17 @@ If the depth is right but the count is not used up, nil is returned.")
2423} 2414}
2424 2415
2425DEFUN ("scan-sexps", Fscan_sexps, Sscan_sexps, 2, 2, 0, 2416DEFUN ("scan-sexps", Fscan_sexps, Sscan_sexps, 2, 2, 0,
2426 "Scan from character number FROM by COUNT balanced expressions.\n\ 2417 doc: /* Scan from character number FROM by COUNT balanced expressions.
2427If COUNT is negative, scan backwards.\n\ 2418If COUNT is negative, scan backwards.
2428Returns the character number of the position thus found.\n\ 2419Returns the character number of the position thus found.
2429\n\ 2420
2430Comments are ignored if `parse-sexp-ignore-comments' is non-nil.\n\ 2421Comments are ignored if `parse-sexp-ignore-comments' is non-nil.
2431\n\ 2422
2432If the beginning or end of (the accessible part of) the buffer is reached\n\ 2423If the beginning or end of (the accessible part of) the buffer is reached
2433in the middle of a parenthetical grouping, an error is signaled.\n\ 2424in the middle of a parenthetical grouping, an error is signaled.
2434If the beginning or end is reached between groupings\n\ 2425If the beginning or end is reached between groupings
2435but before count is used up, nil is returned.") 2426but before count is used up, nil is returned. */)
2436 (from, count) 2427 (from, count)
2437 Lisp_Object from, count; 2428 Lisp_Object from, count;
2438{ 2429{
2439 CHECK_NUMBER (from, 0); 2430 CHECK_NUMBER (from, 0);
@@ -2443,10 +2434,10 @@ but before count is used up, nil is returned.")
2443} 2434}
2444 2435
2445DEFUN ("backward-prefix-chars", Fbackward_prefix_chars, Sbackward_prefix_chars, 2436DEFUN ("backward-prefix-chars", Fbackward_prefix_chars, Sbackward_prefix_chars,
2446 0, 0, 0, 2437 0, 0, 0,
2447 "Move point backward over any number of chars with prefix syntax.\n\ 2438 doc: /* Move point backward over any number of chars with prefix syntax.
2448This includes chars with \"quote\" or \"prefix\" syntax (' or p).") 2439This includes chars with "quote" or "prefix" syntax (' or p). */)
2449 () 2440 ()
2450{ 2441{
2451 int beg = BEGV; 2442 int beg = BEGV;
2452 int opoint = PT; 2443 int opoint = PT;
@@ -2836,47 +2827,38 @@ do { prev_from = from; \
2836 *stateptr = state; 2827 *stateptr = state;
2837} 2828}
2838 2829
2839/* This comment supplies the doc string for parse-partial-sexp,
2840 for make-docfile to see. We cannot put this in the real DEFUN
2841 due to limits in the Unix cpp.
2842
2843DEFUN ("parse-partial-sexp", Ffoo, Sfoo, 2, 6, 0,
2844 "Parse Lisp syntax starting at FROM until TO; return status of parse at TO.\n\
2845Parsing stops at TO or when certain criteria are met;\n\
2846 point is set to where parsing stops.\n\
2847If fifth arg STATE is omitted or nil,\n\
2848 parsing assumes that FROM is the beginning of a function.\n\
2849Value is a list of ten elements describing final state of parsing:\n\
2850 0. depth in parens.\n\
2851 1. character address of start of innermost containing list; nil if none.\n\
2852 2. character address of start of last complete sexp terminated.\n\
2853 3. non-nil if inside a string.\n\
2854 (it is the character that will terminate the string,\n\
2855 or t if the string should be terminated by a generic string delimiter.)\n\
2856 4. nil if outside a comment, t if inside a non-nestable comment, \n\
2857 else an integer (the current comment nesting).\n\
2858 5. t if following a quote character.\n\
2859 6. the minimum paren-depth encountered during this scan.\n\
2860 7. t if in a comment of style b; symbol `syntax-table' if the comment\n\
2861 should be terminated by a generic comment delimiter.\n\
2862 8. character address of start of comment or string; nil if not in one.\n\
2863 9. Intermediate data for continuation of parsing (subject to change).\n\
2864If third arg TARGETDEPTH is non-nil, parsing stops if the depth\n\
2865in parentheses becomes equal to TARGETDEPTH.\n\
2866Fourth arg STOPBEFORE non-nil means stop when come to\n\
2867 any character that starts a sexp.\n\
2868Fifth arg STATE is a nine-element list like what this function returns.\n\
2869 It is used to initialize the state of the parse. Elements number 1, 2, 6\n\
2870 and 8 are ignored; you can leave off element 8 (the last) entirely.\n\
2871Sixth arg COMMENTSTOP non-nil means stop at the start of a comment.\n\
2872 If it is symbol `syntax-table', stop after the start of a comment or a\n\
2873 string, or after end of a comment or a string.")
2874 (from, to, targetdepth, stopbefore, state, commentstop)
2875*/
2876
2877DEFUN ("parse-partial-sexp", Fparse_partial_sexp, Sparse_partial_sexp, 2, 6, 0, 2830DEFUN ("parse-partial-sexp", Fparse_partial_sexp, Sparse_partial_sexp, 2, 6, 0,
2878 0 /* See immediately above */) 2831 doc: /* Parse Lisp syntax starting at FROM until TO; return status of parse at TO.
2879 (from, to, targetdepth, stopbefore, oldstate, commentstop) 2832Parsing stops at TO or when certain criteria are met;
2833 point is set to where parsing stops.
2834If fifth arg OLDSTATE is omitted or nil,
2835 parsing assumes that FROM is the beginning of a function.
2836Value is a list of ten elements describing final state of parsing:
2837 0. depth in parens.
2838 1. character address of start of innermost containing list; nil if none.
2839 2. character address of start of last complete sexp terminated.
2840 3. non-nil if inside a string.
2841 (it is the character that will terminate the string,
2842 or t if the string should be terminated by a generic string delimiter.)
2843 4. nil if outside a comment, t if inside a non-nestable comment,
2844 else an integer (the current comment nesting).
2845 5. t if following a quote character.
2846 6. the minimum paren-depth encountered during this scan.
2847 7. t if in a comment of style b; symbol `syntax-table' if the comment
2848 should be terminated by a generic comment delimiter.
2849 8. character address of start of comment or string; nil if not in one.
2850 9. Intermediate data for continuation of parsing (subject to change).
2851If third arg TARGETDEPTH is non-nil, parsing stops if the depth
2852in parentheses becomes equal to TARGETDEPTH.
2853Fourth arg STOPBEFORE non-nil means stop when come to
2854 any character that starts a sexp.
2855Fifth arg OLDSTATE is a nine-element list like what this function returns.
2856 It is used to initialize the state of the parse. Elements number 1, 2, 6
2857 and 8 are ignored; you can leave off element 8 (the last) entirely.
2858Sixth arg COMMENTSTOP non-nil means stop at the start of a comment.
2859 If it is symbol `syntax-table', stop after the start of a comment or a
2860 string, or after end of a comment or a string. */)
2861 (from, to, targetdepth, stopbefore, oldstate, commentstop)
2880 Lisp_Object from, to, targetdepth, stopbefore, oldstate, commentstop; 2862 Lisp_Object from, to, targetdepth, stopbefore, oldstate, commentstop;
2881{ 2863{
2882 struct lisp_parse_state state; 2864 struct lisp_parse_state state;
@@ -3014,25 +2996,25 @@ syms_of_syntax ()
3014 build_string ("Scan error")); 2996 build_string ("Scan error"));
3015 2997
3016 DEFVAR_BOOL ("parse-sexp-ignore-comments", &parse_sexp_ignore_comments, 2998 DEFVAR_BOOL ("parse-sexp-ignore-comments", &parse_sexp_ignore_comments,
3017 "Non-nil means `forward-sexp', etc., should treat comments as whitespace."); 2999 doc: /* Non-nil means `forward-sexp', etc., should treat comments as whitespace. */);
3018 3000
3019 DEFVAR_BOOL ("parse-sexp-lookup-properties", &parse_sexp_lookup_properties, 3001 DEFVAR_BOOL ("parse-sexp-lookup-properties", &parse_sexp_lookup_properties,
3020 "Non-nil means `forward-sexp', etc., obey `syntax-table' property.\n\ 3002 doc: /* Non-nil means `forward-sexp', etc., obey `syntax-table' property.
3021Otherwise, that text property is simply ignored.\n\ 3003Otherwise, that text property is simply ignored.
3022See the info node `(elisp)Syntax Properties' for a description of the\n\ 3004See the info node `(elisp)Syntax Properties' for a description of the
3023`syntax-table' property."); 3005`syntax-table' property. */);
3024 3006
3025 words_include_escapes = 0; 3007 words_include_escapes = 0;
3026 DEFVAR_BOOL ("words-include-escapes", &words_include_escapes, 3008 DEFVAR_BOOL ("words-include-escapes", &words_include_escapes,
3027 "Non-nil means `forward-word', etc., should treat escape chars part of words."); 3009 doc: /* Non-nil means `forward-word', etc., should treat escape chars part of words. */);
3028 3010
3029 DEFVAR_BOOL ("multibyte-syntax-as-symbol", &multibyte_syntax_as_symbol, 3011 DEFVAR_BOOL ("multibyte-syntax-as-symbol", &multibyte_syntax_as_symbol,
3030 "Non-nil means `scan-sexps' treats all multibyte characters as symbol."); 3012 doc: /* Non-nil means `scan-sexps' treats all multibyte characters as symbol. */);
3031 multibyte_syntax_as_symbol = 0; 3013 multibyte_syntax_as_symbol = 0;
3032 3014
3033 DEFVAR_BOOL ("open-paren-in-column-0-is-defun-start", 3015 DEFVAR_BOOL ("open-paren-in-column-0-is-defun-start",
3034 &open_paren_in_column_0_is_defun_start, 3016 &open_paren_in_column_0_is_defun_start,
3035 "Non-nil means an open paren in column 0 denotes the start of a defun."); 3017 doc: /* Non-nil means an open paren in column 0 denotes the start of a defun. */);
3036 open_paren_in_column_0_is_defun_start = 1; 3018 open_paren_in_column_0_is_defun_start = 1;
3037 3019
3038 defsubr (&Ssyntax_table_p); 3020 defsubr (&Ssyntax_table_p);
diff --git a/src/window.c b/src/window.c
index 4c629113d9d..c8a348bf626 100644
--- a/src/window.c
+++ b/src/window.c
@@ -227,15 +227,15 @@ extern int scroll_margin;
227extern Lisp_Object Qwindow_scroll_functions, Vwindow_scroll_functions; 227extern Lisp_Object Qwindow_scroll_functions, Vwindow_scroll_functions;
228 228
229DEFUN ("windowp", Fwindowp, Swindowp, 1, 1, 0, 229DEFUN ("windowp", Fwindowp, Swindowp, 1, 1, 0,
230 "Returns t if OBJECT is a window.") 230 doc: /* Returns t if OBJECT is a window. */)
231 (object) 231 (object)
232 Lisp_Object object; 232 Lisp_Object object;
233{ 233{
234 return WINDOWP (object) ? Qt : Qnil; 234 return WINDOWP (object) ? Qt : Qnil;
235} 235}
236 236
237DEFUN ("window-live-p", Fwindow_live_p, Swindow_live_p, 1, 1, 0, 237DEFUN ("window-live-p", Fwindow_live_p, Swindow_live_p, 1, 1, 0,
238 "Returns t if OBJECT is a window which is currently visible.") 238 doc: /* Returns t if OBJECT is a window which is currently visible. */)
239 (object) 239 (object)
240 Lisp_Object object; 240 Lisp_Object object;
241{ 241{
@@ -283,17 +283,17 @@ make_window ()
283} 283}
284 284
285DEFUN ("selected-window", Fselected_window, Sselected_window, 0, 0, 0, 285DEFUN ("selected-window", Fselected_window, Sselected_window, 0, 0, 0,
286 "Return the window that the cursor now appears in and commands apply to.") 286 doc: /* Return the window that the cursor now appears in and commands apply to. */)
287 () 287 ()
288{ 288{
289 return selected_window; 289 return selected_window;
290} 290}
291 291
292DEFUN ("minibuffer-window", Fminibuffer_window, Sminibuffer_window, 0, 1, 0, 292DEFUN ("minibuffer-window", Fminibuffer_window, Sminibuffer_window, 0, 1, 0,
293 "Return the window used now for minibuffers.\n\ 293 doc: /* Return the window used now for minibuffers.
294If the optional argument FRAME is specified, return the minibuffer window\n\ 294If the optional argument FRAME is specified, return the minibuffer window
295used by that frame.") 295used by that frame. */)
296 (frame) 296 (frame)
297 Lisp_Object frame; 297 Lisp_Object frame;
298{ 298{
299 if (NILP (frame)) 299 if (NILP (frame))
@@ -303,8 +303,8 @@ used by that frame.")
303} 303}
304 304
305DEFUN ("window-minibuffer-p", Fwindow_minibuffer_p, Swindow_minibuffer_p, 0, 1, 0, 305DEFUN ("window-minibuffer-p", Fwindow_minibuffer_p, Swindow_minibuffer_p, 0, 1, 0,
306 "Returns non-nil if WINDOW is a minibuffer window.") 306 doc: /* Returns non-nil if WINDOW is a minibuffer window. */)
307 (window) 307 (window)
308 Lisp_Object window; 308 Lisp_Object window;
309{ 309{
310 struct window *w = decode_window (window); 310 struct window *w = decode_window (window);
@@ -313,13 +313,13 @@ DEFUN ("window-minibuffer-p", Fwindow_minibuffer_p, Swindow_minibuffer_p, 0, 1,
313 313
314 314
315DEFUN ("pos-visible-in-window-p", Fpos_visible_in_window_p, 315DEFUN ("pos-visible-in-window-p", Fpos_visible_in_window_p,
316 Spos_visible_in_window_p, 0, 3, 0, 316 Spos_visible_in_window_p, 0, 3, 0,
317 "Return t if position POS is currently on the frame in WINDOW.\n\ 317 doc: /* Return t if position POS is currently on the frame in WINDOW.
318Return nil if that position is scrolled vertically out of view.\n\ 318Return nil if that position is scrolled vertically out of view.
319If a character is only partially visible, nil is returned, unless the\n\ 319If a character is only partially visible, nil is returned, unless the
320optional argument PARTIALLY is non-nil.\n\ 320optional argument PARTIALLY is non-nil.
321POS defaults to point in WINDOW; WINDOW defaults to the selected window.") 321POS defaults to point in WINDOW; WINDOW defaults to the selected window. */)
322 (pos, window, partially) 322 (pos, window, partially)
323 Lisp_Object pos, window, partially; 323 Lisp_Object pos, window, partially;
324{ 324{
325 register struct window *w; 325 register struct window *w;
@@ -391,44 +391,44 @@ decode_window (window)
391} 391}
392 392
393DEFUN ("window-buffer", Fwindow_buffer, Swindow_buffer, 0, 1, 0, 393DEFUN ("window-buffer", Fwindow_buffer, Swindow_buffer, 0, 1, 0,
394 "Return the buffer that WINDOW is displaying.") 394 doc: /* Return the buffer that WINDOW is displaying. */)
395 (window) 395 (window)
396 Lisp_Object window; 396 Lisp_Object window;
397{ 397{
398 return decode_window (window)->buffer; 398 return decode_window (window)->buffer;
399} 399}
400 400
401DEFUN ("window-height", Fwindow_height, Swindow_height, 0, 1, 0, 401DEFUN ("window-height", Fwindow_height, Swindow_height, 0, 1, 0,
402 "Return the number of lines in WINDOW (including its mode line).") 402 doc: /* Return the number of lines in WINDOW (including its mode line). */)
403 (window) 403 (window)
404 Lisp_Object window; 404 Lisp_Object window;
405{ 405{
406 return decode_window (window)->height; 406 return decode_window (window)->height;
407} 407}
408 408
409DEFUN ("window-width", Fwindow_width, Swindow_width, 0, 1, 0, 409DEFUN ("window-width", Fwindow_width, Swindow_width, 0, 1, 0,
410 "Return the number of display columns in WINDOW.\n\ 410 doc: /* Return the number of display columns in WINDOW.
411This is the width that is usable columns available for text in WINDOW.\n\ 411This is the width that is usable columns available for text in WINDOW.
412If you want to find out how many columns WINDOW takes up,\n\ 412If you want to find out how many columns WINDOW takes up,
413use (let ((edges (window-edges))) (- (nth 2 edges) (nth 0 edges))).") 413use (let ((edges (window-edges))) (- (nth 2 edges) (nth 0 edges))). */)
414 (window) 414 (window)
415 Lisp_Object window; 415 Lisp_Object window;
416{ 416{
417 return make_number (window_internal_width (decode_window (window))); 417 return make_number (window_internal_width (decode_window (window)));
418} 418}
419 419
420DEFUN ("window-hscroll", Fwindow_hscroll, Swindow_hscroll, 0, 1, 0, 420DEFUN ("window-hscroll", Fwindow_hscroll, Swindow_hscroll, 0, 1, 0,
421 "Return the number of columns by which WINDOW is scrolled from left margin.") 421 doc: /* Return the number of columns by which WINDOW is scrolled from left margin. */)
422 (window) 422 (window)
423 Lisp_Object window; 423 Lisp_Object window;
424{ 424{
425 return decode_window (window)->hscroll; 425 return decode_window (window)->hscroll;
426} 426}
427 427
428DEFUN ("set-window-hscroll", Fset_window_hscroll, Sset_window_hscroll, 2, 2, 0, 428DEFUN ("set-window-hscroll", Fset_window_hscroll, Sset_window_hscroll, 2, 2, 0,
429 "Set number of columns WINDOW is scrolled from left margin to NCOL.\n\ 429 doc: /* Set number of columns WINDOW is scrolled from left margin to NCOL.
430NCOL should be zero or positive.") 430NCOL should be zero or positive. */)
431 (window, ncol) 431 (window, ncol)
432 Lisp_Object window, ncol; 432 Lisp_Object window, ncol;
433{ 433{
434 struct window *w = decode_window (window); 434 struct window *w = decode_window (window);
@@ -447,9 +447,9 @@ NCOL should be zero or positive.")
447 447
448DEFUN ("window-redisplay-end-trigger", Fwindow_redisplay_end_trigger, 448DEFUN ("window-redisplay-end-trigger", Fwindow_redisplay_end_trigger,
449 Swindow_redisplay_end_trigger, 0, 1, 0, 449 Swindow_redisplay_end_trigger, 0, 1, 0,
450 "Return WINDOW's redisplay end trigger value.\n\ 450 doc: /* Return WINDOW's redisplay end trigger value.
451See `set-window-redisplay-end-trigger' for more information.") 451See `set-window-redisplay-end-trigger' for more information. */)
452 (window) 452 (window)
453 Lisp_Object window; 453 Lisp_Object window;
454{ 454{
455 return decode_window (window)->redisplay_end_trigger; 455 return decode_window (window)->redisplay_end_trigger;
@@ -457,13 +457,13 @@ See `set-window-redisplay-end-trigger' for more information.")
457 457
458DEFUN ("set-window-redisplay-end-trigger", Fset_window_redisplay_end_trigger, 458DEFUN ("set-window-redisplay-end-trigger", Fset_window_redisplay_end_trigger,
459 Sset_window_redisplay_end_trigger, 2, 2, 0, 459 Sset_window_redisplay_end_trigger, 2, 2, 0,
460 "Set WINDOW's redisplay end trigger value to VALUE.\n\ 460 doc: /* Set WINDOW's redisplay end trigger value to VALUE.
461VALUE should be a buffer position (typically a marker) or nil.\n\ 461VALUE should be a buffer position (typically a marker) or nil.
462If it is a buffer position, then if redisplay in WINDOW reaches a position\n\ 462If it is a buffer position, then if redisplay in WINDOW reaches a position
463beyond VALUE, the functions in `redisplay-end-trigger-functions' are called\n\ 463beyond VALUE, the functions in `redisplay-end-trigger-functions' are called
464with two arguments: WINDOW, and the end trigger value.\n\ 464with two arguments: WINDOW, and the end trigger value.
465Afterwards the end-trigger value is reset to nil.") 465Afterwards the end-trigger value is reset to nil. */)
466 (window, value) 466 (window, value)
467 register Lisp_Object window, value; 467 register Lisp_Object window, value;
468{ 468{
469 register struct window *w; 469 register struct window *w;
@@ -474,12 +474,12 @@ Afterwards the end-trigger value is reset to nil.")
474} 474}
475 475
476DEFUN ("window-edges", Fwindow_edges, Swindow_edges, 0, 1, 0, 476DEFUN ("window-edges", Fwindow_edges, Swindow_edges, 0, 1, 0,
477 "Return a list of the edge coordinates of WINDOW.\n\ 477 doc: /* Return a list of the edge coordinates of WINDOW.
478\(LEFT TOP RIGHT BOTTOM), all relative to 0, 0 at top left corner of frame.\n\ 478\(LEFT TOP RIGHT BOTTOM), all relative to 0, 0 at top left corner of frame.
479RIGHT is one more than the rightmost column used by WINDOW,\n\ 479RIGHT is one more than the rightmost column used by WINDOW,
480and BOTTOM is one more than the bottommost row used by WINDOW\n\ 480and BOTTOM is one more than the bottommost row used by WINDOW
481 and its mode-line.") 481 and its mode-line. */)
482 (window) 482 (window)
483 Lisp_Object window; 483 Lisp_Object window;
484{ 484{
485 register struct window *w = decode_window (window); 485 register struct window *w = decode_window (window);
@@ -659,22 +659,22 @@ coordinates_in_window (w, x, y)
659 659
660 660
661DEFUN ("coordinates-in-window-p", Fcoordinates_in_window_p, 661DEFUN ("coordinates-in-window-p", Fcoordinates_in_window_p,
662 Scoordinates_in_window_p, 2, 2, 0, 662 Scoordinates_in_window_p, 2, 2, 0,
663 "Return non-nil if COORDINATES are in WINDOW.\n\ 663 doc: /* Return non-nil if COORDINATES are in WINDOW.
664COORDINATES is a cons of the form (X . Y), X and Y being distances\n\ 664COORDINATES is a cons of the form (X . Y), X and Y being distances
665measured in characters from the upper-left corner of the frame.\n\ 665measured in characters from the upper-left corner of the frame.
666\(0 . 0) denotes the character in the upper left corner of the\n\ 666\(0 . 0) denotes the character in the upper left corner of the
667frame.\n\ 667frame.
668If COORDINATES are in the text portion of WINDOW,\n\ 668If COORDINATES are in the text portion of WINDOW,
669 the coordinates relative to the window are returned.\n\ 669 the coordinates relative to the window are returned.
670If they are in the mode line of WINDOW, `mode-line' is returned.\n\ 670If they are in the mode line of WINDOW, `mode-line' is returned.
671If they are in the top mode line of WINDOW, `header-line' is returned.\n\ 671If they are in the top mode line of WINDOW, `header-line' is returned.
672If they are in the fringe to the left of the window,\n\ 672If they are in the fringe to the left of the window,
673 `left-fringe' is returned, if they are in the area on the right of\n\ 673 `left-fringe' is returned, if they are in the area on the right of
674 the window, `right-fringe' is returned.\n\ 674 the window, `right-fringe' is returned.
675If they are on the border between WINDOW and its right sibling,\n\ 675If they are on the border between WINDOW and its right sibling,
676 `vertical-line' is returned.") 676 `vertical-line' is returned. */)
677 (coordinates, window) 677 (coordinates, window)
678 register Lisp_Object coordinates, window; 678 register Lisp_Object coordinates, window;
679{ 679{
680 struct window *w; 680 struct window *w;
@@ -808,12 +808,12 @@ window_from_coordinates (f, x, y, part, tool_bar_p)
808} 808}
809 809
810DEFUN ("window-at", Fwindow_at, Swindow_at, 2, 3, 0, 810DEFUN ("window-at", Fwindow_at, Swindow_at, 2, 3, 0,
811 "Return window containing coordinates X and Y on FRAME.\n\ 811 doc: /* Return window containing coordinates X and Y on FRAME.
812If omitted, FRAME defaults to the currently selected frame.\n\ 812If omitted, FRAME defaults to the currently selected frame.
813The top left corner of the frame is considered to be row 0,\n\ 813The top left corner of the frame is considered to be row 0,
814column 0.") 814column 0. */)
815 (x, y, frame) 815 (x, y, frame)
816 Lisp_Object x, y, frame; 816 Lisp_Object x, y, frame;
817{ 817{
818 int part; 818 int part;
819 struct frame *f; 819 struct frame *f;
@@ -834,16 +834,16 @@ column 0.")
834} 834}
835 835
836DEFUN ("window-point", Fwindow_point, Swindow_point, 0, 1, 0, 836DEFUN ("window-point", Fwindow_point, Swindow_point, 0, 1, 0,
837 "Return current value of point in WINDOW.\n\ 837 doc: /* Return current value of point in WINDOW.
838For a nonselected window, this is the value point would have\n\ 838For a nonselected window, this is the value point would have
839if that window were selected.\n\ 839if that window were selected.
840\n\ 840
841Note that, when WINDOW is the selected window and its buffer\n\ 841Note that, when WINDOW is the selected window and its buffer
842is also currently selected, the value returned is the same as (point).\n\ 842is also currently selected, the value returned is the same as (point).
843It would be more strictly correct to return the `top-level' value\n\ 843It would be more strictly correct to return the `top-level' value
844of point, outside of any save-excursion forms.\n\ 844of point, outside of any save-excursion forms.
845But that is hard to define.") 845But that is hard to define. */)
846 (window) 846 (window)
847 Lisp_Object window; 847 Lisp_Object window;
848{ 848{
849 register struct window *w = decode_window (window); 849 register struct window *w = decode_window (window);
@@ -855,9 +855,9 @@ But that is hard to define.")
855} 855}
856 856
857DEFUN ("window-start", Fwindow_start, Swindow_start, 0, 1, 0, 857DEFUN ("window-start", Fwindow_start, Swindow_start, 0, 1, 0,
858 "Return position at which display currently starts in WINDOW.\n\ 858 doc: /* Return position at which display currently starts in WINDOW.
859This is updated by redisplay or by calling `set-window-start'.") 859This is updated by redisplay or by calling `set-window-start'. */)
860 (window) 860 (window)
861 Lisp_Object window; 861 Lisp_Object window;
862{ 862{
863 return Fmarker_position (decode_window (window)->start); 863 return Fmarker_position (decode_window (window)->start);
@@ -865,23 +865,23 @@ This is updated by redisplay or by calling `set-window-start'.")
865 865
866/* This is text temporarily removed from the doc string below. 866/* This is text temporarily removed from the doc string below.
867 867
868This function returns nil if the position is not currently known.\n\ 868This function returns nil if the position is not currently known.
869That happens when redisplay is preempted and doesn't finish.\n\ 869That happens when redisplay is preempted and doesn't finish.
870If in that case you want to compute where the end of the window would\n\ 870If in that case you want to compute where the end of the window would
871have been if redisplay had finished, do this:\n\ 871have been if redisplay had finished, do this:
872 (save-excursion\n\ 872 (save-excursion
873 (goto-char (window-start window))\n\ 873 (goto-char (window-start window))
874 (vertical-motion (1- (window-height window)) window)\n\ 874 (vertical-motion (1- (window-height window)) window)
875 (point))") */ 875 (point))") */
876 876
877DEFUN ("window-end", Fwindow_end, Swindow_end, 0, 2, 0, 877DEFUN ("window-end", Fwindow_end, Swindow_end, 0, 2, 0,
878 "Return position at which display currently ends in WINDOW.\n\ 878 doc: /* Return position at which display currently ends in WINDOW.
879This is updated by redisplay, when it runs to completion.\n\ 879This is updated by redisplay, when it runs to completion.
880Simply changing the buffer text or setting `window-start'\n\ 880Simply changing the buffer text or setting `window-start'
881does not update this value.\n\ 881does not update this value.
882If UPDATE is non-nil, compute the up-to-date position\n\ 882If UPDATE is non-nil, compute the up-to-date position
883if it isn't already recorded.") 883if it isn't already recorded. */)
884 (window, update) 884 (window, update)
885 Lisp_Object window, update; 885 Lisp_Object window, update;
886{ 886{
887 Lisp_Object value; 887 Lisp_Object value;
@@ -944,8 +944,8 @@ if it isn't already recorded.")
944} 944}
945 945
946DEFUN ("set-window-point", Fset_window_point, Sset_window_point, 2, 2, 0, 946DEFUN ("set-window-point", Fset_window_point, Sset_window_point, 2, 2, 0,
947 "Make point value in WINDOW be at position POS in WINDOW's buffer.") 947 doc: /* Make point value in WINDOW be at position POS in WINDOW's buffer. */)
948 (window, pos) 948 (window, pos)
949 Lisp_Object window, pos; 949 Lisp_Object window, pos;
950{ 950{
951 register struct window *w = decode_window (window); 951 register struct window *w = decode_window (window);
@@ -966,10 +966,10 @@ DEFUN ("set-window-point", Fset_window_point, Sset_window_point, 2, 2, 0,
966} 966}
967 967
968DEFUN ("set-window-start", Fset_window_start, Sset_window_start, 2, 3, 0, 968DEFUN ("set-window-start", Fset_window_start, Sset_window_start, 2, 3, 0,
969 "Make display in WINDOW start at position POS in WINDOW's buffer.\n\ 969 doc: /* Make display in WINDOW start at position POS in WINDOW's buffer.
970Optional third arg NOFORCE non-nil inhibits next redisplay\n\ 970Optional third arg NOFORCE non-nil inhibits next redisplay
971from overriding motion of point in order to display at this exact start.") 971from overriding motion of point in order to display at this exact start. */)
972 (window, pos, noforce) 972 (window, pos, noforce)
973 Lisp_Object window, pos, noforce; 973 Lisp_Object window, pos, noforce;
974{ 974{
975 register struct window *w = decode_window (window); 975 register struct window *w = decode_window (window);
@@ -991,9 +991,9 @@ from overriding motion of point in order to display at this exact start.")
991 991
992DEFUN ("window-dedicated-p", Fwindow_dedicated_p, Swindow_dedicated_p, 992DEFUN ("window-dedicated-p", Fwindow_dedicated_p, Swindow_dedicated_p,
993 1, 1, 0, 993 1, 1, 0,
994 "Return WINDOW's dedicated object, usually t or nil.\n\ 994 doc: /* Return WINDOW's dedicated object, usually t or nil.
995See also `set-window-dedicated-p'.") 995See also `set-window-dedicated-p'. */)
996 (window) 996 (window)
997 Lisp_Object window; 997 Lisp_Object window;
998{ 998{
999 return decode_window (window)->dedicated; 999 return decode_window (window)->dedicated;
@@ -1001,13 +1001,13 @@ See also `set-window-dedicated-p'.")
1001 1001
1002DEFUN ("set-window-dedicated-p", Fset_window_dedicated_p, 1002DEFUN ("set-window-dedicated-p", Fset_window_dedicated_p,
1003 Sset_window_dedicated_p, 2, 2, 0, 1003 Sset_window_dedicated_p, 2, 2, 0,
1004 "Control whether WINDOW is dedicated to the buffer it displays.\n\ 1004 doc: /* Control whether WINDOW is dedicated to the buffer it displays.
1005If it is dedicated, Emacs will not automatically change\n\ 1005If it is dedicated, Emacs will not automatically change
1006which buffer appears in it.\n\ 1006which buffer appears in it.
1007The second argument is the new value for the dedication flag;\n\ 1007The second argument is the new value for the dedication flag;
1008non-nil means yes.") 1008non-nil means yes. */)
1009 (window, arg) 1009 (window, arg)
1010 Lisp_Object window, arg; 1010 Lisp_Object window, arg;
1011{ 1011{
1012 register struct window *w = decode_window (window); 1012 register struct window *w = decode_window (window);
1013 1013
@@ -1021,8 +1021,8 @@ non-nil means yes.")
1021 1021
1022DEFUN ("window-display-table", Fwindow_display_table, Swindow_display_table, 1022DEFUN ("window-display-table", Fwindow_display_table, Swindow_display_table,
1023 0, 1, 0, 1023 0, 1, 0,
1024 "Return the display-table that WINDOW is using.") 1024 doc: /* Return the display-table that WINDOW is using. */)
1025 (window) 1025 (window)
1026 Lisp_Object window; 1026 Lisp_Object window;
1027{ 1027{
1028 return decode_window (window)->display_table; 1028 return decode_window (window)->display_table;
@@ -1055,8 +1055,8 @@ window_display_table (w)
1055} 1055}
1056 1056
1057DEFUN ("set-window-display-table", Fset_window_display_table, Sset_window_display_table, 2, 2, 0, 1057DEFUN ("set-window-display-table", Fset_window_display_table, Sset_window_display_table, 2, 2, 0,
1058 "Set WINDOW's display-table to TABLE.") 1058 doc: /* Set WINDOW's display-table to TABLE. */)
1059 (window, table) 1059 (window, table)
1060 register Lisp_Object window, table; 1060 register Lisp_Object window, table;
1061{ 1061{
1062 register struct window *w; 1062 register struct window *w;
@@ -1171,8 +1171,8 @@ children be children of that parent instead. ***/
1171} 1171}
1172 1172
1173DEFUN ("delete-window", Fdelete_window, Sdelete_window, 0, 1, "", 1173DEFUN ("delete-window", Fdelete_window, Sdelete_window, 0, 1, "",
1174 "Remove WINDOW from the display. Default is selected window.") 1174 doc: /* Remove WINDOW from the display. Default is selected window. */)
1175 (window) 1175 (window)
1176 register Lisp_Object window; 1176 register Lisp_Object window;
1177{ 1177{
1178 delete_window (window); 1178 delete_window (window);
@@ -1558,83 +1558,66 @@ next_window (window, minibuf, all_frames, next_p)
1558} 1558}
1559 1559
1560 1560
1561/* This comment supplies the doc string for `next-window',
1562 for make-docfile to see. We cannot put this in the real DEFUN
1563 due to limits in the Unix cpp.
1564
1565DEFUN ("next-window", Ffoo, Sfoo, 0, 3, 0,
1566 "Return next window after WINDOW in canonical ordering of windows.\n\
1567If omitted, WINDOW defaults to the selected window.\n\
1568\n\
1569Optional second arg MINIBUF t means count the minibuffer window even\n\
1570if not active. MINIBUF nil or omitted means count the minibuffer iff\n\
1571it is active. MINIBUF neither t nor nil means not to count the\n\
1572minibuffer even if it is active.\n\
1573\n\
1574Several frames may share a single minibuffer; if the minibuffer\n\
1575counts, all windows on all frames that share that minibuffer count\n\
1576too. Therefore, `next-window' can be used to iterate through the\n\
1577set of windows even when the minibuffer is on another frame. If the\n\
1578minibuffer does not count, only windows from WINDOW's frame count.\n\
1579\n\
1580Optional third arg ALL-FRAMES t means include windows on all frames.\n\
1581ALL-FRAMES nil or omitted means cycle within the frames as specified\n\
1582above. ALL-FRAMES = `visible' means include windows on all visible frames.\n\
1583ALL-FRAMES = 0 means include windows on all visible and iconified frames.\n\
1584If ALL-FRAMES is a frame, restrict search to windows on that frame.\n\
1585Anything else means restrict to WINDOW's frame.\n\
1586\n\
1587If you use consistent values for MINIBUF and ALL-FRAMES, you can use\n\
1588`next-window' to iterate through the entire cycle of acceptable\n\
1589windows, eventually ending up back at the window you started with.\n\
1590`previous-window' traverses the same cycle, in the reverse order.")
1591 (window, minibuf, all_frames) */
1592
1593DEFUN ("next-window", Fnext_window, Snext_window, 0, 3, 0, 1561DEFUN ("next-window", Fnext_window, Snext_window, 0, 3, 0,
1594 0) 1562 doc: /* Return next window after WINDOW in canonical ordering of windows.
1595 (window, minibuf, all_frames) 1563If omitted, WINDOW defaults to the selected window.
1564
1565Optional second arg MINIBUF t means count the minibuffer window even
1566if not active. MINIBUF nil or omitted means count the minibuffer iff
1567it is active. MINIBUF neither t nor nil means not to count the
1568minibuffer even if it is active.
1569
1570Several frames may share a single minibuffer; if the minibuffer
1571counts, all windows on all frames that share that minibuffer count
1572too. Therefore, `next-window' can be used to iterate through the
1573set of windows even when the minibuffer is on another frame. If the
1574minibuffer does not count, only windows from WINDOW's frame count.
1575
1576Optional third arg ALL-FRAMES t means include windows on all frames.
1577ALL-FRAMES nil or omitted means cycle within the frames as specified
1578above. ALL-FRAMES = `visible' means include windows on all visible frames.
1579ALL-FRAMES = 0 means include windows on all visible and iconified frames.
1580If ALL-FRAMES is a frame, restrict search to windows on that frame.
1581Anything else means restrict to WINDOW's frame.
1582
1583If you use consistent values for MINIBUF and ALL-FRAMES, you can use
1584`next-window' to iterate through the entire cycle of acceptable
1585windows, eventually ending up back at the window you started with.
1586`previous-window' traverses the same cycle, in the reverse order. */)
1587 (window, minibuf, all_frames)
1596 Lisp_Object window, minibuf, all_frames; 1588 Lisp_Object window, minibuf, all_frames;
1597{ 1589{
1598 return next_window (window, minibuf, all_frames, 1); 1590 return next_window (window, minibuf, all_frames, 1);
1599} 1591}
1600 1592
1601 1593
1602/* This comment supplies the doc string for `previous-window',
1603 for make-docfile to see. We cannot put this in the real DEFUN
1604 due to limits in the Unix cpp.
1605
1606DEFUN ("previous-window", Ffoo, Sfoo, 0, 3, 0,
1607 "Return the window preceding WINDOW in canonical ordering of windows.\n\
1608If omitted, WINDOW defaults to the selected window.\n\
1609\n\
1610Optional second arg MINIBUF t means count the minibuffer window even\n\
1611if not active. MINIBUF nil or omitted means count the minibuffer iff\n\
1612it is active. MINIBUF neither t nor nil means not to count the\n\
1613minibuffer even if it is active.\n\
1614\n\
1615Several frames may share a single minibuffer; if the minibuffer\n\
1616counts, all windows on all frames that share that minibuffer count\n\
1617too. Therefore, `previous-window' can be used to iterate through\n\
1618the set of windows even when the minibuffer is on another frame. If\n\
1619the minibuffer does not count, only windows from WINDOW's frame count\n\
1620\n\
1621Optional third arg ALL-FRAMES t means include windows on all frames.\n\
1622ALL-FRAMES nil or omitted means cycle within the frames as specified\n\
1623above. ALL-FRAMES = `visible' means include windows on all visible frames.\n\
1624ALL-FRAMES = 0 means include windows on all visible and iconified frames.\n\
1625If ALL-FRAMES is a frame, restrict search to windows on that frame.\n\
1626Anything else means restrict to WINDOW's frame.\n\
1627\n\
1628If you use consistent values for MINIBUF and ALL-FRAMES, you can use\n\
1629`previous-window' to iterate through the entire cycle of acceptable\n\
1630windows, eventually ending up back at the window you started with.\n\
1631`next-window' traverses the same cycle, in the reverse order.")
1632 (window, minibuf, all_frames) */
1633
1634
1635DEFUN ("previous-window", Fprevious_window, Sprevious_window, 0, 3, 0, 1594DEFUN ("previous-window", Fprevious_window, Sprevious_window, 0, 3, 0,
1636 0) 1595 doc: /* Return the window preceding WINDOW in canonical ordering of windows.
1637 (window, minibuf, all_frames) 1596If omitted, WINDOW defaults to the selected window.
1597
1598Optional second arg MINIBUF t means count the minibuffer window even
1599if not active. MINIBUF nil or omitted means count the minibuffer iff
1600it is active. MINIBUF neither t nor nil means not to count the
1601minibuffer even if it is active.
1602
1603Several frames may share a single minibuffer; if the minibuffer
1604counts, all windows on all frames that share that minibuffer count
1605too. Therefore, `previous-window' can be used to iterate through
1606the set of windows even when the minibuffer is on another frame. If
1607the minibuffer does not count, only windows from WINDOW's frame count
1608
1609Optional third arg ALL-FRAMES t means include windows on all frames.
1610ALL-FRAMES nil or omitted means cycle within the frames as specified
1611above. ALL-FRAMES = `visible' means include windows on all visible frames.
1612ALL-FRAMES = 0 means include windows on all visible and iconified frames.
1613If ALL-FRAMES is a frame, restrict search to windows on that frame.
1614Anything else means restrict to WINDOW's frame.
1615
1616If you use consistent values for MINIBUF and ALL-FRAMES, you can use
1617`previous-window' to iterate through the entire cycle of acceptable
1618windows, eventually ending up back at the window you started with.
1619`next-window' traverses the same cycle, in the reverse order. */)
1620 (window, minibuf, all_frames)
1638 Lisp_Object window, minibuf, all_frames; 1621 Lisp_Object window, minibuf, all_frames;
1639{ 1622{
1640 return next_window (window, minibuf, all_frames, 0); 1623 return next_window (window, minibuf, all_frames, 0);
@@ -1642,12 +1625,12 @@ DEFUN ("previous-window", Fprevious_window, Sprevious_window, 0, 3, 0,
1642 1625
1643 1626
1644DEFUN ("other-window", Fother_window, Sother_window, 1, 2, "p", 1627DEFUN ("other-window", Fother_window, Sother_window, 1, 2, "p",
1645 "Select the ARG'th different window on this frame.\n\ 1628 doc: /* Select the ARG'th different window on this frame.
1646All windows on current frame are arranged in a cyclic order.\n\ 1629All windows on current frame are arranged in a cyclic order.
1647This command selects the window ARG steps away in that order.\n\ 1630This command selects the window ARG steps away in that order.
1648A negative ARG moves in the opposite order. If the optional second\n\ 1631A negative ARG moves in the opposite order. If the optional second
1649argument ALL_FRAMES is non-nil, cycle through all frames.") 1632argument ALL_FRAMES is non-nil, cycle through all frames. */)
1650 (arg, all_frames) 1633 (arg, all_frames)
1651 Lisp_Object arg, all_frames; 1634 Lisp_Object arg, all_frames;
1652{ 1635{
1653 Lisp_Object window; 1636 Lisp_Object window;
@@ -1667,14 +1650,14 @@ argument ALL_FRAMES is non-nil, cycle through all frames.")
1667 1650
1668 1651
1669DEFUN ("window-list", Fwindow_list, Swindow_list, 0, 3, 0, 1652DEFUN ("window-list", Fwindow_list, Swindow_list, 0, 3, 0,
1670 "Return a list of windows on FRAME, starting with WINDOW.\n\ 1653 doc: /* Return a list of windows on FRAME, starting with WINDOW.
1671FRAME nil or omitted means use the selected frame.\n\ 1654FRAME nil or omitted means use the selected frame.
1672WINDOW nil or omitted means use the selected window.\n\ 1655WINDOW nil or omitted means use the selected window.
1673MINIBUF t means include the minibuffer window, even if it isn't active.\n\ 1656MINIBUF t means include the minibuffer window, even if it isn't active.
1674MINIBUF nil or omitted means include the minibuffer window only\n\ 1657MINIBUF nil or omitted means include the minibuffer window only
1675if it's active.\n\ 1658if it's active.
1676MINIBUF neither nil nor t means never include the minibuffer window.") 1659MINIBUF neither nil nor t means never include the minibuffer window. */)
1677 (frame, minibuf, window) 1660 (frame, minibuf, window)
1678 Lisp_Object frame, minibuf, window; 1661 Lisp_Object frame, minibuf, window;
1679{ 1662{
1680 if (NILP (window)) 1663 if (NILP (window))
@@ -1942,14 +1925,14 @@ check_all_windows ()
1942} 1925}
1943 1926
1944DEFUN ("get-lru-window", Fget_lru_window, Sget_lru_window, 0, 1, 0, 1927DEFUN ("get-lru-window", Fget_lru_window, Sget_lru_window, 0, 1, 0,
1945 "Return the window least recently selected or used for display.\n\ 1928 doc: /* Return the window least recently selected or used for display.
1946If optional argument FRAME is `visible', search all visible frames.\n\ 1929If optional argument FRAME is `visible', search all visible frames.
1947If FRAME is 0, search all visible and iconified frames.\n\ 1930If FRAME is 0, search all visible and iconified frames.
1948If FRAME is t, search all frames.\n\ 1931If FRAME is t, search all frames.
1949If FRAME is nil, search only the selected frame.\n\ 1932If FRAME is nil, search only the selected frame.
1950If FRAME is a frame, search only that frame.") 1933If FRAME is a frame, search only that frame. */)
1951 (frame) 1934 (frame)
1952 Lisp_Object frame; 1935 Lisp_Object frame;
1953{ 1936{
1954 register Lisp_Object w; 1937 register Lisp_Object w;
1955 /* First try for a window that is full-width */ 1938 /* First try for a window that is full-width */
@@ -1961,28 +1944,28 @@ If FRAME is a frame, search only that frame.")
1961} 1944}
1962 1945
1963DEFUN ("get-largest-window", Fget_largest_window, Sget_largest_window, 0, 1, 0, 1946DEFUN ("get-largest-window", Fget_largest_window, Sget_largest_window, 0, 1, 0,
1964 "Return the largest window in area.\n\ 1947 doc: /* Return the largest window in area.
1965If optional argument FRAME is `visible', search all visible frames.\n\ 1948If optional argument FRAME is `visible', search all visible frames.
1966If FRAME is 0, search all visible and iconified frames.\n\ 1949If FRAME is 0, search all visible and iconified frames.
1967If FRAME is t, search all frames.\n\ 1950If FRAME is t, search all frames.
1968If FRAME is nil, search only the selected frame.\n\ 1951If FRAME is nil, search only the selected frame.
1969If FRAME is a frame, search only that frame.") 1952If FRAME is a frame, search only that frame. */)
1970 (frame) 1953 (frame)
1971 Lisp_Object frame; 1954 Lisp_Object frame;
1972{ 1955{
1973 return window_loop (GET_LARGEST_WINDOW, Qnil, 0, 1956 return window_loop (GET_LARGEST_WINDOW, Qnil, 0,
1974 frame); 1957 frame);
1975} 1958}
1976 1959
1977DEFUN ("get-buffer-window", Fget_buffer_window, Sget_buffer_window, 1, 2, 0, 1960DEFUN ("get-buffer-window", Fget_buffer_window, Sget_buffer_window, 1, 2, 0,
1978 "Return a window currently displaying BUFFER, or nil if none.\n\ 1961 doc: /* Return a window currently displaying BUFFER, or nil if none.
1979If optional argument FRAME is `visible', search all visible frames.\n\ 1962If optional argument FRAME is `visible', search all visible frames.
1980If optional argument FRAME is 0, search all visible and iconified frames.\n\ 1963If optional argument FRAME is 0, search all visible and iconified frames.
1981If FRAME is t, search all frames.\n\ 1964If FRAME is t, search all frames.
1982If FRAME is nil, search only the selected frame.\n\ 1965If FRAME is nil, search only the selected frame.
1983If FRAME is a frame, search only that frame.") 1966If FRAME is a frame, search only that frame. */)
1984 (buffer, frame) 1967 (buffer, frame)
1985 Lisp_Object buffer, frame; 1968 Lisp_Object buffer, frame;
1986{ 1969{
1987 buffer = Fget_buffer (buffer); 1970 buffer = Fget_buffer (buffer);
1988 if (BUFFERP (buffer)) 1971 if (BUFFERP (buffer))
@@ -1992,16 +1975,16 @@ If FRAME is a frame, search only that frame.")
1992} 1975}
1993 1976
1994DEFUN ("delete-other-windows", Fdelete_other_windows, Sdelete_other_windows, 1977DEFUN ("delete-other-windows", Fdelete_other_windows, Sdelete_other_windows,
1995 0, 1, "", 1978 0, 1, "",
1996 "Make WINDOW (or the selected window) fill its frame.\n\ 1979 doc: /* Make WINDOW (or the selected window) fill its frame.
1997Only the frame WINDOW is on is affected.\n\ 1980Only the frame WINDOW is on is affected.
1998This function tries to reduce display jumps\n\ 1981This function tries to reduce display jumps
1999by keeping the text previously visible in WINDOW\n\ 1982by keeping the text previously visible in WINDOW
2000in the same place on the frame. Doing this depends on\n\ 1983in the same place on the frame. Doing this depends on
2001the value of (window-start WINDOW), so if calling this function\n\ 1984the value of (window-start WINDOW), so if calling this function
2002in a program gives strange scrolling, make sure the window-start\n\ 1985in a program gives strange scrolling, make sure the window-start
2003value is reasonable when this function is called.") 1986value is reasonable when this function is called. */)
2004 (window) 1987 (window)
2005 Lisp_Object window; 1988 Lisp_Object window;
2006{ 1989{
2007 struct window *w; 1990 struct window *w;
@@ -2056,15 +2039,15 @@ value is reasonable when this function is called.")
2056} 2039}
2057 2040
2058DEFUN ("delete-windows-on", Fdelete_windows_on, Sdelete_windows_on, 2041DEFUN ("delete-windows-on", Fdelete_windows_on, Sdelete_windows_on,
2059 1, 2, "bDelete windows on (buffer): ", 2042 1, 2, "bDelete windows on (buffer): ",
2060 "Delete all windows showing BUFFER.\n\ 2043 doc: /* Delete all windows showing BUFFER.
2061Optional second argument FRAME controls which frames are affected.\n\ 2044Optional second argument FRAME controls which frames are affected.
2062If optional argument FRAME is `visible', search all visible frames.\n\ 2045If optional argument FRAME is `visible', search all visible frames.
2063If FRAME is 0, search all visible and iconified frames.\n\ 2046If FRAME is 0, search all visible and iconified frames.
2064If FRAME is nil, search all frames.\n\ 2047If FRAME is nil, search all frames.
2065If FRAME is t, search only the selected frame.\n\ 2048If FRAME is t, search only the selected frame.
2066If FRAME is a frame, search only that frame.") 2049If FRAME is a frame, search only that frame. */)
2067 (buffer, frame) 2050 (buffer, frame)
2068 Lisp_Object buffer, frame; 2051 Lisp_Object buffer, frame;
2069{ 2052{
2070 /* FRAME uses t and nil to mean the opposite of what window_loop 2053 /* FRAME uses t and nil to mean the opposite of what window_loop
@@ -2085,10 +2068,10 @@ If FRAME is a frame, search only that frame.")
2085} 2068}
2086 2069
2087DEFUN ("replace-buffer-in-windows", Freplace_buffer_in_windows, 2070DEFUN ("replace-buffer-in-windows", Freplace_buffer_in_windows,
2088 Sreplace_buffer_in_windows, 2071 Sreplace_buffer_in_windows,
2089 1, 1, "bReplace buffer in windows: ", 2072 1, 1, "bReplace buffer in windows: ",
2090 "Replace BUFFER with some other buffer in all windows showing it.") 2073 doc: /* Replace BUFFER with some other buffer in all windows showing it. */)
2091 (buffer) 2074 (buffer)
2092 Lisp_Object buffer; 2075 Lisp_Object buffer;
2093{ 2076{
2094 if (!NILP (buffer)) 2077 if (!NILP (buffer))
@@ -2671,9 +2654,9 @@ set_window_buffer (window, buffer, run_hooks_p)
2671 2654
2672 2655
2673DEFUN ("set-window-buffer", Fset_window_buffer, Sset_window_buffer, 2, 2, 0, 2656DEFUN ("set-window-buffer", Fset_window_buffer, Sset_window_buffer, 2, 2, 0,
2674 "Make WINDOW display BUFFER as its contents.\n\ 2657 doc: /* Make WINDOW display BUFFER as its contents.
2675BUFFER can be a buffer or buffer name.") 2658BUFFER can be a buffer or buffer name. */)
2676 (window, buffer) 2659 (window, buffer)
2677 register Lisp_Object window, buffer; 2660 register Lisp_Object window, buffer;
2678{ 2661{
2679 register Lisp_Object tem; 2662 register Lisp_Object tem;
@@ -2704,11 +2687,11 @@ BUFFER can be a buffer or buffer name.")
2704} 2687}
2705 2688
2706DEFUN ("select-window", Fselect_window, Sselect_window, 1, 1, 0, 2689DEFUN ("select-window", Fselect_window, Sselect_window, 1, 1, 0,
2707 "Select WINDOW. Most editing will apply to WINDOW's buffer.\n\ 2690 doc: /* Select WINDOW. Most editing will apply to WINDOW's buffer.
2708If WINDOW is not already selected, also make WINDOW's buffer current.\n\ 2691If WINDOW is not already selected, also make WINDOW's buffer current.
2709Note that the main editor command loop\n\ 2692Note that the main editor command loop
2710selects the buffer of the selected window before each command.") 2693selects the buffer of the selected window before each command. */)
2711 (window) 2694 (window)
2712 register Lisp_Object window; 2695 register Lisp_Object window;
2713{ 2696{
2714 return select_window_1 (window, 1); 2697 return select_window_1 (window, 1);
@@ -2814,11 +2797,11 @@ display_buffer_1 (window)
2814} 2797}
2815 2798
2816DEFUN ("special-display-p", Fspecial_display_p, Sspecial_display_p, 1, 1, 0, 2799DEFUN ("special-display-p", Fspecial_display_p, Sspecial_display_p, 1, 1, 0,
2817 "Returns non-nil if a buffer named BUFFER-NAME would be created specially.\n\ 2800 doc: /* Returns non-nil if a buffer named BUFFER-NAME would be created specially.
2818The value is actually t if the frame should be called with default frame\n\ 2801The value is actually t if the frame should be called with default frame
2819parameters, and a list of frame parameters if they were specified.\n\ 2802parameters, and a list of frame parameters if they were specified.
2820See `special-display-buffer-names', and `special-display-regexps'.") 2803See `special-display-buffer-names', and `special-display-regexps'. */)
2821 (buffer_name) 2804 (buffer_name)
2822 Lisp_Object buffer_name; 2805 Lisp_Object buffer_name;
2823{ 2806{
2824 Lisp_Object tem; 2807 Lisp_Object tem;
@@ -2848,9 +2831,9 @@ See `special-display-buffer-names', and `special-display-regexps'.")
2848} 2831}
2849 2832
2850DEFUN ("same-window-p", Fsame_window_p, Ssame_window_p, 1, 1, 0, 2833DEFUN ("same-window-p", Fsame_window_p, Ssame_window_p, 1, 1, 0,
2851 "Returns non-nil if a new buffer named BUFFER-NAME would use the same window.\n\ 2834 doc: /* Returns non-nil if a new buffer named BUFFER-NAME would use the same window.
2852See `same-window-buffer-names' and `same-window-regexps'.") 2835See `same-window-buffer-names' and `same-window-regexps'. */)
2853 (buffer_name) 2836 (buffer_name)
2854 Lisp_Object buffer_name; 2837 Lisp_Object buffer_name;
2855{ 2838{
2856 Lisp_Object tem; 2839 Lisp_Object tem;
@@ -2879,36 +2862,36 @@ See `same-window-buffer-names' and `same-window-regexps'.")
2879 return Qnil; 2862 return Qnil;
2880} 2863}
2881 2864
2882 /* Use B so the default is (other-buffer). */ 2865/* Use B so the default is (other-buffer). */
2883DEFUN ("display-buffer", Fdisplay_buffer, Sdisplay_buffer, 1, 3, 2866DEFUN ("display-buffer", Fdisplay_buffer, Sdisplay_buffer, 1, 3,
2884 "BDisplay buffer: \nP", 2867 "BDisplay buffer: \nP",
2885 "Make BUFFER appear in some window but don't select it.\n\ 2868 doc: /* Make BUFFER appear in some window but don't select it.
2886BUFFER can be a buffer or a buffer name.\n\ 2869BUFFER can be a buffer or a buffer name.
2887If BUFFER is shown already in some window, just use that one,\n\ 2870If BUFFER is shown already in some window, just use that one,
2888unless the window is the selected window and the optional second\n\ 2871unless the window is the selected window and the optional second
2889argument NOT-THIS-WINDOW is non-nil (interactively, with prefix arg).\n\ 2872argument NOT-THIS-WINDOW is non-nil (interactively, with prefix arg).
2890If `pop-up-frames' is non-nil, make a new frame if no window shows BUFFER.\n\ 2873If `pop-up-frames' is non-nil, make a new frame if no window shows BUFFER.
2891Returns the window displaying BUFFER.\n\ 2874Returns the window displaying BUFFER.
2892If `display-reuse-frames' is non-nil, and another frame is currently\n\ 2875If `display-reuse-frames' is non-nil, and another frame is currently
2893displaying BUFFER, then simply raise that frame.\n\ 2876displaying BUFFER, then simply raise that frame.
2894\n\ 2877
2895The variables `special-display-buffer-names', `special-display-regexps',\n\ 2878The variables `special-display-buffer-names', `special-display-regexps',
2896`same-window-buffer-names', and `same-window-regexps' customize how certain\n\ 2879`same-window-buffer-names', and `same-window-regexps' customize how certain
2897buffer names are handled.\n\ 2880buffer names are handled.
2898\n\ 2881
2899If optional argument FRAME is `visible', search all visible frames.\n\ 2882If optional argument FRAME is `visible', search all visible frames.
2900If FRAME is 0, search all visible and iconified frames.\n\ 2883If FRAME is 0, search all visible and iconified frames.
2901If FRAME is t, search all frames.\n\ 2884If FRAME is t, search all frames.
2902If FRAME is a frame, search only that frame.\n\ 2885If FRAME is a frame, search only that frame.
2903If FRAME is nil, search only the selected frame\n\ 2886If FRAME is nil, search only the selected frame
2904 (actually the last nonminibuffer frame),\n\ 2887 (actually the last nonminibuffer frame),
2905 unless `pop-up-frames' or `display-buffer-reuse-frames' is non-nil,\n\ 2888 unless `pop-up-frames' or `display-buffer-reuse-frames' is non-nil,
2906 which means search visible and iconified frames.\n\ 2889 which means search visible and iconified frames.
2907\n\ 2890
2908If `even-window-heights' is non-nil, window heights will be evened out\n\ 2891If `even-window-heights' is non-nil, window heights will be evened out
2909if displaying the buffer causes two vertically adjacent windows to be\n\ 2892if displaying the buffer causes two vertically adjacent windows to be
2910displayed.") 2893displayed. */)
2911 (buffer, not_this_window, frame) 2894 (buffer, not_this_window, frame)
2912 register Lisp_Object buffer, not_this_window, frame; 2895 register Lisp_Object buffer, not_this_window, frame;
2913{ 2896{
2914 register Lisp_Object window, tem, swp; 2897 register Lisp_Object window, tem, swp;
@@ -3170,12 +3153,12 @@ make_dummy_parent (window)
3170} 3153}
3171 3154
3172DEFUN ("split-window", Fsplit_window, Ssplit_window, 0, 3, "", 3155DEFUN ("split-window", Fsplit_window, Ssplit_window, 0, 3, "",
3173 "Split WINDOW, putting SIZE lines in the first of the pair.\n\ 3156 doc: /* Split WINDOW, putting SIZE lines in the first of the pair.
3174WINDOW defaults to selected one and SIZE to half its size.\n\ 3157WINDOW defaults to selected one and SIZE to half its size.
3175If optional third arg HORFLAG is non-nil, split side by side\n\ 3158If optional third arg HORFLAG is non-nil, split side by side
3176and put SIZE columns in the first of the pair. In that case,\n\ 3159and put SIZE columns in the first of the pair. In that case,
3177SIZE includes that window's scroll bar, or the divider column to its right.") 3160SIZE includes that window's scroll bar, or the divider column to its right. */)
3178 (window, size, horflag) 3161 (window, size, horflag)
3179 Lisp_Object window, size, horflag; 3162 Lisp_Object window, size, horflag;
3180{ 3163{
3181 register Lisp_Object new; 3164 register Lisp_Object new;
@@ -3293,10 +3276,10 @@ SIZE includes that window's scroll bar, or the divider column to its right.")
3293} 3276}
3294 3277
3295DEFUN ("enlarge-window", Fenlarge_window, Senlarge_window, 1, 2, "p", 3278DEFUN ("enlarge-window", Fenlarge_window, Senlarge_window, 1, 2, "p",
3296 "Make current window ARG lines bigger.\n\ 3279 doc: /* Make current window ARG lines bigger.
3297From program, optional second arg non-nil means grow sideways ARG columns.\n\ 3280From program, optional second arg non-nil means grow sideways ARG columns.
3298Interactively, if an argument is not given, make the window one line bigger.") 3281Interactively, if an argument is not given, make the window one line bigger. */)
3299 (arg, side) 3282 (arg, side)
3300 register Lisp_Object arg, side; 3283 register Lisp_Object arg, side;
3301{ 3284{
3302 CHECK_NUMBER (arg, 0); 3285 CHECK_NUMBER (arg, 0);
@@ -3309,10 +3292,10 @@ Interactively, if an argument is not given, make the window one line bigger.")
3309} 3292}
3310 3293
3311DEFUN ("shrink-window", Fshrink_window, Sshrink_window, 1, 2, "p", 3294DEFUN ("shrink-window", Fshrink_window, Sshrink_window, 1, 2, "p",
3312 "Make current window ARG lines smaller.\n\ 3295 doc: /* Make current window ARG lines smaller.
3313From program, optional second arg non-nil means shrink sideways arg columns.\n\ 3296From program, optional second arg non-nil means shrink sideways arg columns.
3314Interactively, if an argument is not given, make the window one line smaller.") 3297Interactively, if an argument is not given, make the window one line smaller. */)
3315 (arg, side) 3298 (arg, side)
3316 register Lisp_Object arg, side; 3299 register Lisp_Object arg, side;
3317{ 3300{
3318 CHECK_NUMBER (arg, 0); 3301 CHECK_NUMBER (arg, 0);
@@ -4308,12 +4291,12 @@ scroll_command (n, direction)
4308} 4291}
4309 4292
4310DEFUN ("scroll-up", Fscroll_up, Sscroll_up, 0, 1, "P", 4293DEFUN ("scroll-up", Fscroll_up, Sscroll_up, 0, 1, "P",
4311 "Scroll text of current window upward ARG lines; or near full screen if no ARG.\n\ 4294 doc: /* Scroll text of current window upward ARG lines; or near full screen if no ARG.
4312A near full screen is `next-screen-context-lines' less than a full screen.\n\ 4295A near full screen is `next-screen-context-lines' less than a full screen.
4313Negative ARG means scroll downward.\n\ 4296Negative ARG means scroll downward.
4314If ARG is the atom `-', scroll downward by nearly full screen.\n\ 4297If ARG is the atom `-', scroll downward by nearly full screen.
4315When calling from a program, supply as argument a number, nil, or `-'.") 4298When calling from a program, supply as argument a number, nil, or `-'. */)
4316 (arg) 4299 (arg)
4317 Lisp_Object arg; 4300 Lisp_Object arg;
4318{ 4301{
4319 scroll_command (arg, 1); 4302 scroll_command (arg, 1);
@@ -4321,12 +4304,12 @@ When calling from a program, supply as argument a number, nil, or `-'.")
4321} 4304}
4322 4305
4323DEFUN ("scroll-down", Fscroll_down, Sscroll_down, 0, 1, "P", 4306DEFUN ("scroll-down", Fscroll_down, Sscroll_down, 0, 1, "P",
4324 "Scroll text of current window down ARG lines; or near full screen if no ARG.\n\ 4307 doc: /* Scroll text of current window down ARG lines; or near full screen if no ARG.
4325A near full screen is `next-screen-context-lines' less than a full screen.\n\ 4308A near full screen is `next-screen-context-lines' less than a full screen.
4326Negative ARG means scroll upward.\n\ 4309Negative ARG means scroll upward.
4327If ARG is the atom `-', scroll upward by nearly full screen.\n\ 4310If ARG is the atom `-', scroll upward by nearly full screen.
4328When calling from a program, supply as argument a number, nil, or `-'.") 4311When calling from a program, supply as argument a number, nil, or `-'. */)
4329 (arg) 4312 (arg)
4330 Lisp_Object arg; 4313 Lisp_Object arg;
4331{ 4314{
4332 scroll_command (arg, -1); 4315 scroll_command (arg, -1);
@@ -4334,12 +4317,12 @@ When calling from a program, supply as argument a number, nil, or `-'.")
4334} 4317}
4335 4318
4336DEFUN ("other-window-for-scrolling", Fother_window_for_scrolling, Sother_window_for_scrolling, 0, 0, 0, 4319DEFUN ("other-window-for-scrolling", Fother_window_for_scrolling, Sother_window_for_scrolling, 0, 0, 0,
4337 "Return the other window for \"other window scroll\" commands.\n\ 4320 doc: /* Return the other window for \"other window scroll\" commands.
4338If in the minibuffer, `minibuffer-scroll-window' if non-nil\n\ 4321If in the minibuffer, `minibuffer-scroll-window' if non-nil
4339specifies the window.\n\ 4322specifies the window.
4340If `other-window-scroll-buffer' is non-nil, a window\n\ 4323If `other-window-scroll-buffer' is non-nil, a window
4341showing that buffer is used.") 4324showing that buffer is used. */)
4342 () 4325 ()
4343{ 4326{
4344 Lisp_Object window; 4327 Lisp_Object window;
4345 4328
@@ -4377,18 +4360,18 @@ showing that buffer is used.")
4377} 4360}
4378 4361
4379DEFUN ("scroll-other-window", Fscroll_other_window, Sscroll_other_window, 0, 1, "P", 4362DEFUN ("scroll-other-window", Fscroll_other_window, Sscroll_other_window, 0, 1, "P",
4380 "Scroll next window upward ARG lines; or near full screen if no ARG.\n\ 4363 doc: /* Scroll next window upward ARG lines; or near full screen if no ARG.
4381A near full screen is `next-screen-context-lines' less than a full screen.\n\ 4364A near full screen is `next-screen-context-lines' less than a full screen.
4382The next window is the one below the current one; or the one at the top\n\ 4365The next window is the one below the current one; or the one at the top
4383if the current one is at the bottom. Negative ARG means scroll downward.\n\ 4366if the current one is at the bottom. Negative ARG means scroll downward.
4384If ARG is the atom `-', scroll downward by nearly full screen.\n\ 4367If ARG is the atom `-', scroll downward by nearly full screen.
4385When calling from a program, supply as argument a number, nil, or `-'.\n\ 4368When calling from a program, supply as argument a number, nil, or `-'.
4386\n\ 4369
4387If in the minibuffer, `minibuffer-scroll-window' if non-nil\n\ 4370If in the minibuffer, `minibuffer-scroll-window' if non-nil
4388specifies the window to scroll.\n\ 4371specifies the window to scroll.
4389If `other-window-scroll-buffer' is non-nil, scroll the window\n\ 4372If `other-window-scroll-buffer' is non-nil, scroll the window
4390showing that buffer, popping the buffer up if necessary.") 4373showing that buffer, popping the buffer up if necessary. */)
4391 (arg) 4374 (arg)
4392 Lisp_Object arg; 4375 Lisp_Object arg;
4393{ 4376{
4394 Lisp_Object window; 4377 Lisp_Object window;
@@ -4424,9 +4407,9 @@ showing that buffer, popping the buffer up if necessary.")
4424} 4407}
4425 4408
4426DEFUN ("scroll-left", Fscroll_left, Sscroll_left, 0, 1, "P", 4409DEFUN ("scroll-left", Fscroll_left, Sscroll_left, 0, 1, "P",
4427 "Scroll selected window display ARG columns left.\n\ 4410 doc: /* Scroll selected window display ARG columns left.
4428Default for ARG is window width minus 2.") 4411Default for ARG is window width minus 2. */)
4429 (arg) 4412 (arg)
4430 register Lisp_Object arg; 4413 register Lisp_Object arg;
4431{ 4414{
4432 Lisp_Object result; 4415 Lisp_Object result;
@@ -4448,9 +4431,9 @@ Default for ARG is window width minus 2.")
4448} 4431}
4449 4432
4450DEFUN ("scroll-right", Fscroll_right, Sscroll_right, 0, 1, "P", 4433DEFUN ("scroll-right", Fscroll_right, Sscroll_right, 0, 1, "P",
4451 "Scroll selected window display ARG columns right.\n\ 4434 doc: /* Scroll selected window display ARG columns right.
4452Default for ARG is window width minus 2.") 4435Default for ARG is window width minus 2. */)
4453 (arg) 4436 (arg)
4454 register Lisp_Object arg; 4437 register Lisp_Object arg;
4455{ 4438{
4456 Lisp_Object result; 4439 Lisp_Object result;
@@ -4521,16 +4504,16 @@ displayed_window_lines (w)
4521 4504
4522 4505
4523DEFUN ("recenter", Frecenter, Srecenter, 0, 1, "P", 4506DEFUN ("recenter", Frecenter, Srecenter, 0, 1, "P",
4524 "Center point in window and redisplay frame.\n\ 4507 doc: /* Center point in window and redisplay frame.
4525With prefix argument ARG, recenter putting point on screen line ARG\n\ 4508With prefix argument ARG, recenter putting point on screen line ARG
4526relative to the current window. If ARG is negative, it counts up from the\n\ 4509relative to the current window. If ARG is negative, it counts up from the
4527bottom of the window. (ARG should be less than the height of the window.)\n\ 4510bottom of the window. (ARG should be less than the height of the window.)
4528\n\ 4511
4529If ARG is omitted or nil, erase the entire frame and then\n\ 4512If ARG is omitted or nil, erase the entire frame and then
4530redraw with point in the center of the current window.\n\ 4513redraw with point in the center of the current window.
4531Just C-u as prefix means put point in the center of the window\n\ 4514Just C-u as prefix means put point in the center of the window
4532and redisplay normally--don't erase and redraw the frame.") 4515and redisplay normally--don't erase and redraw the frame. */)
4533 (arg) 4516 (arg)
4534 register Lisp_Object arg; 4517 register Lisp_Object arg;
4535{ 4518{
4536 struct window *w = XWINDOW (selected_window); 4519 struct window *w = XWINDOW (selected_window);
@@ -4646,11 +4629,11 @@ and redisplay normally--don't erase and redraw the frame.")
4646 4629
4647 4630
4648DEFUN ("window-text-height", Fwindow_text_height, Swindow_text_height, 4631DEFUN ("window-text-height", Fwindow_text_height, Swindow_text_height,
4649 0, 1, 0, 4632 0, 1, 0,
4650 "Return the height in lines of the text display area of WINDOW.\n\ 4633 doc: /* Return the height in lines of the text display area of WINDOW.
4651This doesn't include the mode-line (or header-line if any) or any\n\ 4634This doesn't include the mode-line (or header-line if any) or any
4652partial-height lines in the text display area.") 4635partial-height lines in the text display area. */)
4653 (window) 4636 (window)
4654 Lisp_Object window; 4637 Lisp_Object window;
4655{ 4638{
4656 struct window *w = decode_window (window); 4639 struct window *w = decode_window (window);
@@ -4662,12 +4645,12 @@ partial-height lines in the text display area.")
4662 4645
4663 4646
4664DEFUN ("move-to-window-line", Fmove_to_window_line, Smove_to_window_line, 4647DEFUN ("move-to-window-line", Fmove_to_window_line, Smove_to_window_line,
4665 1, 1, "P", 4648 1, 1, "P",
4666 "Position point relative to window.\n\ 4649 doc: /* Position point relative to window.
4667With no argument, position point at center of window.\n\ 4650With no argument, position point at center of window.
4668An argument specifies vertical position within the window;\n\ 4651An argument specifies vertical position within the window;
4669zero means top of window, negative means relative to bottom of window.") 4652zero means top of window, negative means relative to bottom of window. */)
4670 (arg) 4653 (arg)
4671 Lisp_Object arg; 4654 Lisp_Object arg;
4672{ 4655{
4673 struct window *w = XWINDOW (selected_window); 4656 struct window *w = XWINDOW (selected_window);
@@ -4752,8 +4735,8 @@ struct saved_window
4752 ((struct saved_window *) (XVECTOR ((swv)->contents[(n)]))) 4735 ((struct saved_window *) (XVECTOR ((swv)->contents[(n)])))
4753 4736
4754DEFUN ("window-configuration-p", Fwindow_configuration_p, Swindow_configuration_p, 1, 1, 0, 4737DEFUN ("window-configuration-p", Fwindow_configuration_p, Swindow_configuration_p, 1, 1, 0,
4755 "Return t if OBJECT is a window-configuration object.") 4738 doc: /* Return t if OBJECT is a window-configuration object. */)
4756 (object) 4739 (object)
4757 Lisp_Object object; 4740 Lisp_Object object;
4758{ 4741{
4759 if (WINDOW_CONFIGURATIONP (object)) 4742 if (WINDOW_CONFIGURATIONP (object))
@@ -4762,8 +4745,8 @@ DEFUN ("window-configuration-p", Fwindow_configuration_p, Swindow_configuration_
4762} 4745}
4763 4746
4764DEFUN ("window-configuration-frame", Fwindow_configuration_frame, Swindow_configuration_frame, 1, 1, 0, 4747DEFUN ("window-configuration-frame", Fwindow_configuration_frame, Swindow_configuration_frame, 1, 1, 0,
4765 "Return the frame that CONFIG, a window-configuration object, is about.") 4748 doc: /* Return the frame that CONFIG, a window-configuration object, is about. */)
4766 (config) 4749 (config)
4767 Lisp_Object config; 4750 Lisp_Object config;
4768{ 4751{
4769 register struct save_window_data *data; 4752 register struct save_window_data *data;
@@ -4778,14 +4761,14 @@ DEFUN ("window-configuration-frame", Fwindow_configuration_frame, Swindow_config
4778} 4761}
4779 4762
4780DEFUN ("set-window-configuration", Fset_window_configuration, 4763DEFUN ("set-window-configuration", Fset_window_configuration,
4781 Sset_window_configuration, 1, 1, 0, 4764 Sset_window_configuration, 1, 1, 0,
4782 "Set the configuration of windows and buffers as specified by CONFIGURATION.\n\ 4765 doc: /* Set the configuration of windows and buffers as specified by CONFIGURATION.
4783CONFIGURATION must be a value previously returned\n\ 4766CONFIGURATION must be a value previously returned
4784by `current-window-configuration' (which see).\n\ 4767by `current-window-configuration' (which see).
4785If CONFIGURATION was made from a frame that is now deleted,\n\ 4768If CONFIGURATION was made from a frame that is now deleted,
4786only frame-independent values can be restored. In this case,\n\ 4769only frame-independent values can be restored. In this case,
4787the return value is nil. Otherwise the value is t.") 4770the return value is nil. Otherwise the value is t. */)
4788 (configuration) 4771 (configuration)
4789 Lisp_Object configuration; 4772 Lisp_Object configuration;
4790{ 4773{
4791 register struct save_window_data *data; 4774 register struct save_window_data *data;
@@ -5257,16 +5240,16 @@ save_window_save (window, vector, i)
5257} 5240}
5258 5241
5259DEFUN ("current-window-configuration", Fcurrent_window_configuration, 5242DEFUN ("current-window-configuration", Fcurrent_window_configuration,
5260 Scurrent_window_configuration, 0, 1, 0, 5243 Scurrent_window_configuration, 0, 1, 0,
5261 "Return an object representing the current window configuration of FRAME.\n\ 5244 doc: /* Return an object representing the current window configuration of FRAME.
5262If FRAME is nil or omitted, use the selected frame.\n\ 5245If FRAME is nil or omitted, use the selected frame.
5263This describes the number of windows, their sizes and current buffers,\n\ 5246This describes the number of windows, their sizes and current buffers,
5264and for each displayed buffer, where display starts, and the positions of\n\ 5247and for each displayed buffer, where display starts, and the positions of
5265point and mark. An exception is made for point in the current buffer:\n\ 5248point and mark. An exception is made for point in the current buffer:
5266its value is -not- saved.\n\ 5249its value is -not- saved.
5267This also records the currently selected frame, and FRAME's focus\n\ 5250This also records the currently selected frame, and FRAME's focus
5268redirection (see `redirect-frame-focus').") 5251redirection (see `redirect-frame-focus'). */)
5269 (frame) 5252 (frame)
5270 Lisp_Object frame; 5253 Lisp_Object frame;
5271{ 5254{
5272 register Lisp_Object tem; 5255 register Lisp_Object tem;
@@ -5308,14 +5291,14 @@ redirection (see `redirect-frame-focus').")
5308} 5291}
5309 5292
5310DEFUN ("save-window-excursion", Fsave_window_excursion, Ssave_window_excursion, 5293DEFUN ("save-window-excursion", Fsave_window_excursion, Ssave_window_excursion,
5311 0, UNEVALLED, 0, 5294 0, UNEVALLED, 0,
5312 "Execute body, preserving window sizes and contents.\n\ 5295 doc: /* Execute body, preserving window sizes and contents.
5313Restore which buffer appears in which window, where display starts,\n\ 5296Restore which buffer appears in which window, where display starts,
5314and the value of point and mark for each window.\n\ 5297and the value of point and mark for each window.
5315Also restore the choice of selected window.\n\ 5298Also restore the choice of selected window.
5316Also restore which buffer is current.\n\ 5299Also restore which buffer is current.
5317Does not restore the value of point in current buffer.") 5300Does not restore the value of point in current buffer. */)
5318 (args) 5301 (args)
5319 Lisp_Object args; 5302 Lisp_Object args;
5320{ 5303{
5321 register Lisp_Object val; 5304 register Lisp_Object val;
@@ -5334,13 +5317,13 @@ Does not restore the value of point in current buffer.")
5334 5317
5335DEFUN ("set-window-margins", Fset_window_margins, Sset_window_margins, 5318DEFUN ("set-window-margins", Fset_window_margins, Sset_window_margins,
5336 2, 3, 0, 5319 2, 3, 0,
5337 "Set width of marginal areas of window WINDOW.\n\ 5320 doc: /* Set width of marginal areas of window WINDOW.
5338If window is nil, set margins of the currently selected window.\n\ 5321If window is nil, set margins of the currently selected window.
5339First parameter LEFT-WIDTH specifies the number of character\n\ 5322First parameter LEFT-WIDTH specifies the number of character
5340cells to reserve for the left marginal area. Second parameter\n\ 5323cells to reserve for the left marginal area. Second parameter
5341RIGHT-WIDTH does the same for the right marginal area.\n\ 5324RIGHT-WIDTH does the same for the right marginal area.
5342A nil width parameter means no margin.") 5325A nil width parameter means no margin. */)
5343 (window, left, right) 5326 (window, left, right)
5344 Lisp_Object window, left, right; 5327 Lisp_Object window, left, right;
5345{ 5328{
5346 struct window *w = decode_window (window); 5329 struct window *w = decode_window (window);
@@ -5375,12 +5358,12 @@ A nil width parameter means no margin.")
5375 5358
5376DEFUN ("window-margins", Fwindow_margins, Swindow_margins, 5359DEFUN ("window-margins", Fwindow_margins, Swindow_margins,
5377 0, 1, 0, 5360 0, 1, 0,
5378 "Get width of marginal areas of window WINDOW.\n\ 5361 doc: /* Get width of marginal areas of window WINDOW.
5379If WINDOW is omitted or nil, use the currently selected window.\n\ 5362If WINDOW is omitted or nil, use the currently selected window.
5380Value is a cons of the form (LEFT-WIDTH . RIGHT-WIDTH).\n\ 5363Value is a cons of the form (LEFT-WIDTH . RIGHT-WIDTH).
5381If a marginal area does not exist, its width will be returned\n\ 5364If a marginal area does not exist, its width will be returned
5382as nil.") 5365as nil. */)
5383 (window) 5366 (window)
5384 Lisp_Object window; 5367 Lisp_Object window;
5385{ 5368{
5386 struct window *w = decode_window (window); 5369 struct window *w = decode_window (window);
@@ -5394,10 +5377,10 @@ as nil.")
5394 ***********************************************************************/ 5377 ***********************************************************************/
5395 5378
5396DEFUN ("window-vscroll", Fwindow_vscroll, Swindow_vscroll, 0, 1, 0, 5379DEFUN ("window-vscroll", Fwindow_vscroll, Swindow_vscroll, 0, 1, 0,
5397 "Return the amount by which WINDOW is scrolled vertically.\n\ 5380 doc: /* Return the amount by which WINDOW is scrolled vertically.
5398Use the selected window if WINDOW is nil or omitted.\n\ 5381Use the selected window if WINDOW is nil or omitted.
5399Value is a multiple of the canonical character height of WINDOW.") 5382Value is a multiple of the canonical character height of WINDOW. */)
5400 (window) 5383 (window)
5401 Lisp_Object window; 5384 Lisp_Object window;
5402{ 5385{
5403 Lisp_Object result; 5386 Lisp_Object result;
@@ -5421,10 +5404,10 @@ Value is a multiple of the canonical character height of WINDOW.")
5421 5404
5422DEFUN ("set-window-vscroll", Fset_window_vscroll, Sset_window_vscroll, 5405DEFUN ("set-window-vscroll", Fset_window_vscroll, Sset_window_vscroll,
5423 2, 2, 0, 5406 2, 2, 0,
5424 "Set amount by which WINDOW should be scrolled vertically to VSCROLL.\n\ 5407 doc: /* Set amount by which WINDOW should be scrolled vertically to VSCROLL.
5425WINDOW nil or omitted means use the selected window. VSCROLL is a\n\ 5408WINDOW nil or omitted means use the selected window. VSCROLL is a
5426non-negative multiple of the canonical character height of WINDOW.") 5409non-negative multiple of the canonical character height of WINDOW. */)
5427 (window, vscroll) 5410 (window, vscroll)
5428 Lisp_Object window, vscroll; 5411 Lisp_Object window, vscroll;
5429{ 5412{
5430 struct window *w; 5413 struct window *w;
@@ -5648,10 +5631,10 @@ compare_window_configurations (c1, c2, ignore_positions)
5648 5631
5649DEFUN ("compare-window-configurations", Fcompare_window_configurations, 5632DEFUN ("compare-window-configurations", Fcompare_window_configurations,
5650 Scompare_window_configurations, 2, 2, 0, 5633 Scompare_window_configurations, 2, 2, 0,
5651 "Compare two window configurations as regards the structure of windows.\n\ 5634 doc: /* Compare two window configurations as regards the structure of windows.
5652This function ignores details such as the values of point and mark\n\ 5635This function ignores details such as the values of point and mark
5653and scrolling positions.") 5636and scrolling positions. */)
5654 (x, y) 5637 (x, y)
5655 Lisp_Object x, y; 5638 Lisp_Object x, y;
5656{ 5639{
5657 if (compare_window_configurations (x, y, 1)) 5640 if (compare_window_configurations (x, y, 1))
@@ -5708,166 +5691,166 @@ syms_of_window ()
5708 staticpro (&Vwindow_list); 5691 staticpro (&Vwindow_list);
5709 5692
5710 DEFVAR_LISP ("temp-buffer-show-function", &Vtemp_buffer_show_function, 5693 DEFVAR_LISP ("temp-buffer-show-function", &Vtemp_buffer_show_function,
5711 "Non-nil means call as function to display a help buffer.\n\ 5694 doc: /* Non-nil means call as function to display a help buffer.
5712The function is called with one argument, the buffer to be displayed.\n\ 5695The function is called with one argument, the buffer to be displayed.
5713Used by `with-output-to-temp-buffer'.\n\ 5696Used by `with-output-to-temp-buffer'.
5714If this function is used, then it must do the entire job of showing\n\ 5697If this function is used, then it must do the entire job of showing
5715the buffer; `temp-buffer-show-hook' is not run unless this function runs it."); 5698the buffer; `temp-buffer-show-hook' is not run unless this function runs it. */);
5716 Vtemp_buffer_show_function = Qnil; 5699 Vtemp_buffer_show_function = Qnil;
5717 5700
5718 DEFVAR_LISP ("display-buffer-function", &Vdisplay_buffer_function, 5701 DEFVAR_LISP ("display-buffer-function", &Vdisplay_buffer_function,
5719 "If non-nil, function to call to handle `display-buffer'.\n\ 5702 doc: /* If non-nil, function to call to handle `display-buffer'.
5720It will receive two args, the buffer and a flag which if non-nil means\n\ 5703It will receive two args, the buffer and a flag which if non-nil means
5721 that the currently selected window is not acceptable.\n\ 5704 that the currently selected window is not acceptable.
5722Commands such as `switch-to-buffer-other-window' and `find-file-other-window'\n\ 5705Commands such as `switch-to-buffer-other-window' and `find-file-other-window'
5723work using this function."); 5706work using this function. */);
5724 Vdisplay_buffer_function = Qnil; 5707 Vdisplay_buffer_function = Qnil;
5725 5708
5726 DEFVAR_LISP ("even-window-heights", &Veven_window_heights, 5709 DEFVAR_LISP ("even-window-heights", &Veven_window_heights,
5727 "*If non-nil, `display-buffer' should even the window heights.\n\ 5710 doc: /* *If non-nil, `display-buffer' should even the window heights.
5728If nil, `display-buffer' will leave the window configuration alone."); 5711If nil, `display-buffer' will leave the window configuration alone. */);
5729 Veven_window_heights = Qt; 5712 Veven_window_heights = Qt;
5730 5713
5731 DEFVAR_LISP ("minibuffer-scroll-window", &Vminibuf_scroll_window, 5714 DEFVAR_LISP ("minibuffer-scroll-window", &Vminibuf_scroll_window,
5732 "Non-nil means it is the window that C-M-v in minibuffer should scroll."); 5715 doc: /* Non-nil means it is the window that C-M-v in minibuffer should scroll. */);
5733 Vminibuf_scroll_window = Qnil; 5716 Vminibuf_scroll_window = Qnil;
5734 5717
5735 DEFVAR_LISP ("other-window-scroll-buffer", &Vother_window_scroll_buffer, 5718 DEFVAR_LISP ("other-window-scroll-buffer", &Vother_window_scroll_buffer,
5736 "If non-nil, this is a buffer and \\[scroll-other-window] should scroll its window."); 5719 doc: /* If non-nil, this is a buffer and \\[scroll-other-window] should scroll its window. */);
5737 Vother_window_scroll_buffer = Qnil; 5720 Vother_window_scroll_buffer = Qnil;
5738 5721
5739 DEFVAR_BOOL ("pop-up-frames", &pop_up_frames, 5722 DEFVAR_BOOL ("pop-up-frames", &pop_up_frames,
5740 "*Non-nil means `display-buffer' should make a separate frame."); 5723 doc: /* *Non-nil means `display-buffer' should make a separate frame. */);
5741 pop_up_frames = 0; 5724 pop_up_frames = 0;
5742 5725
5743 DEFVAR_BOOL ("display-buffer-reuse-frames", &display_buffer_reuse_frames, 5726 DEFVAR_BOOL ("display-buffer-reuse-frames", &display_buffer_reuse_frames,
5744 "*Non-nil means `display-buffer' should reuse frames.\n\ 5727 doc: /* *Non-nil means `display-buffer' should reuse frames.
5745If the buffer in question is already displayed in a frame, raise that frame."); 5728If the buffer in question is already displayed in a frame, raise that frame. */);
5746 display_buffer_reuse_frames = 0; 5729 display_buffer_reuse_frames = 0;
5747 5730
5748 DEFVAR_LISP ("pop-up-frame-function", &Vpop_up_frame_function, 5731 DEFVAR_LISP ("pop-up-frame-function", &Vpop_up_frame_function,
5749 "Function to call to handle automatic new frame creation.\n\ 5732 doc: /* Function to call to handle automatic new frame creation.
5750It is called with no arguments and should return a newly created frame.\n\ 5733It is called with no arguments and should return a newly created frame.
5751\n\ 5734
5752A typical value might be `(lambda () (new-frame pop-up-frame-alist))'\n\ 5735A typical value might be `(lambda () (new-frame pop-up-frame-alist))'
5753where `pop-up-frame-alist' would hold the default frame parameters."); 5736where `pop-up-frame-alist' would hold the default frame parameters. */);
5754 Vpop_up_frame_function = Qnil; 5737 Vpop_up_frame_function = Qnil;
5755 5738
5756 DEFVAR_LISP ("special-display-buffer-names", &Vspecial_display_buffer_names, 5739 DEFVAR_LISP ("special-display-buffer-names", &Vspecial_display_buffer_names,
5757 "*List of buffer names that should have their own special frames.\n\ 5740 doc: /* *List of buffer names that should have their own special frames.
5758Displaying a buffer whose name is in this list makes a special frame for it\n\ 5741Displaying a buffer whose name is in this list makes a special frame for it
5759using `special-display-function'. See also `special-display-regexps'.\n\ 5742using `special-display-function'. See also `special-display-regexps'.
5760\n\ 5743
5761An element of the list can be a list instead of just a string.\n\ 5744An element of the list can be a list instead of just a string.
5762There are two ways to use a list as an element:\n\ 5745There are two ways to use a list as an element:
5763 (BUFFER FRAME-PARAMETERS...) (BUFFER FUNCTION OTHER-ARGS...)\n\ 5746 (BUFFER FRAME-PARAMETERS...) (BUFFER FUNCTION OTHER-ARGS...)
5764In the first case, FRAME-PARAMETERS are used to create the frame.\n\ 5747In the first case, FRAME-PARAMETERS are used to create the frame.
5765In the latter case, FUNCTION is called with BUFFER as the first argument,\n\ 5748In the latter case, FUNCTION is called with BUFFER as the first argument,
5766followed by OTHER-ARGS--it can display BUFFER in any way it likes.\n\ 5749followed by OTHER-ARGS--it can display BUFFER in any way it likes.
5767All this is done by the function found in `special-display-function'.\n\ 5750All this is done by the function found in `special-display-function'.
5768\n\ 5751
5769If this variable appears \"not to work\", because you add a name to it\n\ 5752If this variable appears \"not to work\", because you add a name to it
5770but that buffer still appears in the selected window, look at the\n\ 5753but that buffer still appears in the selected window, look at the
5771values of `same-window-buffer-names' and `same-window-regexps'.\n\ 5754values of `same-window-buffer-names' and `same-window-regexps'.
5772Those variables take precedence over this one."); 5755Those variables take precedence over this one. */);
5773 Vspecial_display_buffer_names = Qnil; 5756 Vspecial_display_buffer_names = Qnil;
5774 5757
5775 DEFVAR_LISP ("special-display-regexps", &Vspecial_display_regexps, 5758 DEFVAR_LISP ("special-display-regexps", &Vspecial_display_regexps,
5776 "*List of regexps saying which buffers should have their own special frames.\n\ 5759 doc: /* *List of regexps saying which buffers should have their own special frames.
5777If a buffer name matches one of these regexps, it gets its own frame.\n\ 5760If a buffer name matches one of these regexps, it gets its own frame.
5778Displaying a buffer whose name is in this list makes a special frame for it\n\ 5761Displaying a buffer whose name is in this list makes a special frame for it
5779using `special-display-function'.\n\ 5762using `special-display-function'.
5780\n\ 5763
5781An element of the list can be a list instead of just a string.\n\ 5764An element of the list can be a list instead of just a string.
5782There are two ways to use a list as an element:\n\ 5765There are two ways to use a list as an element:
5783 (REGEXP FRAME-PARAMETERS...) (REGEXP FUNCTION OTHER-ARGS...)\n\ 5766 (REGEXP FRAME-PARAMETERS...) (REGEXP FUNCTION OTHER-ARGS...)
5784In the first case, FRAME-PARAMETERS are used to create the frame.\n\ 5767In the first case, FRAME-PARAMETERS are used to create the frame.
5785In the latter case, FUNCTION is called with the buffer as first argument,\n\ 5768In the latter case, FUNCTION is called with the buffer as first argument,
5786followed by OTHER-ARGS--it can display the buffer in any way it likes.\n\ 5769followed by OTHER-ARGS--it can display the buffer in any way it likes.
5787All this is done by the function found in `special-display-function'.\n\ 5770All this is done by the function found in `special-display-function'.
5788\n\ 5771
5789If this variable appears \"not to work\", because you add a regexp to it\n\ 5772If this variable appears \"not to work\", because you add a regexp to it
5790but the matching buffers still appear in the selected window, look at the\n\ 5773but the matching buffers still appear in the selected window, look at the
5791values of `same-window-buffer-names' and `same-window-regexps'.\n\ 5774values of `same-window-buffer-names' and `same-window-regexps'.
5792Those variables take precedence over this one."); 5775Those variables take precedence over this one. */);
5793 Vspecial_display_regexps = Qnil; 5776 Vspecial_display_regexps = Qnil;
5794 5777
5795 DEFVAR_LISP ("special-display-function", &Vspecial_display_function, 5778 DEFVAR_LISP ("special-display-function", &Vspecial_display_function,
5796 "Function to call to make a new frame for a special buffer.\n\ 5779 doc: /* Function to call to make a new frame for a special buffer.
5797It is called with two arguments, the buffer and optional buffer specific\n\ 5780It is called with two arguments, the buffer and optional buffer specific
5798data, and should return a window displaying that buffer.\n\ 5781data, and should return a window displaying that buffer.
5799The default value makes a separate frame for the buffer,\n\ 5782The default value makes a separate frame for the buffer,
5800using `special-display-frame-alist' to specify the frame parameters.\n\ 5783using `special-display-frame-alist' to specify the frame parameters.
5801\n\ 5784
5802A buffer is special if its is listed in `special-display-buffer-names'\n\ 5785A buffer is special if its is listed in `special-display-buffer-names'
5803or matches a regexp in `special-display-regexps'."); 5786or matches a regexp in `special-display-regexps'. */);
5804 Vspecial_display_function = Qnil; 5787 Vspecial_display_function = Qnil;
5805 5788
5806 DEFVAR_LISP ("same-window-buffer-names", &Vsame_window_buffer_names, 5789 DEFVAR_LISP ("same-window-buffer-names", &Vsame_window_buffer_names,
5807 "*List of buffer names that should appear in the selected window.\n\ 5790 doc: /* *List of buffer names that should appear in the selected window.
5808Displaying one of these buffers using `display-buffer' or `pop-to-buffer'\n\ 5791Displaying one of these buffers using `display-buffer' or `pop-to-buffer'
5809switches to it in the selected window, rather than making it appear\n\ 5792switches to it in the selected window, rather than making it appear
5810in some other window.\n\ 5793in some other window.
5811\n\ 5794
5812An element of the list can be a cons cell instead of just a string.\n\ 5795An element of the list can be a cons cell instead of just a string.
5813Then the car must be a string, which specifies the buffer name.\n\ 5796Then the car must be a string, which specifies the buffer name.
5814This is for compatibility with `special-display-buffer-names';\n\ 5797This is for compatibility with `special-display-buffer-names';
5815the cdr of the cons cell is ignored.\n\ 5798the cdr of the cons cell is ignored.
5816\n\ 5799
5817See also `same-window-regexps'."); 5800See also `same-window-regexps'. */);
5818 Vsame_window_buffer_names = Qnil; 5801 Vsame_window_buffer_names = Qnil;
5819 5802
5820 DEFVAR_LISP ("same-window-regexps", &Vsame_window_regexps, 5803 DEFVAR_LISP ("same-window-regexps", &Vsame_window_regexps,
5821 "*List of regexps saying which buffers should appear in the selected window.\n\ 5804 doc: /* *List of regexps saying which buffers should appear in the selected window.
5822If a buffer name matches one of these regexps, then displaying it\n\ 5805If a buffer name matches one of these regexps, then displaying it
5823using `display-buffer' or `pop-to-buffer' switches to it\n\ 5806using `display-buffer' or `pop-to-buffer' switches to it
5824in the selected window, rather than making it appear in some other window.\n\ 5807in the selected window, rather than making it appear in some other window.
5825\n\ 5808
5826An element of the list can be a cons cell instead of just a string.\n\ 5809An element of the list can be a cons cell instead of just a string.
5827Then the car must be a string, which specifies the buffer name.\n\ 5810Then the car must be a string, which specifies the buffer name.
5828This is for compatibility with `special-display-buffer-names';\n\ 5811This is for compatibility with `special-display-buffer-names';
5829the cdr of the cons cell is ignored.\n\ 5812the cdr of the cons cell is ignored.
5830\n\ 5813
5831See also `same-window-buffer-names'."); 5814See also `same-window-buffer-names'. */);
5832 Vsame_window_regexps = Qnil; 5815 Vsame_window_regexps = Qnil;
5833 5816
5834 DEFVAR_BOOL ("pop-up-windows", &pop_up_windows, 5817 DEFVAR_BOOL ("pop-up-windows", &pop_up_windows,
5835 "*Non-nil means display-buffer should make new windows."); 5818 doc: /* *Non-nil means display-buffer should make new windows. */);
5836 pop_up_windows = 1; 5819 pop_up_windows = 1;
5837 5820
5838 DEFVAR_INT ("next-screen-context-lines", &next_screen_context_lines, 5821 DEFVAR_INT ("next-screen-context-lines", &next_screen_context_lines,
5839 "*Number of lines of continuity when scrolling by screenfuls."); 5822 doc: /* *Number of lines of continuity when scrolling by screenfuls. */);
5840 next_screen_context_lines = 2; 5823 next_screen_context_lines = 2;
5841 5824
5842 DEFVAR_INT ("split-height-threshold", &split_height_threshold, 5825 DEFVAR_INT ("split-height-threshold", &split_height_threshold,
5843 "*display-buffer would prefer to split the largest window if this large.\n\ 5826 doc: /* *display-buffer would prefer to split the largest window if this large.
5844If there is only one window, it is split regardless of this value."); 5827If there is only one window, it is split regardless of this value. */);
5845 split_height_threshold = 500; 5828 split_height_threshold = 500;
5846 5829
5847 DEFVAR_INT ("window-min-height", &window_min_height, 5830 DEFVAR_INT ("window-min-height", &window_min_height,
5848 "*Delete any window less than this tall (including its mode line)."); 5831 doc: /* *Delete any window less than this tall (including its mode line). */);
5849 window_min_height = 4; 5832 window_min_height = 4;
5850 5833
5851 DEFVAR_INT ("window-min-width", &window_min_width, 5834 DEFVAR_INT ("window-min-width", &window_min_width,
5852 "*Delete any window less than this wide."); 5835 doc: /* *Delete any window less than this wide. */);
5853 window_min_width = 10; 5836 window_min_width = 10;
5854 5837
5855 DEFVAR_LISP ("scroll-preserve-screen-position", 5838 DEFVAR_LISP ("scroll-preserve-screen-position",
5856 &Vscroll_preserve_screen_position, 5839 &Vscroll_preserve_screen_position,
5857 "*Non-nil means scroll commands move point to keep its screen line unchanged."); 5840 doc: /* *Non-nil means scroll commands move point to keep its screen line unchanged. */);
5858 Vscroll_preserve_screen_position = Qnil; 5841 Vscroll_preserve_screen_position = Qnil;
5859 5842
5860 DEFVAR_LISP ("window-configuration-change-hook", 5843 DEFVAR_LISP ("window-configuration-change-hook",
5861 &Vwindow_configuration_change_hook, 5844 &Vwindow_configuration_change_hook,
5862 "Functions to call when window configuration changes.\n\ 5845 doc: /* Functions to call when window configuration changes.
5863The selected frame is the one whose configuration has changed."); 5846The selected frame is the one whose configuration has changed. */);
5864 Vwindow_configuration_change_hook = Qnil; 5847 Vwindow_configuration_change_hook = Qnil;
5865 5848
5866 DEFVAR_BOOL ("window-size-fixed", &window_size_fixed, 5849 DEFVAR_BOOL ("window-size-fixed", &window_size_fixed,
5867 "Non-nil in a buffer means windows displaying the buffer are fixed-size.\n\ 5850 doc: /* Non-nil in a buffer means windows displaying the buffer are fixed-size.
5868Emacs won't change the size of any window displaying that buffer,\n\ 5851Emacs won't change the size of any window displaying that buffer,
5869unless you explicitly change the size, or Emacs has no other choice.\n\ 5852unless you explicitly change the size, or Emacs has no other choice.
5870This variable automatically becomes buffer-local when set."); 5853This variable automatically becomes buffer-local when set. */);
5871 Fmake_variable_buffer_local (Qwindow_size_fixed); 5854 Fmake_variable_buffer_local (Qwindow_size_fixed);
5872 window_size_fixed = 0; 5855 window_size_fixed = 0;
5873 5856