aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2011-04-10 18:41:15 -0700
committerPaul Eggert2011-04-10 18:41:15 -0700
commit16a97296c05ec9d5bb4ffeae9dce90fc63f578ed (patch)
tree0801b434f760fd8dded7204501ffcdb82460720c /src
parent785bbd422461295890087ced24bfd87504032d0c (diff)
downloademacs-16a97296c05ec9d5bb4ffeae9dce90fc63f578ed.tar.gz
emacs-16a97296c05ec9d5bb4ffeae9dce90fc63f578ed.zip
Make Emacs functions such as Fatom 'static' by default.
This makes it easier for human readers (and static analyzers) to see whether these functions can be called from other modules. DEFUN now defines a static function. To make the function external so that it can be used in other C modules, use the new macro DEFUE. * lisp.h (DEFINE_FUNC): New macro, with the old contents of DEFUN. (DEFUN): Rewrite in terms of DEFINE_FUNC. It now generates a static function definition. Use DEFUE if you want an extern one. (DEFUE, INFUN): New macros. (Funibyte_char_to_multibyte, Fsyntax_table_p, Finit_image_library): (Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer): (Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute): (Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes): Remove decls, since these functions are now static. (Funintern, Fget_internal_run_time): New decls, since these functions were already external. * alloc.c, buffer.c, callint.c, callproc.c, casefiddle.c, casetab.c: * ccl.c, character.c, chartab.c, cmds.c, coding.c, data.c, dispnew.c: * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, floatfns.c: * fns.c, font.c, fontset.c, frame.c, image.c, indent.c: * keyboard.c, keymap.c, lread.c: * macros.c, marker.c, menu.c, minibuf.c, print.c, process.c, search.c: * syntax.c, term.c, terminal.c, textprop.c, undo.c: * window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xsettings.c: Mark functions with DEFUE instead of DEFUN, if they are used in other modules. * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): New forward decls for now-static functions. * buffer.h (Fdelete_overlay): Remove decl. * callproc.c (Fgetenv_internal): Mark as internal. * composite.c (Fremove_list_of_text_properties): Remove decl. (Fcomposition_get_gstring): New forward static decl. * composite.h (Fcomposite_get_gstring): Remove decl. * dired.c (Ffile_attributes): New forward static decl. * doc.c (Fdocumntation_property): New forward static decl. * eval.c (Ffetch_bytecode): New forward static decl. (Funintern): Remove extern decl; now in .h file where it belongs. * fileio.c (Fmake_symbolic_link): New forward static decl. * image.c (Finit_image_library): New forward static decl. * insdel.c (Fcombine_after_change_execute): Make forward decl static. * intervals.h (Fprevious_property_change): (Fremove_list_of_text_properties): Remove decls. * keyboard.c (Fthis_command_keys): Remove decl. (Fcommand_execute): New forward static decl. * keymap.c (Flookup_key): New forward static decl. (Fcopy_keymap): Now static. * keymap.h (Flookup_key): Remove decl. * process.c (Fget_process): New forward static decl. (Fprocess_datagram_address): Mark as internal. * syntax.c (Fsyntax_table_p): New forward static decl. (skip_chars): Remove duplicate decl. * textprop.c (Fprevious_property_change): New forward static decl. * window.c (Fset_window_fringes, Fset_window_scroll_bars): Now internal. (Fset_window_margins, Fset_window_vscroll): New forward static decls. * window.h (Fset_window_vscroll, Fset_window_margins): Remove decls.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog59
-rw-r--r--src/alloc.c26
-rw-r--r--src/buffer.c53
-rw-r--r--src/buffer.h1
-rw-r--r--src/callint.c2
-rw-r--r--src/callproc.c4
-rw-r--r--src/casefiddle.c10
-rw-r--r--src/casetab.c5
-rw-r--r--src/ccl.c2
-rw-r--r--src/character.c4
-rw-r--r--src/chartab.c12
-rw-r--r--src/cmds.c6
-rw-r--r--src/coding.c16
-rw-r--r--src/composite.c2
-rw-r--r--src/composite.h2
-rw-r--r--src/data.c88
-rw-r--r--src/dired.c1
-rw-r--r--src/dispnew.c10
-rw-r--r--src/doc.c5
-rw-r--r--src/editfns.c62
-rw-r--r--src/emacs.c2
-rw-r--r--src/eval.c27
-rw-r--r--src/fileio.c37
-rw-r--r--src/filelock.c2
-rw-r--r--src/floatfns.c4
-rw-r--r--src/fns.c88
-rw-r--r--src/font.c18
-rw-r--r--src/fontset.c4
-rw-r--r--src/frame.c26
-rw-r--r--src/image.c7
-rw-r--r--src/indent.c6
-rw-r--r--src/insdel.c2
-rw-r--r--src/intervals.h2
-rw-r--r--src/keyboard.c21
-rw-r--r--src/keymap.c23
-rw-r--r--src/keymap.h2
-rw-r--r--src/lisp.h26
-rw-r--r--src/lread.c18
-rw-r--r--src/macros.c5
-rw-r--r--src/marker.c8
-rw-r--r--src/menu.c2
-rw-r--r--src/minibuf.c17
-rw-r--r--src/print.c12
-rw-r--r--src/process.c13
-rw-r--r--src/search.c10
-rw-r--r--src/syntax.c9
-rw-r--r--src/term.c2
-rw-r--r--src/terminal.c4
-rw-r--r--src/textprop.c35
-rw-r--r--src/undo.c3
-rw-r--r--src/window.c41
-rw-r--r--src/window.h2
-rw-r--r--src/xdisp.c12
-rw-r--r--src/xfaces.c8
-rw-r--r--src/xfns.c8
-rw-r--r--src/xmenu.c2
-rw-r--r--src/xsettings.c4
57 files changed, 471 insertions, 411 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 58df7e08955..56bb83e0314 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,62 @@
12011-04-11 Paul Eggert <eggert@cs.ucla.edu>
2
3 Make Emacs functions such as Fatom 'static' by default.
4 This makes it easier for human readers (and static analyzers)
5 to see whether these functions can be called from other modules.
6 DEFUN now defines a static function. To make the function external
7 so that it can be used in other C modules, use the new macro DEFUE.
8 * lisp.h (DEFINE_FUNC): New macro, with the old contents of DEFUN.
9 (DEFUN): Rewrite in terms of DEFINE_FUNC. It now generates a
10 static function definition. Use DEFUE if you want an extern one.
11 (DEFUE, INFUN): New macros.
12 (Funibyte_char_to_multibyte, Fsyntax_table_p, Finit_image_library):
13 (Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer):
14 (Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute):
15 (Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes):
16 Remove decls, since these functions are now static.
17 (Funintern, Fget_internal_run_time): New decls, since these functions
18 were already external.
19 * alloc.c, buffer.c, callint.c, callproc.c, casefiddle.c, casetab.c:
20 * ccl.c, character.c, chartab.c, cmds.c, coding.c, data.c, dispnew.c:
21 * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, floatfns.c:
22 * fns.c, font.c, fontset.c, frame.c, image.c, indent.c:
23 * keyboard.c, keymap.c, lread.c:
24 * macros.c, marker.c, menu.c, minibuf.c, print.c, process.c, search.c:
25 * syntax.c, term.c, terminal.c, textprop.c, undo.c:
26 * window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xsettings.c:
27 Mark functions with DEFUE instead of DEFUN,
28 if they are used in other modules.
29 * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): New forward
30 decls for now-static functions.
31 * buffer.h (Fdelete_overlay): Remove decl.
32 * callproc.c (Fgetenv_internal): Mark as internal.
33 * composite.c (Fremove_list_of_text_properties): Remove decl.
34 (Fcomposition_get_gstring): New forward static decl.
35 * composite.h (Fcomposite_get_gstring): Remove decl.
36 * dired.c (Ffile_attributes): New forward static decl.
37 * doc.c (Fdocumntation_property): New forward static decl.
38 * eval.c (Ffetch_bytecode): New forward static decl.
39 (Funintern): Remove extern decl; now in .h file where it belongs.
40 * fileio.c (Fmake_symbolic_link): New forward static decl.
41 * image.c (Finit_image_library): New forward static decl.
42 * insdel.c (Fcombine_after_change_execute): Make forward decl static.
43 * intervals.h (Fprevious_property_change):
44 (Fremove_list_of_text_properties): Remove decls.
45 * keyboard.c (Fthis_command_keys): Remove decl.
46 (Fcommand_execute): New forward static decl.
47 * keymap.c (Flookup_key): New forward static decl.
48 (Fcopy_keymap): Now static.
49 * keymap.h (Flookup_key): Remove decl.
50 * process.c (Fget_process): New forward static decl.
51 (Fprocess_datagram_address): Mark as internal.
52 * syntax.c (Fsyntax_table_p): New forward static decl.
53 (skip_chars): Remove duplicate decl.
54 * textprop.c (Fprevious_property_change): New forward static decl.
55 * window.c (Fset_window_fringes, Fset_window_scroll_bars):
56 Now internal.
57 (Fset_window_margins, Fset_window_vscroll): New forward static decls.
58 * window.h (Fset_window_vscroll, Fset_window_margins): Remove decls.
59
12011-04-10 Paul Eggert <eggert@cs.ucla.edu> 602011-04-10 Paul Eggert <eggert@cs.ucla.edu>
2 61
3 * editfns.c (Fformat): Remove unreachable code. 62 * editfns.c (Fformat): Remove unreachable code.
diff --git a/src/alloc.c b/src/alloc.c
index 54c4760abab..1396586ba3e 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -2174,7 +2174,7 @@ compact_small_strings (void)
2174} 2174}
2175 2175
2176 2176
2177DEFUN ("make-string", Fmake_string, Smake_string, 2, 2, 0, 2177DEFUE ("make-string", Fmake_string, Smake_string, 2, 2, 0,
2178 doc: /* Return a newly created string of length LENGTH, with INIT in each element. 2178 doc: /* Return a newly created string of length LENGTH, with INIT in each element.
2179LENGTH must be an integer. 2179LENGTH must be an integer.
2180INIT must be an integer that represents a character. */) 2180INIT must be an integer that represents a character. */)
@@ -2222,7 +2222,7 @@ INIT must be an integer that represents a character. */)
2222} 2222}
2223 2223
2224 2224
2225DEFUN ("make-bool-vector", Fmake_bool_vector, Smake_bool_vector, 2, 2, 0, 2225DEFUE ("make-bool-vector", Fmake_bool_vector, Smake_bool_vector, 2, 2, 0,
2226 doc: /* Return a new bool-vector of length LENGTH, using INIT for each element. 2226 doc: /* Return a new bool-vector of length LENGTH, using INIT for each element.
2227LENGTH must be a number. INIT matters only in whether it is t or nil. */) 2227LENGTH must be a number. INIT matters only in whether it is t or nil. */)
2228 (Lisp_Object length, Lisp_Object init) 2228 (Lisp_Object length, Lisp_Object init)
@@ -2610,7 +2610,7 @@ free_cons (struct Lisp_Cons *ptr)
2610 cons_free_list = ptr; 2610 cons_free_list = ptr;
2611} 2611}
2612 2612
2613DEFUN ("cons", Fcons, Scons, 2, 2, 0, 2613DEFUE ("cons", Fcons, Scons, 2, 2, 0,
2614 doc: /* Create a new cons, give it CAR and CDR as components, and return it. */) 2614 doc: /* Create a new cons, give it CAR and CDR as components, and return it. */)
2615 (Lisp_Object car, Lisp_Object cdr) 2615 (Lisp_Object car, Lisp_Object cdr)
2616{ 2616{
@@ -2703,7 +2703,7 @@ list5 (Lisp_Object arg1, Lisp_Object arg2, Lisp_Object arg3, Lisp_Object arg4, L
2703} 2703}
2704 2704
2705 2705
2706DEFUN ("list", Flist, Slist, 0, MANY, 0, 2706DEFUE ("list", Flist, Slist, 0, MANY, 0,
2707 doc: /* Return a newly created list with specified arguments as elements. 2707 doc: /* Return a newly created list with specified arguments as elements.
2708Any number of arguments, even zero arguments, are allowed. 2708Any number of arguments, even zero arguments, are allowed.
2709usage: (list &rest OBJECTS) */) 2709usage: (list &rest OBJECTS) */)
@@ -2721,7 +2721,7 @@ usage: (list &rest OBJECTS) */)
2721} 2721}
2722 2722
2723 2723
2724DEFUN ("make-list", Fmake_list, Smake_list, 2, 2, 0, 2724DEFUE ("make-list", Fmake_list, Smake_list, 2, 2, 0,
2725 doc: /* Return a newly created list of length LENGTH, with each element being INIT. */) 2725 doc: /* Return a newly created list of length LENGTH, with each element being INIT. */)
2726 (register Lisp_Object length, Lisp_Object init) 2726 (register Lisp_Object length, Lisp_Object init)
2727{ 2727{
@@ -2897,7 +2897,7 @@ allocate_process (void)
2897} 2897}
2898 2898
2899 2899
2900DEFUN ("make-vector", Fmake_vector, Smake_vector, 2, 2, 0, 2900DEFUE ("make-vector", Fmake_vector, Smake_vector, 2, 2, 0,
2901 doc: /* Return a newly created vector of length LENGTH, with each element being INIT. 2901 doc: /* Return a newly created vector of length LENGTH, with each element being INIT.
2902See also the function `vector'. */) 2902See also the function `vector'. */)
2903 (register Lisp_Object length, Lisp_Object init) 2903 (register Lisp_Object length, Lisp_Object init)
@@ -2919,7 +2919,7 @@ See also the function `vector'. */)
2919} 2919}
2920 2920
2921 2921
2922DEFUN ("vector", Fvector, Svector, 0, MANY, 0, 2922DEFUE ("vector", Fvector, Svector, 0, MANY, 0,
2923 doc: /* Return a newly created vector with specified arguments as elements. 2923 doc: /* Return a newly created vector with specified arguments as elements.
2924Any number of arguments, even zero arguments, are allowed. 2924Any number of arguments, even zero arguments, are allowed.
2925usage: (vector &rest OBJECTS) */) 2925usage: (vector &rest OBJECTS) */)
@@ -2938,7 +2938,7 @@ usage: (vector &rest OBJECTS) */)
2938} 2938}
2939 2939
2940 2940
2941DEFUN ("make-byte-code", Fmake_byte_code, Smake_byte_code, 4, MANY, 0, 2941DEFUE ("make-byte-code", Fmake_byte_code, Smake_byte_code, 4, MANY, 0,
2942 doc: /* Create a byte-code object with specified arguments as elements. 2942 doc: /* Create a byte-code object with specified arguments as elements.
2943The arguments should be the ARGLIST, bytecode-string BYTE-CODE, constant 2943The arguments should be the ARGLIST, bytecode-string BYTE-CODE, constant
2944vector CONSTANTS, maximum stack size DEPTH, (optional) DOCSTRING, 2944vector CONSTANTS, maximum stack size DEPTH, (optional) DOCSTRING,
@@ -3033,7 +3033,7 @@ init_symbol (void)
3033} 3033}
3034 3034
3035 3035
3036DEFUN ("make-symbol", Fmake_symbol, Smake_symbol, 1, 1, 0, 3036DEFUE ("make-symbol", Fmake_symbol, Smake_symbol, 1, 1, 0,
3037 doc: /* Return a newly allocated uninterned symbol whose name is NAME. 3037 doc: /* Return a newly allocated uninterned symbol whose name is NAME.
3038Its value and function definition are void, and its property list is nil. */) 3038Its value and function definition are void, and its property list is nil. */)
3039 (Lisp_Object name) 3039 (Lisp_Object name)
@@ -3196,7 +3196,7 @@ make_save_value (void *pointer, int integer)
3196 return val; 3196 return val;
3197} 3197}
3198 3198
3199DEFUN ("make-marker", Fmake_marker, Smake_marker, 0, 0, 0, 3199DEFUE ("make-marker", Fmake_marker, Smake_marker, 0, 0, 0,
3200 doc: /* Return a newly allocated marker which does not point at any place. */) 3200 doc: /* Return a newly allocated marker which does not point at any place. */)
3201 (void) 3201 (void)
3202{ 3202{
@@ -3925,7 +3925,7 @@ static int max_live, max_zombies;
3925 3925
3926static double avg_live; 3926static double avg_live;
3927 3927
3928DEFUN ("gc-status", Fgc_status, Sgc_status, 0, 0, "", 3928DEFUE ("gc-status", Fgc_status, Sgc_status, 0, 0, "",
3929 doc: /* Show information about live and zombie objects. */) 3929 doc: /* Show information about live and zombie objects. */)
3930 (void) 3930 (void)
3931{ 3931{
@@ -4740,7 +4740,7 @@ make_pure_vector (EMACS_INT len)
4740} 4740}
4741 4741
4742 4742
4743DEFUN ("purecopy", Fpurecopy, Spurecopy, 1, 1, 0, 4743DEFUE ("purecopy", Fpurecopy, Spurecopy, 1, 1, 0,
4744 doc: /* Make a copy of object OBJ in pure storage. 4744 doc: /* Make a copy of object OBJ in pure storage.
4745Recursively copies contents of vectors and cons cells. 4745Recursively copies contents of vectors and cons cells.
4746Does not copy symbols. Copies strings without text properties. */) 4746Does not copy symbols. Copies strings without text properties. */)
@@ -4834,7 +4834,7 @@ inhibit_garbage_collection (void)
4834} 4834}
4835 4835
4836 4836
4837DEFUN ("garbage-collect", Fgarbage_collect, Sgarbage_collect, 0, 0, "", 4837DEFUE ("garbage-collect", Fgarbage_collect, Sgarbage_collect, 0, 0, "",
4838 doc: /* Reclaim storage for Lisp objects no longer needed. 4838 doc: /* Reclaim storage for Lisp objects no longer needed.
4839Garbage collection happens automatically if you cons more than 4839Garbage collection happens automatically if you cons more than
4840`gc-cons-threshold' bytes of Lisp data since previous garbage collection. 4840`gc-cons-threshold' bytes of Lisp data since previous garbage collection.
diff --git a/src/buffer.c b/src/buffer.c
index a0054e32d0a..a88afbb36e6 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -100,6 +100,8 @@ static char buffer_permanent_local_flags[MAX_PER_BUFFER_VARS];
100 100
101int last_per_buffer_idx; 101int last_per_buffer_idx;
102 102
103INFUN (Fset_buffer_major_mode, 1);
104INFUN (Fdelete_overlay, 1);
103static void call_overlay_mod_hooks (Lisp_Object list, Lisp_Object overlay, 105static void call_overlay_mod_hooks (Lisp_Object list, Lisp_Object overlay,
104 int after, Lisp_Object arg1, 106 int after, Lisp_Object arg1,
105 Lisp_Object arg2, Lisp_Object arg3); 107 Lisp_Object arg2, Lisp_Object arg3);
@@ -157,7 +159,7 @@ nsberror (Lisp_Object spec)
157 error ("Invalid buffer argument"); 159 error ("Invalid buffer argument");
158} 160}
159 161
160DEFUN ("buffer-live-p", Fbuffer_live_p, Sbuffer_live_p, 1, 1, 0, 162DEFUE ("buffer-live-p", Fbuffer_live_p, Sbuffer_live_p, 1, 1, 0,
161 doc: /* Return non-nil if OBJECT is a buffer which has not been killed. 163 doc: /* Return non-nil if OBJECT is a buffer which has not been killed.
162Value is nil if OBJECT is not a buffer or if it has been killed. */) 164Value is nil if OBJECT is not a buffer or if it has been killed. */)
163 (Lisp_Object object) 165 (Lisp_Object object)
@@ -229,7 +231,7 @@ assoc_ignore_text_properties (register Lisp_Object key, Lisp_Object list)
229 return Qnil; 231 return Qnil;
230} 232}
231 233
232DEFUN ("get-buffer", Fget_buffer, Sget_buffer, 1, 1, 0, 234DEFUE ("get-buffer", Fget_buffer, Sget_buffer, 1, 1, 0,
233 doc: /* Return the buffer named BUFFER-OR-NAME. 235 doc: /* Return the buffer named BUFFER-OR-NAME.
234BUFFER-OR-NAME must be either a string or a buffer. If BUFFER-OR-NAME 236BUFFER-OR-NAME must be either a string or a buffer. If BUFFER-OR-NAME
235is a string and there is no buffer with that name, return nil. If 237is a string and there is no buffer with that name, return nil. If
@@ -294,7 +296,7 @@ get_truename_buffer (register Lisp_Object filename)
294/* Incremented for each buffer created, to assign the buffer number. */ 296/* Incremented for each buffer created, to assign the buffer number. */
295int buffer_count; 297int buffer_count;
296 298
297DEFUN ("get-buffer-create", Fget_buffer_create, Sget_buffer_create, 1, 1, 0, 299DEFUE ("get-buffer-create", Fget_buffer_create, Sget_buffer_create, 1, 1, 0,
298 doc: /* Return the buffer specified by BUFFER-OR-NAME, creating a new one if needed. 300 doc: /* Return the buffer specified by BUFFER-OR-NAME, creating a new one if needed.
299If BUFFER-OR-NAME is a string and a live buffer with that name exists, 301If BUFFER-OR-NAME is a string and a live buffer with that name exists,
300return that buffer. If no such buffer exists, create a new buffer with 302return that buffer. If no such buffer exists, create a new buffer with
@@ -830,8 +832,8 @@ reset_buffer_local_variables (register struct buffer *b, int permanent_too)
830 and set-visited-file-name ought to be able to use this to really 832 and set-visited-file-name ought to be able to use this to really
831 rename the buffer properly. */ 833 rename the buffer properly. */
832 834
833DEFUN ("generate-new-buffer-name", Fgenerate_new_buffer_name, Sgenerate_new_buffer_name, 835DEFUE ("generate-new-buffer-name", Fgenerate_new_buffer_name,
834 1, 2, 0, 836 Sgenerate_new_buffer_name, 1, 2, 0,
835 doc: /* Return a string that is the name of no existing buffer based on NAME. 837 doc: /* Return a string that is the name of no existing buffer based on NAME.
836If there is no live buffer named NAME, then return NAME. 838If there is no live buffer named NAME, then return NAME.
837Otherwise modify name by appending `<NUMBER>', incrementing NUMBER 839Otherwise modify name by appending `<NUMBER>', incrementing NUMBER
@@ -868,7 +870,7 @@ it is in the sequence to be tried) even if a buffer with that name exists. */)
868} 870}
869 871
870 872
871DEFUN ("buffer-name", Fbuffer_name, Sbuffer_name, 0, 1, 0, 873DEFUE ("buffer-name", Fbuffer_name, Sbuffer_name, 0, 1, 0,
872 doc: /* Return the name of BUFFER, as a string. 874 doc: /* Return the name of BUFFER, as a string.
873BUFFER defaults to the current buffer. 875BUFFER defaults to the current buffer.
874Return nil if BUFFER has been killed. */) 876Return nil if BUFFER has been killed. */)
@@ -880,7 +882,7 @@ Return nil if BUFFER has been killed. */)
880 return BVAR (XBUFFER (buffer), name); 882 return BVAR (XBUFFER (buffer), name);
881} 883}
882 884
883DEFUN ("buffer-file-name", Fbuffer_file_name, Sbuffer_file_name, 0, 1, 0, 885DEFUE ("buffer-file-name", Fbuffer_file_name, Sbuffer_file_name, 0, 1, 0,
884 doc: /* Return name of file BUFFER is visiting, or nil if none. 886 doc: /* Return name of file BUFFER is visiting, or nil if none.
885No argument or nil as argument means use the current buffer. */) 887No argument or nil as argument means use the current buffer. */)
886 (register Lisp_Object buffer) 888 (register Lisp_Object buffer)
@@ -915,7 +917,7 @@ BUFFER defaults to the current buffer. */)
915 return base_buffer; 917 return base_buffer;
916} 918}
917 919
918DEFUN ("buffer-local-value", Fbuffer_local_value, 920DEFUE ("buffer-local-value", Fbuffer_local_value,
919 Sbuffer_local_value, 2, 2, 0, 921 Sbuffer_local_value, 2, 2, 0,
920 doc: /* Return the value of VARIABLE in BUFFER. 922 doc: /* Return the value of VARIABLE in BUFFER.
921If VARIABLE does not have a buffer-local binding in BUFFER, the value 923If VARIABLE does not have a buffer-local binding in BUFFER, the value
@@ -1056,7 +1058,7 @@ No argument or nil as argument means use current buffer as BUFFER. */)
1056 return result; 1058 return result;
1057} 1059}
1058 1060
1059DEFUN ("buffer-modified-p", Fbuffer_modified_p, Sbuffer_modified_p, 1061DEFUE ("buffer-modified-p", Fbuffer_modified_p, Sbuffer_modified_p,
1060 0, 1, 0, 1062 0, 1, 0,
1061 doc: /* Return t if BUFFER was modified since its file was last read or saved. 1063 doc: /* Return t if BUFFER was modified since its file was last read or saved.
1062No argument or nil as argument means use current buffer as BUFFER. */) 1064No argument or nil as argument means use current buffer as BUFFER. */)
@@ -1074,7 +1076,7 @@ No argument or nil as argument means use current buffer as BUFFER. */)
1074 return BUF_SAVE_MODIFF (buf) < BUF_MODIFF (buf) ? Qt : Qnil; 1076 return BUF_SAVE_MODIFF (buf) < BUF_MODIFF (buf) ? Qt : Qnil;
1075} 1077}
1076 1078
1077DEFUN ("set-buffer-modified-p", Fset_buffer_modified_p, Sset_buffer_modified_p, 1079DEFUE ("set-buffer-modified-p", Fset_buffer_modified_p, Sset_buffer_modified_p,
1078 1, 1, 0, 1080 1, 1, 0,
1079 doc: /* Mark current buffer as modified or unmodified according to FLAG. 1081 doc: /* Mark current buffer as modified or unmodified according to FLAG.
1080A non-nil FLAG means mark the buffer modified. */) 1082A non-nil FLAG means mark the buffer modified. */)
@@ -1266,7 +1268,7 @@ This does not change the name of the visited file (if any). */)
1266 return BVAR (current_buffer, name); 1268 return BVAR (current_buffer, name);
1267} 1269}
1268 1270
1269DEFUN ("other-buffer", Fother_buffer, Sother_buffer, 0, 3, 0, 1271DEFUE ("other-buffer", Fother_buffer, Sother_buffer, 0, 3, 0,
1270 doc: /* Return most recently selected buffer other than BUFFER. 1272 doc: /* Return most recently selected buffer other than BUFFER.
1271Buffers not visible in windows are preferred to visible buffers, 1273Buffers not visible in windows are preferred to visible buffers,
1272unless optional second argument VISIBLE-OK is non-nil. 1274unless optional second argument VISIBLE-OK is non-nil.
@@ -1276,7 +1278,6 @@ If no other buffer exists, the buffer `*scratch*' is returned.
1276If BUFFER is omitted or nil, some interesting buffer is returned. */) 1278If BUFFER is omitted or nil, some interesting buffer is returned. */)
1277 (register Lisp_Object buffer, Lisp_Object visible_ok, Lisp_Object frame) 1279 (register Lisp_Object buffer, Lisp_Object visible_ok, Lisp_Object frame)
1278{ 1280{
1279 Lisp_Object Fset_buffer_major_mode (Lisp_Object buffer);
1280 register Lisp_Object tail, buf, notsogood, tem, pred, add_ons; 1281 register Lisp_Object tail, buf, notsogood, tem, pred, add_ons;
1281 notsogood = Qnil; 1282 notsogood = Qnil;
1282 1283
@@ -1341,7 +1342,7 @@ If BUFFER is omitted or nil, some interesting buffer is returned. */)
1341 return buf; 1342 return buf;
1342} 1343}
1343 1344
1344DEFUN ("buffer-enable-undo", Fbuffer_enable_undo, Sbuffer_enable_undo, 1345DEFUE ("buffer-enable-undo", Fbuffer_enable_undo, Sbuffer_enable_undo,
1345 0, 1, "", 1346 0, 1, "",
1346 doc: /* Start keeping undo information for buffer BUFFER. 1347 doc: /* Start keeping undo information for buffer BUFFER.
1347No argument or nil as argument means do this for the current buffer. */) 1348No argument or nil as argument means do this for the current buffer. */)
@@ -1370,7 +1371,7 @@ Hook to be run (by `run-hooks', which see) when a buffer is killed.\n\
1370The buffer being killed will be current while the hook is running.\n\ 1371The buffer being killed will be current while the hook is running.\n\
1371See `kill-buffer'." 1372See `kill-buffer'."
1372 */ 1373 */
1373DEFUN ("kill-buffer", Fkill_buffer, Skill_buffer, 0, 1, "bKill buffer: ", 1374DEFUE ("kill-buffer", Fkill_buffer, Skill_buffer, 0, 1, "bKill buffer: ",
1374 doc: /* Kill buffer BUFFER-OR-NAME. 1375 doc: /* Kill buffer BUFFER-OR-NAME.
1375The argument may be a buffer or the name of an existing buffer. 1376The argument may be a buffer or the name of an existing buffer.
1376Argument nil or omitted means kill the current buffer. Return t if the 1377Argument nil or omitted means kill the current buffer. Return t if the
@@ -1789,7 +1790,7 @@ messing with the window-buffer correspondences. */)
1789 return switch_to_buffer_1 (buffer_or_name, norecord); 1790 return switch_to_buffer_1 (buffer_or_name, norecord);
1790} 1791}
1791 1792
1792DEFUN ("current-buffer", Fcurrent_buffer, Scurrent_buffer, 0, 0, 0, 1793DEFUE ("current-buffer", Fcurrent_buffer, Scurrent_buffer, 0, 0, 0,
1793 doc: /* Return the current buffer as a Lisp object. */) 1794 doc: /* Return the current buffer as a Lisp object. */)
1794 (void) 1795 (void)
1795{ 1796{
@@ -1899,7 +1900,7 @@ set_buffer_temp (struct buffer *b)
1899 fetch_buffer_markers (b); 1900 fetch_buffer_markers (b);
1900} 1901}
1901 1902
1902DEFUN ("set-buffer", Fset_buffer, Sset_buffer, 1, 1, 0, 1903DEFUE ("set-buffer", Fset_buffer, Sset_buffer, 1, 1, 0,
1903 doc: /* Make buffer BUFFER-OR-NAME current for editing operations. 1904 doc: /* Make buffer BUFFER-OR-NAME current for editing operations.
1904BUFFER-OR-NAME may be a buffer or the name of an existing buffer. See 1905BUFFER-OR-NAME may be a buffer or the name of an existing buffer. See
1905also `save-excursion' when you want to make a buffer current 1906also `save-excursion' when you want to make a buffer current
@@ -1928,7 +1929,7 @@ set_buffer_if_live (Lisp_Object buffer)
1928 return Qnil; 1929 return Qnil;
1929} 1930}
1930 1931
1931DEFUN ("barf-if-buffer-read-only", Fbarf_if_buffer_read_only, 1932DEFUE ("barf-if-buffer-read-only", Fbarf_if_buffer_read_only,
1932 Sbarf_if_buffer_read_only, 0, 0, 0, 1933 Sbarf_if_buffer_read_only, 0, 0, 0,
1933 doc: /* Signal a `buffer-read-only' error if the current buffer is read-only. */) 1934 doc: /* Signal a `buffer-read-only' error if the current buffer is read-only. */)
1934 (void) 1935 (void)
@@ -2001,7 +2002,7 @@ its frame, iconify that frame. */)
2001 return Qnil; 2002 return Qnil;
2002} 2003}
2003 2004
2004DEFUN ("erase-buffer", Ferase_buffer, Serase_buffer, 0, 0, "*", 2005DEFUE ("erase-buffer", Ferase_buffer, Serase_buffer, 0, 0, "*",
2005 doc: /* Delete the entire contents of the current buffer. 2006 doc: /* Delete the entire contents of the current buffer.
2006Any narrowing restriction in effect (see `narrow-to-region') is removed, 2007Any narrowing restriction in effect (see `narrow-to-region') is removed,
2007so the buffer is truly empty after this. */) 2008so the buffer is truly empty after this. */)
@@ -2212,7 +2213,7 @@ DEFUN ("buffer-swap-text", Fbuffer_swap_text, Sbuffer_swap_text,
2212 return Qnil; 2213 return Qnil;
2213} 2214}
2214 2215
2215DEFUN ("set-buffer-multibyte", Fset_buffer_multibyte, Sset_buffer_multibyte, 2216DEFUE ("set-buffer-multibyte", Fset_buffer_multibyte, Sset_buffer_multibyte,
2216 1, 1, 0, 2217 1, 1, 0,
2217 doc: /* Set the multibyte flag of the current buffer to FLAG. 2218 doc: /* Set the multibyte flag of the current buffer to FLAG.
2218If FLAG is t, this makes the buffer a multibyte buffer. 2219If FLAG is t, this makes the buffer a multibyte buffer.
@@ -2501,8 +2502,8 @@ current buffer is cleared. */)
2501 return flag; 2502 return flag;
2502} 2503}
2503 2504
2504DEFUN ("kill-all-local-variables", Fkill_all_local_variables, Skill_all_local_variables, 2505DEFUE ("kill-all-local-variables", Fkill_all_local_variables,
2505 0, 0, 0, 2506 Skill_all_local_variables, 0, 0, 0,
2506 doc: /* Switch to Fundamental mode by killing current buffer's local variables. 2507 doc: /* Switch to Fundamental mode by killing current buffer's local variables.
2507Most local variable bindings are eliminated so that the default values 2508Most local variable bindings are eliminated so that the default values
2508become effective once more. Also, the syntax table is set from 2509become effective once more. Also, the syntax table is set from
@@ -3900,7 +3901,7 @@ DEFUN ("delete-overlay", Fdelete_overlay, Sdelete_overlay, 1, 1, 0,
3900 3901
3901/* Overlay dissection functions. */ 3902/* Overlay dissection functions. */
3902 3903
3903DEFUN ("overlay-start", Foverlay_start, Soverlay_start, 1, 1, 0, 3904DEFUE ("overlay-start", Foverlay_start, Soverlay_start, 1, 1, 0,
3904 doc: /* Return the position at which OVERLAY starts. */) 3905 doc: /* Return the position at which OVERLAY starts. */)
3905 (Lisp_Object overlay) 3906 (Lisp_Object overlay)
3906{ 3907{
@@ -3909,7 +3910,7 @@ DEFUN ("overlay-start", Foverlay_start, Soverlay_start, 1, 1, 0,
3909 return (Fmarker_position (OVERLAY_START (overlay))); 3910 return (Fmarker_position (OVERLAY_START (overlay)));
3910} 3911}
3911 3912
3912DEFUN ("overlay-end", Foverlay_end, Soverlay_end, 1, 1, 0, 3913DEFUE ("overlay-end", Foverlay_end, Soverlay_end, 1, 1, 0,
3913 doc: /* Return the position at which OVERLAY ends. */) 3914 doc: /* Return the position at which OVERLAY ends. */)
3914 (Lisp_Object overlay) 3915 (Lisp_Object overlay)
3915{ 3916{
@@ -3999,7 +4000,7 @@ end of the buffer. */)
3999 return result; 4000 return result;
4000} 4001}
4001 4002
4002DEFUN ("next-overlay-change", Fnext_overlay_change, Snext_overlay_change, 4003DEFUE ("next-overlay-change", Fnext_overlay_change, Snext_overlay_change,
4003 1, 1, 0, 4004 1, 1, 0,
4004 doc: /* Return the next position after POS where an overlay starts or ends. 4005 doc: /* Return the next position after POS where an overlay starts or ends.
4005If there are no overlay boundaries from POS to (point-max), 4006If there are no overlay boundaries from POS to (point-max),
@@ -4040,7 +4041,7 @@ the value is (point-max). */)
4040 return make_number (endpos); 4041 return make_number (endpos);
4041} 4042}
4042 4043
4043DEFUN ("previous-overlay-change", Fprevious_overlay_change, 4044DEFUE ("previous-overlay-change", Fprevious_overlay_change,
4044 Sprevious_overlay_change, 1, 1, 0, 4045 Sprevious_overlay_change, 1, 1, 0,
4045 doc: /* Return the previous position before POS where an overlay starts or ends. 4046 doc: /* Return the previous position before POS where an overlay starts or ends.
4046If there are no overlay boundaries from (point-min) to POS, 4047If there are no overlay boundaries from (point-min) to POS,
@@ -4109,7 +4110,7 @@ for positions far away from POS). */)
4109 return Qnil; 4110 return Qnil;
4110} 4111}
4111 4112
4112DEFUN ("overlay-get", Foverlay_get, Soverlay_get, 2, 2, 0, 4113DEFUE ("overlay-get", Foverlay_get, Soverlay_get, 2, 2, 0,
4113 doc: /* Get the property of overlay OVERLAY with property name PROP. */) 4114 doc: /* Get the property of overlay OVERLAY with property name PROP. */)
4114 (Lisp_Object overlay, Lisp_Object prop) 4115 (Lisp_Object overlay, Lisp_Object prop)
4115{ 4116{
diff --git a/src/buffer.h b/src/buffer.h
index d80875a0811..2963aa382ca 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -917,7 +917,6 @@ extern void mmap_set_vars (int);
917EXFUN (Fbuffer_live_p, 1); 917EXFUN (Fbuffer_live_p, 1);
918EXFUN (Fbuffer_name, 1); 918EXFUN (Fbuffer_name, 1);
919EXFUN (Fnext_overlay_change, 1); 919EXFUN (Fnext_overlay_change, 1);
920EXFUN (Fdelete_overlay, 1);
921EXFUN (Fbuffer_local_value, 2); 920EXFUN (Fbuffer_local_value, 2);
922 921
923extern Lisp_Object Qbefore_change_functions; 922extern Lisp_Object Qbefore_change_functions;
diff --git a/src/callint.c b/src/callint.c
index 047fbcdb467..1de1f607878 100644
--- a/src/callint.c
+++ b/src/callint.c
@@ -851,7 +851,7 @@ invoke it. If KEYS is omitted or nil, the return value of
851 } 851 }
852} 852}
853 853
854DEFUN ("prefix-numeric-value", Fprefix_numeric_value, Sprefix_numeric_value, 854DEFUE ("prefix-numeric-value", Fprefix_numeric_value, Sprefix_numeric_value,
855 1, 1, 0, 855 1, 1, 0,
856 doc: /* Return numeric meaning of raw prefix argument RAW. 856 doc: /* Return numeric meaning of raw prefix argument RAW.
857A raw prefix argument is what you get from `(interactive "P")'. 857A raw prefix argument is what you get from `(interactive "P")'.
diff --git a/src/callproc.c b/src/callproc.c
index eb2a2268fe1..ec6afcde3a3 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -96,7 +96,7 @@ int synch_process_retcode;
96/* Nonzero if this is termination due to exit. */ 96/* Nonzero if this is termination due to exit. */
97static int call_process_exited; 97static int call_process_exited;
98 98
99EXFUN (Fgetenv_internal, 2); 99INFUN (Fgetenv_internal, 2);
100 100
101static Lisp_Object 101static Lisp_Object
102call_process_kill (Lisp_Object fdpid) 102call_process_kill (Lisp_Object fdpid)
@@ -152,7 +152,7 @@ call_process_cleanup (Lisp_Object arg)
152 return Qnil; 152 return Qnil;
153} 153}
154 154
155DEFUN ("call-process", Fcall_process, Scall_process, 1, MANY, 0, 155DEFUE ("call-process", Fcall_process, Scall_process, 1, MANY, 0,
156 doc: /* Call PROGRAM synchronously in separate process. 156 doc: /* Call PROGRAM synchronously in separate process.
157The remaining arguments are optional. 157The remaining arguments are optional.
158The program's input comes from file INFILE (nil means `/dev/null'). 158The program's input comes from file INFILE (nil means `/dev/null').
diff --git a/src/casefiddle.c b/src/casefiddle.c
index 9f286d73a5e..7a220c81865 100644
--- a/src/casefiddle.c
+++ b/src/casefiddle.c
@@ -148,7 +148,7 @@ casify_object (enum case_action flag, Lisp_Object obj)
148 } 148 }
149} 149}
150 150
151DEFUN ("upcase", Fupcase, Supcase, 1, 1, 0, 151DEFUE ("upcase", Fupcase, Supcase, 1, 1, 0,
152 doc: /* Convert argument to upper case and return that. 152 doc: /* Convert argument to upper case and return that.
153The argument may be a character or string. The result has the same type. 153The argument may be a character or string. The result has the same type.
154The argument object is not altered--the value is a copy. 154The argument object is not altered--the value is a copy.
@@ -158,7 +158,7 @@ See also `capitalize', `downcase' and `upcase-initials'. */)
158 return casify_object (CASE_UP, obj); 158 return casify_object (CASE_UP, obj);
159} 159}
160 160
161DEFUN ("downcase", Fdowncase, Sdowncase, 1, 1, 0, 161DEFUE ("downcase", Fdowncase, Sdowncase, 1, 1, 0,
162 doc: /* Convert argument to lower case and return that. 162 doc: /* Convert argument to lower case and return that.
163The argument may be a character or string. The result has the same type. 163The argument may be a character or string. The result has the same type.
164The argument object is not altered--the value is a copy. */) 164The argument object is not altered--the value is a copy. */)
@@ -180,7 +180,7 @@ The argument object is not altered--the value is a copy. */)
180 180
181/* Like Fcapitalize but change only the initials. */ 181/* Like Fcapitalize but change only the initials. */
182 182
183DEFUN ("upcase-initials", Fupcase_initials, Supcase_initials, 1, 1, 0, 183DEFUE ("upcase-initials", Fupcase_initials, Supcase_initials, 1, 1, 0,
184 doc: /* Convert the initial of each word in the argument to upper case. 184 doc: /* Convert the initial of each word in the argument to upper case.
185Do not change the other letters of each word. 185Do not change the other letters of each word.
186The argument may be a character or string. The result has the same type. 186The argument may be a character or string. The result has the same type.
@@ -301,7 +301,7 @@ casify_region (enum case_action flag, Lisp_Object b, Lisp_Object e)
301 } 301 }
302} 302}
303 303
304DEFUN ("upcase-region", Fupcase_region, Supcase_region, 2, 2, "r", 304DEFUE ("upcase-region", Fupcase_region, Supcase_region, 2, 2, "r",
305 doc: /* Convert the region to upper case. In programs, wants two arguments. 305 doc: /* Convert the region to upper case. In programs, wants two arguments.
306These arguments specify the starting and ending character numbers of 306These arguments specify the starting and ending character numbers of
307the region to operate on. When used as a command, the text between 307the region to operate on. When used as a command, the text between
@@ -338,7 +338,7 @@ character positions to operate on. */)
338 338
339/* Like Fcapitalize_region but change only the initials. */ 339/* Like Fcapitalize_region but change only the initials. */
340 340
341DEFUN ("upcase-initials-region", Fupcase_initials_region, 341DEFUE ("upcase-initials-region", Fupcase_initials_region,
342 Supcase_initials_region, 2, 2, "r", 342 Supcase_initials_region, 2, 2, "r",
343 doc: /* Upcase the initial of each word in the region. 343 doc: /* Upcase the initial of each word in the region.
344Subsequent letters of each word are not changed. 344Subsequent letters of each word are not changed.
diff --git a/src/casetab.c b/src/casetab.c
index 9a1accf6940..7acefbceba9 100644
--- a/src/casetab.c
+++ b/src/casetab.c
@@ -79,7 +79,7 @@ This is the one used for new buffers. */)
79 79
80static Lisp_Object set_case_table (Lisp_Object table, int standard); 80static Lisp_Object set_case_table (Lisp_Object table, int standard);
81 81
82DEFUN ("set-case-table", Fset_case_table, Sset_case_table, 1, 1, 0, 82DEFUE ("set-case-table", Fset_case_table, Sset_case_table, 1, 1, 0,
83 doc: /* Select a new case table for the current buffer. 83 doc: /* Select a new case table for the current buffer.
84A case table is a char-table which maps characters 84A case table is a char-table which maps characters
85to their lower-case equivalents. It also has three \"extra\" slots 85to their lower-case equivalents. It also has three \"extra\" slots
@@ -101,7 +101,8 @@ EQUIVALENCES is a map that cyclicly permutes each equivalence class
101 return set_case_table (table, 0); 101 return set_case_table (table, 0);
102} 102}
103 103
104DEFUN ("set-standard-case-table", Fset_standard_case_table, Sset_standard_case_table, 1, 1, 0, 104DEFUE ("set-standard-case-table", Fset_standard_case_table,
105 Sset_standard_case_table, 1, 1, 0,
105 doc: /* Select a new standard case table for new buffers. 106 doc: /* Select a new standard case table for new buffers.
106See `set-case-table' for more info on case tables. */) 107See `set-case-table' for more info on case tables. */)
107 (Lisp_Object table) 108 (Lisp_Object table)
diff --git a/src/ccl.c b/src/ccl.c
index 39b9bc32f09..2f7c4b07319 100644
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -1953,7 +1953,7 @@ check_ccl_update (struct ccl_program *ccl)
1953} 1953}
1954 1954
1955 1955
1956DEFUN ("ccl-program-p", Fccl_program_p, Sccl_program_p, 1, 1, 0, 1956DEFUE ("ccl-program-p", Fccl_program_p, Sccl_program_p, 1, 1, 0,
1957 doc: /* Return t if OBJECT is a CCL program name or a compiled CCL program code. 1957 doc: /* Return t if OBJECT is a CCL program name or a compiled CCL program code.
1958See the documentation of `define-ccl-program' for the detail of CCL program. */) 1958See the documentation of `define-ccl-program' for the detail of CCL program. */)
1959 (Lisp_Object object) 1959 (Lisp_Object object)
diff --git a/src/character.c b/src/character.c
index bac9f6af81e..636601c7452 100644
--- a/src/character.c
+++ b/src/character.c
@@ -307,7 +307,7 @@ If the multibyte character does not represent a byte, return -1. */)
307 } 307 }
308} 308}
309 309
310DEFUN ("char-width", Fchar_width, Schar_width, 1, 1, 0, 310DEFUE ("char-width", Fchar_width, Schar_width, 1, 1, 0,
311 doc: /* Return width of CHAR when displayed in the current buffer. 311 doc: /* Return width of CHAR when displayed in the current buffer.
312The width is measured by how many columns it occupies on the screen. 312The width is measured by how many columns it occupies on the screen.
313Tab is taken to occupy `tab-width' columns. 313Tab is taken to occupy `tab-width' columns.
@@ -886,7 +886,7 @@ string_escape_byte8 (Lisp_Object string)
886} 886}
887 887
888 888
889DEFUN ("string", Fstring, Sstring, 0, MANY, 0, 889DEFUE ("string", Fstring, Sstring, 0, MANY, 0,
890 doc: /* 890 doc: /*
891Concatenate all the argument characters and make the result a string. 891Concatenate all the argument characters and make the result a string.
892usage: (string &rest CHARACTERS) */) 892usage: (string &rest CHARACTERS) */)
diff --git a/src/chartab.c b/src/chartab.c
index 7a0a3aabbb6..50c3fd7cb73 100644
--- a/src/chartab.c
+++ b/src/chartab.c
@@ -54,7 +54,7 @@ const int chartab_bits[4] =
54 (((c) - (min_char)) >> chartab_bits[(depth)]) 54 (((c) - (min_char)) >> chartab_bits[(depth)])
55 55
56 56
57DEFUN ("make-char-table", Fmake_char_table, Smake_char_table, 1, 2, 0, 57DEFUE ("make-char-table", Fmake_char_table, Smake_char_table, 1, 2, 0,
58 doc: /* Return a newly created char-table, with purpose PURPOSE. 58 doc: /* Return a newly created char-table, with purpose PURPOSE.
59Each element is initialized to INIT, which defaults to nil. 59Each element is initialized to INIT, which defaults to nil.
60 60
@@ -459,7 +459,7 @@ then the actual applicable value is inherited from the parent char-table
459 return XCHAR_TABLE (char_table)->parent; 459 return XCHAR_TABLE (char_table)->parent;
460} 460}
461 461
462DEFUN ("set-char-table-parent", Fset_char_table_parent, Sset_char_table_parent, 462DEFUE ("set-char-table-parent", Fset_char_table_parent, Sset_char_table_parent,
463 2, 2, 0, 463 2, 2, 0,
464 doc: /* Set the parent char-table of CHAR-TABLE to PARENT. 464 doc: /* Set the parent char-table of CHAR-TABLE to PARENT.
465Return PARENT. PARENT must be either nil or another char-table. */) 465Return PARENT. PARENT must be either nil or another char-table. */)
@@ -483,7 +483,7 @@ Return PARENT. PARENT must be either nil or another char-table. */)
483 return parent; 483 return parent;
484} 484}
485 485
486DEFUN ("char-table-extra-slot", Fchar_table_extra_slot, Schar_table_extra_slot, 486DEFUE ("char-table-extra-slot", Fchar_table_extra_slot, Schar_table_extra_slot,
487 2, 2, 0, 487 2, 2, 0,
488 doc: /* Return the value of CHAR-TABLE's extra-slot number N. */) 488 doc: /* Return the value of CHAR-TABLE's extra-slot number N. */)
489 (Lisp_Object char_table, Lisp_Object n) 489 (Lisp_Object char_table, Lisp_Object n)
@@ -497,7 +497,7 @@ DEFUN ("char-table-extra-slot", Fchar_table_extra_slot, Schar_table_extra_slot,
497 return XCHAR_TABLE (char_table)->extras[XINT (n)]; 497 return XCHAR_TABLE (char_table)->extras[XINT (n)];
498} 498}
499 499
500DEFUN ("set-char-table-extra-slot", Fset_char_table_extra_slot, 500DEFUE ("set-char-table-extra-slot", Fset_char_table_extra_slot,
501 Sset_char_table_extra_slot, 501 Sset_char_table_extra_slot,
502 3, 3, 0, 502 3, 3, 0,
503 doc: /* Set CHAR-TABLE's extra-slot number N to VALUE. */) 503 doc: /* Set CHAR-TABLE's extra-slot number N to VALUE. */)
@@ -541,7 +541,7 @@ a cons of character codes (for characters in the range), or a character code. *
541 return val; 541 return val;
542} 542}
543 543
544DEFUN ("set-char-table-range", Fset_char_table_range, Sset_char_table_range, 544DEFUE ("set-char-table-range", Fset_char_table_range, Sset_char_table_range,
545 3, 3, 0, 545 3, 3, 0,
546 doc: /* Set the value in CHAR-TABLE for a range of characters RANGE to VALUE. 546 doc: /* Set the value in CHAR-TABLE for a range of characters RANGE to VALUE.
547RANGE should be t (for all characters), nil (for the default value), 547RANGE should be t (for all characters), nil (for the default value),
@@ -626,7 +626,7 @@ optimize_sub_char_table (Lisp_Object table, Lisp_Object test)
626 return (optimizable ? elt : table); 626 return (optimizable ? elt : table);
627} 627}
628 628
629DEFUN ("optimize-char-table", Foptimize_char_table, Soptimize_char_table, 629DEFUE ("optimize-char-table", Foptimize_char_table, Soptimize_char_table,
630 1, 2, 0, 630 1, 2, 0,
631 doc: /* Optimize CHAR-TABLE. 631 doc: /* Optimize CHAR-TABLE.
632TEST is the comparison function used to decide whether two entries are 632TEST is the comparison function used to decide whether two entries are
diff --git a/src/cmds.c b/src/cmds.c
index 1cf7ff24fec..60318225831 100644
--- a/src/cmds.c
+++ b/src/cmds.c
@@ -47,7 +47,7 @@ DEFUN ("forward-point", Fforward_point, Sforward_point, 1, 1, 0,
47 return make_number (PT + XINT (n)); 47 return make_number (PT + XINT (n));
48} 48}
49 49
50DEFUN ("forward-char", Fforward_char, Sforward_char, 0, 1, "^p", 50DEFUE ("forward-char", Fforward_char, Sforward_char, 0, 1, "^p",
51 doc: /* Move point N characters forward (backward if N is negative). 51 doc: /* Move point N characters forward (backward if N is negative).
52On reaching end or beginning of buffer, stop and signal error. 52On reaching end or beginning of buffer, stop and signal error.
53 53
@@ -104,7 +104,7 @@ right or to the left on the screen. This is in contrast with
104 return Fforward_char (n); 104 return Fforward_char (n);
105} 105}
106 106
107DEFUN ("forward-line", Fforward_line, Sforward_line, 0, 1, "^p", 107DEFUE ("forward-line", Fforward_line, Sforward_line, 0, 1, "^p",
108 doc: /* Move N lines forward (backward if N is negative). 108 doc: /* Move N lines forward (backward if N is negative).
109Precisely, if point is on line I, move to the start of line I + N 109Precisely, if point is on line I, move to the start of line I + N
110\("start of line" in the logical order). 110\("start of line" in the logical order).
@@ -174,7 +174,7 @@ instead. For instance, `(forward-line 0)' does the same thing as
174 return Qnil; 174 return Qnil;
175} 175}
176 176
177DEFUN ("end-of-line", Fend_of_line, Send_of_line, 0, 1, "^p", 177DEFUE ("end-of-line", Fend_of_line, Send_of_line, 0, 1, "^p",
178 doc: /* Move point to end of current line (in the logical order). 178 doc: /* Move point to end of current line (in the logical order).
179With argument N not nil or 1, move forward N - 1 lines first. 179With argument N not nil or 1, move forward N - 1 lines first.
180If point reaches the beginning or end of buffer, it stops there. 180If point reaches the beginning or end of buffer, it stops there.
diff --git a/src/coding.c b/src/coding.c
index 711ada59c85..13fcb7fb8a5 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -7991,7 +7991,7 @@ preferred_coding_system (void)
7991#ifdef emacs 7991#ifdef emacs
7992/*** 8. Emacs Lisp library functions ***/ 7992/*** 8. Emacs Lisp library functions ***/
7993 7993
7994DEFUN ("coding-system-p", Fcoding_system_p, Scoding_system_p, 1, 1, 0, 7994DEFUE ("coding-system-p", Fcoding_system_p, Scoding_system_p, 1, 1, 0,
7995 doc: /* Return t if OBJECT is nil or a coding-system. 7995 doc: /* Return t if OBJECT is nil or a coding-system.
7996See the documentation of `define-coding-system' for information 7996See the documentation of `define-coding-system' for information
7997about coding-system objects. */) 7997about coding-system objects. */)
@@ -8006,7 +8006,7 @@ about coding-system objects. */)
8006 return Qt; 8006 return Qt;
8007} 8007}
8008 8008
8009DEFUN ("read-non-nil-coding-system", Fread_non_nil_coding_system, 8009DEFUE ("read-non-nil-coding-system", Fread_non_nil_coding_system,
8010 Sread_non_nil_coding_system, 1, 1, 0, 8010 Sread_non_nil_coding_system, 1, 1, 0,
8011 doc: /* Read a coding system from the minibuffer, prompting with string PROMPT. */) 8011 doc: /* Read a coding system from the minibuffer, prompting with string PROMPT. */)
8012 (Lisp_Object prompt) 8012 (Lisp_Object prompt)
@@ -8021,7 +8021,7 @@ DEFUN ("read-non-nil-coding-system", Fread_non_nil_coding_system,
8021 return (Fintern (val, Qnil)); 8021 return (Fintern (val, Qnil));
8022} 8022}
8023 8023
8024DEFUN ("read-coding-system", Fread_coding_system, Sread_coding_system, 1, 2, 0, 8024DEFUE ("read-coding-system", Fread_coding_system, Sread_coding_system, 1, 2, 0,
8025 doc: /* Read a coding system from the minibuffer, prompting with string PROMPT. 8025 doc: /* Read a coding system from the minibuffer, prompting with string PROMPT.
8026If the user enters null input, return second argument DEFAULT-CODING-SYSTEM. 8026If the user enters null input, return second argument DEFAULT-CODING-SYSTEM.
8027Ignores case when completing coding systems (all Emacs coding systems 8027Ignores case when completing coding systems (all Emacs coding systems
@@ -8041,7 +8041,7 @@ are lower-case). */)
8041 return (SCHARS (val) == 0 ? Qnil : Fintern (val, Qnil)); 8041 return (SCHARS (val) == 0 ? Qnil : Fintern (val, Qnil));
8042} 8042}
8043 8043
8044DEFUN ("check-coding-system", Fcheck_coding_system, Scheck_coding_system, 8044DEFUE ("check-coding-system", Fcheck_coding_system, Scheck_coding_system,
8045 1, 1, 0, 8045 1, 1, 0,
8046 doc: /* Check validity of CODING-SYSTEM. 8046 doc: /* Check validity of CODING-SYSTEM.
8047If valid, return CODING-SYSTEM, else signal a `coding-system-error' error. 8047If valid, return CODING-SYSTEM, else signal a `coding-system-error' error.
@@ -8976,7 +8976,7 @@ code_convert_string_norecord (Lisp_Object string, Lisp_Object coding_system,
8976} 8976}
8977 8977
8978 8978
8979DEFUN ("decode-coding-string", Fdecode_coding_string, Sdecode_coding_string, 8979DEFUE ("decode-coding-string", Fdecode_coding_string, Sdecode_coding_string,
8980 2, 4, 0, 8980 2, 4, 0,
8981 doc: /* Decode STRING which is encoded in CODING-SYSTEM, and return the result. 8981 doc: /* Decode STRING which is encoded in CODING-SYSTEM, and return the result.
8982 8982
@@ -9250,7 +9250,7 @@ DEFUN ("keyboard-coding-system",
9250} 9250}
9251 9251
9252 9252
9253DEFUN ("find-operation-coding-system", Ffind_operation_coding_system, 9253DEFUE ("find-operation-coding-system", Ffind_operation_coding_system,
9254 Sfind_operation_coding_system, 1, MANY, 0, 9254 Sfind_operation_coding_system, 1, MANY, 0,
9255 doc: /* Choose a coding system for an operation based on the target name. 9255 doc: /* Choose a coding system for an operation based on the target name.
9256The value names a pair of coding systems: (DECODING-SYSTEM . ENCODING-SYSTEM). 9256The value names a pair of coding systems: (DECODING-SYSTEM . ENCODING-SYSTEM).
@@ -10093,7 +10093,7 @@ DEFUN ("define-coding-system-alias", Fdefine_coding_system_alias,
10093 return Qnil; 10093 return Qnil;
10094} 10094}
10095 10095
10096DEFUN ("coding-system-base", Fcoding_system_base, Scoding_system_base, 10096DEFUE ("coding-system-base", Fcoding_system_base, Scoding_system_base,
10097 1, 1, 0, 10097 1, 1, 0,
10098 doc: /* Return the base of CODING-SYSTEM. 10098 doc: /* Return the base of CODING-SYSTEM.
10099Any alias or subsidiary coding system is not a base coding system. */) 10099Any alias or subsidiary coding system is not a base coding system. */)
@@ -10136,7 +10136,7 @@ DEFUN ("coding-system-aliases", Fcoding_system_aliases, Scoding_system_aliases,
10136 return AREF (spec, 1); 10136 return AREF (spec, 1);
10137} 10137}
10138 10138
10139DEFUN ("coding-system-eol-type", Fcoding_system_eol_type, 10139DEFUE ("coding-system-eol-type", Fcoding_system_eol_type,
10140 Scoding_system_eol_type, 1, 1, 0, 10140 Scoding_system_eol_type, 1, 1, 0,
10141 doc: /* Return eol-type of CODING-SYSTEM. 10141 doc: /* Return eol-type of CODING-SYSTEM.
10142An eol-type is an integer 0, 1, 2, or a vector of coding systems. 10142An eol-type is an integer 0, 1, 2, or a vector of coding systems.
diff --git a/src/composite.c b/src/composite.c
index c18f9e8b56e..367606f5142 100644
--- a/src/composite.c
+++ b/src/composite.c
@@ -158,7 +158,7 @@ Lisp_Object Qauto_composition_function;
158 auto-compositions. */ 158 auto-compositions. */
159#define MAX_AUTO_COMPOSITION_LOOKBACK 3 159#define MAX_AUTO_COMPOSITION_LOOKBACK 3
160 160
161EXFUN (Fremove_list_of_text_properties, 4); 161INFUN (Fcomposition_get_gstring, 4);
162 162
163/* Temporary variable used in macros COMPOSITION_XXX. */ 163/* Temporary variable used in macros COMPOSITION_XXX. */
164Lisp_Object composition_temp; 164Lisp_Object composition_temp;
diff --git a/src/composite.h b/src/composite.h
index cfb5db0dc6a..1f708e93b8e 100644
--- a/src/composite.h
+++ b/src/composite.h
@@ -328,6 +328,4 @@ extern int composition_update_it (struct composition_it *,
328 328
329extern EMACS_INT composition_adjust_point (EMACS_INT, EMACS_INT); 329extern EMACS_INT composition_adjust_point (EMACS_INT, EMACS_INT);
330 330
331EXFUN (Fcomposition_get_gstring, 4);
332
333#endif /* not EMACS_COMPOSITE_H */ 331#endif /* not EMACS_COMPOSITE_H */
diff --git a/src/data.c b/src/data.c
index 4b9d2ec0387..25e260c8686 100644
--- a/src/data.c
+++ b/src/data.c
@@ -462,7 +462,7 @@ DEFUN ("floatp", Ffloatp, Sfloatp, 1, 1, 0,
462 462
463/* Extract and set components of lists */ 463/* Extract and set components of lists */
464 464
465DEFUN ("car", Fcar, Scar, 1, 1, 0, 465DEFUE ("car", Fcar, Scar, 1, 1, 0,
466 doc: /* Return the car of LIST. If arg is nil, return nil. 466 doc: /* Return the car of LIST. If arg is nil, return nil.
467Error if arg is not nil and not a cons cell. See also `car-safe'. 467Error if arg is not nil and not a cons cell. See also `car-safe'.
468 468
@@ -473,14 +473,14 @@ Lisp concepts such as car, cdr, cons cell and list. */)
473 return CAR (list); 473 return CAR (list);
474} 474}
475 475
476DEFUN ("car-safe", Fcar_safe, Scar_safe, 1, 1, 0, 476DEFUE ("car-safe", Fcar_safe, Scar_safe, 1, 1, 0,
477 doc: /* Return the car of OBJECT if it is a cons cell, or else nil. */) 477 doc: /* Return the car of OBJECT if it is a cons cell, or else nil. */)
478 (Lisp_Object object) 478 (Lisp_Object object)
479{ 479{
480 return CAR_SAFE (object); 480 return CAR_SAFE (object);
481} 481}
482 482
483DEFUN ("cdr", Fcdr, Scdr, 1, 1, 0, 483DEFUE ("cdr", Fcdr, Scdr, 1, 1, 0,
484 doc: /* Return the cdr of LIST. If arg is nil, return nil. 484 doc: /* Return the cdr of LIST. If arg is nil, return nil.
485Error if arg is not nil and not a cons cell. See also `cdr-safe'. 485Error if arg is not nil and not a cons cell. See also `cdr-safe'.
486 486
@@ -491,14 +491,14 @@ Lisp concepts such as cdr, car, cons cell and list. */)
491 return CDR (list); 491 return CDR (list);
492} 492}
493 493
494DEFUN ("cdr-safe", Fcdr_safe, Scdr_safe, 1, 1, 0, 494DEFUE ("cdr-safe", Fcdr_safe, Scdr_safe, 1, 1, 0,
495 doc: /* Return the cdr of OBJECT if it is a cons cell, or else nil. */) 495 doc: /* Return the cdr of OBJECT if it is a cons cell, or else nil. */)
496 (Lisp_Object object) 496 (Lisp_Object object)
497{ 497{
498 return CDR_SAFE (object); 498 return CDR_SAFE (object);
499} 499}
500 500
501DEFUN ("setcar", Fsetcar, Ssetcar, 2, 2, 0, 501DEFUE ("setcar", Fsetcar, Ssetcar, 2, 2, 0,
502 doc: /* Set the car of CELL to be NEWCAR. Returns NEWCAR. */) 502 doc: /* Set the car of CELL to be NEWCAR. Returns NEWCAR. */)
503 (register Lisp_Object cell, Lisp_Object newcar) 503 (register Lisp_Object cell, Lisp_Object newcar)
504{ 504{
@@ -508,7 +508,7 @@ DEFUN ("setcar", Fsetcar, Ssetcar, 2, 2, 0,
508 return newcar; 508 return newcar;
509} 509}
510 510
511DEFUN ("setcdr", Fsetcdr, Ssetcdr, 2, 2, 0, 511DEFUE ("setcdr", Fsetcdr, Ssetcdr, 2, 2, 0,
512 doc: /* Set the cdr of CELL to be NEWCDR. Returns NEWCDR. */) 512 doc: /* Set the cdr of CELL to be NEWCDR. Returns NEWCDR. */)
513 (register Lisp_Object cell, Lisp_Object newcdr) 513 (register Lisp_Object cell, Lisp_Object newcdr)
514{ 514{
@@ -520,7 +520,7 @@ DEFUN ("setcdr", Fsetcdr, Ssetcdr, 2, 2, 0,
520 520
521/* Extract and set components of symbols */ 521/* Extract and set components of symbols */
522 522
523DEFUN ("boundp", Fboundp, Sboundp, 1, 1, 0, 523DEFUE ("boundp", Fboundp, Sboundp, 1, 1, 0,
524 doc: /* Return t if SYMBOL's value is not void. */) 524 doc: /* Return t if SYMBOL's value is not void. */)
525 (register Lisp_Object symbol) 525 (register Lisp_Object symbol)
526{ 526{
@@ -558,7 +558,7 @@ DEFUN ("boundp", Fboundp, Sboundp, 1, 1, 0,
558 return (EQ (valcontents, Qunbound) ? Qnil : Qt); 558 return (EQ (valcontents, Qunbound) ? Qnil : Qt);
559} 559}
560 560
561DEFUN ("fboundp", Ffboundp, Sfboundp, 1, 1, 0, 561DEFUE ("fboundp", Ffboundp, Sfboundp, 1, 1, 0,
562 doc: /* Return t if SYMBOL's function definition is not void. */) 562 doc: /* Return t if SYMBOL's function definition is not void. */)
563 (register Lisp_Object symbol) 563 (register Lisp_Object symbol)
564{ 564{
@@ -590,7 +590,7 @@ Return SYMBOL. */)
590 return symbol; 590 return symbol;
591} 591}
592 592
593DEFUN ("symbol-function", Fsymbol_function, Ssymbol_function, 1, 1, 0, 593DEFUE ("symbol-function", Fsymbol_function, Ssymbol_function, 1, 1, 0,
594 doc: /* Return SYMBOL's function definition. Error if that is void. */) 594 doc: /* Return SYMBOL's function definition. Error if that is void. */)
595 (register Lisp_Object symbol) 595 (register Lisp_Object symbol)
596{ 596{
@@ -608,7 +608,7 @@ DEFUN ("symbol-plist", Fsymbol_plist, Ssymbol_plist, 1, 1, 0,
608 return XSYMBOL (symbol)->plist; 608 return XSYMBOL (symbol)->plist;
609} 609}
610 610
611DEFUN ("symbol-name", Fsymbol_name, Ssymbol_name, 1, 1, 0, 611DEFUE ("symbol-name", Fsymbol_name, Ssymbol_name, 1, 1, 0,
612 doc: /* Return SYMBOL's name, a string. */) 612 doc: /* Return SYMBOL's name, a string. */)
613 (register Lisp_Object symbol) 613 (register Lisp_Object symbol)
614{ 614{
@@ -619,7 +619,7 @@ DEFUN ("symbol-name", Fsymbol_name, Ssymbol_name, 1, 1, 0,
619 return name; 619 return name;
620} 620}
621 621
622DEFUN ("fset", Ffset, Sfset, 2, 2, 0, 622DEFUE ("fset", Ffset, Sfset, 2, 2, 0,
623 doc: /* Set SYMBOL's function definition to DEFINITION, and return DEFINITION. */) 623 doc: /* Set SYMBOL's function definition to DEFINITION, and return DEFINITION. */)
624 (register Lisp_Object symbol, Lisp_Object definition) 624 (register Lisp_Object symbol, Lisp_Object definition)
625{ 625{
@@ -706,7 +706,7 @@ SUBR must be a built-in function. */)
706 return make_string (name, strlen (name)); 706 return make_string (name, strlen (name));
707} 707}
708 708
709DEFUN ("interactive-form", Finteractive_form, Sinteractive_form, 1, 1, 0, 709DEFUE ("interactive-form", Finteractive_form, Sinteractive_form, 1, 1, 0,
710 doc: /* Return the interactive form of CMD or nil if none. 710 doc: /* Return the interactive form of CMD or nil if none.
711If CMD is not a command, the return value is nil. 711If CMD is not a command, the return value is nil.
712Value, if non-nil, is a list \(interactive SPEC). */) 712Value, if non-nil, is a list \(interactive SPEC). */)
@@ -1049,7 +1049,7 @@ find_symbol_value (Lisp_Object symbol)
1049 } 1049 }
1050} 1050}
1051 1051
1052DEFUN ("symbol-value", Fsymbol_value, Ssymbol_value, 1, 1, 0, 1052DEFUE ("symbol-value", Fsymbol_value, Ssymbol_value, 1, 1, 0,
1053 doc: /* Return SYMBOL's value. Error if that is void. */) 1053 doc: /* Return SYMBOL's value. Error if that is void. */)
1054 (Lisp_Object symbol) 1054 (Lisp_Object symbol)
1055{ 1055{
@@ -1062,7 +1062,7 @@ DEFUN ("symbol-value", Fsymbol_value, Ssymbol_value, 1, 1, 0,
1062 xsignal1 (Qvoid_variable, symbol); 1062 xsignal1 (Qvoid_variable, symbol);
1063} 1063}
1064 1064
1065DEFUN ("set", Fset, Sset, 2, 2, 0, 1065DEFUE ("set", Fset, Sset, 2, 2, 0,
1066 doc: /* Set SYMBOL's value to NEWVAL, and return NEWVAL. */) 1066 doc: /* Set SYMBOL's value to NEWVAL, and return NEWVAL. */)
1067 (register Lisp_Object symbol, Lisp_Object newval) 1067 (register Lisp_Object symbol, Lisp_Object newval)
1068{ 1068{
@@ -1308,7 +1308,7 @@ default_value (Lisp_Object symbol)
1308 } 1308 }
1309} 1309}
1310 1310
1311DEFUN ("default-boundp", Fdefault_boundp, Sdefault_boundp, 1, 1, 0, 1311DEFUE ("default-boundp", Fdefault_boundp, Sdefault_boundp, 1, 1, 0,
1312 doc: /* Return t if SYMBOL has a non-void default value. 1312 doc: /* Return t if SYMBOL has a non-void default value.
1313This is the value that is seen in buffers that do not have their own values 1313This is the value that is seen in buffers that do not have their own values
1314for this variable. */) 1314for this variable. */)
@@ -1320,7 +1320,7 @@ for this variable. */)
1320 return (EQ (value, Qunbound) ? Qnil : Qt); 1320 return (EQ (value, Qunbound) ? Qnil : Qt);
1321} 1321}
1322 1322
1323DEFUN ("default-value", Fdefault_value, Sdefault_value, 1, 1, 0, 1323DEFUE ("default-value", Fdefault_value, Sdefault_value, 1, 1, 0,
1324 doc: /* Return SYMBOL's default value. 1324 doc: /* Return SYMBOL's default value.
1325This is the value that is seen in buffers that do not have their own values 1325This is the value that is seen in buffers that do not have their own values
1326for this variable. The default value is meaningful for variables with 1326for this variable. The default value is meaningful for variables with
@@ -1336,7 +1336,7 @@ local bindings in certain buffers. */)
1336 xsignal1 (Qvoid_variable, symbol); 1336 xsignal1 (Qvoid_variable, symbol);
1337} 1337}
1338 1338
1339DEFUN ("set-default", Fset_default, Sset_default, 2, 2, 0, 1339DEFUE ("set-default", Fset_default, Sset_default, 2, 2, 0,
1340 doc: /* Set SYMBOL's default value to VALUE. SYMBOL and VALUE are evaluated. 1340 doc: /* Set SYMBOL's default value to VALUE. SYMBOL and VALUE are evaluated.
1341The default value is seen in buffers that do not have their own values 1341The default value is seen in buffers that do not have their own values
1342for this variable. */) 1342for this variable. */)
@@ -1479,8 +1479,8 @@ make_blv (struct Lisp_Symbol *sym, int forwarded, union Lisp_Val_Fwd valcontents
1479 return blv; 1479 return blv;
1480} 1480}
1481 1481
1482DEFUN ("make-variable-buffer-local", Fmake_variable_buffer_local, Smake_variable_buffer_local, 1482DEFUE ("make-variable-buffer-local", Fmake_variable_buffer_local,
1483 1, 1, "vMake Variable Buffer Local: ", 1483 Smake_variable_buffer_local, 1, 1, "vMake Variable Buffer Local: ",
1484 doc: /* Make VARIABLE become buffer-local whenever it is set. 1484 doc: /* Make VARIABLE become buffer-local whenever it is set.
1485At any time, the value for the current buffer is in effect, 1485At any time, the value for the current buffer is in effect,
1486unless the variable has never been set in this buffer, 1486unless the variable has never been set in this buffer,
@@ -1550,7 +1550,7 @@ The function `default-value' gets the default value and `set-default' sets it.
1550 return variable; 1550 return variable;
1551} 1551}
1552 1552
1553DEFUN ("make-local-variable", Fmake_local_variable, Smake_local_variable, 1553DEFUE ("make-local-variable", Fmake_local_variable, Smake_local_variable,
1554 1, 1, "vMake Local Variable: ", 1554 1, 1, "vMake Local Variable: ",
1555 doc: /* Make VARIABLE have a separate value in the current buffer. 1555 doc: /* Make VARIABLE have a separate value in the current buffer.
1556Other buffers will continue to share a common default value. 1556Other buffers will continue to share a common default value.
@@ -1810,7 +1810,7 @@ frame-local bindings). */)
1810 return variable; 1810 return variable;
1811} 1811}
1812 1812
1813DEFUN ("local-variable-p", Flocal_variable_p, Slocal_variable_p, 1813DEFUE ("local-variable-p", Flocal_variable_p, Slocal_variable_p,
1814 1, 2, 0, 1814 1, 2, 0,
1815 doc: /* Non-nil if VARIABLE has a local binding in buffer BUFFER. 1815 doc: /* Non-nil if VARIABLE has a local binding in buffer BUFFER.
1816BUFFER defaults to the current buffer. */) 1816BUFFER defaults to the current buffer. */)
@@ -1955,7 +1955,8 @@ If the current binding is global (the default), the value is nil. */)
1955#if 0 1955#if 0
1956extern struct terminal *get_terminal (Lisp_Object display, int); 1956extern struct terminal *get_terminal (Lisp_Object display, int);
1957 1957
1958DEFUN ("terminal-local-value", Fterminal_local_value, Sterminal_local_value, 2, 2, 0, 1958DEFUE ("terminal-local-value", Fterminal_local_value,
1959 Sterminal_local_value, 2, 2, 0,
1959 doc: /* Return the terminal-local value of SYMBOL on TERMINAL. 1960 doc: /* Return the terminal-local value of SYMBOL on TERMINAL.
1960If SYMBOL is not a terminal-local variable, then return its normal 1961If SYMBOL is not a terminal-local variable, then return its normal
1961value, like `symbol-value'. 1962value, like `symbol-value'.
@@ -1972,7 +1973,8 @@ selected frame's terminal device). */)
1972 return result; 1973 return result;
1973} 1974}
1974 1975
1975DEFUN ("set-terminal-local-value", Fset_terminal_local_value, Sset_terminal_local_value, 3, 3, 0, 1976DEFUE ("set-terminal-local-value", Fset_terminal_local_value,
1977 Sset_terminal_local_value, 3, 3, 0,
1976 doc: /* Set the terminal-local binding of SYMBOL on TERMINAL to VALUE. 1978 doc: /* Set the terminal-local binding of SYMBOL on TERMINAL to VALUE.
1977If VARIABLE is not a terminal-local variable, then set its normal 1979If VARIABLE is not a terminal-local variable, then set its normal
1978binding, like `set'. 1980binding, like `set'.
@@ -2024,7 +2026,7 @@ indirect_function (register Lisp_Object object)
2024 return hare; 2026 return hare;
2025} 2027}
2026 2028
2027DEFUN ("indirect-function", Findirect_function, Sindirect_function, 1, 2, 0, 2029DEFUE ("indirect-function", Findirect_function, Sindirect_function, 1, 2, 0,
2028 doc: /* Return the function at the end of OBJECT's function chain. 2030 doc: /* Return the function at the end of OBJECT's function chain.
2029If OBJECT is not a symbol, just return it. Otherwise, follow all 2031If OBJECT is not a symbol, just return it. Otherwise, follow all
2030function indirections to find the final function binding and return it. 2032function indirections to find the final function binding and return it.
@@ -2052,7 +2054,7 @@ function chain of symbols. */)
2052 2054
2053/* Extract and set vector and string elements */ 2055/* Extract and set vector and string elements */
2054 2056
2055DEFUN ("aref", Faref, Saref, 2, 2, 0, 2057DEFUE ("aref", Faref, Saref, 2, 2, 0,
2056 doc: /* Return the element of ARRAY at index IDX. 2058 doc: /* Return the element of ARRAY at index IDX.
2057ARRAY may be a vector, a string, a char-table, a bool-vector, 2059ARRAY may be a vector, a string, a char-table, a bool-vector,
2058or a byte-code object. IDX starts at 0. */) 2060or a byte-code object. IDX starts at 0. */)
@@ -2107,7 +2109,7 @@ or a byte-code object. IDX starts at 0. */)
2107 } 2109 }
2108} 2110}
2109 2111
2110DEFUN ("aset", Faset, Saset, 3, 3, 0, 2112DEFUE ("aset", Faset, Saset, 3, 3, 0,
2111 doc: /* Store into the element of ARRAY at index IDX the value NEWELT. 2113 doc: /* Store into the element of ARRAY at index IDX the value NEWELT.
2112Return NEWELT. ARRAY may be a vector, a string, a char-table or a 2114Return NEWELT. ARRAY may be a vector, a string, a char-table or a
2113bool-vector. IDX starts at 0. */) 2115bool-vector. IDX starts at 0. */)
@@ -2270,21 +2272,21 @@ DEFUN ("=", Feqlsign, Seqlsign, 2, 2, 0,
2270 return arithcompare (num1, num2, equal); 2272 return arithcompare (num1, num2, equal);
2271} 2273}
2272 2274
2273DEFUN ("<", Flss, Slss, 2, 2, 0, 2275DEFUE ("<", Flss, Slss, 2, 2, 0,
2274 doc: /* Return t if first arg is less than second arg. Both must be numbers or markers. */) 2276 doc: /* Return t if first arg is less than second arg. Both must be numbers or markers. */)
2275 (register Lisp_Object num1, Lisp_Object num2) 2277 (register Lisp_Object num1, Lisp_Object num2)
2276{ 2278{
2277 return arithcompare (num1, num2, less); 2279 return arithcompare (num1, num2, less);
2278} 2280}
2279 2281
2280DEFUN (">", Fgtr, Sgtr, 2, 2, 0, 2282DEFUE (">", Fgtr, Sgtr, 2, 2, 0,
2281 doc: /* Return t if first arg is greater than second arg. Both must be numbers or markers. */) 2283 doc: /* Return t if first arg is greater than second arg. Both must be numbers or markers. */)
2282 (register Lisp_Object num1, Lisp_Object num2) 2284 (register Lisp_Object num1, Lisp_Object num2)
2283{ 2285{
2284 return arithcompare (num1, num2, grtr); 2286 return arithcompare (num1, num2, grtr);
2285} 2287}
2286 2288
2287DEFUN ("<=", Fleq, Sleq, 2, 2, 0, 2289DEFUE ("<=", Fleq, Sleq, 2, 2, 0,
2288 doc: /* Return t if first arg is less than or equal to second arg. 2290 doc: /* Return t if first arg is less than or equal to second arg.
2289Both must be numbers or markers. */) 2291Both must be numbers or markers. */)
2290 (register Lisp_Object num1, Lisp_Object num2) 2292 (register Lisp_Object num1, Lisp_Object num2)
@@ -2292,7 +2294,7 @@ Both must be numbers or markers. */)
2292 return arithcompare (num1, num2, less_or_equal); 2294 return arithcompare (num1, num2, less_or_equal);
2293} 2295}
2294 2296
2295DEFUN (">=", Fgeq, Sgeq, 2, 2, 0, 2297DEFUE (">=", Fgeq, Sgeq, 2, 2, 0,
2296 doc: /* Return t if first arg is greater than or equal to second arg. 2298 doc: /* Return t if first arg is greater than or equal to second arg.
2297Both must be numbers or markers. */) 2299Both must be numbers or markers. */)
2298 (register Lisp_Object num1, Lisp_Object num2) 2300 (register Lisp_Object num1, Lisp_Object num2)
@@ -2307,7 +2309,7 @@ DEFUN ("/=", Fneq, Sneq, 2, 2, 0,
2307 return arithcompare (num1, num2, notequal); 2309 return arithcompare (num1, num2, notequal);
2308} 2310}
2309 2311
2310DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0, 2312DEFUE ("zerop", Fzerop, Szerop, 1, 1, 0,
2311 doc: /* Return t if NUMBER is zero. */) 2313 doc: /* Return t if NUMBER is zero. */)
2312 (register Lisp_Object number) 2314 (register Lisp_Object number)
2313{ 2315{
@@ -2354,7 +2356,7 @@ cons_to_long (Lisp_Object c)
2354 return ((XINT (top) << 16) | XINT (bot)); 2356 return ((XINT (top) << 16) | XINT (bot));
2355} 2357}
2356 2358
2357DEFUN ("number-to-string", Fnumber_to_string, Snumber_to_string, 1, 1, 0, 2359DEFUE ("number-to-string", Fnumber_to_string, Snumber_to_string, 1, 1, 0,
2358 doc: /* Return the decimal representation of NUMBER as a string. 2360 doc: /* Return the decimal representation of NUMBER as a string.
2359Uses a minus sign if negative. 2361Uses a minus sign if negative.
2360NUMBER may be an integer or a floating point number. */) 2362NUMBER may be an integer or a floating point number. */)
@@ -2401,7 +2403,7 @@ digit_to_number (int character, int base)
2401 return digit; 2403 return digit;
2402} 2404}
2403 2405
2404DEFUN ("string-to-number", Fstring_to_number, Sstring_to_number, 1, 2, 0, 2406DEFUE ("string-to-number", Fstring_to_number, Sstring_to_number, 1, 2, 0,
2405 doc: /* Parse STRING as a decimal number and return the number. 2407 doc: /* Parse STRING as a decimal number and return the number.
2406This parses both integers and floating point numbers. 2408This parses both integers and floating point numbers.
2407It ignores leading spaces and tabs, and all trailing chars. 2409It ignores leading spaces and tabs, and all trailing chars.
@@ -2624,7 +2626,7 @@ float_arith_driver (double accum, register size_t argnum, enum arithop code,
2624} 2626}
2625 2627
2626 2628
2627DEFUN ("+", Fplus, Splus, 0, MANY, 0, 2629DEFUE ("+", Fplus, Splus, 0, MANY, 0,
2628 doc: /* Return sum of any number of arguments, which are numbers or markers. 2630 doc: /* Return sum of any number of arguments, which are numbers or markers.
2629usage: (+ &rest NUMBERS-OR-MARKERS) */) 2631usage: (+ &rest NUMBERS-OR-MARKERS) */)
2630 (size_t nargs, Lisp_Object *args) 2632 (size_t nargs, Lisp_Object *args)
@@ -2632,7 +2634,7 @@ usage: (+ &rest NUMBERS-OR-MARKERS) */)
2632 return arith_driver (Aadd, nargs, args); 2634 return arith_driver (Aadd, nargs, args);
2633} 2635}
2634 2636
2635DEFUN ("-", Fminus, Sminus, 0, MANY, 0, 2637DEFUE ("-", Fminus, Sminus, 0, MANY, 0,
2636 doc: /* Negate number or subtract numbers or markers and return the result. 2638 doc: /* Negate number or subtract numbers or markers and return the result.
2637With one arg, negates it. With more than one arg, 2639With one arg, negates it. With more than one arg,
2638subtracts all but the first from the first. 2640subtracts all but the first from the first.
@@ -2642,7 +2644,7 @@ usage: (- &optional NUMBER-OR-MARKER &rest MORE-NUMBERS-OR-MARKERS) */)
2642 return arith_driver (Asub, nargs, args); 2644 return arith_driver (Asub, nargs, args);
2643} 2645}
2644 2646
2645DEFUN ("*", Ftimes, Stimes, 0, MANY, 0, 2647DEFUE ("*", Ftimes, Stimes, 0, MANY, 0,
2646 doc: /* Return product of any number of arguments, which are numbers or markers. 2648 doc: /* Return product of any number of arguments, which are numbers or markers.
2647usage: (* &rest NUMBERS-OR-MARKERS) */) 2649usage: (* &rest NUMBERS-OR-MARKERS) */)
2648 (size_t nargs, Lisp_Object *args) 2650 (size_t nargs, Lisp_Object *args)
@@ -2650,7 +2652,7 @@ usage: (* &rest NUMBERS-OR-MARKERS) */)
2650 return arith_driver (Amult, nargs, args); 2652 return arith_driver (Amult, nargs, args);
2651} 2653}
2652 2654
2653DEFUN ("/", Fquo, Squo, 2, MANY, 0, 2655DEFUE ("/", Fquo, Squo, 2, MANY, 0,
2654 doc: /* Return first argument divided by all the remaining arguments. 2656 doc: /* Return first argument divided by all the remaining arguments.
2655The arguments must be numbers or markers. 2657The arguments must be numbers or markers.
2656usage: (/ DIVIDEND DIVISOR &rest DIVISORS) */) 2658usage: (/ DIVIDEND DIVISOR &rest DIVISORS) */)
@@ -2663,7 +2665,7 @@ usage: (/ DIVIDEND DIVISOR &rest DIVISORS) */)
2663 return arith_driver (Adiv, nargs, args); 2665 return arith_driver (Adiv, nargs, args);
2664} 2666}
2665 2667
2666DEFUN ("%", Frem, Srem, 2, 2, 0, 2668DEFUE ("%", Frem, Srem, 2, 2, 0,
2667 doc: /* Return remainder of X divided by Y. 2669 doc: /* Return remainder of X divided by Y.
2668Both must be integers or markers. */) 2670Both must be integers or markers. */)
2669 (register Lisp_Object x, Lisp_Object y) 2671 (register Lisp_Object x, Lisp_Object y)
@@ -2734,7 +2736,7 @@ Both X and Y must be numbers or markers. */)
2734 return val; 2736 return val;
2735} 2737}
2736 2738
2737DEFUN ("max", Fmax, Smax, 1, MANY, 0, 2739DEFUE ("max", Fmax, Smax, 1, MANY, 0,
2738 doc: /* Return largest of all the arguments (which must be numbers or markers). 2740 doc: /* Return largest of all the arguments (which must be numbers or markers).
2739The value is always a number; markers are converted to numbers. 2741The value is always a number; markers are converted to numbers.
2740usage: (max NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) 2742usage: (max NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */)
@@ -2743,7 +2745,7 @@ usage: (max NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */)
2743 return arith_driver (Amax, nargs, args); 2745 return arith_driver (Amax, nargs, args);
2744} 2746}
2745 2747
2746DEFUN ("min", Fmin, Smin, 1, MANY, 0, 2748DEFUE ("min", Fmin, Smin, 1, MANY, 0,
2747 doc: /* Return smallest of all the arguments (which must be numbers or markers). 2749 doc: /* Return smallest of all the arguments (which must be numbers or markers).
2748The value is always a number; markers are converted to numbers. 2750The value is always a number; markers are converted to numbers.
2749usage: (min NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) 2751usage: (min NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */)
@@ -2823,7 +2825,7 @@ In this case, zeros are shifted in on the left. */)
2823 return val; 2825 return val;
2824} 2826}
2825 2827
2826DEFUN ("1+", Fadd1, Sadd1, 1, 1, 0, 2828DEFUE ("1+", Fadd1, Sadd1, 1, 1, 0,
2827 doc: /* Return NUMBER plus one. NUMBER may be a number or a marker. 2829 doc: /* Return NUMBER plus one. NUMBER may be a number or a marker.
2828Markers are converted to integers. */) 2830Markers are converted to integers. */)
2829 (register Lisp_Object number) 2831 (register Lisp_Object number)
@@ -2837,7 +2839,7 @@ Markers are converted to integers. */)
2837 return number; 2839 return number;
2838} 2840}
2839 2841
2840DEFUN ("1-", Fsub1, Ssub1, 1, 1, 0, 2842DEFUE ("1-", Fsub1, Ssub1, 1, 1, 0,
2841 doc: /* Return NUMBER minus one. NUMBER may be a number or a marker. 2843 doc: /* Return NUMBER minus one. NUMBER may be a number or a marker.
2842Markers are converted to integers. */) 2844Markers are converted to integers. */)
2843 (register Lisp_Object number) 2845 (register Lisp_Object number)
@@ -2860,7 +2862,7 @@ DEFUN ("lognot", Flognot, Slognot, 1, 1, 0,
2860 return number; 2862 return number;
2861} 2863}
2862 2864
2863DEFUN ("byteorder", Fbyteorder, Sbyteorder, 0, 0, 0, 2865DEFUE ("byteorder", Fbyteorder, Sbyteorder, 0, 0, 0,
2864 doc: /* Return the byteorder for the machine. 2866 doc: /* Return the byteorder for the machine.
2865Returns 66 (ASCII uppercase B) for big endian machines or 108 (ASCII 2867Returns 66 (ASCII uppercase B) for big endian machines or 108 (ASCII
2866lowercase l) for small endian machines. */) 2868lowercase l) for small endian machines. */)
diff --git a/src/dired.c b/src/dired.c
index 186cfd1420b..f5fc1e3a62d 100644
--- a/src/dired.c
+++ b/src/dired.c
@@ -87,6 +87,7 @@ Lisp_Object Qfile_attributes;
87Lisp_Object Qfile_attributes_lessp; 87Lisp_Object Qfile_attributes_lessp;
88 88
89static int scmp (const char *, const char *, int); 89static int scmp (const char *, const char *, int);
90INFUN (Ffile_attributes, 2);
90 91
91#ifdef WINDOWSNT 92#ifdef WINDOWSNT
92Lisp_Object 93Lisp_Object
diff --git a/src/dispnew.c b/src/dispnew.c
index 3a78845fa56..6e4c93d1676 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -337,7 +337,7 @@ add_frame_display_history (struct frame *f, int paused_p)
337} 337}
338 338
339 339
340DEFUN ("dump-redisplay-history", Fdump_redisplay_history, 340DEFUE ("dump-redisplay-history", Fdump_redisplay_history,
341 Sdump_redisplay_history, 0, 0, "", 341 Sdump_redisplay_history, 0, 0, "",
342 doc: /* Dump redisplay history to stderr. */) 342 doc: /* Dump redisplay history to stderr. */)
343 (void) 343 (void)
@@ -3139,7 +3139,7 @@ window_to_frame_hpos (struct window *w, int hpos)
3139 Redrawing Frames 3139 Redrawing Frames
3140 **********************************************************************/ 3140 **********************************************************************/
3141 3141
3142DEFUN ("redraw-frame", Fredraw_frame, Sredraw_frame, 1, 1, 0, 3142DEFUE ("redraw-frame", Fredraw_frame, Sredraw_frame, 1, 1, 0,
3143 doc: /* Clear frame FRAME and output again what is supposed to appear on it. */) 3143 doc: /* Clear frame FRAME and output again what is supposed to appear on it. */)
3144 (Lisp_Object frame) 3144 (Lisp_Object frame)
3145{ 3145{
@@ -5878,7 +5878,7 @@ when TERMINAL is nil. */)
5878} 5878}
5879 5879
5880 5880
5881DEFUN ("ding", Fding, Sding, 0, 1, 0, 5881DEFUE ("ding", Fding, Sding, 0, 1, 0,
5882 doc: /* Beep, or flash the screen. 5882 doc: /* Beep, or flash the screen.
5883Also, unless an argument is given, 5883Also, unless an argument is given,
5884terminate any keyboard macro currently executing. */) 5884terminate any keyboard macro currently executing. */)
@@ -5914,7 +5914,7 @@ bitch_at_user (void)
5914 Sleeping, Waiting 5914 Sleeping, Waiting
5915 ***********************************************************************/ 5915 ***********************************************************************/
5916 5916
5917DEFUN ("sleep-for", Fsleep_for, Ssleep_for, 1, 2, 0, 5917DEFUE ("sleep-for", Fsleep_for, Ssleep_for, 1, 2, 0,
5918 doc: /* Pause, without updating display, for SECONDS seconds. 5918 doc: /* Pause, without updating display, for SECONDS seconds.
5919SECONDS may be a floating-point value, meaning that you can wait for a 5919SECONDS may be a floating-point value, meaning that you can wait for a
5920fraction of a second. Optional second arg MILLISECONDS specifies an 5920fraction of a second. Optional second arg MILLISECONDS specifies an
@@ -6020,7 +6020,7 @@ sit_for (Lisp_Object timeout, int reading, int do_display)
6020} 6020}
6021 6021
6022 6022
6023DEFUN ("redisplay", Fredisplay, Sredisplay, 0, 1, 0, 6023DEFUE ("redisplay", Fredisplay, Sredisplay, 0, 1, 0,
6024 doc: /* Perform redisplay if no input is available. 6024 doc: /* Perform redisplay if no input is available.
6025If optional arg FORCE is non-nil or `redisplay-dont-pause' is non-nil, 6025If optional arg FORCE is non-nil or `redisplay-dont-pause' is non-nil,
6026perform a full redisplay even if input is available. 6026perform a full redisplay even if input is available.
diff --git a/src/doc.c b/src/doc.c
index ed0d2323ed5..b6939ad78f6 100644
--- a/src/doc.c
+++ b/src/doc.c
@@ -42,7 +42,8 @@ static char *get_doc_string_buffer;
42static int get_doc_string_buffer_size; 42static int get_doc_string_buffer_size;
43 43
44static unsigned char *read_bytecode_pointer; 44static unsigned char *read_bytecode_pointer;
45Lisp_Object Fsnarf_documentation (Lisp_Object); 45INFUN (Fdocumentation_property, 3);
46INFUN (Fsnarf_documentation, 1);
46 47
47/* readchar in lread.c calls back here to fetch the next byte. 48/* readchar in lread.c calls back here to fetch the next byte.
48 If UNREADFLAG is 1, we unread a byte. */ 49 If UNREADFLAG is 1, we unread a byte. */
@@ -680,7 +681,7 @@ the same file name is found in the `doc-directory'. */)
680 return Qnil; 681 return Qnil;
681} 682}
682 683
683DEFUN ("substitute-command-keys", Fsubstitute_command_keys, 684DEFUE ("substitute-command-keys", Fsubstitute_command_keys,
684 Ssubstitute_command_keys, 1, 1, 0, 685 Ssubstitute_command_keys, 1, 1, 0,
685 doc: /* Substitute key descriptions for command names in STRING. 686 doc: /* Substitute key descriptions for command names in STRING.
686Substrings of the form \\=\\[COMMAND] replaced by either: a keystroke 687Substrings of the form \\=\\[COMMAND] replaced by either: a keystroke
diff --git a/src/editfns.c b/src/editfns.c
index 85b30de6975..0c34a95b949 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -108,7 +108,7 @@ static void transpose_markers (EMACS_INT, EMACS_INT, EMACS_INT, EMACS_INT,
108 EMACS_INT, EMACS_INT, EMACS_INT, EMACS_INT); 108 EMACS_INT, EMACS_INT, EMACS_INT, EMACS_INT);
109 109
110Lisp_Object Qbuffer_access_fontify_functions; 110Lisp_Object Qbuffer_access_fontify_functions;
111Lisp_Object Fuser_full_name (Lisp_Object); 111INFUN (Fuser_full_name, 1);
112 112
113/* Symbol for the text property used to mark fields. */ 113/* Symbol for the text property used to mark fields. */
114 114
@@ -185,7 +185,7 @@ init_editfns (void)
185#endif 185#endif
186} 186}
187 187
188DEFUN ("char-to-string", Fchar_to_string, Schar_to_string, 1, 1, 0, 188DEFUE ("char-to-string", Fchar_to_string, Schar_to_string, 1, 1, 0,
189 doc: /* Convert arg CHAR to a string containing that character. 189 doc: /* Convert arg CHAR to a string containing that character.
190usage: (char-to-string CHAR) */) 190usage: (char-to-string CHAR) */)
191 (Lisp_Object character) 191 (Lisp_Object character)
@@ -239,7 +239,7 @@ buildmark (EMACS_INT charpos, EMACS_INT bytepos)
239 return mark; 239 return mark;
240} 240}
241 241
242DEFUN ("point", Fpoint, Spoint, 0, 0, 0, 242DEFUE ("point", Fpoint, Spoint, 0, 0, 0,
243 doc: /* Return value of point, as an integer. 243 doc: /* Return value of point, as an integer.
244Beginning of buffer is position (point-min). */) 244Beginning of buffer is position (point-min). */)
245 (void) 245 (void)
@@ -249,7 +249,7 @@ Beginning of buffer is position (point-min). */)
249 return temp; 249 return temp;
250} 250}
251 251
252DEFUN ("point-marker", Fpoint_marker, Spoint_marker, 0, 0, 0, 252DEFUE ("point-marker", Fpoint_marker, Spoint_marker, 0, 0, 0,
253 doc: /* Return value of point, as a marker object. */) 253 doc: /* Return value of point, as a marker object. */)
254 (void) 254 (void)
255{ 255{
@@ -267,7 +267,7 @@ clip_to_bounds (EMACS_INT lower, EMACS_INT num, EMACS_INT upper)
267 return num; 267 return num;
268} 268}
269 269
270DEFUN ("goto-char", Fgoto_char, Sgoto_char, 1, 1, "NGoto char: ", 270DEFUE ("goto-char", Fgoto_char, Sgoto_char, 1, 1, "NGoto char: ",
271 doc: /* Set point to POSITION, a number or marker. 271 doc: /* Set point to POSITION, a number or marker.
272Beginning of buffer is position (point-min), end is (point-max). 272Beginning of buffer is position (point-min), end is (point-max).
273 273
@@ -663,7 +663,7 @@ is before LIMIT, then LIMIT will be returned instead. */)
663 return make_number (beg); 663 return make_number (beg);
664} 664}
665 665
666DEFUN ("field-end", Ffield_end, Sfield_end, 0, 3, 0, 666DEFUE ("field-end", Ffield_end, Sfield_end, 0, 3, 0,
667 doc: /* Return the end of the field surrounding POS. 667 doc: /* Return the end of the field surrounding POS.
668A field is a region of text with the same `field' property. 668A field is a region of text with the same `field' property.
669If POS is nil, the value of point is used for POS. 669If POS is nil, the value of point is used for POS.
@@ -678,7 +678,7 @@ is after LIMIT, then LIMIT will be returned instead. */)
678 return make_number (end); 678 return make_number (end);
679} 679}
680 680
681DEFUN ("constrain-to-field", Fconstrain_to_field, Sconstrain_to_field, 2, 5, 0, 681DEFUE ("constrain-to-field", Fconstrain_to_field, Sconstrain_to_field, 2, 5, 0,
682 doc: /* Return the position closest to NEW-POS that is in the same field as OLD-POS. 682 doc: /* Return the position closest to NEW-POS that is in the same field as OLD-POS.
683 683
684A field is a region of text with the same `field' property. 684A field is a region of text with the same `field' property.
@@ -787,7 +787,7 @@ Field boundaries are not noticed if `inhibit-field-text-motion' is non-nil. */)
787} 787}
788 788
789 789
790DEFUN ("line-beginning-position", 790DEFUE ("line-beginning-position",
791 Fline_beginning_position, Sline_beginning_position, 0, 1, 0, 791 Fline_beginning_position, Sline_beginning_position, 0, 1, 0,
792 doc: /* Return the character position of the first character on the current line. 792 doc: /* Return the character position of the first character on the current line.
793With argument N not nil or 1, move forward N - 1 lines first. 793With argument N not nil or 1, move forward N - 1 lines first.
@@ -829,7 +829,7 @@ This function does not move point. */)
829 Qt, Qnil); 829 Qt, Qnil);
830} 830}
831 831
832DEFUN ("line-end-position", Fline_end_position, Sline_end_position, 0, 1, 0, 832DEFUE ("line-end-position", Fline_end_position, Sline_end_position, 0, 1, 0,
833 doc: /* Return the character position of the last character on the current line. 833 doc: /* Return the character position of the last character on the current line.
834With argument N not nil or 1, move forward N - 1 lines first. 834With argument N not nil or 1, move forward N - 1 lines first.
835If scan reaches end of buffer, return that position. 835If scan reaches end of buffer, return that position.
@@ -1048,7 +1048,7 @@ is in effect, in which case it is less. */)
1048 return temp; 1048 return temp;
1049} 1049}
1050 1050
1051DEFUN ("point-max-marker", Fpoint_max_marker, Spoint_max_marker, 0, 0, 0, 1051DEFUE ("point-max-marker", Fpoint_max_marker, Spoint_max_marker, 0, 0, 0,
1052 doc: /* Return a marker to the maximum permissible value of point in this buffer. 1052 doc: /* Return a marker to the maximum permissible value of point in this buffer.
1053This is (1+ (buffer-size)), unless narrowing (a buffer restriction) 1053This is (1+ (buffer-size)), unless narrowing (a buffer restriction)
1054is in effect, in which case it is less. */) 1054is in effect, in which case it is less. */)
@@ -1099,7 +1099,7 @@ If BYTEPOS is out of range, the value is nil. */)
1099 return make_number (BYTE_TO_CHAR (XINT (bytepos))); 1099 return make_number (BYTE_TO_CHAR (XINT (bytepos)));
1100} 1100}
1101 1101
1102DEFUN ("following-char", Ffollowing_char, Sfollowing_char, 0, 0, 0, 1102DEFUE ("following-char", Ffollowing_char, Sfollowing_char, 0, 0, 0,
1103 doc: /* Return the character following point, as a number. 1103 doc: /* Return the character following point, as a number.
1104At the end of the buffer or accessible region, return 0. */) 1104At the end of the buffer or accessible region, return 0. */)
1105 (void) 1105 (void)
@@ -1112,7 +1112,7 @@ At the end of the buffer or accessible region, return 0. */)
1112 return temp; 1112 return temp;
1113} 1113}
1114 1114
1115DEFUN ("preceding-char", Fprevious_char, Sprevious_char, 0, 0, 0, 1115DEFUE ("preceding-char", Fprevious_char, Sprevious_char, 0, 0, 0,
1116 doc: /* Return the character preceding point, as a number. 1116 doc: /* Return the character preceding point, as a number.
1117At the beginning of the buffer or accessible region, return 0. */) 1117At the beginning of the buffer or accessible region, return 0. */)
1118 (void) 1118 (void)
@@ -1131,7 +1131,7 @@ At the beginning of the buffer or accessible region, return 0. */)
1131 return temp; 1131 return temp;
1132} 1132}
1133 1133
1134DEFUN ("bobp", Fbobp, Sbobp, 0, 0, 0, 1134DEFUE ("bobp", Fbobp, Sbobp, 0, 0, 0,
1135 doc: /* Return t if point is at the beginning of the buffer. 1135 doc: /* Return t if point is at the beginning of the buffer.
1136If the buffer is narrowed, this means the beginning of the narrowed part. */) 1136If the buffer is narrowed, this means the beginning of the narrowed part. */)
1137 (void) 1137 (void)
@@ -1141,7 +1141,7 @@ If the buffer is narrowed, this means the beginning of the narrowed part. */)
1141 return Qnil; 1141 return Qnil;
1142} 1142}
1143 1143
1144DEFUN ("eobp", Feobp, Seobp, 0, 0, 0, 1144DEFUE ("eobp", Feobp, Seobp, 0, 0, 0,
1145 doc: /* Return t if point is at the end of the buffer. 1145 doc: /* Return t if point is at the end of the buffer.
1146If the buffer is narrowed, this means the end of the narrowed part. */) 1146If the buffer is narrowed, this means the end of the narrowed part. */)
1147 (void) 1147 (void)
@@ -1151,7 +1151,7 @@ If the buffer is narrowed, this means the end of the narrowed part. */)
1151 return Qnil; 1151 return Qnil;
1152} 1152}
1153 1153
1154DEFUN ("bolp", Fbolp, Sbolp, 0, 0, 0, 1154DEFUE ("bolp", Fbolp, Sbolp, 0, 0, 0,
1155 doc: /* Return t if point is at the beginning of a line. */) 1155 doc: /* Return t if point is at the beginning of a line. */)
1156 (void) 1156 (void)
1157{ 1157{
@@ -1160,7 +1160,7 @@ DEFUN ("bolp", Fbolp, Sbolp, 0, 0, 0,
1160 return Qnil; 1160 return Qnil;
1161} 1161}
1162 1162
1163DEFUN ("eolp", Feolp, Seolp, 0, 0, 0, 1163DEFUE ("eolp", Feolp, Seolp, 0, 0, 0,
1164 doc: /* Return t if point is at the end of a line. 1164 doc: /* Return t if point is at the end of a line.
1165`End of a line' includes point being at the end of the buffer. */) 1165`End of a line' includes point being at the end of the buffer. */)
1166 (void) 1166 (void)
@@ -1170,7 +1170,7 @@ DEFUN ("eolp", Feolp, Seolp, 0, 0, 0,
1170 return Qnil; 1170 return Qnil;
1171} 1171}
1172 1172
1173DEFUN ("char-after", Fchar_after, Schar_after, 0, 1, 0, 1173DEFUE ("char-after", Fchar_after, Schar_after, 0, 1, 0,
1174 doc: /* Return character in current buffer at position POS. 1174 doc: /* Return character in current buffer at position POS.
1175POS is an integer or a marker and defaults to point. 1175POS is an integer or a marker and defaults to point.
1176If POS is out of range, the value is nil. */) 1176If POS is out of range, the value is nil. */)
@@ -1247,7 +1247,7 @@ If POS is out of range, the value is nil. */)
1247 return val; 1247 return val;
1248} 1248}
1249 1249
1250DEFUN ("user-login-name", Fuser_login_name, Suser_login_name, 0, 1, 0, 1250DEFUE ("user-login-name", Fuser_login_name, Suser_login_name, 0, 1, 0,
1251 doc: /* Return the name under which the user logged in, as a string. 1251 doc: /* Return the name under which the user logged in, as a string.
1252This is based on the effective uid, not the real uid. 1252This is based on the effective uid, not the real uid.
1253Also, if the environment variables LOGNAME or USER are set, 1253Also, if the environment variables LOGNAME or USER are set,
@@ -1387,7 +1387,7 @@ name, or nil if there is no such user. */)
1387 return full; 1387 return full;
1388} 1388}
1389 1389
1390DEFUN ("system-name", Fsystem_name, Ssystem_name, 0, 0, 0, 1390DEFUE ("system-name", Fsystem_name, Ssystem_name, 0, 0, 0,
1391 doc: /* Return the host name of the machine you are running on, as a string. */) 1391 doc: /* Return the host name of the machine you are running on, as a string. */)
1392 (void) 1392 (void)
1393{ 1393{
@@ -1462,7 +1462,7 @@ lo_time (time_t t)
1462 return t & ((1 << 16) - 1); 1462 return t & ((1 << 16) - 1);
1463} 1463}
1464 1464
1465DEFUN ("current-time", Fcurrent_time, Scurrent_time, 0, 0, 0, 1465DEFUE ("current-time", Fcurrent_time, Scurrent_time, 0, 0, 0,
1466 doc: /* Return the current time, as the number of seconds since 1970-01-01 00:00:00. 1466 doc: /* Return the current time, as the number of seconds since 1970-01-01 00:00:00.
1467The time is returned as a list of three integers. The first has the 1467The time is returned as a list of three integers. The first has the
1468most significant 16 bits of the seconds, while the second has the 1468most significant 16 bits of the seconds, while the second has the
@@ -1481,7 +1481,7 @@ resolution finer than a second. */)
1481 make_number (EMACS_USECS (t))); 1481 make_number (EMACS_USECS (t)));
1482} 1482}
1483 1483
1484DEFUN ("get-internal-run-time", Fget_internal_run_time, Sget_internal_run_time, 1484DEFUE ("get-internal-run-time", Fget_internal_run_time, Sget_internal_run_time,
1485 0, 0, 0, 1485 0, 0, 0,
1486 doc: /* Return the current run time used by Emacs. 1486 doc: /* Return the current run time used by Emacs.
1487The time is returned as a list of three integers. The first has the 1487The time is returned as a list of three integers. The first has the
@@ -2255,7 +2255,7 @@ insert1 (Lisp_Object arg)
2255 not be used after calling insert or insert_from_string, so 2255 not be used after calling insert or insert_from_string, so
2256 we don't care if it gets trashed. */ 2256 we don't care if it gets trashed. */
2257 2257
2258DEFUN ("insert", Finsert, Sinsert, 0, MANY, 0, 2258DEFUE ("insert", Finsert, Sinsert, 0, MANY, 0,
2259 doc: /* Insert the arguments, either strings or characters, at point. 2259 doc: /* Insert the arguments, either strings or characters, at point.
2260Point and before-insertion markers move forward to end up 2260Point and before-insertion markers move forward to end up
2261 after the inserted text. 2261 after the inserted text.
@@ -2335,7 +2335,7 @@ usage: (insert-before-markers-and-inherit &rest ARGS) */)
2335 return Qnil; 2335 return Qnil;
2336} 2336}
2337 2337
2338DEFUN ("insert-char", Finsert_char, Sinsert_char, 2, 3, 0, 2338DEFUE ("insert-char", Finsert_char, Sinsert_char, 2, 3, 0,
2339 doc: /* Insert COUNT copies of CHARACTER. 2339 doc: /* Insert COUNT copies of CHARACTER.
2340Point, and before-insertion markers, are relocated as in the function `insert'. 2340Point, and before-insertion markers, are relocated as in the function `insert'.
2341The optional third arg INHERIT, if non-nil, says to inherit text properties 2341The optional third arg INHERIT, if non-nil, says to inherit text properties
@@ -2509,7 +2509,7 @@ update_buffer_properties (EMACS_INT start, EMACS_INT end)
2509 } 2509 }
2510} 2510}
2511 2511
2512DEFUN ("buffer-substring", Fbuffer_substring, Sbuffer_substring, 2, 2, 0, 2512DEFUE ("buffer-substring", Fbuffer_substring, Sbuffer_substring, 2, 2, 0,
2513 doc: /* Return the contents of part of the current buffer as a string. 2513 doc: /* Return the contents of part of the current buffer as a string.
2514The two arguments START and END are character positions; 2514The two arguments START and END are character positions;
2515they can be in either order. 2515they can be in either order.
@@ -2545,7 +2545,7 @@ they can be in either order. */)
2545 return make_buffer_string (b, e, 0); 2545 return make_buffer_string (b, e, 0);
2546} 2546}
2547 2547
2548DEFUN ("buffer-string", Fbuffer_string, Sbuffer_string, 0, 0, 0, 2548DEFUE ("buffer-string", Fbuffer_string, Sbuffer_string, 0, 0, 0,
2549 doc: /* Return the contents of the current buffer as a string. 2549 doc: /* Return the contents of the current buffer as a string.
2550If narrowing is in effect, this function returns only the visible part 2550If narrowing is in effect, this function returns only the visible part
2551of the buffer. */) 2551of the buffer. */)
@@ -3183,7 +3183,7 @@ It returns the number of characters changed. */)
3183 return make_number (cnt); 3183 return make_number (cnt);
3184} 3184}
3185 3185
3186DEFUN ("delete-region", Fdelete_region, Sdelete_region, 2, 2, "r", 3186DEFUE ("delete-region", Fdelete_region, Sdelete_region, 2, 2, "r",
3187 doc: /* Delete the text between point and mark. 3187 doc: /* Delete the text between point and mark.
3188 3188
3189When called from a program, expects two arguments, 3189When called from a program, expects two arguments,
@@ -3206,7 +3206,7 @@ DEFUN ("delete-and-extract-region", Fdelete_and_extract_region,
3206 return del_range_1 (XINT (start), XINT (end), 1, 1); 3206 return del_range_1 (XINT (start), XINT (end), 1, 1);
3207} 3207}
3208 3208
3209DEFUN ("widen", Fwiden, Swiden, 0, 0, "", 3209DEFUE ("widen", Fwiden, Swiden, 0, 0, "",
3210 doc: /* Remove restrictions (narrowing) from current buffer. 3210 doc: /* Remove restrictions (narrowing) from current buffer.
3211This allows the buffer's full text to be seen and edited. */) 3211This allows the buffer's full text to be seen and edited. */)
3212 (void) 3212 (void)
@@ -3221,7 +3221,7 @@ This allows the buffer's full text to be seen and edited. */)
3221 return Qnil; 3221 return Qnil;
3222} 3222}
3223 3223
3224DEFUN ("narrow-to-region", Fnarrow_to_region, Snarrow_to_region, 2, 2, "r", 3224DEFUE ("narrow-to-region", Fnarrow_to_region, Snarrow_to_region, 2, 2, "r",
3225 doc: /* Restrict editing in this buffer to the current region. 3225 doc: /* Restrict editing in this buffer to the current region.
3226The rest of the text becomes temporarily invisible and untouchable 3226The rest of the text becomes temporarily invisible and untouchable
3227but is not deleted; if you save the buffer in a file, the invisible 3227but is not deleted; if you save the buffer in a file, the invisible
@@ -3382,7 +3382,7 @@ static char *message_text;
3382/* Allocated length of that buffer. */ 3382/* Allocated length of that buffer. */
3383static int message_length; 3383static int message_length;
3384 3384
3385DEFUN ("message", Fmessage, Smessage, 1, MANY, 0, 3385DEFUE ("message", Fmessage, Smessage, 1, MANY, 0,
3386 doc: /* Display a message at the bottom of the screen. 3386 doc: /* Display a message at the bottom of the screen.
3387The message also goes into the `*Messages*' buffer. 3387The message also goes into the `*Messages*' buffer.
3388\(In keyboard macros, that's all it does.) 3388\(In keyboard macros, that's all it does.)
@@ -3494,7 +3494,7 @@ usage: (message-or-box FORMAT-STRING &rest ARGS) */)
3494 return Fmessage (nargs, args); 3494 return Fmessage (nargs, args);
3495} 3495}
3496 3496
3497DEFUN ("current-message", Fcurrent_message, Scurrent_message, 0, 0, 0, 3497DEFUE ("current-message", Fcurrent_message, Scurrent_message, 0, 0, 0,
3498 doc: /* Return the string currently displayed in the echo area, or nil if none. */) 3498 doc: /* Return the string currently displayed in the echo area, or nil if none. */)
3499 (void) 3499 (void)
3500{ 3500{
@@ -3543,7 +3543,7 @@ usage: (propertize STRING &rest PROPERTIES) */)
3543 ? count_size_as_multibyte (SDATA (STRING), SBYTES (STRING)) \ 3543 ? count_size_as_multibyte (SDATA (STRING), SBYTES (STRING)) \
3544 : SBYTES (STRING)) 3544 : SBYTES (STRING))
3545 3545
3546DEFUN ("format", Fformat, Sformat, 1, MANY, 0, 3546DEFUE ("format", Fformat, Sformat, 1, MANY, 0,
3547 doc: /* Format a string out of a format-string and arguments. 3547 doc: /* Format a string out of a format-string and arguments.
3548The first argument is a format control string. 3548The first argument is a format control string.
3549The other arguments are substituted into it to make the result, a string. 3549The other arguments are substituted into it to make the result, a string.
diff --git a/src/emacs.c b/src/emacs.c
index 6bdd2550ed1..74379f4c62e 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -1958,7 +1958,7 @@ sort_args (int argc, char **argv)
1958 xfree (priority); 1958 xfree (priority);
1959} 1959}
1960 1960
1961DEFUN ("kill-emacs", Fkill_emacs, Skill_emacs, 0, 1, "P", 1961DEFUE ("kill-emacs", Fkill_emacs, Skill_emacs, 0, 1, "P",
1962 doc: /* Exit the Emacs job and kill it. 1962 doc: /* Exit the Emacs job and kill it.
1963If ARG is an integer, return ARG as the exit program code. 1963If ARG is an integer, return ARG as the exit program code.
1964If ARG is a string, stuff it as keyboard input. 1964If ARG is a string, stuff it as keyboard input.
diff --git a/src/eval.c b/src/eval.c
index 0f9e012b823..d6d62aa4afb 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -126,6 +126,7 @@ static Lisp_Object funcall_lambda (Lisp_Object, size_t, Lisp_Object *);
126static void unwind_to_catch (struct catchtag *, Lisp_Object) NO_RETURN; 126static void unwind_to_catch (struct catchtag *, Lisp_Object) NO_RETURN;
127static int interactive_p (int); 127static int interactive_p (int);
128static Lisp_Object apply_lambda (Lisp_Object fun, Lisp_Object args); 128static Lisp_Object apply_lambda (Lisp_Object fun, Lisp_Object args);
129INFUN (Ffetch_bytecode, 1);
129 130
130void 131void
131init_eval_once (void) 132init_eval_once (void)
@@ -339,7 +340,7 @@ usage: (cond CLAUSES...) */)
339 return val; 340 return val;
340} 341}
341 342
342DEFUN ("progn", Fprogn, Sprogn, 0, UNEVALLED, 0, 343DEFUE ("progn", Fprogn, Sprogn, 0, UNEVALLED, 0,
343 doc: /* Eval BODY forms sequentially and return value of last one. 344 doc: /* Eval BODY forms sequentially and return value of last one.
344usage: (progn BODY...) */) 345usage: (progn BODY...) */)
345 (Lisp_Object args) 346 (Lisp_Object args)
@@ -504,7 +505,7 @@ usage: (function ARG) */)
504} 505}
505 506
506 507
507DEFUN ("interactive-p", Finteractive_p, Sinteractive_p, 0, 0, 0, 508DEFUE ("interactive-p", Finteractive_p, Sinteractive_p, 0, 0, 0,
508 doc: /* Return t if the containing function was run directly by user input. 509 doc: /* Return t if the containing function was run directly by user input.
509This means that the function was called with `call-interactively' 510This means that the function was called with `call-interactively'
510\(which includes being called as the binding of a key) 511\(which includes being called as the binding of a key)
@@ -1310,7 +1311,7 @@ unwind_to_catch (struct catchtag *catch, Lisp_Object value)
1310 _longjmp (catch->jmp, 1); 1311 _longjmp (catch->jmp, 1);
1311} 1312}
1312 1313
1313DEFUN ("throw", Fthrow, Sthrow, 2, 2, 0, 1314DEFUE ("throw", Fthrow, Sthrow, 2, 2, 0,
1314 doc: /* Throw to the catch for TAG and return VALUE from it. 1315 doc: /* Throw to the catch for TAG and return VALUE from it.
1315Both TAG and VALUE are evalled. */) 1316Both TAG and VALUE are evalled. */)
1316 (register Lisp_Object tag, Lisp_Object value) 1317 (register Lisp_Object tag, Lisp_Object value)
@@ -1648,7 +1649,7 @@ static Lisp_Object find_handler_clause (Lisp_Object, Lisp_Object,
1648static int maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig, 1649static int maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig,
1649 Lisp_Object data); 1650 Lisp_Object data);
1650 1651
1651DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, 1652DEFUE ("signal", Fsignal, Ssignal, 2, 2, 0,
1652 doc: /* Signal an error. Args are ERROR-SYMBOL and associated DATA. 1653 doc: /* Signal an error. Args are ERROR-SYMBOL and associated DATA.
1653This function does not return. 1654This function does not return.
1654 1655
@@ -2032,7 +2033,7 @@ error (const char *m, ...)
2032 va_end (ap); 2033 va_end (ap);
2033} 2034}
2034 2035
2035DEFUN ("commandp", Fcommandp, Scommandp, 1, 2, 0, 2036DEFUE ("commandp", Fcommandp, Scommandp, 1, 2, 0,
2036 doc: /* Non-nil if FUNCTION makes provisions for interactive calling. 2037 doc: /* Non-nil if FUNCTION makes provisions for interactive calling.
2037This means it contains a description for how to read arguments to give it. 2038This means it contains a description for how to read arguments to give it.
2038The value is nil for an invalid function or a symbol with no function 2039The value is nil for an invalid function or a symbol with no function
@@ -2213,7 +2214,7 @@ do_autoload (Lisp_Object fundef, Lisp_Object funname)
2213} 2214}
2214 2215
2215 2216
2216DEFUN ("eval", Feval, Seval, 1, 2, 0, 2217DEFUE ("eval", Feval, Seval, 1, 2, 0,
2217 doc: /* Evaluate FORM and return its value. 2218 doc: /* Evaluate FORM and return its value.
2218If LEXICAL is t, evaluate using lexical scoping. */) 2219If LEXICAL is t, evaluate using lexical scoping. */)
2219 (Lisp_Object form, Lisp_Object lexical) 2220 (Lisp_Object form, Lisp_Object lexical)
@@ -2449,7 +2450,7 @@ eval_sub (Lisp_Object form)
2449 return val; 2450 return val;
2450} 2451}
2451 2452
2452DEFUN ("apply", Fapply, Sapply, 2, MANY, 0, 2453DEFUE ("apply", Fapply, Sapply, 2, MANY, 0,
2453 doc: /* Call FUNCTION with our remaining args, using our last arg as list of args. 2454 doc: /* Call FUNCTION with our remaining args, using our last arg as list of args.
2454Then return the value FUNCTION returns. 2455Then return the value FUNCTION returns.
2455Thus, (apply '+ 1 2 '(3 4)) returns 10. 2456Thus, (apply '+ 1 2 '(3 4)) returns 10.
@@ -2544,7 +2545,7 @@ funcall_nil (size_t nargs, Lisp_Object *args)
2544 return Qnil; 2545 return Qnil;
2545} 2546}
2546 2547
2547DEFUN ("run-hooks", Frun_hooks, Srun_hooks, 0, MANY, 0, 2548DEFUE ("run-hooks", Frun_hooks, Srun_hooks, 0, MANY, 0,
2548 doc: /* Run each hook in HOOKS. 2549 doc: /* Run each hook in HOOKS.
2549Each argument should be a symbol, a hook variable. 2550Each argument should be a symbol, a hook variable.
2550These symbols are processed in the order specified. 2551These symbols are processed in the order specified.
@@ -2573,7 +2574,7 @@ usage: (run-hooks &rest HOOKS) */)
2573 return Qnil; 2574 return Qnil;
2574} 2575}
2575 2576
2576DEFUN ("run-hook-with-args", Frun_hook_with_args, 2577DEFUE ("run-hook-with-args", Frun_hook_with_args,
2577 Srun_hook_with_args, 1, MANY, 0, 2578 Srun_hook_with_args, 1, MANY, 0,
2578 doc: /* Run HOOK with the specified arguments ARGS. 2579 doc: /* Run HOOK with the specified arguments ARGS.
2579HOOK should be a symbol, a hook variable. If HOOK has a non-nil 2580HOOK should be a symbol, a hook variable. If HOOK has a non-nil
@@ -2619,7 +2620,7 @@ funcall_not (size_t nargs, Lisp_Object *args)
2619 return NILP (Ffuncall (nargs, args)) ? Qt : Qnil; 2620 return NILP (Ffuncall (nargs, args)) ? Qt : Qnil;
2620} 2621}
2621 2622
2622DEFUN ("run-hook-with-args-until-failure", Frun_hook_with_args_until_failure, 2623DEFUE ("run-hook-with-args-until-failure", Frun_hook_with_args_until_failure,
2623 Srun_hook_with_args_until_failure, 1, MANY, 0, 2624 Srun_hook_with_args_until_failure, 1, MANY, 0,
2624 doc: /* Run HOOK with the specified arguments ARGS. 2625 doc: /* Run HOOK with the specified arguments ARGS.
2625HOOK should be a symbol, a hook variable. If HOOK has a non-nil 2626HOOK should be a symbol, a hook variable. If HOOK has a non-nil
@@ -2906,7 +2907,7 @@ call7 (Lisp_Object fn, Lisp_Object arg1, Lisp_Object arg2, Lisp_Object arg3,
2906 2907
2907/* The caller should GCPRO all the elements of ARGS. */ 2908/* The caller should GCPRO all the elements of ARGS. */
2908 2909
2909DEFUN ("functionp", Ffunctionp, Sfunctionp, 1, 1, 0, 2910DEFUE ("functionp", Ffunctionp, Sfunctionp, 1, 1, 0,
2910 doc: /* Non-nil if OBJECT is a function. */) 2911 doc: /* Non-nil if OBJECT is a function. */)
2911 (Lisp_Object object) 2912 (Lisp_Object object)
2912{ 2913{
@@ -2939,7 +2940,7 @@ DEFUN ("functionp", Ffunctionp, Sfunctionp, 1, 1, 0,
2939 return Qnil; 2940 return Qnil;
2940} 2941}
2941 2942
2942DEFUN ("funcall", Ffuncall, Sfuncall, 1, MANY, 0, 2943DEFUE ("funcall", Ffuncall, Sfuncall, 1, MANY, 0,
2943 doc: /* Call first argument as a function, passing remaining arguments to it. 2944 doc: /* Call first argument as a function, passing remaining arguments to it.
2944Return the value that function returns. 2945Return the value that function returns.
2945Thus, (funcall 'cons 'x 'y) returns (x . y). 2946Thus, (funcall 'cons 'x 'y) returns (x . y).
@@ -3647,8 +3648,6 @@ mark_backtrace (void)
3647 } 3648 }
3648} 3649}
3649 3650
3650EXFUN (Funintern, 2);
3651
3652void 3651void
3653syms_of_eval (void) 3652syms_of_eval (void)
3654{ 3653{
diff --git a/src/fileio.c b/src/fileio.c
index f9923c420a3..5ad8b0a33a1 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -143,6 +143,7 @@ Lisp_Object Qfile_name_history;
143 143
144Lisp_Object Qcar_less_than_car; 144Lisp_Object Qcar_less_than_car;
145 145
146INFUN (Fmake_symbolic_link, 3);
146static int a_write (int, Lisp_Object, int, int, 147static int a_write (int, Lisp_Object, int, int,
147 Lisp_Object *, struct coding_system *); 148 Lisp_Object *, struct coding_system *);
148static int e_write (int, Lisp_Object, int, int, struct coding_system *); 149static int e_write (int, Lisp_Object, int, int, struct coding_system *);
@@ -239,7 +240,8 @@ Lisp_Object Qwrite_region;
239Lisp_Object Qverify_visited_file_modtime; 240Lisp_Object Qverify_visited_file_modtime;
240Lisp_Object Qset_visited_file_modtime; 241Lisp_Object Qset_visited_file_modtime;
241 242
242DEFUN ("find-file-name-handler", Ffind_file_name_handler, Sfind_file_name_handler, 2, 2, 0, 243DEFUE ("find-file-name-handler", Ffind_file_name_handler,
244 Sfind_file_name_handler, 2, 2, 0,
243 doc: /* Return FILENAME's handler function for OPERATION, if it has one. 245 doc: /* Return FILENAME's handler function for OPERATION, if it has one.
244Otherwise, return nil. 246Otherwise, return nil.
245A file name is handled if one of the regular expressions in 247A file name is handled if one of the regular expressions in
@@ -299,7 +301,7 @@ use the standard functions without calling themselves recursively. */)
299 return result; 301 return result;
300} 302}
301 303
302DEFUN ("file-name-directory", Ffile_name_directory, Sfile_name_directory, 304DEFUE ("file-name-directory", Ffile_name_directory, Sfile_name_directory,
303 1, 1, 0, 305 1, 1, 0,
304 doc: /* Return the directory component in file name FILENAME. 306 doc: /* Return the directory component in file name FILENAME.
305Return nil if FILENAME does not include a directory. 307Return nil if FILENAME does not include a directory.
@@ -373,7 +375,7 @@ Given a Unix syntax file name, returns a string ending in slash. */)
373 return make_specified_string (beg, -1, p - beg, STRING_MULTIBYTE (filename)); 375 return make_specified_string (beg, -1, p - beg, STRING_MULTIBYTE (filename));
374} 376}
375 377
376DEFUN ("file-name-nondirectory", Ffile_name_nondirectory, 378DEFUE ("file-name-nondirectory", Ffile_name_nondirectory,
377 Sfile_name_nondirectory, 1, 1, 0, 379 Sfile_name_nondirectory, 1, 1, 0,
378 doc: /* Return file name FILENAME sans its directory. 380 doc: /* Return file name FILENAME sans its directory.
379For example, in a Unix-syntax file name, 381For example, in a Unix-syntax file name,
@@ -408,7 +410,7 @@ or the entire name if it contains no slash. */)
408 return make_specified_string (p, -1, end - p, STRING_MULTIBYTE (filename)); 410 return make_specified_string (p, -1, end - p, STRING_MULTIBYTE (filename));
409} 411}
410 412
411DEFUN ("unhandled-file-name-directory", Funhandled_file_name_directory, 413DEFUE ("unhandled-file-name-directory", Funhandled_file_name_directory,
412 Sunhandled_file_name_directory, 1, 1, 0, 414 Sunhandled_file_name_directory, 1, 1, 0,
413 doc: /* Return a directly usable directory name somehow associated with FILENAME. 415 doc: /* Return a directly usable directory name somehow associated with FILENAME.
414A `directly usable' directory name is one that may be used without the 416A `directly usable' directory name is one that may be used without the
@@ -460,7 +462,7 @@ file_name_as_directory (char *out, const char *in)
460 return out; 462 return out;
461} 463}
462 464
463DEFUN ("file-name-as-directory", Ffile_name_as_directory, 465DEFUE ("file-name-as-directory", Ffile_name_as_directory,
464 Sfile_name_as_directory, 1, 1, 0, 466 Sfile_name_as_directory, 1, 1, 0,
465 doc: /* Return a string representing the file name FILE interpreted as a directory. 467 doc: /* Return a string representing the file name FILE interpreted as a directory.
466This operation exists because a directory is also a file, but its name as 468This operation exists because a directory is also a file, but its name as
@@ -519,7 +521,7 @@ directory_file_name (char *src, char *dst)
519 return 1; 521 return 1;
520} 522}
521 523
522DEFUN ("directory-file-name", Fdirectory_file_name, Sdirectory_file_name, 524DEFUE ("directory-file-name", Fdirectory_file_name, Sdirectory_file_name,
523 1, 1, 0, 525 1, 1, 0,
524 doc: /* Returns the file name of the directory named DIRECTORY. 526 doc: /* Returns the file name of the directory named DIRECTORY.
525This is the name of the file that holds the data for the directory DIRECTORY. 527This is the name of the file that holds the data for the directory DIRECTORY.
@@ -701,7 +703,7 @@ probably use `make-temp-file' instead, except in three circumstances:
701 703
702 704
703 705
704DEFUN ("expand-file-name", Fexpand_file_name, Sexpand_file_name, 1, 2, 0, 706DEFUE ("expand-file-name", Fexpand_file_name, Sexpand_file_name, 1, 2, 0,
705 doc: /* Convert filename NAME to absolute, and canonicalize it. 707 doc: /* Convert filename NAME to absolute, and canonicalize it.
706Second arg DEFAULT-DIRECTORY is directory to start with if NAME is relative 708Second arg DEFAULT-DIRECTORY is directory to start with if NAME is relative
707\(does not start with slash or tilde); if DEFAULT-DIRECTORY is nil or missing, 709\(does not start with slash or tilde); if DEFAULT-DIRECTORY is nil or missing,
@@ -1500,7 +1502,7 @@ search_embedded_absfilename (char *nm, char *endp)
1500 return NULL; 1502 return NULL;
1501} 1503}
1502 1504
1503DEFUN ("substitute-in-file-name", Fsubstitute_in_file_name, 1505DEFUE ("substitute-in-file-name", Fsubstitute_in_file_name,
1504 Ssubstitute_in_file_name, 1, 1, 0, 1506 Ssubstitute_in_file_name, 1, 1, 0,
1505 doc: /* Substitute environment variables referred to in FILENAME. 1507 doc: /* Substitute environment variables referred to in FILENAME.
1506`$FOO' where FOO is an environment variable name means to substitute 1508`$FOO' where FOO is an environment variable name means to substitute
@@ -2343,7 +2345,7 @@ This happens for interactive use with M-x. */)
2343} 2345}
2344 2346
2345 2347
2346DEFUN ("file-name-absolute-p", Ffile_name_absolute_p, Sfile_name_absolute_p, 2348DEFUE ("file-name-absolute-p", Ffile_name_absolute_p, Sfile_name_absolute_p,
2347 1, 1, 0, 2349 1, 1, 0,
2348 doc: /* Return t if file FILENAME specifies an absolute file name. 2350 doc: /* Return t if file FILENAME specifies an absolute file name.
2349On Unix, this is a name starting with a `/' or a `~'. */) 2351On Unix, this is a name starting with a `/' or a `~'. */)
@@ -2399,7 +2401,7 @@ check_writable (const char *filename)
2399#endif /* not MSDOS */ 2401#endif /* not MSDOS */
2400} 2402}
2401 2403
2402DEFUN ("file-exists-p", Ffile_exists_p, Sfile_exists_p, 1, 1, 0, 2404DEFUE ("file-exists-p", Ffile_exists_p, Sfile_exists_p, 1, 1, 0,
2403 doc: /* Return t if file FILENAME exists (whether or not you can read it.) 2405 doc: /* Return t if file FILENAME exists (whether or not you can read it.)
2404See also `file-readable-p' and `file-attributes'. 2406See also `file-readable-p' and `file-attributes'.
2405This returns nil for a symlink to a nonexistent file. 2407This returns nil for a symlink to a nonexistent file.
@@ -2446,7 +2448,7 @@ For a directory, this means you can access files in that directory. */)
2446 return (check_executable (SSDATA (absname)) ? Qt : Qnil); 2448 return (check_executable (SSDATA (absname)) ? Qt : Qnil);
2447} 2449}
2448 2450
2449DEFUN ("file-readable-p", Ffile_readable_p, Sfile_readable_p, 1, 1, 0, 2451DEFUE ("file-readable-p", Ffile_readable_p, Sfile_readable_p, 1, 1, 0,
2450 doc: /* Return t if file FILENAME exists and you can read it. 2452 doc: /* Return t if file FILENAME exists and you can read it.
2451See also `file-exists-p' and `file-attributes'. */) 2453See also `file-exists-p' and `file-attributes'. */)
2452 (Lisp_Object filename) 2454 (Lisp_Object filename)
@@ -2568,7 +2570,7 @@ If there is no error, returns nil. */)
2568 return Qnil; 2570 return Qnil;
2569} 2571}
2570 2572
2571DEFUN ("file-symlink-p", Ffile_symlink_p, Sfile_symlink_p, 1, 1, 0, 2573DEFUE ("file-symlink-p", Ffile_symlink_p, Sfile_symlink_p, 1, 1, 0,
2572 doc: /* Return non-nil if file FILENAME is the name of a symbolic link. 2574 doc: /* Return non-nil if file FILENAME is the name of a symbolic link.
2573The value is the link target, as a string. 2575The value is the link target, as a string.
2574Otherwise it returns nil. 2576Otherwise it returns nil.
@@ -2606,7 +2608,7 @@ points to a nonexistent file. */)
2606 return val; 2608 return val;
2607} 2609}
2608 2610
2609DEFUN ("file-directory-p", Ffile_directory_p, Sfile_directory_p, 1, 1, 0, 2611DEFUE ("file-directory-p", Ffile_directory_p, Sfile_directory_p, 1, 1, 0,
2610 doc: /* Return t if FILENAME names an existing directory. 2612 doc: /* Return t if FILENAME names an existing directory.
2611Symbolic links to directories count as directories. 2613Symbolic links to directories count as directories.
2612See `file-symlink-p' to distinguish symlinks. */) 2614See `file-symlink-p' to distinguish symlinks. */)
@@ -2631,7 +2633,8 @@ See `file-symlink-p' to distinguish symlinks. */)
2631 return S_ISDIR (st.st_mode) ? Qt : Qnil; 2633 return S_ISDIR (st.st_mode) ? Qt : Qnil;
2632} 2634}
2633 2635
2634DEFUN ("file-accessible-directory-p", Ffile_accessible_directory_p, Sfile_accessible_directory_p, 1, 1, 0, 2636DEFUE ("file-accessible-directory-p", Ffile_accessible_directory_p,
2637 Sfile_accessible_directory_p, 1, 1, 0,
2635 doc: /* Return t if file FILENAME names a directory you can open. 2638 doc: /* Return t if file FILENAME names a directory you can open.
2636For the value to be t, FILENAME must specify the name of a directory as a file, 2639For the value to be t, FILENAME must specify the name of a directory as a file,
2637and the directory must allow you to open files in it. In order to use a 2640and the directory must allow you to open files in it. In order to use a
@@ -4350,7 +4353,7 @@ choose_write_coding_system (Lisp_Object start, Lisp_Object end, Lisp_Object file
4350 return val; 4353 return val;
4351} 4354}
4352 4355
4353DEFUN ("write-region", Fwrite_region, Swrite_region, 3, 7, 4356DEFUE ("write-region", Fwrite_region, Swrite_region, 3, 7,
4354 "r\nFWrite region to file: \ni\ni\ni\np", 4357 "r\nFWrite region to file: \ni\ni\ni\np",
4355 doc: /* Write current region into specified file. 4358 doc: /* Write current region into specified file.
4356When called from a program, requires three arguments: 4359When called from a program, requires three arguments:
@@ -4911,7 +4914,7 @@ e_write (int desc, Lisp_Object string, int start, int end, struct coding_system
4911 return 0; 4914 return 0;
4912} 4915}
4913 4916
4914DEFUN ("verify-visited-file-modtime", Fverify_visited_file_modtime, 4917DEFUE ("verify-visited-file-modtime", Fverify_visited_file_modtime,
4915 Sverify_visited_file_modtime, 0, 1, 0, 4918 Sverify_visited_file_modtime, 0, 1, 0,
4916 doc: /* Return t if last mod time of BUF's visited file matches what BUF records. 4919 doc: /* Return t if last mod time of BUF's visited file matches what BUF records.
4917This means that the file has not been changed since it was visited or saved. 4920This means that the file has not been changed since it was visited or saved.
@@ -5132,7 +5135,7 @@ do_auto_save_eh (Lisp_Object ignore)
5132 return Qnil; 5135 return Qnil;
5133} 5136}
5134 5137
5135DEFUN ("do-auto-save", Fdo_auto_save, Sdo_auto_save, 0, 2, "", 5138DEFUE ("do-auto-save", Fdo_auto_save, Sdo_auto_save, 0, 2, "",
5136 doc: /* Auto-save all buffers that need it. 5139 doc: /* Auto-save all buffers that need it.
5137This is all buffers that have auto-saving enabled 5140This is all buffers that have auto-saving enabled
5138and are changed since last auto-saved. 5141and are changed since last auto-saved.
diff --git a/src/filelock.c b/src/filelock.c
index 13b27c72f19..c6b1617770c 100644
--- a/src/filelock.c
+++ b/src/filelock.c
@@ -639,7 +639,7 @@ or else nothing is done if current buffer isn't visiting a file. */)
639 return Qnil; 639 return Qnil;
640} 640}
641 641
642DEFUN ("unlock-buffer", Funlock_buffer, Sunlock_buffer, 642DEFUE ("unlock-buffer", Funlock_buffer, Sunlock_buffer,
643 0, 0, 0, 643 0, 0, 0,
644 doc: /* Unlock the file visited in the current buffer. 644 doc: /* Unlock the file visited in the current buffer.
645If the buffer is not modified, this does nothing because the file 645If the buffer is not modified, this does nothing because the file
diff --git a/src/floatfns.c b/src/floatfns.c
index 1232fc0afa1..345b3b94947 100644
--- a/src/floatfns.c
+++ b/src/floatfns.c
@@ -683,7 +683,7 @@ DEFUN ("abs", Fabs, Sabs, 1, 1, 0,
683 return arg; 683 return arg;
684} 684}
685 685
686DEFUN ("float", Ffloat, Sfloat, 1, 1, 0, 686DEFUE ("float", Ffloat, Sfloat, 1, 1, 0,
687 doc: /* Return the floating point number equal to ARG. */) 687 doc: /* Return the floating point number equal to ARG. */)
688 (register Lisp_Object arg) 688 (register Lisp_Object arg)
689{ 689{
@@ -886,7 +886,7 @@ systems, but 2 on others. */)
886 return rounding_driver (arg, divisor, emacs_rint, round2, "round"); 886 return rounding_driver (arg, divisor, emacs_rint, round2, "round");
887} 887}
888 888
889DEFUN ("truncate", Ftruncate, Struncate, 1, 2, 0, 889DEFUE ("truncate", Ftruncate, Struncate, 1, 2, 0,
890 doc: /* Truncate a floating point number to an int. 890 doc: /* Truncate a floating point number to an int.
891Rounds ARG toward zero. 891Rounds ARG toward zero.
892With optional DIVISOR, truncate ARG/DIVISOR. */) 892With optional DIVISOR, truncate ARG/DIVISOR. */)
diff --git a/src/fns.c b/src/fns.c
index 09ce8c1b597..f4eaaccda33 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -61,7 +61,7 @@ static int internal_equal (Lisp_Object , Lisp_Object, int, int);
61extern long time (); 61extern long time ();
62#endif 62#endif
63 63
64DEFUN ("identity", Fidentity, Sidentity, 1, 1, 0, 64DEFUE ("identity", Fidentity, Sidentity, 1, 1, 0,
65 doc: /* Return the argument unchanged. */) 65 doc: /* Return the argument unchanged. */)
66 (Lisp_Object arg) 66 (Lisp_Object arg)
67{ 67{
@@ -105,7 +105,7 @@ Other values of LIMIT are ignored. */)
105 105
106/* Random data-structure functions */ 106/* Random data-structure functions */
107 107
108DEFUN ("length", Flength, Slength, 1, 1, 0, 108DEFUE ("length", Flength, Slength, 1, 1, 0,
109 doc: /* Return the length of vector, list or string SEQUENCE. 109 doc: /* Return the length of vector, list or string SEQUENCE.
110A byte-code function object is also allowed. 110A byte-code function object is also allowed.
111If the string contains multibyte characters, this is not necessarily 111If the string contains multibyte characters, this is not necessarily
@@ -190,7 +190,7 @@ If STRING is multibyte, this may be greater than the length of STRING. */)
190 return make_number (SBYTES (string)); 190 return make_number (SBYTES (string));
191} 191}
192 192
193DEFUN ("string-equal", Fstring_equal, Sstring_equal, 2, 2, 0, 193DEFUE ("string-equal", Fstring_equal, Sstring_equal, 2, 2, 0,
194 doc: /* Return t if two strings have identical contents. 194 doc: /* Return t if two strings have identical contents.
195Case is significant, but text properties are ignored. 195Case is significant, but text properties are ignored.
196Symbols are also allowed; their print names are used instead. */) 196Symbols are also allowed; their print names are used instead. */)
@@ -210,7 +210,7 @@ Symbols are also allowed; their print names are used instead. */)
210 return Qt; 210 return Qt;
211} 211}
212 212
213DEFUN ("compare-strings", Fcompare_strings, Scompare_strings, 6, 7, 0, 213DEFUE ("compare-strings", Fcompare_strings, Scompare_strings, 6, 7, 0,
214 doc: /* Compare the contents of two strings, converting to multibyte if needed. 214 doc: /* Compare the contents of two strings, converting to multibyte if needed.
215In string STR1, skip the first START1 characters and stop at END1. 215In string STR1, skip the first START1 characters and stop at END1.
216In string STR2, skip the first START2 characters and stop at END2. 216In string STR2, skip the first START2 characters and stop at END2.
@@ -311,7 +311,7 @@ If string STR1 is greater, the value is a positive number N;
311 return Qt; 311 return Qt;
312} 312}
313 313
314DEFUN ("string-lessp", Fstring_lessp, Sstring_lessp, 2, 2, 0, 314DEFUE ("string-lessp", Fstring_lessp, Sstring_lessp, 2, 2, 0,
315 doc: /* Return t if first arg string is less than second in lexicographic order. 315 doc: /* Return t if first arg string is less than second in lexicographic order.
316Case is significant. 316Case is significant.
317Symbols are also allowed; their print names are used instead. */) 317Symbols are also allowed; their print names are used instead. */)
@@ -372,7 +372,7 @@ concat3 (Lisp_Object s1, Lisp_Object s2, Lisp_Object s3)
372 return concat (3, args, Lisp_String, 0); 372 return concat (3, args, Lisp_String, 0);
373} 373}
374 374
375DEFUN ("append", Fappend, Sappend, 0, MANY, 0, 375DEFUE ("append", Fappend, Sappend, 0, MANY, 0,
376 doc: /* Concatenate all the arguments and make the result a list. 376 doc: /* Concatenate all the arguments and make the result a list.
377The result is a list whose elements are the elements of all the arguments. 377The result is a list whose elements are the elements of all the arguments.
378Each argument may be a list, vector or string. 378Each argument may be a list, vector or string.
@@ -383,7 +383,7 @@ usage: (append &rest SEQUENCES) */)
383 return concat (nargs, args, Lisp_Cons, 1); 383 return concat (nargs, args, Lisp_Cons, 1);
384} 384}
385 385
386DEFUN ("concat", Fconcat, Sconcat, 0, MANY, 0, 386DEFUE ("concat", Fconcat, Sconcat, 0, MANY, 0,
387 doc: /* Concatenate all the arguments and make the result a string. 387 doc: /* Concatenate all the arguments and make the result a string.
388The result is a string whose elements are the elements of all the arguments. 388The result is a string whose elements are the elements of all the arguments.
389Each argument may be a string or a list or vector of characters (integers). 389Each argument may be a string or a list or vector of characters (integers).
@@ -393,7 +393,7 @@ usage: (concat &rest SEQUENCES) */)
393 return concat (nargs, args, Lisp_String, 0); 393 return concat (nargs, args, Lisp_String, 0);
394} 394}
395 395
396DEFUN ("vconcat", Fvconcat, Svconcat, 0, MANY, 0, 396DEFUE ("vconcat", Fvconcat, Svconcat, 0, MANY, 0,
397 doc: /* Concatenate all the arguments and make the result a vector. 397 doc: /* Concatenate all the arguments and make the result a vector.
398The result is a vector whose elements are the elements of all the arguments. 398The result is a vector whose elements are the elements of all the arguments.
399Each argument may be a list, vector or string. 399Each argument may be a list, vector or string.
@@ -404,7 +404,7 @@ usage: (vconcat &rest SEQUENCES) */)
404} 404}
405 405
406 406
407DEFUN ("copy-sequence", Fcopy_sequence, Scopy_sequence, 1, 1, 0, 407DEFUE ("copy-sequence", Fcopy_sequence, Scopy_sequence, 1, 1, 0,
408 doc: /* Return a copy of a list, vector, string or char-table. 408 doc: /* Return a copy of a list, vector, string or char-table.
409The elements of a list or vector are not copied; they are shared 409The elements of a list or vector are not copied; they are shared
410with the original. */) 410with the original. */)
@@ -944,7 +944,7 @@ string_make_unibyte (Lisp_Object string)
944 return ret; 944 return ret;
945} 945}
946 946
947DEFUN ("string-make-multibyte", Fstring_make_multibyte, Sstring_make_multibyte, 947DEFUE ("string-make-multibyte", Fstring_make_multibyte, Sstring_make_multibyte,
948 1, 1, 0, 948 1, 1, 0,
949 doc: /* Return the multibyte equivalent of STRING. 949 doc: /* Return the multibyte equivalent of STRING.
950If STRING is unibyte and contains non-ASCII characters, the function 950If STRING is unibyte and contains non-ASCII characters, the function
@@ -962,7 +962,7 @@ string the same way whether it is unibyte or multibyte.) */)
962 return string_make_multibyte (string); 962 return string_make_multibyte (string);
963} 963}
964 964
965DEFUN ("string-make-unibyte", Fstring_make_unibyte, Sstring_make_unibyte, 965DEFUE ("string-make-unibyte", Fstring_make_unibyte, Sstring_make_unibyte,
966 1, 1, 0, 966 1, 1, 0,
967 doc: /* Return the unibyte equivalent of STRING. 967 doc: /* Return the unibyte equivalent of STRING.
968Multibyte character codes are converted to unibyte according to 968Multibyte character codes are converted to unibyte according to
@@ -976,7 +976,7 @@ the low 8 bits of each character. */)
976 return string_make_unibyte (string); 976 return string_make_unibyte (string);
977} 977}
978 978
979DEFUN ("string-as-unibyte", Fstring_as_unibyte, Sstring_as_unibyte, 979DEFUE ("string-as-unibyte", Fstring_as_unibyte, Sstring_as_unibyte,
980 1, 1, 0, 980 1, 1, 0,
981 doc: /* Return a unibyte string with the same individual bytes as STRING. 981 doc: /* Return a unibyte string with the same individual bytes as STRING.
982If STRING is unibyte, the result is STRING itself. 982If STRING is unibyte, the result is STRING itself.
@@ -1000,7 +1000,7 @@ If STRING is multibyte and contains a character of charset
1000 return string; 1000 return string;
1001} 1001}
1002 1002
1003DEFUN ("string-as-multibyte", Fstring_as_multibyte, Sstring_as_multibyte, 1003DEFUE ("string-as-multibyte", Fstring_as_multibyte, Sstring_as_multibyte,
1004 1, 1, 0, 1004 1, 1, 0,
1005 doc: /* Return a multibyte string with the same individual bytes as STRING. 1005 doc: /* Return a multibyte string with the same individual bytes as STRING.
1006If STRING is multibyte, the result is STRING itself. 1006If STRING is multibyte, the result is STRING itself.
@@ -1038,7 +1038,7 @@ If you're not sure, whether to use `string-as-multibyte' or
1038 return string; 1038 return string;
1039} 1039}
1040 1040
1041DEFUN ("string-to-multibyte", Fstring_to_multibyte, Sstring_to_multibyte, 1041DEFUE ("string-to-multibyte", Fstring_to_multibyte, Sstring_to_multibyte,
1042 1, 1, 0, 1042 1, 1, 0,
1043 doc: /* Return a multibyte string with the same individual chars as STRING. 1043 doc: /* Return a multibyte string with the same individual chars as STRING.
1044If STRING is multibyte, the result is STRING itself. 1044If STRING is multibyte, the result is STRING itself.
@@ -1084,7 +1084,7 @@ an error is signaled. */)
1084} 1084}
1085 1085
1086 1086
1087DEFUN ("copy-alist", Fcopy_alist, Scopy_alist, 1, 1, 0, 1087DEFUE ("copy-alist", Fcopy_alist, Scopy_alist, 1, 1, 0,
1088 doc: /* Return a copy of ALIST. 1088 doc: /* Return a copy of ALIST.
1089This is an alist which represents the same mapping from objects to objects, 1089This is an alist which represents the same mapping from objects to objects,
1090but does not share the alist structure with ALIST. 1090but does not share the alist structure with ALIST.
@@ -1110,7 +1110,7 @@ Elements of ALIST that are not conses are also shared. */)
1110 return alist; 1110 return alist;
1111} 1111}
1112 1112
1113DEFUN ("substring", Fsubstring, Ssubstring, 2, 3, 0, 1113DEFUE ("substring", Fsubstring, Ssubstring, 2, 3, 0,
1114 doc: /* Return a new string whose contents are a substring of STRING. 1114 doc: /* Return a new string whose contents are a substring of STRING.
1115The returned string consists of the characters between index FROM 1115The returned string consists of the characters between index FROM
1116\(inclusive) and index TO (exclusive) of STRING. FROM and TO are 1116\(inclusive) and index TO (exclusive) of STRING. FROM and TO are
@@ -1269,7 +1269,7 @@ substring_both (Lisp_Object string, EMACS_INT from, EMACS_INT from_byte,
1269 return res; 1269 return res;
1270} 1270}
1271 1271
1272DEFUN ("nthcdr", Fnthcdr, Snthcdr, 2, 2, 0, 1272DEFUE ("nthcdr", Fnthcdr, Snthcdr, 2, 2, 0,
1273 doc: /* Take cdr N times on LIST, return the result. */) 1273 doc: /* Take cdr N times on LIST, return the result. */)
1274 (Lisp_Object n, Lisp_Object list) 1274 (Lisp_Object n, Lisp_Object list)
1275{ 1275{
@@ -1285,7 +1285,7 @@ DEFUN ("nthcdr", Fnthcdr, Snthcdr, 2, 2, 0,
1285 return list; 1285 return list;
1286} 1286}
1287 1287
1288DEFUN ("nth", Fnth, Snth, 2, 2, 0, 1288DEFUE ("nth", Fnth, Snth, 2, 2, 0,
1289 doc: /* Return the Nth element of LIST. 1289 doc: /* Return the Nth element of LIST.
1290N counts from zero. If LIST is not that long, nil is returned. */) 1290N counts from zero. If LIST is not that long, nil is returned. */)
1291 (Lisp_Object n, Lisp_Object list) 1291 (Lisp_Object n, Lisp_Object list)
@@ -1293,7 +1293,7 @@ N counts from zero. If LIST is not that long, nil is returned. */)
1293 return Fcar (Fnthcdr (n, list)); 1293 return Fcar (Fnthcdr (n, list));
1294} 1294}
1295 1295
1296DEFUN ("elt", Felt, Selt, 2, 2, 0, 1296DEFUE ("elt", Felt, Selt, 2, 2, 0,
1297 doc: /* Return element of SEQUENCE at index N. */) 1297 doc: /* Return element of SEQUENCE at index N. */)
1298 (register Lisp_Object sequence, Lisp_Object n) 1298 (register Lisp_Object sequence, Lisp_Object n)
1299{ 1299{
@@ -1306,7 +1306,7 @@ DEFUN ("elt", Felt, Selt, 2, 2, 0,
1306 return Faref (sequence, n); 1306 return Faref (sequence, n);
1307} 1307}
1308 1308
1309DEFUN ("member", Fmember, Smember, 2, 2, 0, 1309DEFUE ("member", Fmember, Smember, 2, 2, 0,
1310 doc: /* Return non-nil if ELT is an element of LIST. Comparison done with `equal'. 1310 doc: /* Return non-nil if ELT is an element of LIST. Comparison done with `equal'.
1311The value is actually the tail of LIST whose car is ELT. */) 1311The value is actually the tail of LIST whose car is ELT. */)
1312 (register Lisp_Object elt, Lisp_Object list) 1312 (register Lisp_Object elt, Lisp_Object list)
@@ -1324,7 +1324,7 @@ The value is actually the tail of LIST whose car is ELT. */)
1324 return Qnil; 1324 return Qnil;
1325} 1325}
1326 1326
1327DEFUN ("memq", Fmemq, Smemq, 2, 2, 0, 1327DEFUE ("memq", Fmemq, Smemq, 2, 2, 0,
1328 doc: /* Return non-nil if ELT is an element of LIST. Comparison done with `eq'. 1328 doc: /* Return non-nil if ELT is an element of LIST. Comparison done with `eq'.
1329The value is actually the tail of LIST whose car is ELT. */) 1329The value is actually the tail of LIST whose car is ELT. */)
1330 (register Lisp_Object elt, Lisp_Object list) 1330 (register Lisp_Object elt, Lisp_Object list)
@@ -1372,7 +1372,7 @@ The value is actually the tail of LIST whose car is ELT. */)
1372 return Qnil; 1372 return Qnil;
1373} 1373}
1374 1374
1375DEFUN ("assq", Fassq, Sassq, 2, 2, 0, 1375DEFUE ("assq", Fassq, Sassq, 2, 2, 0,
1376 doc: /* Return non-nil if KEY is `eq' to the car of an element of LIST. 1376 doc: /* Return non-nil if KEY is `eq' to the car of an element of LIST.
1377The value is actually the first element of LIST whose car is KEY. 1377The value is actually the first element of LIST whose car is KEY.
1378Elements of LIST that are not conses are ignored. */) 1378Elements of LIST that are not conses are ignored. */)
@@ -1418,7 +1418,7 @@ assq_no_quit (Lisp_Object key, Lisp_Object list)
1418 return CAR_SAFE (list); 1418 return CAR_SAFE (list);
1419} 1419}
1420 1420
1421DEFUN ("assoc", Fassoc, Sassoc, 2, 2, 0, 1421DEFUE ("assoc", Fassoc, Sassoc, 2, 2, 0,
1422 doc: /* Return non-nil if KEY is `equal' to the car of an element of LIST. 1422 doc: /* Return non-nil if KEY is `equal' to the car of an element of LIST.
1423The value is actually the first element of LIST whose car equals KEY. */) 1423The value is actually the first element of LIST whose car equals KEY. */)
1424 (Lisp_Object key, Lisp_Object list) 1424 (Lisp_Object key, Lisp_Object list)
@@ -1469,7 +1469,7 @@ assoc_no_quit (Lisp_Object key, Lisp_Object list)
1469 return CONSP (list) ? XCAR (list) : Qnil; 1469 return CONSP (list) ? XCAR (list) : Qnil;
1470} 1470}
1471 1471
1472DEFUN ("rassq", Frassq, Srassq, 2, 2, 0, 1472DEFUE ("rassq", Frassq, Srassq, 2, 2, 0,
1473 doc: /* Return non-nil if KEY is `eq' to the cdr of an element of LIST. 1473 doc: /* Return non-nil if KEY is `eq' to the cdr of an element of LIST.
1474The value is actually the first element of LIST whose cdr is KEY. */) 1474The value is actually the first element of LIST whose cdr is KEY. */)
1475 (register Lisp_Object key, Lisp_Object list) 1475 (register Lisp_Object key, Lisp_Object list)
@@ -1500,7 +1500,7 @@ The value is actually the first element of LIST whose cdr is KEY. */)
1500 return CAR (list); 1500 return CAR (list);
1501} 1501}
1502 1502
1503DEFUN ("rassoc", Frassoc, Srassoc, 2, 2, 0, 1503DEFUE ("rassoc", Frassoc, Srassoc, 2, 2, 0,
1504 doc: /* Return non-nil if KEY is `equal' to the cdr of an element of LIST. 1504 doc: /* Return non-nil if KEY is `equal' to the cdr of an element of LIST.
1505The value is actually the first element of LIST whose cdr equals KEY. */) 1505The value is actually the first element of LIST whose cdr equals KEY. */)
1506 (Lisp_Object key, Lisp_Object list) 1506 (Lisp_Object key, Lisp_Object list)
@@ -1536,7 +1536,7 @@ The value is actually the first element of LIST whose cdr equals KEY. */)
1536 return CAR (list); 1536 return CAR (list);
1537} 1537}
1538 1538
1539DEFUN ("delq", Fdelq, Sdelq, 2, 2, 0, 1539DEFUE ("delq", Fdelq, Sdelq, 2, 2, 0,
1540 doc: /* Delete by side effect any occurrences of ELT as a member of LIST. 1540 doc: /* Delete by side effect any occurrences of ELT as a member of LIST.
1541The modified LIST is returned. Comparison is done with `eq'. 1541The modified LIST is returned. Comparison is done with `eq'.
1542If the first member of LIST is ELT, there is no way to remove it by side effect; 1542If the first member of LIST is ELT, there is no way to remove it by side effect;
@@ -1568,7 +1568,7 @@ to be sure of changing the value of `foo'. */)
1568 return list; 1568 return list;
1569} 1569}
1570 1570
1571DEFUN ("delete", Fdelete, Sdelete, 2, 2, 0, 1571DEFUE ("delete", Fdelete, Sdelete, 2, 2, 0,
1572 doc: /* Delete by side effect any occurrences of ELT as a member of SEQ. 1572 doc: /* Delete by side effect any occurrences of ELT as a member of SEQ.
1573SEQ must be a list, a vector, or a string. 1573SEQ must be a list, a vector, or a string.
1574The modified SEQ is returned. Comparison is done with `equal'. 1574The modified SEQ is returned. Comparison is done with `equal'.
@@ -1688,7 +1688,7 @@ to be sure of changing the value of `foo'. */)
1688 return seq; 1688 return seq;
1689} 1689}
1690 1690
1691DEFUN ("nreverse", Fnreverse, Snreverse, 1, 1, 0, 1691DEFUE ("nreverse", Fnreverse, Snreverse, 1, 1, 0,
1692 doc: /* Reverse LIST by modifying cdr pointers. 1692 doc: /* Reverse LIST by modifying cdr pointers.
1693Return the reversed list. */) 1693Return the reversed list. */)
1694 (Lisp_Object list) 1694 (Lisp_Object list)
@@ -1710,7 +1710,7 @@ Return the reversed list. */)
1710 return prev; 1710 return prev;
1711} 1711}
1712 1712
1713DEFUN ("reverse", Freverse, Sreverse, 1, 1, 0, 1713DEFUE ("reverse", Freverse, Sreverse, 1, 1, 0,
1714 doc: /* Reverse LIST, copying. Return the reversed list. 1714 doc: /* Reverse LIST, copying. Return the reversed list.
1715See also the function `nreverse', which is used more often. */) 1715See also the function `nreverse', which is used more often. */)
1716 (Lisp_Object list) 1716 (Lisp_Object list)
@@ -1728,7 +1728,7 @@ See also the function `nreverse', which is used more often. */)
1728 1728
1729Lisp_Object merge (Lisp_Object org_l1, Lisp_Object org_l2, Lisp_Object pred); 1729Lisp_Object merge (Lisp_Object org_l1, Lisp_Object org_l2, Lisp_Object pred);
1730 1730
1731DEFUN ("sort", Fsort, Ssort, 2, 2, 0, 1731DEFUE ("sort", Fsort, Ssort, 2, 2, 0,
1732 doc: /* Sort LIST, stably, comparing elements using PREDICATE. 1732 doc: /* Sort LIST, stably, comparing elements using PREDICATE.
1733Returns the sorted list. LIST is modified by side effects. 1733Returns the sorted list. LIST is modified by side effects.
1734PREDICATE is called with two elements of LIST, and should return non-nil 1734PREDICATE is called with two elements of LIST, and should return non-nil
@@ -1819,7 +1819,7 @@ merge (Lisp_Object org_l1, Lisp_Object org_l2, Lisp_Object pred)
1819 1819
1820/* This does not check for quits. That is safe since it must terminate. */ 1820/* This does not check for quits. That is safe since it must terminate. */
1821 1821
1822DEFUN ("plist-get", Fplist_get, Splist_get, 2, 2, 0, 1822DEFUE ("plist-get", Fplist_get, Splist_get, 2, 2, 0,
1823 doc: /* Extract a value from a property list. 1823 doc: /* Extract a value from a property list.
1824PLIST is a property list, which is a list of the form 1824PLIST is a property list, which is a list of the form
1825\(PROP1 VALUE1 PROP2 VALUE2...). This function returns the value 1825\(PROP1 VALUE1 PROP2 VALUE2...). This function returns the value
@@ -1852,7 +1852,7 @@ properties on the list. This function never signals an error. */)
1852 return Qnil; 1852 return Qnil;
1853} 1853}
1854 1854
1855DEFUN ("get", Fget, Sget, 2, 2, 0, 1855DEFUE ("get", Fget, Sget, 2, 2, 0,
1856 doc: /* Return the value of SYMBOL's PROPNAME property. 1856 doc: /* Return the value of SYMBOL's PROPNAME property.
1857This is the last value stored with `(put SYMBOL PROPNAME VALUE)'. */) 1857This is the last value stored with `(put SYMBOL PROPNAME VALUE)'. */)
1858 (Lisp_Object symbol, Lisp_Object propname) 1858 (Lisp_Object symbol, Lisp_Object propname)
@@ -1861,7 +1861,7 @@ This is the last value stored with `(put SYMBOL PROPNAME VALUE)'. */)
1861 return Fplist_get (XSYMBOL (symbol)->plist, propname); 1861 return Fplist_get (XSYMBOL (symbol)->plist, propname);
1862} 1862}
1863 1863
1864DEFUN ("plist-put", Fplist_put, Splist_put, 3, 3, 0, 1864DEFUE ("plist-put", Fplist_put, Splist_put, 3, 3, 0,
1865 doc: /* Change value in PLIST of PROP to VAL. 1865 doc: /* Change value in PLIST of PROP to VAL.
1866PLIST is a property list, which is a list of the form 1866PLIST is a property list, which is a list of the form
1867\(PROP1 VALUE1 PROP2 VALUE2 ...). PROP is a symbol and VAL is any object. 1867\(PROP1 VALUE1 PROP2 VALUE2 ...). PROP is a symbol and VAL is any object.
@@ -1894,7 +1894,7 @@ The PLIST is modified by side effects. */)
1894 return plist; 1894 return plist;
1895} 1895}
1896 1896
1897DEFUN ("put", Fput, Sput, 3, 3, 0, 1897DEFUE ("put", Fput, Sput, 3, 3, 0,
1898 doc: /* Store SYMBOL's PROPNAME property with value VALUE. 1898 doc: /* Store SYMBOL's PROPNAME property with value VALUE.
1899It can be retrieved with `(get SYMBOL PROPNAME)'. */) 1899It can be retrieved with `(get SYMBOL PROPNAME)'. */)
1900 (Lisp_Object symbol, Lisp_Object propname, Lisp_Object value) 1900 (Lisp_Object symbol, Lisp_Object propname, Lisp_Object value)
@@ -1974,7 +1974,7 @@ Floating-point numbers of equal value are `eql', but they may not be `eq'. */)
1974 return EQ (obj1, obj2) ? Qt : Qnil; 1974 return EQ (obj1, obj2) ? Qt : Qnil;
1975} 1975}
1976 1976
1977DEFUN ("equal", Fequal, Sequal, 2, 2, 0, 1977DEFUE ("equal", Fequal, Sequal, 2, 2, 0,
1978 doc: /* Return t if two Lisp objects have similar structure and contents. 1978 doc: /* Return t if two Lisp objects have similar structure and contents.
1979They must have the same data type. 1979They must have the same data type.
1980Conses are compared by comparing the cars and the cdrs. 1980Conses are compared by comparing the cars and the cdrs.
@@ -2222,7 +2222,7 @@ nconc2 (Lisp_Object s1, Lisp_Object s2)
2222 return Fnconc (2, args); 2222 return Fnconc (2, args);
2223} 2223}
2224 2224
2225DEFUN ("nconc", Fnconc, Snconc, 0, MANY, 0, 2225DEFUE ("nconc", Fnconc, Snconc, 0, MANY, 0,
2226 doc: /* Concatenate any number of lists by altering them. 2226 doc: /* Concatenate any number of lists by altering them.
2227Only the last argument is not altered, and need not be a list. 2227Only the last argument is not altered, and need not be a list.
2228usage: (nconc &rest LISTS) */) 2228usage: (nconc &rest LISTS) */)
@@ -2342,7 +2342,7 @@ mapcar1 (EMACS_INT leni, Lisp_Object *vals, Lisp_Object fn, Lisp_Object seq)
2342 UNGCPRO; 2342 UNGCPRO;
2343} 2343}
2344 2344
2345DEFUN ("mapconcat", Fmapconcat, Smapconcat, 3, 3, 0, 2345DEFUE ("mapconcat", Fmapconcat, Smapconcat, 3, 3, 0,
2346 doc: /* Apply FUNCTION to each element of SEQUENCE, and concat the results as strings. 2346 doc: /* Apply FUNCTION to each element of SEQUENCE, and concat the results as strings.
2347In between each pair of results, stick in SEPARATOR. Thus, " " as 2347In between each pair of results, stick in SEPARATOR. Thus, " " as
2348SEPARATOR results in spaces between the values returned by FUNCTION. 2348SEPARATOR results in spaces between the values returned by FUNCTION.
@@ -2383,7 +2383,7 @@ SEQUENCE may be a list, a vector, a bool-vector, or a string. */)
2383 return ret; 2383 return ret;
2384} 2384}
2385 2385
2386DEFUN ("mapcar", Fmapcar, Smapcar, 2, 2, 0, 2386DEFUE ("mapcar", Fmapcar, Smapcar, 2, 2, 0,
2387 doc: /* Apply FUNCTION to each element of SEQUENCE, and make a list of the results. 2387 doc: /* Apply FUNCTION to each element of SEQUENCE, and make a list of the results.
2388The result is a list just as long as SEQUENCE. 2388The result is a list just as long as SEQUENCE.
2389SEQUENCE may be a list, a vector, a bool-vector, or a string. */) 2389SEQUENCE may be a list, a vector, a bool-vector, or a string. */)
@@ -2561,7 +2561,7 @@ SUBFEATURE can be used to check a specific subfeature of FEATURE. */)
2561 return (NILP (tem)) ? Qnil : Qt; 2561 return (NILP (tem)) ? Qnil : Qt;
2562} 2562}
2563 2563
2564DEFUN ("provide", Fprovide, Sprovide, 1, 2, 0, 2564DEFUE ("provide", Fprovide, Sprovide, 1, 2, 0,
2565 doc: /* Announce that FEATURE is a feature of the current Emacs. 2565 doc: /* Announce that FEATURE is a feature of the current Emacs.
2566The optional argument SUBFEATURES should be a list of symbols listing 2566The optional argument SUBFEATURES should be a list of symbols listing
2567particular subfeatures supported in this version of FEATURE. */) 2567particular subfeatures supported in this version of FEATURE. */)
@@ -2699,7 +2699,7 @@ The normal messages at start and end of loading FILENAME are suppressed. */)
2699 bottleneck of Widget operation. Here is their translation to C, 2699 bottleneck of Widget operation. Here is their translation to C,
2700 for the sole reason of efficiency. */ 2700 for the sole reason of efficiency. */
2701 2701
2702DEFUN ("plist-member", Fplist_member, Splist_member, 2, 2, 0, 2702DEFUE ("plist-member", Fplist_member, Splist_member, 2, 2, 0,
2703 doc: /* Return non-nil if PLIST has the property PROP. 2703 doc: /* Return non-nil if PLIST has the property PROP.
2704PLIST is a property list, which is a list of the form 2704PLIST is a property list, which is a list of the form
2705\(PROP1 VALUE1 PROP2 VALUE2 ...\). PROP is a symbol. 2705\(PROP1 VALUE1 PROP2 VALUE2 ...\). PROP is a symbol.
@@ -4248,7 +4248,7 @@ DEFUN ("sxhash", Fsxhash, Ssxhash, 1, 1, 0,
4248} 4248}
4249 4249
4250 4250
4251DEFUN ("make-hash-table", Fmake_hash_table, Smake_hash_table, 0, MANY, 0, 4251DEFUE ("make-hash-table", Fmake_hash_table, Smake_hash_table, 0, MANY, 0,
4252 doc: /* Create and return a new hash table. 4252 doc: /* Create and return a new hash table.
4253 4253
4254Arguments are specified as keyword/argument pairs. The following 4254Arguments are specified as keyword/argument pairs. The following
@@ -4436,7 +4436,7 @@ DEFUN ("clrhash", Fclrhash, Sclrhash, 1, 1, 0,
4436} 4436}
4437 4437
4438 4438
4439DEFUN ("gethash", Fgethash, Sgethash, 2, 3, 0, 4439DEFUE ("gethash", Fgethash, Sgethash, 2, 3, 0,
4440 doc: /* Look up KEY in TABLE and return its associated value. 4440 doc: /* Look up KEY in TABLE and return its associated value.
4441If KEY is not found, return DFLT which defaults to nil. */) 4441If KEY is not found, return DFLT which defaults to nil. */)
4442 (Lisp_Object key, Lisp_Object table, Lisp_Object dflt) 4442 (Lisp_Object key, Lisp_Object table, Lisp_Object dflt)
@@ -4447,7 +4447,7 @@ If KEY is not found, return DFLT which defaults to nil. */)
4447} 4447}
4448 4448
4449 4449
4450DEFUN ("puthash", Fputhash, Sputhash, 3, 3, 0, 4450DEFUE ("puthash", Fputhash, Sputhash, 3, 3, 0,
4451 doc: /* Associate KEY with VALUE in hash table TABLE. 4451 doc: /* Associate KEY with VALUE in hash table TABLE.
4452If KEY is already present in table, replace its current value with 4452If KEY is already present in table, replace its current value with
4453VALUE. */) 4453VALUE. */)
@@ -4467,7 +4467,7 @@ VALUE. */)
4467} 4467}
4468 4468
4469 4469
4470DEFUN ("remhash", Fremhash, Sremhash, 2, 2, 0, 4470DEFUE ("remhash", Fremhash, Sremhash, 2, 2, 0,
4471 doc: /* Remove KEY from TABLE. */) 4471 doc: /* Remove KEY from TABLE. */)
4472 (Lisp_Object key, Lisp_Object table) 4472 (Lisp_Object key, Lisp_Object table)
4473{ 4473{
diff --git a/src/font.c b/src/font.c
index e01f67a95f6..a31a418e641 100644
--- a/src/font.c
+++ b/src/font.c
@@ -3762,7 +3762,7 @@ which kind of font it is. It must be one of `font-spec', `font-entity',
3762 wrong_type_argument (intern ("font-extra-type"), extra_type); 3762 wrong_type_argument (intern ("font-extra-type"), extra_type);
3763} 3763}
3764 3764
3765DEFUN ("font-spec", Ffont_spec, Sfont_spec, 0, MANY, 0, 3765DEFUE ("font-spec", Ffont_spec, Sfont_spec, 0, MANY, 0,
3766 doc: /* Return a newly created font-spec with arguments as properties. 3766 doc: /* Return a newly created font-spec with arguments as properties.
3767 3767
3768ARGS must come in pairs KEY VALUE of font properties. KEY must be a 3768ARGS must come in pairs KEY VALUE of font properties. KEY must be a
@@ -3866,7 +3866,7 @@ usage: (font-spec ARGS...) */)
3866 return spec; 3866 return spec;
3867} 3867}
3868 3868
3869DEFUN ("copy-font-spec", Fcopy_font_spec, Scopy_font_spec, 1, 1, 0, 3869DEFUE ("copy-font-spec", Fcopy_font_spec, Scopy_font_spec, 1, 1, 0,
3870 doc: /* Return a copy of FONT as a font-spec. */) 3870 doc: /* Return a copy of FONT as a font-spec. */)
3871 (Lisp_Object font) 3871 (Lisp_Object font)
3872{ 3872{
@@ -3892,7 +3892,7 @@ DEFUN ("copy-font-spec", Fcopy_font_spec, Scopy_font_spec, 1, 1, 0,
3892 return new_spec; 3892 return new_spec;
3893} 3893}
3894 3894
3895DEFUN ("merge-font-spec", Fmerge_font_spec, Smerge_font_spec, 2, 2, 0, 3895DEFUE ("merge-font-spec", Fmerge_font_spec, Smerge_font_spec, 2, 2, 0,
3896 doc: /* Merge font-specs FROM and TO, and return a new font-spec. 3896 doc: /* Merge font-specs FROM and TO, and return a new font-spec.
3897Every specified properties in FROM override the corresponding 3897Every specified properties in FROM override the corresponding
3898properties in TO. */) 3898properties in TO. */)
@@ -3921,7 +3921,7 @@ properties in TO. */)
3921 return to; 3921 return to;
3922} 3922}
3923 3923
3924DEFUN ("font-get", Ffont_get, Sfont_get, 2, 2, 0, 3924DEFUE ("font-get", Ffont_get, Sfont_get, 2, 2, 0,
3925 doc: /* Return the value of FONT's property KEY. 3925 doc: /* Return the value of FONT's property KEY.
3926FONT is a font-spec, a font-entity, or a font-object. 3926FONT is a font-spec, a font-entity, or a font-object.
3927KEY is any symbol, but these are reserved for specific meanings: 3927KEY is any symbol, but these are reserved for specific meanings:
@@ -4053,7 +4053,7 @@ are to be displayed on. If omitted, the selected frame is used. */)
4053 4053
4054#endif 4054#endif
4055 4055
4056DEFUN ("font-put", Ffont_put, Sfont_put, 3, 3, 0, 4056DEFUE ("font-put", Ffont_put, Sfont_put, 3, 3, 0,
4057 doc: /* Set one property of FONT: give property KEY value VAL. 4057 doc: /* Set one property of FONT: give property KEY value VAL.
4058FONT is a font-spec, a font-entity, or a font-object. 4058FONT is a font-spec, a font-entity, or a font-object.
4059 4059
@@ -4087,7 +4087,7 @@ accepted by `font-spec'. */)
4087 return val; 4087 return val;
4088} 4088}
4089 4089
4090DEFUN ("list-fonts", Flist_fonts, Slist_fonts, 1, 4, 0, 4090DEFUE ("list-fonts", Flist_fonts, Slist_fonts, 1, 4, 0,
4091 doc: /* List available fonts matching FONT-SPEC on the current frame. 4091 doc: /* List available fonts matching FONT-SPEC on the current frame.
4092Optional 2nd argument FRAME specifies the target frame. 4092Optional 2nd argument FRAME specifies the target frame.
4093Optional 3rd argument NUM, if non-nil, limits the number of returned fonts. 4093Optional 3rd argument NUM, if non-nil, limits the number of returned fonts.
@@ -4181,7 +4181,7 @@ Optional 2nd argument FRAME, if non-nil, specifies the target frame. */)
4181 return val; 4181 return val;
4182} 4182}
4183 4183
4184DEFUN ("font-xlfd-name", Ffont_xlfd_name, Sfont_xlfd_name, 1, 2, 0, 4184DEFUE ("font-xlfd-name", Ffont_xlfd_name, Sfont_xlfd_name, 1, 2, 0,
4185 doc: /* Return XLFD name of FONT. 4185 doc: /* Return XLFD name of FONT.
4186FONT is a font-spec, font-entity, or font-object. 4186FONT is a font-spec, font-entity, or font-object.
4187If the name is too long for XLFD (maximum 255 chars), return nil. 4187If the name is too long for XLFD (maximum 255 chars), return nil.
@@ -4403,7 +4403,7 @@ where
4403 4403
4404#if 0 4404#if 0
4405 4405
4406DEFUN ("font-drive-otf", Ffont_drive_otf, Sfont_drive_otf, 6, 6, 0, 4406DEFUE ("font-drive-otf", Ffont_drive_otf, Sfont_drive_otf, 6, 6, 0,
4407 doc: /* Apply OpenType features on glyph-string GSTRING-IN. 4407 doc: /* Apply OpenType features on glyph-string GSTRING-IN.
4408OTF-FEATURES specifies which features to apply in this format: 4408OTF-FEATURES specifies which features to apply in this format:
4409 (SCRIPT LANGSYS GSUB GPOS) 4409 (SCRIPT LANGSYS GSUB GPOS)
@@ -4473,7 +4473,7 @@ glyph-string. */)
4473 return make_number (num); 4473 return make_number (num);
4474} 4474}
4475 4475
4476DEFUN ("font-otf-alternates", Ffont_otf_alternates, Sfont_otf_alternates, 4476DEFUE ("font-otf-alternates", Ffont_otf_alternates, Sfont_otf_alternates,
4477 3, 3, 0, 4477 3, 3, 0,
4478 doc: /* Return a list of alternate glyphs of CHARACTER in FONT-OBJECT. 4478 doc: /* Return a list of alternate glyphs of CHARACTER in FONT-OBJECT.
4479OTF-FEATURES specifies which features of the font FONT-OBJECT to apply 4479OTF-FEATURES specifies which features of the font FONT-OBJECT to apply
diff --git a/src/fontset.c b/src/fontset.c
index eea65535c78..4a9cc9393bf 100644
--- a/src/fontset.c
+++ b/src/fontset.c
@@ -1172,7 +1172,7 @@ fs_query_fontset (Lisp_Object name, int name_pattern)
1172} 1172}
1173 1173
1174 1174
1175DEFUN ("query-fontset", Fquery_fontset, Squery_fontset, 1, 2, 0, 1175DEFUE ("query-fontset", Fquery_fontset, Squery_fontset, 1, 2, 0,
1176 doc: /* Return the name of a fontset that matches PATTERN. 1176 doc: /* Return the name of a fontset that matches PATTERN.
1177The value is nil if there is no matching fontset. 1177The value is nil if there is no matching fontset.
1178PATTERN can contain `*' or `?' as a wildcard 1178PATTERN can contain `*' or `?' as a wildcard
@@ -2138,7 +2138,7 @@ dump_fontset (Lisp_Object fontset)
2138 return vec; 2138 return vec;
2139} 2139}
2140 2140
2141DEFUN ("fontset-list-all", Ffontset_list_all, Sfontset_list_all, 0, 0, 0, 2141DEFUE ("fontset-list-all", Ffontset_list_all, Sfontset_list_all, 0, 0, 0,
2142 doc: /* Return a brief summary of all fontsets for debug use. */) 2142 doc: /* Return a brief summary of all fontsets for debug use. */)
2143 (void) 2143 (void)
2144{ 2144{
diff --git a/src/frame.c b/src/frame.c
index 1b6d36092ae..6e0e9c4ffc0 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -225,7 +225,7 @@ return values. */)
225 : Qnil); 225 : Qnil);
226} 226}
227 227
228DEFUN ("window-system", Fwindow_system, Swindow_system, 0, 1, 0, 228DEFUE ("window-system", Fwindow_system, Swindow_system, 0, 1, 0,
229 doc: /* The name of the window system that FRAME is displaying through. 229 doc: /* The name of the window system that FRAME is displaying through.
230The value is a symbol: 230The value is a symbol:
231 nil for a termcap frame (a character-only terminal), 231 nil for a termcap frame (a character-only terminal),
@@ -856,7 +856,7 @@ do_switch_frame (Lisp_Object frame, int track, int for_deletion, Lisp_Object nor
856 return frame; 856 return frame;
857} 857}
858 858
859DEFUN ("select-frame", Fselect_frame, Sselect_frame, 1, 2, "e", 859DEFUE ("select-frame", Fselect_frame, Sselect_frame, 1, 2, "e",
860 doc: /* Select FRAME. 860 doc: /* Select FRAME.
861Subsequent editing commands apply to its selected window. 861Subsequent editing commands apply to its selected window.
862Optional argument NORECORD means to neither change the order of 862Optional argument NORECORD means to neither change the order of
@@ -894,14 +894,14 @@ to that frame. */)
894 return do_switch_frame (event, 0, 0, Qnil); 894 return do_switch_frame (event, 0, 0, Qnil);
895} 895}
896 896
897DEFUN ("selected-frame", Fselected_frame, Sselected_frame, 0, 0, 0, 897DEFUE ("selected-frame", Fselected_frame, Sselected_frame, 0, 0, 0,
898 doc: /* Return the frame that is now selected. */) 898 doc: /* Return the frame that is now selected. */)
899 (void) 899 (void)
900{ 900{
901 return selected_frame; 901 return selected_frame;
902} 902}
903 903
904DEFUN ("window-frame", Fwindow_frame, Swindow_frame, 1, 1, 0, 904DEFUE ("window-frame", Fwindow_frame, Swindow_frame, 1, 1, 0,
905 doc: /* Return the frame object that window WINDOW is on. */) 905 doc: /* Return the frame object that window WINDOW is on. */)
906 (Lisp_Object window) 906 (Lisp_Object window)
907{ 907{
@@ -909,7 +909,7 @@ DEFUN ("window-frame", Fwindow_frame, Swindow_frame, 1, 1, 0,
909 return XWINDOW (window)->frame; 909 return XWINDOW (window)->frame;
910} 910}
911 911
912DEFUN ("frame-first-window", Fframe_first_window, Sframe_first_window, 0, 1, 0, 912DEFUE ("frame-first-window", Fframe_first_window, Sframe_first_window, 0, 1, 0,
913 doc: /* Returns the topmost, leftmost window of FRAME. 913 doc: /* Returns the topmost, leftmost window of FRAME.
914If omitted, FRAME defaults to the currently selected frame. */) 914If omitted, FRAME defaults to the currently selected frame. */)
915 (Lisp_Object frame) 915 (Lisp_Object frame)
@@ -943,7 +943,7 @@ DEFUN ("active-minibuffer-window", Factive_minibuffer_window,
943 return minibuf_level ? minibuf_window : Qnil; 943 return minibuf_level ? minibuf_window : Qnil;
944} 944}
945 945
946DEFUN ("frame-root-window", Fframe_root_window, Sframe_root_window, 0, 1, 0, 946DEFUE ("frame-root-window", Fframe_root_window, Sframe_root_window, 0, 1, 0,
947 doc: /* Returns the root-window of FRAME. 947 doc: /* Returns the root-window of FRAME.
948If omitted, FRAME defaults to the currently selected frame. */) 948If omitted, FRAME defaults to the currently selected frame. */)
949 (Lisp_Object frame) 949 (Lisp_Object frame)
@@ -980,7 +980,7 @@ FRAME defaults to the currently selected frame. */)
980 return window; 980 return window;
981} 981}
982 982
983DEFUN ("set-frame-selected-window", Fset_frame_selected_window, 983DEFUE ("set-frame-selected-window", Fset_frame_selected_window,
984 Sset_frame_selected_window, 2, 3, 0, 984 Sset_frame_selected_window, 2, 3, 0,
985 doc: /* Set selected window of FRAME to WINDOW. 985 doc: /* Set selected window of FRAME to WINDOW.
986If FRAME is nil, use the selected frame. If FRAME is the 986If FRAME is nil, use the selected frame. If FRAME is the
@@ -1776,7 +1776,7 @@ before calling this function on it, like this.
1776 1776
1777static void make_frame_visible_1 (Lisp_Object); 1777static void make_frame_visible_1 (Lisp_Object);
1778 1778
1779DEFUN ("make-frame-visible", Fmake_frame_visible, Smake_frame_visible, 1779DEFUE ("make-frame-visible", Fmake_frame_visible, Smake_frame_visible,
1780 0, 1, "", 1780 0, 1, "",
1781 doc: /* Make the frame FRAME visible (assuming it is an X window). 1781 doc: /* Make the frame FRAME visible (assuming it is an X window).
1782If omitted, FRAME defaults to the currently selected frame. */) 1782If omitted, FRAME defaults to the currently selected frame. */)
@@ -1876,7 +1876,7 @@ displayed in the terminal. */)
1876 return Qnil; 1876 return Qnil;
1877} 1877}
1878 1878
1879DEFUN ("iconify-frame", Ficonify_frame, Siconify_frame, 1879DEFUE ("iconify-frame", Ficonify_frame, Siconify_frame,
1880 0, 1, "", 1880 0, 1, "",
1881 doc: /* Make the frame FRAME into an icon. 1881 doc: /* Make the frame FRAME into an icon.
1882If omitted, FRAME defaults to the currently selected frame. */) 1882If omitted, FRAME defaults to the currently selected frame. */)
@@ -1961,7 +1961,7 @@ DEFUN ("visible-frame-list", Fvisible_frame_list, Svisible_frame_list,
1961} 1961}
1962 1962
1963 1963
1964DEFUN ("raise-frame", Fraise_frame, Sraise_frame, 0, 1, "", 1964DEFUE ("raise-frame", Fraise_frame, Sraise_frame, 0, 1, "",
1965 doc: /* Bring FRAME to the front, so it occludes any frames it overlaps. 1965 doc: /* Bring FRAME to the front, so it occludes any frames it overlaps.
1966If FRAME is invisible or iconified, make it visible. 1966If FRAME is invisible or iconified, make it visible.
1967If you don't specify a frame, the selected frame is used. 1967If you don't specify a frame, the selected frame is used.
@@ -2014,7 +2014,7 @@ doesn't support multiple overlapping frames, this function does nothing. */)
2014} 2014}
2015 2015
2016 2016
2017DEFUN ("redirect-frame-focus", Fredirect_frame_focus, Sredirect_frame_focus, 2017DEFUE ("redirect-frame-focus", Fredirect_frame_focus, Sredirect_frame_focus,
2018 1, 2, 0, 2018 1, 2, 0,
2019 doc: /* Arrange for keystrokes typed at FRAME to be sent to FOCUS-FRAME. 2019 doc: /* Arrange for keystrokes typed at FRAME to be sent to FOCUS-FRAME.
2020In other words, switch-frame events caused by events in FRAME will 2020In other words, switch-frame events caused by events in FRAME will
@@ -2392,7 +2392,7 @@ If FRAME is omitted, return information on the currently selected frame. */)
2392} 2392}
2393 2393
2394 2394
2395DEFUN ("frame-parameter", Fframe_parameter, Sframe_parameter, 2, 2, 0, 2395DEFUE ("frame-parameter", Fframe_parameter, Sframe_parameter, 2, 2, 0,
2396 doc: /* Return FRAME's value for parameter PARAMETER. 2396 doc: /* Return FRAME's value for parameter PARAMETER.
2397If FRAME is nil, describe the currently selected frame. */) 2397If FRAME is nil, describe the currently selected frame. */)
2398 (Lisp_Object frame, Lisp_Object parameter) 2398 (Lisp_Object frame, Lisp_Object parameter)
@@ -2470,7 +2470,7 @@ If FRAME is nil, describe the currently selected frame. */)
2470} 2470}
2471 2471
2472 2472
2473DEFUN ("modify-frame-parameters", Fmodify_frame_parameters, 2473DEFUE ("modify-frame-parameters", Fmodify_frame_parameters,
2474 Smodify_frame_parameters, 2, 2, 0, 2474 Smodify_frame_parameters, 2, 2, 0,
2475 doc: /* Modify the parameters of frame FRAME according to ALIST. 2475 doc: /* Modify the parameters of frame FRAME according to ALIST.
2476If FRAME is nil, it defaults to the selected frame. 2476If FRAME is nil, it defaults to the selected frame.
diff --git a/src/image.c b/src/image.c
index b3d2be88b96..20ca3cf1d6b 100644
--- a/src/image.c
+++ b/src/image.c
@@ -137,6 +137,7 @@ static void free_color_table (void);
137static unsigned long *colors_in_color_table (int *n); 137static unsigned long *colors_in_color_table (int *n);
138static unsigned long lookup_pixel_color (struct frame *f, unsigned long p); 138static unsigned long lookup_pixel_color (struct frame *f, unsigned long p);
139#endif 139#endif
140INFUN (Finit_image_library, 2);
140 141
141/* Code to deal with bitmaps. Bitmaps are referenced by their bitmap 142/* Code to deal with bitmaps. Bitmaps are referenced by their bitmap
142 id, which is just an int that this section returns. Bitmaps are 143 id, which is just an int that this section returns. Bitmaps are
@@ -7869,7 +7870,7 @@ static struct image_type imagemagick_type =
7869 }; 7870 };
7870 7871
7871 7872
7872DEFUN ("imagemagick-types", Fimagemagick_types, Simagemagick_types, 0, 0, 0, 7873DEFUE ("imagemagick-types", Fimagemagick_types, Simagemagick_types, 0, 0, 0,
7873 doc: /* Return the image types supported by ImageMagick. 7874 doc: /* Return the image types supported by ImageMagick.
7874Note that ImageMagick recognizes many file-types that Emacs does not recognize 7875Note that ImageMagick recognizes many file-types that Emacs does not recognize
7875as images, such as .c. */) 7876as images, such as .c. */)
@@ -8580,7 +8581,7 @@ x_kill_gs_process (Pixmap pixmap, struct frame *f)
8580 8581
8581#if GLYPH_DEBUG 8582#if GLYPH_DEBUG
8582 8583
8583DEFUN ("imagep", Fimagep, Simagep, 1, 1, 0, 8584DEFUE ("imagep", Fimagep, Simagep, 1, 1, 0,
8584 doc: /* Value is non-nil if SPEC is a valid image specification. */) 8585 doc: /* Value is non-nil if SPEC is a valid image specification. */)
8585 (Lisp_Object spec) 8586 (Lisp_Object spec)
8586{ 8587{
@@ -8588,7 +8589,7 @@ DEFUN ("imagep", Fimagep, Simagep, 1, 1, 0,
8588} 8589}
8589 8590
8590 8591
8591DEFUN ("lookup-image", Flookup_image, Slookup_image, 1, 1, 0, "") 8592DEFUE ("lookup-image", Flookup_image, Slookup_image, 1, 1, 0, "")
8592 (Lisp_Object spec) 8593 (Lisp_Object spec)
8593{ 8594{
8594 int id = -1; 8595 int id = -1;
diff --git a/src/indent.c b/src/indent.c
index 8732b2ca5cc..84476e7bbdb 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -796,7 +796,7 @@ string_display_width (string, beg, end)
796#endif /* 0 */ 796#endif /* 0 */
797 797
798 798
799DEFUN ("indent-to", Findent_to, Sindent_to, 1, 2, "NIndent to column: ", 799DEFUE ("indent-to", Findent_to, Sindent_to, 1, 2, "NIndent to column: ",
800 doc: /* Indent from point with tabs and spaces until COLUMN is reached. 800 doc: /* Indent from point with tabs and spaces until COLUMN is reached.
801Optional second argument MINIMUM says always do at least MINIMUM spaces 801Optional second argument MINIMUM says always do at least MINIMUM spaces
802even if that goes past COLUMN; by default, MINIMUM is zero. 802even if that goes past COLUMN; by default, MINIMUM is zero.
@@ -967,7 +967,7 @@ indented_beyond_p (EMACS_INT pos, EMACS_INT pos_byte, EMACS_INT column)
967 return val >= column; 967 return val >= column;
968} 968}
969 969
970DEFUN ("move-to-column", Fmove_to_column, Smove_to_column, 1, 2, "p", 970DEFUE ("move-to-column", Fmove_to_column, Smove_to_column, 1, 2, "p",
971 doc: /* Move point to column COLUMN in the current line. 971 doc: /* Move point to column COLUMN in the current line.
972Interactively, COLUMN is the value of prefix numeric argument. 972Interactively, COLUMN is the value of prefix numeric argument.
973The column of a character is calculated by adding together the widths 973The column of a character is calculated by adding together the widths
@@ -1959,7 +1959,7 @@ vmotion (register EMACS_INT from, register EMACS_INT vtarget, struct window *w)
1959 w); 1959 w);
1960} 1960}
1961 1961
1962DEFUN ("vertical-motion", Fvertical_motion, Svertical_motion, 1, 2, 0, 1962DEFUE ("vertical-motion", Fvertical_motion, Svertical_motion, 1, 2, 0,
1963 doc: /* Move point to start of the screen line LINES lines down. 1963 doc: /* Move point to start of the screen line LINES lines down.
1964If LINES is negative, this means moving up. 1964If LINES is negative, this means moving up.
1965 1965
diff --git a/src/insdel.c b/src/insdel.c
index 4bdcb4bc0b7..dd7e3c14335 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -48,7 +48,7 @@ static void adjust_markers_for_replace (EMACS_INT, EMACS_INT, EMACS_INT,
48 EMACS_INT, EMACS_INT, EMACS_INT); 48 EMACS_INT, EMACS_INT, EMACS_INT);
49static void adjust_point (EMACS_INT nchars, EMACS_INT nbytes); 49static void adjust_point (EMACS_INT nchars, EMACS_INT nbytes);
50 50
51Lisp_Object Fcombine_after_change_execute (void); 51INFUN (Fcombine_after_change_execute, 0);
52 52
53/* List of elements of the form (BEG-UNCHANGED END-UNCHANGED CHANGE-AMOUNT) 53/* List of elements of the form (BEG-UNCHANGED END-UNCHANGED CHANGE-AMOUNT)
54 describing changes which happened while combine_after_change_calls 54 describing changes which happened while combine_after_change_calls
diff --git a/src/intervals.h b/src/intervals.h
index d7c34012e1f..b2d755036ba 100644
--- a/src/intervals.h
+++ b/src/intervals.h
@@ -315,10 +315,10 @@ EXFUN (Fget_char_property, 3);
315EXFUN (Fget_text_property, 3); 315EXFUN (Fget_text_property, 3);
316EXFUN (Ftext_properties_at, 2); 316EXFUN (Ftext_properties_at, 2);
317EXFUN (Fnext_property_change, 3); 317EXFUN (Fnext_property_change, 3);
318EXFUN (Fprevious_property_change, 3);
319EXFUN (Fadd_text_properties, 4); 318EXFUN (Fadd_text_properties, 4);
320EXFUN (Fset_text_properties, 4); 319EXFUN (Fset_text_properties, 4);
321EXFUN (Fremove_text_properties, 4); 320EXFUN (Fremove_text_properties, 4);
321EXFUN (Fremove_list_of_text_properties, 4);
322EXFUN (Ftext_property_any, 5); 322EXFUN (Ftext_property_any, 5);
323EXFUN (Fprevious_single_char_property_change, 4); 323EXFUN (Fprevious_single_char_property_change, 4);
324extern Lisp_Object copy_text_properties (Lisp_Object, Lisp_Object, 324extern Lisp_Object copy_text_properties (Lisp_Object, Lisp_Object,
diff --git a/src/keyboard.c b/src/keyboard.c
index 5df4f1b1ff4..97989fc1c15 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -350,7 +350,6 @@ Lisp_Object Qvertical_scroll_bar;
350Lisp_Object Qmenu_bar; 350Lisp_Object Qmenu_bar;
351 351
352Lisp_Object recursive_edit_unwind (Lisp_Object buffer), command_loop (void); 352Lisp_Object recursive_edit_unwind (Lisp_Object buffer), command_loop (void);
353Lisp_Object Fthis_command_keys (void);
354Lisp_Object Qextended_command_history; 353Lisp_Object Qextended_command_history;
355EMACS_TIME timer_check (void); 354EMACS_TIME timer_check (void);
356 355
@@ -439,6 +438,7 @@ static void interrupt_signal (int signalnum);
439#ifdef SIGIO 438#ifdef SIGIO
440static void input_available_signal (int signo); 439static void input_available_signal (int signo);
441#endif 440#endif
441INFUN (Fcommand_execute, 4);
442static void handle_interrupt (void); 442static void handle_interrupt (void);
443static void timer_start_idle (void); 443static void timer_start_idle (void);
444static void timer_stop_idle (void); 444static void timer_stop_idle (void);
@@ -758,7 +758,7 @@ force_auto_save_soon (void)
758 record_asynch_buffer_change (); 758 record_asynch_buffer_change ();
759} 759}
760 760
761DEFUN ("recursive-edit", Frecursive_edit, Srecursive_edit, 0, 0, "", 761DEFUE ("recursive-edit", Frecursive_edit, Srecursive_edit, 0, 0, "",
762 doc: /* Invoke the editor command loop recursively. 762 doc: /* Invoke the editor command loop recursively.
763To get out of the recursive edit, a command can do `(throw 'exit nil)'; 763To get out of the recursive edit, a command can do `(throw 'exit nil)';
764that tells this function to return. 764that tells this function to return.
@@ -1152,7 +1152,7 @@ top_level_1 (Lisp_Object ignore)
1152 return Qnil; 1152 return Qnil;
1153} 1153}
1154 1154
1155DEFUN ("top-level", Ftop_level, Stop_level, 0, 0, "", 1155DEFUE ("top-level", Ftop_level, Stop_level, 0, 0, "",
1156 doc: /* Exit all recursive editing levels. 1156 doc: /* Exit all recursive editing levels.
1157This also exits all active minibuffers. */) 1157This also exits all active minibuffers. */)
1158 (void) 1158 (void)
@@ -1170,7 +1170,7 @@ This also exits all active minibuffers. */)
1170 Fthrow (Qtop_level, Qnil); 1170 Fthrow (Qtop_level, Qnil);
1171} 1171}
1172 1172
1173Lisp_Object Fexit_recursive_edit (void) NO_RETURN; 1173INFUN (Fexit_recursive_edit, 0) NO_RETURN;
1174DEFUN ("exit-recursive-edit", Fexit_recursive_edit, Sexit_recursive_edit, 0, 0, "", 1174DEFUN ("exit-recursive-edit", Fexit_recursive_edit, Sexit_recursive_edit, 0, 0, "",
1175 doc: /* Exit from the innermost recursive edit or minibuffer. */) 1175 doc: /* Exit from the innermost recursive edit or minibuffer. */)
1176 (void) 1176 (void)
@@ -1181,7 +1181,7 @@ DEFUN ("exit-recursive-edit", Fexit_recursive_edit, Sexit_recursive_edit, 0, 0,
1181 error ("No recursive edit is in progress"); 1181 error ("No recursive edit is in progress");
1182} 1182}
1183 1183
1184Lisp_Object Fabort_recursive_edit (void) NO_RETURN; 1184INFUN (Fabort_recursive_edit, 0) NO_RETURN;
1185DEFUN ("abort-recursive-edit", Fabort_recursive_edit, Sabort_recursive_edit, 0, 0, "", 1185DEFUN ("abort-recursive-edit", Fabort_recursive_edit, Sabort_recursive_edit, 0, 0, "",
1186 doc: /* Abort the command that requested this recursive edit or minibuffer input. */) 1186 doc: /* Abort the command that requested this recursive edit or minibuffer input. */)
1187 (void) 1187 (void)
@@ -6470,7 +6470,7 @@ modify_event_symbol (EMACS_INT symbol_num, unsigned int modifiers, Lisp_Object s
6470 such as (ctrl meta backspace), into the usual representation of that 6470 such as (ctrl meta backspace), into the usual representation of that
6471 event type as a number or a symbol. */ 6471 event type as a number or a symbol. */
6472 6472
6473DEFUN ("event-convert-list", Fevent_convert_list, Sevent_convert_list, 1, 1, 0, 6473DEFUE ("event-convert-list", Fevent_convert_list, Sevent_convert_list, 1, 1, 0,
6474 doc: /* Convert the event description list EVENT-DESC to an event type. 6474 doc: /* Convert the event description list EVENT-DESC to an event type.
6475EVENT-DESC should contain one base event type (a character or symbol) 6475EVENT-DESC should contain one base event type (a character or symbol)
6476and zero or more modifier names (control, meta, hyper, super, shift, alt, 6476and zero or more modifier names (control, meta, hyper, super, shift, alt,
@@ -9981,7 +9981,7 @@ read_key_sequence (Lisp_Object *keybuf, size_t bufsize, Lisp_Object prompt,
9981 return t; 9981 return t;
9982} 9982}
9983 9983
9984DEFUN ("read-key-sequence", Fread_key_sequence, Sread_key_sequence, 1, 5, 0, 9984DEFUE ("read-key-sequence", Fread_key_sequence, Sread_key_sequence, 1, 5, 0,
9985 doc: /* Read a sequence of keystrokes and return as a string or vector. 9985 doc: /* Read a sequence of keystrokes and return as a string or vector.
9986The sequence is sufficient to specify a non-prefix command in the 9986The sequence is sufficient to specify a non-prefix command in the
9987current local and global maps. 9987current local and global maps.
@@ -10609,7 +10609,7 @@ If FILE is nil, close any open dribble file. */)
10609 return Qnil; 10609 return Qnil;
10610} 10610}
10611 10611
10612DEFUN ("discard-input", Fdiscard_input, Sdiscard_input, 0, 0, 0, 10612DEFUE ("discard-input", Fdiscard_input, Sdiscard_input, 0, 0, 0,
10613 doc: /* Discard the contents of the terminal input buffer. 10613 doc: /* Discard the contents of the terminal input buffer.
10614Also end any kbd macro being defined. */) 10614Also end any kbd macro being defined. */)
10615 (void) 10615 (void)
@@ -10962,7 +10962,8 @@ quit_throw_to_read_char (void)
10962 _longjmp (getcjmp, 1); 10962 _longjmp (getcjmp, 1);
10963} 10963}
10964 10964
10965DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode, Sset_input_interrupt_mode, 1, 1, 0, 10965DEFUE ("set-input-interrupt-mode", Fset_input_interrupt_mode,
10966 Sset_input_interrupt_mode, 1, 1, 0,
10966 doc: /* Set interrupt mode of reading keyboard input. 10967 doc: /* Set interrupt mode of reading keyboard input.
10967If INTERRUPT is non-nil, Emacs will use input interrupts; 10968If INTERRUPT is non-nil, Emacs will use input interrupts;
10968otherwise Emacs uses CBREAK mode. 10969otherwise Emacs uses CBREAK mode.
@@ -11127,7 +11128,7 @@ See also `current-input-mode'. */)
11127 return Qnil; 11128 return Qnil;
11128} 11129}
11129 11130
11130DEFUN ("set-input-mode", Fset_input_mode, Sset_input_mode, 3, 4, 0, 11131DEFUE ("set-input-mode", Fset_input_mode, Sset_input_mode, 3, 4, 0,
11131 doc: /* Set mode of reading keyboard input. 11132 doc: /* Set mode of reading keyboard input.
11132First arg INTERRUPT non-nil means use input interrupts; 11133First arg INTERRUPT non-nil means use input interrupts;
11133 nil means use CBREAK mode. 11134 nil means use CBREAK mode.
diff --git a/src/keymap.c b/src/keymap.c
index 10000b935aa..9adf2898736 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -70,6 +70,7 @@ static Lisp_Object where_is_cache;
70/* Which keymaps are reverse-stored in the cache. */ 70/* Which keymaps are reverse-stored in the cache. */
71static Lisp_Object where_is_cache_keymaps; 71static Lisp_Object where_is_cache_keymaps;
72 72
73INFUN (Flookup_key, 3);
73static Lisp_Object store_in_keymap (Lisp_Object, Lisp_Object, Lisp_Object); 74static Lisp_Object store_in_keymap (Lisp_Object, Lisp_Object, Lisp_Object);
74static void fix_submap_inheritance (Lisp_Object, Lisp_Object, Lisp_Object); 75static void fix_submap_inheritance (Lisp_Object, Lisp_Object, Lisp_Object);
75 76
@@ -108,7 +109,7 @@ in case you use it as a menu with `x-popup-menu'. */)
108 Fcons (Fmake_char_table (Qkeymap, Qnil), tail)); 109 Fcons (Fmake_char_table (Qkeymap, Qnil), tail));
109} 110}
110 111
111DEFUN ("make-sparse-keymap", Fmake_sparse_keymap, Smake_sparse_keymap, 0, 1, 0, 112DEFUE ("make-sparse-keymap", Fmake_sparse_keymap, Smake_sparse_keymap, 0, 1, 0,
112 doc: /* Construct and return a new sparse keymap. 113 doc: /* Construct and return a new sparse keymap.
113Its car is `keymap' and its cdr is an alist of (CHAR . DEFINITION), 114Its car is `keymap' and its cdr is an alist of (CHAR . DEFINITION),
114which binds the character CHAR to DEFINITION, or (SYMBOL . DEFINITION), 115which binds the character CHAR to DEFINITION, or (SYMBOL . DEFINITION),
@@ -160,7 +161,7 @@ is also allowed as an element. */)
160 return (KEYMAPP (object) ? Qt : Qnil); 161 return (KEYMAPP (object) ? Qt : Qnil);
161} 162}
162 163
163DEFUN ("keymap-prompt", Fkeymap_prompt, Skeymap_prompt, 1, 1, 0, 164DEFUE ("keymap-prompt", Fkeymap_prompt, Skeymap_prompt, 1, 1, 0,
164 doc: /* Return the prompt-string of a keymap MAP. 165 doc: /* Return the prompt-string of a keymap MAP.
165If non-nil, the prompt is shown in the echo-area 166If non-nil, the prompt is shown in the echo-area
166when reading a key-sequence to be looked-up in this keymap. */) 167when reading a key-sequence to be looked-up in this keymap. */)
@@ -291,7 +292,7 @@ keymap_memberp (Lisp_Object map, Lisp_Object maps)
291 292
292/* Set the parent keymap of MAP to PARENT. */ 293/* Set the parent keymap of MAP to PARENT. */
293 294
294DEFUN ("set-keymap-parent", Fset_keymap_parent, Sset_keymap_parent, 2, 2, 0, 295DEFUE ("set-keymap-parent", Fset_keymap_parent, Sset_keymap_parent, 2, 2, 0,
295 doc: /* Modify KEYMAP to set its parent map to PARENT. 296 doc: /* Modify KEYMAP to set its parent map to PARENT.
296Return PARENT. PARENT should be nil or another keymap. */) 297Return PARENT. PARENT should be nil or another keymap. */)
297 (Lisp_Object keymap, Lisp_Object parent) 298 (Lisp_Object keymap, Lisp_Object parent)
@@ -955,7 +956,7 @@ store_in_keymap (Lisp_Object keymap, register Lisp_Object idx, Lisp_Object def)
955 return def; 956 return def;
956} 957}
957 958
958EXFUN (Fcopy_keymap, 1); 959INFUN (Fcopy_keymap, 1);
959 960
960static Lisp_Object 961static Lisp_Object
961copy_keymap_item (Lisp_Object elt) 962copy_keymap_item (Lisp_Object elt)
@@ -1079,7 +1080,7 @@ is not copied. */)
1079 1080
1080/* GC is possible in this function if it autoloads a keymap. */ 1081/* GC is possible in this function if it autoloads a keymap. */
1081 1082
1082DEFUN ("define-key", Fdefine_key, Sdefine_key, 3, 3, 0, 1083DEFUE ("define-key", Fdefine_key, Sdefine_key, 3, 3, 0,
1083 doc: /* In KEYMAP, define key sequence KEY as DEF. 1084 doc: /* In KEYMAP, define key sequence KEY as DEF.
1084KEYMAP is a keymap. 1085KEYMAP is a keymap.
1085 1086
@@ -1210,7 +1211,7 @@ binding KEY to DEF is added at the front of KEYMAP. */)
1210 1211
1211/* This function may GC (it calls Fkey_binding). */ 1212/* This function may GC (it calls Fkey_binding). */
1212 1213
1213DEFUN ("command-remapping", Fcommand_remapping, Scommand_remapping, 1, 3, 0, 1214DEFUE ("command-remapping", Fcommand_remapping, Scommand_remapping, 1, 3, 0,
1214 doc: /* Return the remapping for command COMMAND. 1215 doc: /* Return the remapping for command COMMAND.
1215Returns nil if COMMAND is not remapped (or not a symbol). 1216Returns nil if COMMAND is not remapped (or not a symbol).
1216 1217
@@ -1518,7 +1519,7 @@ current_minor_maps (Lisp_Object **modeptr, Lisp_Object **mapptr)
1518 return i; 1519 return i;
1519} 1520}
1520 1521
1521DEFUN ("current-active-maps", Fcurrent_active_maps, Scurrent_active_maps, 1522DEFUE ("current-active-maps", Fcurrent_active_maps, Scurrent_active_maps,
1522 0, 2, 0, 1523 0, 2, 0,
1523 doc: /* Return a list of the currently active keymaps. 1524 doc: /* Return a list of the currently active keymaps.
1524OLP if non-nil indicates that we should obey `overriding-local-map' and 1525OLP if non-nil indicates that we should obey `overriding-local-map' and
@@ -1661,7 +1662,7 @@ like in the respective argument of `key-binding'. */)
1661 1662
1662/* GC is possible in this function if it autoloads a keymap. */ 1663/* GC is possible in this function if it autoloads a keymap. */
1663 1664
1664DEFUN ("key-binding", Fkey_binding, Skey_binding, 1, 4, 0, 1665DEFUE ("key-binding", Fkey_binding, Skey_binding, 1, 4, 0,
1665 doc: /* Return the binding for command KEY in current keymaps. 1666 doc: /* Return the binding for command KEY in current keymaps.
1666KEY is a string or vector, a sequence of keystrokes. 1667KEY is a string or vector, a sequence of keystrokes.
1667The binding is probably a symbol with a function definition. 1668The binding is probably a symbol with a function definition.
@@ -2178,7 +2179,7 @@ Lisp_Object Qsingle_key_description, Qkey_description;
2178 2179
2179/* This function cannot GC. */ 2180/* This function cannot GC. */
2180 2181
2181DEFUN ("key-description", Fkey_description, Skey_description, 1, 2, 0, 2182DEFUE ("key-description", Fkey_description, Skey_description, 1, 2, 0,
2182 doc: /* Return a pretty description of key-sequence KEYS. 2183 doc: /* Return a pretty description of key-sequence KEYS.
2183Optional arg PREFIX is the sequence of keys leading up to KEYS. 2184Optional arg PREFIX is the sequence of keys leading up to KEYS.
2184Control characters turn into "C-foo" sequences, meta into "M-foo", 2185Control characters turn into "C-foo" sequences, meta into "M-foo",
@@ -2397,7 +2398,7 @@ push_key_description (register unsigned int c, register char *p, int force_multi
2397 2398
2398/* This function cannot GC. */ 2399/* This function cannot GC. */
2399 2400
2400DEFUN ("single-key-description", Fsingle_key_description, 2401DEFUE ("single-key-description", Fsingle_key_description,
2401 Ssingle_key_description, 1, 2, 0, 2402 Ssingle_key_description, 1, 2, 0,
2402 doc: /* Return a pretty description of command character KEY. 2403 doc: /* Return a pretty description of command character KEY.
2403Control characters turn into C-whatever, etc. 2404Control characters turn into C-whatever, etc.
@@ -2675,7 +2676,7 @@ where_is_internal (Lisp_Object definition, Lisp_Object keymaps,
2675 2676
2676/* This function can GC if Flookup_key autoloads any keymaps. */ 2677/* This function can GC if Flookup_key autoloads any keymaps. */
2677 2678
2678DEFUN ("where-is-internal", Fwhere_is_internal, Swhere_is_internal, 1, 5, 0, 2679DEFUE ("where-is-internal", Fwhere_is_internal, Swhere_is_internal, 1, 5, 0,
2679 doc: /* Return list of keys that invoke DEFINITION. 2680 doc: /* Return list of keys that invoke DEFINITION.
2680If KEYMAP is a keymap, search only KEYMAP and the global keymap. 2681If KEYMAP is a keymap, search only KEYMAP and the global keymap.
2681If KEYMAP is nil, search all the currently active keymaps. 2682If KEYMAP is nil, search all the currently active keymaps.
diff --git a/src/keymap.h b/src/keymap.h
index 38c6e986784..2b9d58b39dc 100644
--- a/src/keymap.h
+++ b/src/keymap.h
@@ -27,7 +27,6 @@ extern Lisp_Object current_global_map;
27EXFUN (Fmake_sparse_keymap, 1); 27EXFUN (Fmake_sparse_keymap, 1);
28EXFUN (Fkeymap_prompt, 1); 28EXFUN (Fkeymap_prompt, 1);
29EXFUN (Fdefine_key, 3); 29EXFUN (Fdefine_key, 3);
30EXFUN (Flookup_key, 3);
31EXFUN (Fcommand_remapping, 3); 30EXFUN (Fcommand_remapping, 3);
32EXFUN (Fkey_binding, 4); 31EXFUN (Fkey_binding, 4);
33EXFUN (Fkey_description, 2); 32EXFUN (Fkey_description, 2);
@@ -53,4 +52,3 @@ extern void map_keymap_canonical (Lisp_Object map,
53 Lisp_Object args, void *data); 52 Lisp_Object args, void *data);
54 53
55#endif 54#endif
56
diff --git a/src/lisp.h b/src/lisp.h
index 4859862c88f..6a28a0f81b3 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -1804,8 +1804,12 @@ typedef struct {
1804 `doc' is documentation for the user. */ 1804 `doc' is documentation for the user. */
1805 1805
1806/* This version of DEFUN declares a function prototype with the right 1806/* This version of DEFUN declares a function prototype with the right
1807 arguments, so we can catch errors with maxargs at compile-time. */ 1807 arguments, so we can catch errors with maxargs at compile-time.
1808#define DEFUN(lname, fnname, sname, minargs, maxargs, intspec, doc) \ 1808 DEFUN defines an internal function, and DEFUE is similar but defines a
1809 external function, which can be used in other C-language modules. */
1810#define DEFUN static DEFINE_FUNC
1811#define DEFUE extern DEFINE_FUNC
1812#define DEFINE_FUNC(lname, fnname, sname, minargs, maxargs, intspec, doc) \
1809 Lisp_Object fnname DEFUN_ARGS_ ## maxargs ; \ 1813 Lisp_Object fnname DEFUN_ARGS_ ## maxargs ; \
1810 DECL_ALIGN (struct Lisp_Subr, sname) = \ 1814 DECL_ALIGN (struct Lisp_Subr, sname) = \
1811 { PVEC_SUBR | (sizeof (struct Lisp_Subr) / sizeof (EMACS_INT)), \ 1815 { PVEC_SUBR | (sizeof (struct Lisp_Subr) / sizeof (EMACS_INT)), \
@@ -2279,6 +2283,8 @@ void staticpro (Lisp_Object *);
2279 appropriate prototype. */ 2283 appropriate prototype. */
2280#define EXFUN(fnname, maxargs) \ 2284#define EXFUN(fnname, maxargs) \
2281 extern Lisp_Object fnname DEFUN_ARGS_ ## maxargs 2285 extern Lisp_Object fnname DEFUN_ARGS_ ## maxargs
2286#define INFUN(fnname, maxargs) \
2287 static Lisp_Object fnname DEFUN_ARGS_ ## maxargs
2282 2288
2283/* Forward declarations for prototypes. */ 2289/* Forward declarations for prototypes. */
2284struct window; 2290struct window;
@@ -2404,7 +2410,6 @@ extern void init_coding_once (void);
2404extern void syms_of_coding (void); 2410extern void syms_of_coding (void);
2405 2411
2406/* Defined in character.c */ 2412/* Defined in character.c */
2407EXFUN (Funibyte_char_to_multibyte, 1);
2408EXFUN (Fchar_width, 1); 2413EXFUN (Fchar_width, 1);
2409EXFUN (Fstring, MANY); 2414EXFUN (Fstring, MANY);
2410extern EMACS_INT chars_in_text (const unsigned char *, EMACS_INT); 2415extern EMACS_INT chars_in_text (const unsigned char *, EMACS_INT);
@@ -2428,7 +2433,6 @@ extern void syms_of_composite (void);
2428EXFUN (Fforward_word, 1); 2433EXFUN (Fforward_word, 1);
2429EXFUN (Fskip_chars_forward, 2); 2434EXFUN (Fskip_chars_forward, 2);
2430EXFUN (Fskip_chars_backward, 2); 2435EXFUN (Fskip_chars_backward, 2);
2431EXFUN (Fsyntax_table_p, 1);
2432extern void init_syntax_once (void); 2436extern void init_syntax_once (void);
2433extern void syms_of_syntax (void); 2437extern void syms_of_syntax (void);
2434 2438
@@ -2529,7 +2533,6 @@ extern void init_fringe_once (void);
2529extern Lisp_Object QCascent, QCmargin, QCrelief, Qcount, Qextension_data; 2533extern Lisp_Object QCascent, QCmargin, QCrelief, Qcount, Qextension_data;
2530extern Lisp_Object QCconversion, QCcolor_symbols, QCheuristic_mask; 2534extern Lisp_Object QCconversion, QCcolor_symbols, QCheuristic_mask;
2531extern Lisp_Object QCindex, QCmatrix, QCcolor_adjustment, QCmask; 2535extern Lisp_Object QCindex, QCmatrix, QCcolor_adjustment, QCmask;
2532EXFUN (Finit_image_library, 2);
2533extern int x_bitmap_mask (struct frame *, int); 2536extern int x_bitmap_mask (struct frame *, int);
2534extern void syms_of_image (void); 2537extern void syms_of_image (void);
2535extern void init_image (void); 2538extern void init_image (void);
@@ -2790,11 +2793,11 @@ EXFUN (Fread, 1);
2790EXFUN (Fread_from_string, 3); 2793EXFUN (Fread_from_string, 3);
2791EXFUN (Fintern, 2); 2794EXFUN (Fintern, 2);
2792EXFUN (Fintern_soft, 2); 2795EXFUN (Fintern_soft, 2);
2796EXFUN (Funintern, 2);
2793EXFUN (Fload, 5); 2797EXFUN (Fload, 5);
2794EXFUN (Fget_load_suffixes, 0); 2798EXFUN (Fget_load_suffixes, 0);
2795EXFUN (Fread_char, 3); 2799EXFUN (Fread_char, 3);
2796EXFUN (Fread_event, 3); 2800EXFUN (Fread_event, 3);
2797EXFUN (Feval_region, 4);
2798extern Lisp_Object check_obarray (Lisp_Object); 2801extern Lisp_Object check_obarray (Lisp_Object);
2799extern Lisp_Object intern (const char *); 2802extern Lisp_Object intern (const char *);
2800extern Lisp_Object intern_c_string (const char *); 2803extern Lisp_Object intern_c_string (const char *);
@@ -2852,7 +2855,6 @@ EXFUN (Feval, 2);
2852extern Lisp_Object eval_sub (Lisp_Object form); 2855extern Lisp_Object eval_sub (Lisp_Object form);
2853EXFUN (Fapply, MANY); 2856EXFUN (Fapply, MANY);
2854EXFUN (Ffuncall, MANY); 2857EXFUN (Ffuncall, MANY);
2855EXFUN (Fbacktrace, 0);
2856extern Lisp_Object apply1 (Lisp_Object, Lisp_Object); 2858extern Lisp_Object apply1 (Lisp_Object, Lisp_Object);
2857extern Lisp_Object call0 (Lisp_Object); 2859extern Lisp_Object call0 (Lisp_Object);
2858extern Lisp_Object call1 (Lisp_Object, Lisp_Object); 2860extern Lisp_Object call1 (Lisp_Object, Lisp_Object);
@@ -2877,7 +2879,6 @@ extern void verror (const char *, va_list)
2877 NO_RETURN ATTRIBUTE_FORMAT_PRINTF (1, 0); 2879 NO_RETURN ATTRIBUTE_FORMAT_PRINTF (1, 0);
2878extern void do_autoload (Lisp_Object, Lisp_Object); 2880extern void do_autoload (Lisp_Object, Lisp_Object);
2879extern Lisp_Object un_autoload (Lisp_Object); 2881extern Lisp_Object un_autoload (Lisp_Object);
2880EXFUN (Ffetch_bytecode, 1);
2881extern void init_eval_once (void); 2882extern void init_eval_once (void);
2882extern Lisp_Object safe_call (size_t, Lisp_Object *); 2883extern Lisp_Object safe_call (size_t, Lisp_Object *);
2883extern Lisp_Object safe_call1 (Lisp_Object, Lisp_Object); 2884extern Lisp_Object safe_call1 (Lisp_Object, Lisp_Object);
@@ -2921,6 +2922,7 @@ EXFUN (Fwiden, 0);
2921EXFUN (Fuser_login_name, 1); 2922EXFUN (Fuser_login_name, 1);
2922EXFUN (Fsystem_name, 0); 2923EXFUN (Fsystem_name, 0);
2923EXFUN (Fcurrent_time, 0); 2924EXFUN (Fcurrent_time, 0);
2925EXFUN (Fget_internal_run_time, 0);
2924extern EMACS_INT clip_to_bounds (EMACS_INT, EMACS_INT, EMACS_INT); 2926extern EMACS_INT clip_to_bounds (EMACS_INT, EMACS_INT, EMACS_INT);
2925extern Lisp_Object make_buffer_string (EMACS_INT, EMACS_INT, int); 2927extern Lisp_Object make_buffer_string (EMACS_INT, EMACS_INT, int);
2926extern Lisp_Object make_buffer_string_both (EMACS_INT, EMACS_INT, EMACS_INT, 2928extern Lisp_Object make_buffer_string_both (EMACS_INT, EMACS_INT, EMACS_INT,
@@ -2953,7 +2955,6 @@ EXFUN (Fset_buffer, 1);
2953extern Lisp_Object set_buffer_if_live (Lisp_Object); 2955extern Lisp_Object set_buffer_if_live (Lisp_Object);
2954EXFUN (Fbarf_if_buffer_read_only, 0); 2956EXFUN (Fbarf_if_buffer_read_only, 0);
2955EXFUN (Fcurrent_buffer, 0); 2957EXFUN (Fcurrent_buffer, 0);
2956EXFUN (Fswitch_to_buffer, 2);
2957EXFUN (Fother_buffer, 3); 2958EXFUN (Fother_buffer, 3);
2958EXFUN (Foverlay_get, 2); 2959EXFUN (Foverlay_get, 2);
2959EXFUN (Fbuffer_modified_p, 1); 2960EXFUN (Fbuffer_modified_p, 1);
@@ -3018,7 +3019,6 @@ EXFUN (Funhandled_file_name_directory, 1);
3018EXFUN (Ffile_directory_p, 1); 3019EXFUN (Ffile_directory_p, 1);
3019EXFUN (Fwrite_region, 7); 3020EXFUN (Fwrite_region, 7);
3020EXFUN (Ffile_readable_p, 1); 3021EXFUN (Ffile_readable_p, 1);
3021EXFUN (Ffile_executable_p, 1);
3022EXFUN (Fread_file_name, 6); 3022EXFUN (Fread_file_name, 6);
3023extern Lisp_Object close_file_unwind (Lisp_Object); 3023extern Lisp_Object close_file_unwind (Lisp_Object);
3024extern Lisp_Object restore_point_unwind (Lisp_Object); 3024extern Lisp_Object restore_point_unwind (Lisp_Object);
@@ -3026,7 +3026,6 @@ extern void report_file_error (const char *, Lisp_Object) NO_RETURN;
3026extern int internal_delete_file (Lisp_Object); 3026extern int internal_delete_file (Lisp_Object);
3027extern void syms_of_fileio (void); 3027extern void syms_of_fileio (void);
3028extern Lisp_Object make_temp_name (Lisp_Object, int); 3028extern Lisp_Object make_temp_name (Lisp_Object, int);
3029EXFUN (Fmake_symbolic_link, 3);
3030extern Lisp_Object Qdelete_file; 3029extern Lisp_Object Qdelete_file;
3031 3030
3032/* Defined in abbrev.c */ 3031/* Defined in abbrev.c */
@@ -3119,7 +3118,6 @@ extern int input_pending;
3119EXFUN (Fdiscard_input, 0); 3118EXFUN (Fdiscard_input, 0);
3120EXFUN (Frecursive_edit, 0); 3119EXFUN (Frecursive_edit, 0);
3121EXFUN (Ftop_level, 0) NO_RETURN; 3120EXFUN (Ftop_level, 0) NO_RETURN;
3122EXFUN (Fcommand_execute, 4);
3123extern Lisp_Object menu_bar_items (Lisp_Object); 3121extern Lisp_Object menu_bar_items (Lisp_Object);
3124extern Lisp_Object tool_bar_items (Lisp_Object, int *); 3122extern Lisp_Object tool_bar_items (Lisp_Object, int *);
3125extern Lisp_Object Qvertical_scroll_bar; 3123extern Lisp_Object Qvertical_scroll_bar;
@@ -3221,7 +3219,6 @@ extern int running_asynch_code;
3221 3219
3222/* Defined in process.c */ 3220/* Defined in process.c */
3223extern Lisp_Object QCtype, Qlocal; 3221extern Lisp_Object QCtype, Qlocal;
3224EXFUN (Fget_process, 1);
3225EXFUN (Fget_buffer_process, 1); 3222EXFUN (Fget_buffer_process, 1);
3226EXFUN (Fprocess_status, 1); 3223EXFUN (Fprocess_status, 1);
3227EXFUN (Fkill_process, 2); 3224EXFUN (Fkill_process, 2);
@@ -3255,7 +3252,6 @@ extern void syms_of_callproc (void);
3255/* Defined in doc.c */ 3252/* Defined in doc.c */
3256extern Lisp_Object Qfunction_documentation; 3253extern Lisp_Object Qfunction_documentation;
3257EXFUN (Fsubstitute_command_keys, 1); 3254EXFUN (Fsubstitute_command_keys, 1);
3258EXFUN (Fdocumentation_property, 3);
3259extern Lisp_Object read_doc_string (Lisp_Object); 3255extern Lisp_Object read_doc_string (Lisp_Object);
3260extern Lisp_Object get_doc_string (Lisp_Object, int, int); 3256extern Lisp_Object get_doc_string (Lisp_Object, int, int);
3261extern void syms_of_doc (void); 3257extern void syms_of_doc (void);
@@ -3263,7 +3259,6 @@ extern int read_bytecode_char (int);
3263 3259
3264/* Defined in bytecode.c */ 3260/* Defined in bytecode.c */
3265extern Lisp_Object Qbytecode; 3261extern Lisp_Object Qbytecode;
3266EXFUN (Fbyte_code, 3);
3267extern void syms_of_bytecode (void); 3262extern void syms_of_bytecode (void);
3268extern struct byte_stack *byte_stack_list; 3263extern struct byte_stack *byte_stack_list;
3269#ifdef BYTE_MARK_STACK 3264#ifdef BYTE_MARK_STACK
@@ -3384,7 +3379,6 @@ extern void syms_of_category (void);
3384extern void syms_of_ccl (void); 3379extern void syms_of_ccl (void);
3385 3380
3386/* Defined in dired.c */ 3381/* Defined in dired.c */
3387EXFUN (Ffile_attributes, 2);
3388extern void syms_of_dired (void); 3382extern void syms_of_dired (void);
3389extern Lisp_Object directory_files_internal (Lisp_Object, Lisp_Object, 3383extern Lisp_Object directory_files_internal (Lisp_Object, Lisp_Object,
3390 Lisp_Object, Lisp_Object, 3384 Lisp_Object, Lisp_Object,
diff --git a/src/lread.c b/src/lread.c
index 8777bc34545..7d12f5a85d3 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -681,7 +681,7 @@ read_filtered_event (int no_switch_frame, int ascii_required,
681 return val; 681 return val;
682} 682}
683 683
684DEFUN ("read-char", Fread_char, Sread_char, 0, 3, 0, 684DEFUE ("read-char", Fread_char, Sread_char, 0, 3, 0,
685 doc: /* Read a character from the command input (keyboard or macro). 685 doc: /* Read a character from the command input (keyboard or macro).
686It is returned as a number. 686It is returned as a number.
687If the character has modifiers, they are resolved and reflected to the 687If the character has modifiers, they are resolved and reflected to the
@@ -714,7 +714,7 @@ floating-point value. */)
714 : make_number (char_resolve_modifier_mask (XINT (val)))); 714 : make_number (char_resolve_modifier_mask (XINT (val))));
715} 715}
716 716
717DEFUN ("read-event", Fread_event, Sread_event, 0, 3, 0, 717DEFUE ("read-event", Fread_event, Sread_event, 0, 3, 0,
718 doc: /* Read an event object from the input stream. 718 doc: /* Read an event object from the input stream.
719If the optional argument PROMPT is non-nil, display that as a prompt. 719If the optional argument PROMPT is non-nil, display that as a prompt.
720If the optional argument INHERIT-INPUT-METHOD is non-nil and some 720If the optional argument INHERIT-INPUT-METHOD is non-nil and some
@@ -950,7 +950,7 @@ load_warn_old_style_backquotes (Lisp_Object file)
950 return Qnil; 950 return Qnil;
951} 951}
952 952
953DEFUN ("get-load-suffixes", Fget_load_suffixes, Sget_load_suffixes, 0, 0, 0, 953DEFUE ("get-load-suffixes", Fget_load_suffixes, Sget_load_suffixes, 0, 0, 0,
954 doc: /* Return the suffixes that `load' should try if a suffix is \ 954 doc: /* Return the suffixes that `load' should try if a suffix is \
955required. 955required.
956This uses the variables `load-suffixes' and `load-file-rep-suffixes'. */) 956This uses the variables `load-suffixes' and `load-file-rep-suffixes'. */)
@@ -972,7 +972,7 @@ This uses the variables `load-suffixes' and `load-file-rep-suffixes'. */)
972 return Fnreverse (lst); 972 return Fnreverse (lst);
973} 973}
974 974
975DEFUN ("load", Fload, Sload, 1, 5, 0, 975DEFUE ("load", Fload, Sload, 1, 5, 0,
976 doc: /* Execute a file of Lisp code named FILE. 976 doc: /* Execute a file of Lisp code named FILE.
977First try FILE with `.elc' appended, then try with `.el', 977First try FILE with `.elc' appended, then try with `.el',
978then try FILE unmodified (the exact suffixes in the exact order are 978then try FILE unmodified (the exact suffixes in the exact order are
@@ -1906,7 +1906,7 @@ This function does not move point. */)
1906} 1906}
1907 1907
1908 1908
1909DEFUN ("read", Fread, Sread, 0, 1, 0, 1909DEFUE ("read", Fread, Sread, 0, 1, 0,
1910 doc: /* Read one Lisp expression as text from STREAM, return as Lisp object. 1910 doc: /* Read one Lisp expression as text from STREAM, return as Lisp object.
1911If STREAM is nil, use the value of `standard-input' (which see). 1911If STREAM is nil, use the value of `standard-input' (which see).
1912STREAM or the value of `standard-input' may be: 1912STREAM or the value of `standard-input' may be:
@@ -1929,7 +1929,7 @@ STREAM or the value of `standard-input' may be:
1929 return read_internal_start (stream, Qnil, Qnil); 1929 return read_internal_start (stream, Qnil, Qnil);
1930} 1930}
1931 1931
1932DEFUN ("read-from-string", Fread_from_string, Sread_from_string, 1, 3, 0, 1932DEFUE ("read-from-string", Fread_from_string, Sread_from_string, 1, 3, 0,
1933 doc: /* Read one Lisp expression which is represented as text by STRING. 1933 doc: /* Read one Lisp expression which is represented as text by STRING.
1934Returns a cons: (OBJECT-READ . FINAL-STRING-INDEX). 1934Returns a cons: (OBJECT-READ . FINAL-STRING-INDEX).
1935START and END optionally delimit a substring of STRING from which to read; 1935START and END optionally delimit a substring of STRING from which to read;
@@ -3654,7 +3654,7 @@ make_symbol (const char *str)
3654 : make_string (str, len)); 3654 : make_string (str, len));
3655} 3655}
3656 3656
3657DEFUN ("intern", Fintern, Sintern, 1, 2, 0, 3657DEFUE ("intern", Fintern, Sintern, 1, 2, 0,
3658 doc: /* Return the canonical symbol whose name is STRING. 3658 doc: /* Return the canonical symbol whose name is STRING.
3659If there is none, one is created by this function and returned. 3659If there is none, one is created by this function and returned.
3660A second optional argument specifies the obarray to use; 3660A second optional argument specifies the obarray to use;
@@ -3700,7 +3700,7 @@ it defaults to the value of `obarray'. */)
3700 return sym; 3700 return sym;
3701} 3701}
3702 3702
3703DEFUN ("intern-soft", Fintern_soft, Sintern_soft, 1, 2, 0, 3703DEFUE ("intern-soft", Fintern_soft, Sintern_soft, 1, 2, 0,
3704 doc: /* Return the canonical symbol named NAME, or nil if none exists. 3704 doc: /* Return the canonical symbol named NAME, or nil if none exists.
3705NAME may be a string or a symbol. If it is a symbol, that exact 3705NAME may be a string or a symbol. If it is a symbol, that exact
3706symbol is searched for. 3706symbol is searched for.
@@ -3728,7 +3728,7 @@ it defaults to the value of `obarray'. */)
3728 return tem; 3728 return tem;
3729} 3729}
3730 3730
3731DEFUN ("unintern", Funintern, Sunintern, 1, 2, 0, 3731DEFUE ("unintern", Funintern, Sunintern, 1, 2, 0,
3732 doc: /* Delete the symbol named NAME, if any, from OBARRAY. 3732 doc: /* Delete the symbol named NAME, if any, from OBARRAY.
3733The value is t if a symbol was found and deleted, nil otherwise. 3733The value is t if a symbol was found and deleted, nil otherwise.
3734NAME may be a string or a symbol. If it is a symbol, that symbol 3734NAME may be a string or a symbol. If it is a symbol, that symbol
diff --git a/src/macros.c b/src/macros.c
index d90b31b503f..fd771b52dee 100644
--- a/src/macros.c
+++ b/src/macros.c
@@ -215,7 +215,7 @@ finalize_kbd_macro_chars (void)
215 current_kboard->kbd_macro_end = current_kboard->kbd_macro_ptr; 215 current_kboard->kbd_macro_end = current_kboard->kbd_macro_ptr;
216} 216}
217 217
218DEFUN ("cancel-kbd-macro-events", Fcancel_kbd_macro_events, 218DEFUE ("cancel-kbd-macro-events", Fcancel_kbd_macro_events,
219 Scancel_kbd_macro_events, 0, 0, 0, 219 Scancel_kbd_macro_events, 0, 0, 0,
220 doc: /* Cancel the events added to a keyboard macro for this command. */) 220 doc: /* Cancel the events added to a keyboard macro for this command. */)
221 (void) 221 (void)
@@ -282,7 +282,7 @@ pop_kbd_macro (Lisp_Object info)
282 return Qnil; 282 return Qnil;
283} 283}
284 284
285DEFUN ("execute-kbd-macro", Fexecute_kbd_macro, Sexecute_kbd_macro, 1, 3, 0, 285DEFUE ("execute-kbd-macro", Fexecute_kbd_macro, Sexecute_kbd_macro, 1, 3, 0,
286 doc: /* Execute MACRO as string of editor command characters. 286 doc: /* Execute MACRO as string of editor command characters.
287If MACRO is a symbol, its function definition is used. 287If MACRO is a symbol, its function definition is used.
288COUNT is a repeat count, or nil for once, or 0 for infinite loop. 288COUNT is a repeat count, or nil for once, or 0 for infinite loop.
@@ -391,4 +391,3 @@ This is nil when not executing a keyboard macro. */);
391 DEFVAR_KBOARD ("last-kbd-macro", Vlast_kbd_macro, 391 DEFVAR_KBOARD ("last-kbd-macro", Vlast_kbd_macro,
392 doc: /* Last kbd macro defined, as a string or vector; nil if none defined. */); 392 doc: /* Last kbd macro defined, as a string or vector; nil if none defined. */);
393} 393}
394
diff --git a/src/marker.c b/src/marker.c
index 7d461099140..b8567c2810f 100644
--- a/src/marker.c
+++ b/src/marker.c
@@ -420,7 +420,7 @@ buf_bytepos_to_charpos (struct buffer *b, EMACS_INT bytepos)
420 420
421/* Operations on markers. */ 421/* Operations on markers. */
422 422
423DEFUN ("marker-buffer", Fmarker_buffer, Smarker_buffer, 1, 1, 0, 423DEFUE ("marker-buffer", Fmarker_buffer, Smarker_buffer, 1, 1, 0,
424 doc: /* Return the buffer that MARKER points into, or nil if none. 424 doc: /* Return the buffer that MARKER points into, or nil if none.
425Returns nil if MARKER points into a dead buffer. */) 425Returns nil if MARKER points into a dead buffer. */)
426 (register Lisp_Object marker) 426 (register Lisp_Object marker)
@@ -440,7 +440,7 @@ Returns nil if MARKER points into a dead buffer. */)
440 return Qnil; 440 return Qnil;
441} 441}
442 442
443DEFUN ("marker-position", Fmarker_position, Smarker_position, 1, 1, 0, 443DEFUE ("marker-position", Fmarker_position, Smarker_position, 1, 1, 0,
444 doc: /* Return the position MARKER points at, as a character number. 444 doc: /* Return the position MARKER points at, as a character number.
445Returns nil if MARKER points nowhere. */) 445Returns nil if MARKER points nowhere. */)
446 (Lisp_Object marker) 446 (Lisp_Object marker)
@@ -452,7 +452,7 @@ Returns nil if MARKER points nowhere. */)
452 return Qnil; 452 return Qnil;
453} 453}
454 454
455DEFUN ("set-marker", Fset_marker, Sset_marker, 2, 3, 0, 455DEFUE ("set-marker", Fset_marker, Sset_marker, 2, 3, 0,
456 doc: /* Position MARKER before character number POSITION in BUFFER. 456 doc: /* Position MARKER before character number POSITION in BUFFER.
457BUFFER defaults to the current buffer. 457BUFFER defaults to the current buffer.
458If POSITION is nil, makes marker point nowhere. 458If POSITION is nil, makes marker point nowhere.
@@ -796,7 +796,7 @@ marker_byte_position (Lisp_Object marker)
796 return i; 796 return i;
797} 797}
798 798
799DEFUN ("copy-marker", Fcopy_marker, Scopy_marker, 0, 2, 0, 799DEFUE ("copy-marker", Fcopy_marker, Scopy_marker, 0, 2, 0,
800 doc: /* Return a new marker pointing at the same place as MARKER. 800 doc: /* Return a new marker pointing at the same place as MARKER.
801If argument is a number, makes a new marker pointing 801If argument is a number, makes a new marker pointing
802at that position in the current buffer. 802at that position in the current buffer.
diff --git a/src/menu.c b/src/menu.c
index 3bfb74863ae..bf6bb6486bd 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -1017,7 +1017,7 @@ find_and_return_menu_selection (FRAME_PTR f, int keymaps, void *client_data)
1017} 1017}
1018#endif /* HAVE_NS */ 1018#endif /* HAVE_NS */
1019 1019
1020DEFUN ("x-popup-menu", Fx_popup_menu, Sx_popup_menu, 2, 2, 0, 1020DEFUE ("x-popup-menu", Fx_popup_menu, Sx_popup_menu, 2, 2, 0,
1021 doc: /* Pop up a deck-of-cards menu and return user's selection. 1021 doc: /* Pop up a deck-of-cards menu and return user's selection.
1022POSITION is a position specification. This is either a mouse button event 1022POSITION is a position specification. This is either a mouse button event
1023or a list ((XOFFSET YOFFSET) WINDOW) 1023or a list ((XOFFSET YOFFSET) WINDOW)
diff --git a/src/minibuf.c b/src/minibuf.c
index 54cb9c1acd7..3e8fc0c2424 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -872,7 +872,8 @@ read_minibuf_unwind (Lisp_Object data)
872} 872}
873 873
874 874
875DEFUN ("read-from-minibuffer", Fread_from_minibuffer, Sread_from_minibuffer, 1, 7, 0, 875DEFUE ("read-from-minibuffer", Fread_from_minibuffer,
876 Sread_from_minibuffer, 1, 7, 0,
876 doc: /* Read a string from the minibuffer, prompting with string PROMPT. 877 doc: /* Read a string from the minibuffer, prompting with string PROMPT.
877The optional second arg INITIAL-CONTENTS is an obsolete alternative to 878The optional second arg INITIAL-CONTENTS is an obsolete alternative to
878 DEFAULT-VALUE. It normally should be nil in new code, except when 879 DEFAULT-VALUE. It normally should be nil in new code, except when
@@ -949,7 +950,7 @@ and some related functions, which use zero-indexing for POSITION. */)
949 return val; 950 return val;
950} 951}
951 952
952DEFUN ("read-minibuffer", Fread_minibuffer, Sread_minibuffer, 1, 2, 0, 953DEFUE ("read-minibuffer", Fread_minibuffer, Sread_minibuffer, 1, 2, 0,
953 doc: /* Return a Lisp object read using the minibuffer, unevaluated. 954 doc: /* Return a Lisp object read using the minibuffer, unevaluated.
954Prompt with PROMPT. If non-nil, optional second arg INITIAL-CONTENTS 955Prompt with PROMPT. If non-nil, optional second arg INITIAL-CONTENTS
955is a string to insert in the minibuffer before reading. 956is a string to insert in the minibuffer before reading.
@@ -963,7 +964,7 @@ Such arguments are used as in `read-from-minibuffer'.) */)
963 make_number (0), Qnil, 0, 0); 964 make_number (0), Qnil, 0, 0);
964} 965}
965 966
966DEFUN ("eval-minibuffer", Feval_minibuffer, Seval_minibuffer, 1, 2, 0, 967DEFUE ("eval-minibuffer", Feval_minibuffer, Seval_minibuffer, 1, 2, 0,
967 doc: /* Return value of Lisp expression read using the minibuffer. 968 doc: /* Return value of Lisp expression read using the minibuffer.
968Prompt with PROMPT. If non-nil, optional second arg INITIAL-CONTENTS 969Prompt with PROMPT. If non-nil, optional second arg INITIAL-CONTENTS
969is a string to insert in the minibuffer before reading. 970is a string to insert in the minibuffer before reading.
@@ -979,7 +980,7 @@ Such arguments are used as in `read-from-minibuffer'.) */)
979 980
980/* Functions that use the minibuffer to read various things. */ 981/* Functions that use the minibuffer to read various things. */
981 982
982DEFUN ("read-string", Fread_string, Sread_string, 1, 5, 0, 983DEFUE ("read-string", Fread_string, Sread_string, 1, 5, 0,
983 doc: /* Read a string from the minibuffer, prompting with string PROMPT. 984 doc: /* Read a string from the minibuffer, prompting with string PROMPT.
984If non-nil, second arg INITIAL-INPUT is a string to insert before reading. 985If non-nil, second arg INITIAL-INPUT is a string to insert before reading.
985 This argument has been superseded by DEFAULT-VALUE and should normally 986 This argument has been superseded by DEFAULT-VALUE and should normally
@@ -1056,7 +1057,7 @@ Prompt with PROMPT. */)
1056} 1057}
1057#endif /* NOTDEF */ 1058#endif /* NOTDEF */
1058 1059
1059DEFUN ("read-variable", Fread_variable, Sread_variable, 1, 2, 0, 1060DEFUE ("read-variable", Fread_variable, Sread_variable, 1, 2, 0,
1060 doc: /* Read the name of a user variable and return it as a symbol. 1061 doc: /* Read the name of a user variable and return it as a symbol.
1061Prompt with PROMPT. By default, return DEFAULT-VALUE or its first element 1062Prompt with PROMPT. By default, return DEFAULT-VALUE or its first element
1062if it is a list. 1063if it is a list.
@@ -1080,7 +1081,7 @@ A user variable is one for which `user-variable-p' returns non-nil. */)
1080 return Fintern (name, Qnil); 1081 return Fintern (name, Qnil);
1081} 1082}
1082 1083
1083DEFUN ("read-buffer", Fread_buffer, Sread_buffer, 1, 3, 0, 1084DEFUE ("read-buffer", Fread_buffer, Sread_buffer, 1, 3, 0,
1084 doc: /* Read the name of a buffer and return as a string. 1085 doc: /* Read the name of a buffer and return as a string.
1085Prompt with PROMPT. 1086Prompt with PROMPT.
1086Optional second arg DEF is value to return if user enters an empty line. 1087Optional second arg DEF is value to return if user enters an empty line.
@@ -1616,7 +1617,7 @@ with a space are ignored unless STRING itself starts with a space. */)
1616 return Fnreverse (allmatches); 1617 return Fnreverse (allmatches);
1617} 1618}
1618 1619
1619DEFUN ("completing-read", Fcompleting_read, Scompleting_read, 2, 8, 0, 1620DEFUE ("completing-read", Fcompleting_read, Scompleting_read, 2, 8, 0,
1620 doc: /* Read a string in the minibuffer, with completion. 1621 doc: /* Read a string in the minibuffer, with completion.
1621PROMPT is a string to prompt with; normally it ends in a colon and a space. 1622PROMPT is a string to prompt with; normally it ends in a colon and a space.
1622COLLECTION can be a list of strings, an alist, an obarray or a hash table. 1623COLLECTION can be a list of strings, an alist, an obarray or a hash table.
@@ -1917,7 +1918,7 @@ The arguments STRING and PREDICATE are as in `try-completion',
1917 1918
1918/* Like assoc but assumes KEY is a string, and ignores case if appropriate. */ 1919/* Like assoc but assumes KEY is a string, and ignores case if appropriate. */
1919 1920
1920DEFUN ("assoc-string", Fassoc_string, Sassoc_string, 2, 3, 0, 1921DEFUE ("assoc-string", Fassoc_string, Sassoc_string, 2, 3, 0,
1921 doc: /* Like `assoc' but specifically for strings (and symbols). 1922 doc: /* Like `assoc' but specifically for strings (and symbols).
1922 1923
1923This returns the first element of LIST whose car matches the string or 1924This returns the first element of LIST whose car matches the string or
diff --git a/src/print.c b/src/print.c
index f68f04ac5fa..f039b40aa60 100644
--- a/src/print.c
+++ b/src/print.c
@@ -526,7 +526,7 @@ static void print_preprocess (Lisp_Object obj);
526static void print_preprocess_string (INTERVAL interval, Lisp_Object arg); 526static void print_preprocess_string (INTERVAL interval, Lisp_Object arg);
527static void print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag); 527static void print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag);
528 528
529DEFUN ("terpri", Fterpri, Sterpri, 0, 1, 0, 529DEFUE ("terpri", Fterpri, Sterpri, 0, 1, 0,
530 doc: /* Output a newline to stream PRINTCHARFUN. 530 doc: /* Output a newline to stream PRINTCHARFUN.
531If PRINTCHARFUN is omitted or nil, the value of `standard-output' is used. */) 531If PRINTCHARFUN is omitted or nil, the value of `standard-output' is used. */)
532 (Lisp_Object printcharfun) 532 (Lisp_Object printcharfun)
@@ -541,7 +541,7 @@ If PRINTCHARFUN is omitted or nil, the value of `standard-output' is used. */)
541 return Qt; 541 return Qt;
542} 542}
543 543
544DEFUN ("prin1", Fprin1, Sprin1, 1, 2, 0, 544DEFUE ("prin1", Fprin1, Sprin1, 1, 2, 0,
545 doc: /* Output the printed representation of OBJECT, any Lisp object. 545 doc: /* Output the printed representation of OBJECT, any Lisp object.
546Quoting characters are printed when needed to make output that `read' 546Quoting characters are printed when needed to make output that `read'
547can handle, whenever this is possible. For complex objects, the behavior 547can handle, whenever this is possible. For complex objects, the behavior
@@ -579,7 +579,7 @@ is used instead. */)
579/* a buffer which is used to hold output being built by prin1-to-string */ 579/* a buffer which is used to hold output being built by prin1-to-string */
580Lisp_Object Vprin1_to_string_buffer; 580Lisp_Object Vprin1_to_string_buffer;
581 581
582DEFUN ("prin1-to-string", Fprin1_to_string, Sprin1_to_string, 1, 2, 0, 582DEFUE ("prin1-to-string", Fprin1_to_string, Sprin1_to_string, 1, 2, 0,
583 doc: /* Return a string containing the printed representation of OBJECT. 583 doc: /* Return a string containing the printed representation of OBJECT.
584OBJECT can be any Lisp object. This function outputs quoting characters 584OBJECT can be any Lisp object. This function outputs quoting characters
585when necessary to make output that `read' can handle, whenever possible, 585when necessary to make output that `read' can handle, whenever possible,
@@ -636,7 +636,7 @@ A printed representation of an object is text which describes that object. */)
636 return unbind_to (count, object); 636 return unbind_to (count, object);
637} 637}
638 638
639DEFUN ("princ", Fprinc, Sprinc, 1, 2, 0, 639DEFUE ("princ", Fprinc, Sprinc, 1, 2, 0,
640 doc: /* Output the printed representation of OBJECT, any Lisp object. 640 doc: /* Output the printed representation of OBJECT, any Lisp object.
641No quoting characters are used; no delimiters are printed around 641No quoting characters are used; no delimiters are printed around
642the contents of strings. 642the contents of strings.
@@ -670,7 +670,7 @@ is used instead. */)
670 return object; 670 return object;
671} 671}
672 672
673DEFUN ("print", Fprint, Sprint, 1, 2, 0, 673DEFUE ("print", Fprint, Sprint, 1, 2, 0,
674 doc: /* Output the printed representation of OBJECT, with newlines around it. 674 doc: /* Output the printed representation of OBJECT, with newlines around it.
675Quoting characters are printed when needed to make output that `read' 675Quoting characters are printed when needed to make output that `read'
676can handle, whenever this is possible. For complex objects, the behavior 676can handle, whenever this is possible. For complex objects, the behavior
@@ -813,7 +813,7 @@ safe_debug_print (Lisp_Object arg)
813} 813}
814 814
815 815
816DEFUN ("error-message-string", Ferror_message_string, Serror_message_string, 816DEFUE ("error-message-string", Ferror_message_string, Serror_message_string,
817 1, 1, 0, 817 1, 1, 0,
818 doc: /* Convert an error value (ERROR-SYMBOL . DATA) to an error message. 818 doc: /* Convert an error value (ERROR-SYMBOL . DATA) to an error message.
819See Info anchor `(elisp)Definition of signal' for some details on how this 819See Info anchor `(elisp)Definition of signal' for some details on how this
diff --git a/src/process.c b/src/process.c
index 624610069d8..ec96c1aa67e 100644
--- a/src/process.c
+++ b/src/process.c
@@ -235,6 +235,7 @@ static int process_output_skip;
235#define process_output_delay_count 0 235#define process_output_delay_count 0
236#endif 236#endif
237 237
238INFUN (Fget_process, 1);
238static int keyboard_bit_set (SELECT_TYPE *); 239static int keyboard_bit_set (SELECT_TYPE *);
239static void deactivate_process (Lisp_Object); 240static void deactivate_process (Lisp_Object);
240static void status_notify (struct Lisp_Process *); 241static void status_notify (struct Lisp_Process *);
@@ -782,7 +783,7 @@ nil, indicating the current buffer's process. */)
782 return Qnil; 783 return Qnil;
783} 784}
784 785
785DEFUN ("process-status", Fprocess_status, Sprocess_status, 1, 1, 0, 786DEFUE ("process-status", Fprocess_status, Sprocess_status, 1, 1, 0,
786 doc: /* Return the status of PROCESS. 787 doc: /* Return the status of PROCESS.
787The returned value is one of the following symbols: 788The returned value is one of the following symbols:
788run -- for a process that is running. 789run -- for a process that is running.
@@ -1083,7 +1084,7 @@ DEFUN ("process-query-on-exit-flag",
1083} 1084}
1084 1085
1085#ifdef DATAGRAM_SOCKETS 1086#ifdef DATAGRAM_SOCKETS
1086Lisp_Object Fprocess_datagram_address (Lisp_Object process); 1087INFUN (Fprocess_datagram_address, 1);
1087#endif 1088#endif
1088 1089
1089DEFUN ("process-contact", Fprocess_contact, Sprocess_contact, 1090DEFUN ("process-contact", Fprocess_contact, Sprocess_contact,
@@ -5775,7 +5776,7 @@ don't send the signal. */)
5775 return process; 5776 return process;
5776} 5777}
5777 5778
5778DEFUN ("kill-process", Fkill_process, Skill_process, 0, 2, 0, 5779DEFUE ("kill-process", Fkill_process, Skill_process, 0, 2, 0,
5779 doc: /* Kill process PROCESS. May be process or name of one. 5780 doc: /* Kill process PROCESS. May be process or name of one.
5780See function `interrupt-process' for more details on usage. */) 5781See function `interrupt-process' for more details on usage. */)
5781 (Lisp_Object process, Lisp_Object current_group) 5782 (Lisp_Object process, Lisp_Object current_group)
@@ -6915,7 +6916,7 @@ close_process_descs (void)
6915#endif 6916#endif
6916} 6917}
6917 6918
6918DEFUN ("get-buffer-process", Fget_buffer_process, Sget_buffer_process, 1, 1, 0, 6919DEFUE ("get-buffer-process", Fget_buffer_process, Sget_buffer_process, 1, 1, 0,
6919 doc: /* Return the (or a) process associated with BUFFER. 6920 doc: /* Return the (or a) process associated with BUFFER.
6920BUFFER may be a buffer or the name of one. */) 6921BUFFER may be a buffer or the name of one. */)
6921 (register Lisp_Object buffer) 6922 (register Lisp_Object buffer)
@@ -6982,8 +6983,8 @@ kill_buffer_processes (Lisp_Object buffer)
6982#endif /* subprocesses */ 6983#endif /* subprocesses */
6983} 6984}
6984 6985
6985DEFUN ("waiting-for-user-input-p", Fwaiting_for_user_input_p, Swaiting_for_user_input_p, 6986DEFUE ("waiting-for-user-input-p", Fwaiting_for_user_input_p,
6986 0, 0, 0, 6987 Swaiting_for_user_input_p, 0, 0, 0,
6987 doc: /* Returns non-nil if Emacs is waiting for input from the user. 6988 doc: /* Returns non-nil if Emacs is waiting for input from the user.
6988This is intended for use by asynchronous process output filters and sentinels. */) 6989This is intended for use by asynchronous process output filters and sentinels. */)
6989 (void) 6990 (void)
diff --git a/src/search.c b/src/search.c
index d9be8ca0105..34f02e6cd65 100644
--- a/src/search.c
+++ b/src/search.c
@@ -436,7 +436,7 @@ string_match_1 (Lisp_Object regexp, Lisp_Object string, Lisp_Object start, int p
436 return make_number (string_byte_to_char (string, val)); 436 return make_number (string_byte_to_char (string, val));
437} 437}
438 438
439DEFUN ("string-match", Fstring_match, Sstring_match, 2, 3, 0, 439DEFUE ("string-match", Fstring_match, Sstring_match, 2, 3, 0,
440 doc: /* Return index of start of first match for REGEXP in STRING, or nil. 440 doc: /* Return index of start of first match for REGEXP in STRING, or nil.
441Matching ignores case if `case-fold-search' is non-nil. 441Matching ignores case if `case-fold-search' is non-nil.
442If third arg START is non-nil, start search at that index in STRING. 442If third arg START is non-nil, start search at that index in STRING.
@@ -2811,7 +2811,7 @@ match_limit (Lisp_Object num, int beginningp)
2811 : search_regs.end[n])); 2811 : search_regs.end[n]));
2812} 2812}
2813 2813
2814DEFUN ("match-beginning", Fmatch_beginning, Smatch_beginning, 1, 1, 0, 2814DEFUE ("match-beginning", Fmatch_beginning, Smatch_beginning, 1, 1, 0,
2815 doc: /* Return position of start of text matched by last search. 2815 doc: /* Return position of start of text matched by last search.
2816SUBEXP, a number, specifies which parenthesized expression in the last 2816SUBEXP, a number, specifies which parenthesized expression in the last
2817 regexp. 2817 regexp.
@@ -2823,7 +2823,7 @@ Zero means the entire text matched by the whole regexp or whole string. */)
2823 return match_limit (subexp, 1); 2823 return match_limit (subexp, 1);
2824} 2824}
2825 2825
2826DEFUN ("match-end", Fmatch_end, Smatch_end, 1, 1, 0, 2826DEFUE ("match-end", Fmatch_end, Smatch_end, 1, 1, 0,
2827 doc: /* Return position of end of text matched by last search. 2827 doc: /* Return position of end of text matched by last search.
2828SUBEXP, a number, specifies which parenthesized expression in the last 2828SUBEXP, a number, specifies which parenthesized expression in the last
2829 regexp. 2829 regexp.
@@ -2835,7 +2835,7 @@ Zero means the entire text matched by the whole regexp or whole string. */)
2835 return match_limit (subexp, 0); 2835 return match_limit (subexp, 0);
2836} 2836}
2837 2837
2838DEFUN ("match-data", Fmatch_data, Smatch_data, 0, 3, 0, 2838DEFUE ("match-data", Fmatch_data, Smatch_data, 0, 3, 0,
2839 doc: /* Return a list containing all info on what the last search matched. 2839 doc: /* Return a list containing all info on what the last search matched.
2840Element 2N is `(match-beginning N)'; element 2N + 1 is `(match-end N)'. 2840Element 2N is `(match-beginning N)'; element 2N + 1 is `(match-end N)'.
2841All the elements are markers or nil (nil if the Nth pair didn't match) 2841All the elements are markers or nil (nil if the Nth pair didn't match)
@@ -2950,7 +2950,7 @@ Return value is undefined if the last search failed. */)
2950 But it was ill-conceived: those supposedly-internal markers get exposed via 2950 But it was ill-conceived: those supposedly-internal markers get exposed via
2951 the undo-list, so freeing them here is unsafe. */ 2951 the undo-list, so freeing them here is unsafe. */
2952 2952
2953DEFUN ("set-match-data", Fset_match_data, Sset_match_data, 1, 2, 0, 2953DEFUE ("set-match-data", Fset_match_data, Sset_match_data, 1, 2, 0,
2954 doc: /* Set internal data on last search match from elements of LIST. 2954 doc: /* Set internal data on last search match from elements of LIST.
2955LIST should have been created by calling `match-data' previously. 2955LIST should have been created by calling `match-data' previously.
2956 2956
diff --git a/src/syntax.c b/src/syntax.c
index 1301c0689ad..819a7542a7b 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -138,6 +138,7 @@ static EMACS_INT find_start_begv;
138static int find_start_modiff; 138static int find_start_modiff;
139 139
140 140
141INFUN (Fsyntax_table_p, 1);
141static Lisp_Object skip_chars (int, Lisp_Object, Lisp_Object, int); 142static Lisp_Object skip_chars (int, Lisp_Object, Lisp_Object, int);
142static Lisp_Object skip_syntaxes (int, Lisp_Object, Lisp_Object); 143static Lisp_Object skip_syntaxes (int, Lisp_Object, Lisp_Object);
143static Lisp_Object scan_lists (EMACS_INT, EMACS_INT, EMACS_INT, int); 144static Lisp_Object scan_lists (EMACS_INT, EMACS_INT, EMACS_INT, int);
@@ -1337,7 +1338,7 @@ scan_words (register EMACS_INT from, register EMACS_INT count)
1337 return from; 1338 return from;
1338} 1339}
1339 1340
1340DEFUN ("forward-word", Fforward_word, Sforward_word, 0, 1, "^p", 1341DEFUE ("forward-word", Fforward_word, Sforward_word, 0, 1, "^p",
1341 doc: /* Move point forward ARG words (backward if ARG is negative). 1342 doc: /* Move point forward ARG words (backward if ARG is negative).
1342Normally returns t. 1343Normally returns t.
1343If an edge of the buffer or a field boundary is reached, point is left there 1344If an edge of the buffer or a field boundary is reached, point is left there
@@ -1366,9 +1367,7 @@ and the function returns nil. Field boundaries are not noticed if
1366 return val == orig_val ? Qt : Qnil; 1367 return val == orig_val ? Qt : Qnil;
1367} 1368}
1368 1369
1369Lisp_Object skip_chars (int, Lisp_Object, Lisp_Object, int); 1370DEFUE ("skip-chars-forward", Fskip_chars_forward, Sskip_chars_forward, 1, 2, 0,
1370
1371DEFUN ("skip-chars-forward", Fskip_chars_forward, Sskip_chars_forward, 1, 2, 0,
1372 doc: /* Move point forward, stopping before a char not in STRING, or at pos LIM. 1371 doc: /* Move point forward, stopping before a char not in STRING, or at pos LIM.
1373STRING is like the inside of a `[...]' in a regular expression 1372STRING is like the inside of a `[...]' in a regular expression
1374except that `]' is never special and `\\' quotes `^', `-' or `\\' 1373except that `]' is never special and `\\' quotes `^', `-' or `\\'
@@ -1383,7 +1382,7 @@ Returns the distance traveled, either zero or positive. */)
1383 return skip_chars (1, string, lim, 1); 1382 return skip_chars (1, string, lim, 1);
1384} 1383}
1385 1384
1386DEFUN ("skip-chars-backward", Fskip_chars_backward, Sskip_chars_backward, 1, 2, 0, 1385DEFUE ("skip-chars-backward", Fskip_chars_backward, Sskip_chars_backward, 1, 2, 0,
1387 doc: /* Move point backward, stopping after a char not in STRING, or at pos LIM. 1386 doc: /* Move point backward, stopping after a char not in STRING, or at pos LIM.
1388See `skip-chars-forward' for details. 1387See `skip-chars-forward' for details.
1389Returns the distance traveled, either zero or negative. */) 1388Returns the distance traveled, either zero or negative. */)
diff --git a/src/term.c b/src/term.c
index ea856543a7d..3547b9a2ddd 100644
--- a/src/term.c
+++ b/src/term.c
@@ -2411,7 +2411,7 @@ get_named_tty (const char *name)
2411} 2411}
2412 2412
2413 2413
2414DEFUN ("tty-type", Ftty_type, Stty_type, 0, 1, 0, 2414DEFUE ("tty-type", Ftty_type, Stty_type, 0, 1, 0,
2415 doc: /* Return the type of the tty device that TERMINAL uses. 2415 doc: /* Return the type of the tty device that TERMINAL uses.
2416Returns nil if TERMINAL is not on a tty device. 2416Returns nil if TERMINAL is not on a tty device.
2417 2417
diff --git a/src/terminal.c b/src/terminal.c
index c5185601fb6..7382622182f 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -305,7 +305,7 @@ delete_terminal (struct terminal *terminal)
305 305
306Lisp_Object Qrun_hook_with_args; 306Lisp_Object Qrun_hook_with_args;
307static Lisp_Object Qdelete_terminal_functions; 307static Lisp_Object Qdelete_terminal_functions;
308DEFUN ("delete-terminal", Fdelete_terminal, Sdelete_terminal, 0, 2, 0, 308DEFUE ("delete-terminal", Fdelete_terminal, Sdelete_terminal, 0, 2, 0,
309 doc: /* Delete TERMINAL by deleting all frames on it and closing the terminal. 309 doc: /* Delete TERMINAL by deleting all frames on it and closing the terminal.
310TERMINAL may be a terminal object, a frame, or nil (meaning the 310TERMINAL may be a terminal object, a frame, or nil (meaning the
311selected frame's terminal). 311selected frame's terminal).
@@ -348,7 +348,7 @@ but if the second argument FORCE is non-nil, you may do so. */)
348} 348}
349 349
350 350
351DEFUN ("frame-terminal", Fframe_terminal, Sframe_terminal, 0, 1, 0, 351DEFUE ("frame-terminal", Fframe_terminal, Sframe_terminal, 0, 1, 0,
352 doc: /* Return the terminal that FRAME is displayed on. 352 doc: /* Return the terminal that FRAME is displayed on.
353If FRAME is nil, the selected frame is used. 353If FRAME is nil, the selected frame is used.
354 354
diff --git a/src/textprop.c b/src/textprop.c
index 53f92ec936b..8cd9d580c4c 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -73,6 +73,7 @@ Lisp_Object interval_insert_behind_hooks;
73Lisp_Object interval_insert_in_front_hooks; 73Lisp_Object interval_insert_in_front_hooks;
74 74
75static void text_read_only (Lisp_Object) NO_RETURN; 75static void text_read_only (Lisp_Object) NO_RETURN;
76INFUN (Fprevious_property_change, 3);
76 77
77 78
78/* Signal a `text-read-only' error. This function makes it easier 79/* Signal a `text-read-only' error. This function makes it easier
@@ -544,7 +545,7 @@ interval_of (int position, Lisp_Object object)
544 return find_interval (i, position); 545 return find_interval (i, position);
545} 546}
546 547
547DEFUN ("text-properties-at", Ftext_properties_at, 548DEFUE ("text-properties-at", Ftext_properties_at,
548 Stext_properties_at, 1, 2, 0, 549 Stext_properties_at, 1, 2, 0,
549 doc: /* Return the list of properties of the character at POSITION in OBJECT. 550 doc: /* Return the list of properties of the character at POSITION in OBJECT.
550If the optional second argument OBJECT is a buffer (or nil, which means 551If the optional second argument OBJECT is a buffer (or nil, which means
@@ -571,7 +572,7 @@ If POSITION is at the end of OBJECT, the value is nil. */)
571 return i->plist; 572 return i->plist;
572} 573}
573 574
574DEFUN ("get-text-property", Fget_text_property, Sget_text_property, 2, 3, 0, 575DEFUE ("get-text-property", Fget_text_property, Sget_text_property, 2, 3, 0,
575 doc: /* Return the value of POSITION's property PROP, in OBJECT. 576 doc: /* Return the value of POSITION's property PROP, in OBJECT.
576OBJECT is optional and defaults to the current buffer. 577OBJECT is optional and defaults to the current buffer.
577If POSITION is at the end of OBJECT, the value is nil. */) 578If POSITION is at the end of OBJECT, the value is nil. */)
@@ -646,7 +647,7 @@ get_char_property_and_overlay (Lisp_Object position, register Lisp_Object prop,
646 return Fget_text_property (position, prop, object); 647 return Fget_text_property (position, prop, object);
647} 648}
648 649
649DEFUN ("get-char-property", Fget_char_property, Sget_char_property, 2, 3, 0, 650DEFUE ("get-char-property", Fget_char_property, Sget_char_property, 2, 3, 0,
650 doc: /* Return the value of POSITION's property PROP, in OBJECT. 651 doc: /* Return the value of POSITION's property PROP, in OBJECT.
651Both overlay properties and text properties are checked. 652Both overlay properties and text properties are checked.
652OBJECT is optional and defaults to the current buffer. 653OBJECT is optional and defaults to the current buffer.
@@ -683,7 +684,7 @@ POSITION is at the end of OBJECT, both car and cdr are nil. */)
683} 684}
684 685
685 686
686DEFUN ("next-char-property-change", Fnext_char_property_change, 687DEFUE ("next-char-property-change", Fnext_char_property_change,
687 Snext_char_property_change, 1, 2, 0, 688 Snext_char_property_change, 1, 2, 0,
688 doc: /* Return the position of next text property or overlay change. 689 doc: /* Return the position of next text property or overlay change.
689This scans characters forward in the current buffer from POSITION till 690This scans characters forward in the current buffer from POSITION till
@@ -708,7 +709,7 @@ LIMIT is a no-op if it is greater than (point-max). */)
708 return Fnext_property_change (position, Qnil, temp); 709 return Fnext_property_change (position, Qnil, temp);
709} 710}
710 711
711DEFUN ("previous-char-property-change", Fprevious_char_property_change, 712DEFUE ("previous-char-property-change", Fprevious_char_property_change,
712 Sprevious_char_property_change, 1, 2, 0, 713 Sprevious_char_property_change, 1, 2, 0,
713 doc: /* Return the position of previous text property or overlay change. 714 doc: /* Return the position of previous text property or overlay change.
714Scans characters backward in the current buffer from POSITION till it 715Scans characters backward in the current buffer from POSITION till it
@@ -734,7 +735,7 @@ LIMIT is a no-op if it is less than (point-min). */)
734} 735}
735 736
736 737
737DEFUN ("next-single-char-property-change", Fnext_single_char_property_change, 738DEFUE ("next-single-char-property-change", Fnext_single_char_property_change,
738 Snext_single_char_property_change, 2, 4, 0, 739 Snext_single_char_property_change, 2, 4, 0,
739 doc: /* Return the position of next text property or overlay change for a specific property. 740 doc: /* Return the position of next text property or overlay change for a specific property.
740Scans characters forward from POSITION till it finds 741Scans characters forward from POSITION till it finds
@@ -817,7 +818,7 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT. */)
817 return position; 818 return position;
818} 819}
819 820
820DEFUN ("previous-single-char-property-change", 821DEFUE ("previous-single-char-property-change",
821 Fprevious_single_char_property_change, 822 Fprevious_single_char_property_change,
822 Sprevious_single_char_property_change, 2, 4, 0, 823 Sprevious_single_char_property_change, 2, 4, 0,
823 doc: /* Return the position of previous text property or overlay change for a specific property. 824 doc: /* Return the position of previous text property or overlay change for a specific property.
@@ -910,7 +911,7 @@ back past position LIMIT; return LIMIT if nothing is found before LIMIT. */)
910 return position; 911 return position;
911} 912}
912 913
913DEFUN ("next-property-change", Fnext_property_change, 914DEFUE ("next-property-change", Fnext_property_change,
914 Snext_property_change, 1, 3, 0, 915 Snext_property_change, 1, 3, 0,
915 doc: /* Return the position of next property change. 916 doc: /* Return the position of next property change.
916Scans characters forward from POSITION in OBJECT till it finds 917Scans characters forward from POSITION in OBJECT till it finds
@@ -974,7 +975,7 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT. */)
974 return make_number (next->position); 975 return make_number (next->position);
975} 976}
976 977
977DEFUN ("next-single-property-change", Fnext_single_property_change, 978DEFUE ("next-single-property-change", Fnext_single_property_change,
978 Snext_single_property_change, 2, 4, 0, 979 Snext_single_property_change, 2, 4, 0,
979 doc: /* Return the position of next property change for a specific property. 980 doc: /* Return the position of next property change for a specific property.
980Scans characters forward from POSITION till it finds 981Scans characters forward from POSITION till it finds
@@ -1022,7 +1023,7 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT. */)
1022 return make_number (next->position); 1023 return make_number (next->position);
1023} 1024}
1024 1025
1025DEFUN ("previous-property-change", Fprevious_property_change, 1026DEFUE ("previous-property-change", Fprevious_property_change,
1026 Sprevious_property_change, 1, 3, 0, 1027 Sprevious_property_change, 1, 3, 0,
1027 doc: /* Return the position of previous property change. 1028 doc: /* Return the position of previous property change.
1028Scans characters backwards from POSITION in OBJECT till it finds 1029Scans characters backwards from POSITION in OBJECT till it finds
@@ -1069,7 +1070,7 @@ back past position LIMIT; return LIMIT if nothing is found until LIMIT. */)
1069 return make_number (previous->position + LENGTH (previous)); 1070 return make_number (previous->position + LENGTH (previous));
1070} 1071}
1071 1072
1072DEFUN ("previous-single-property-change", Fprevious_single_property_change, 1073DEFUE ("previous-single-property-change", Fprevious_single_property_change,
1073 Sprevious_single_property_change, 2, 4, 0, 1074 Sprevious_single_property_change, 2, 4, 0,
1074 doc: /* Return the position of previous property change for a specific property. 1075 doc: /* Return the position of previous property change for a specific property.
1075Scans characters backward from POSITION till it finds 1076Scans characters backward from POSITION till it finds
@@ -1123,7 +1124,7 @@ back past position LIMIT; return LIMIT if nothing is found until LIMIT. */)
1123 1124
1124/* Callers note, this can GC when OBJECT is a buffer (or nil). */ 1125/* Callers note, this can GC when OBJECT is a buffer (or nil). */
1125 1126
1126DEFUN ("add-text-properties", Fadd_text_properties, 1127DEFUE ("add-text-properties", Fadd_text_properties,
1127 Sadd_text_properties, 3, 4, 0, 1128 Sadd_text_properties, 3, 4, 0,
1128 doc: /* Add properties to the text from START to END. 1129 doc: /* Add properties to the text from START to END.
1129The third argument PROPERTIES is a property list 1130The third argument PROPERTIES is a property list
@@ -1232,7 +1233,7 @@ Return t if any property value actually changed, nil otherwise. */)
1232 1233
1233/* Callers note, this can GC when OBJECT is a buffer (or nil). */ 1234/* Callers note, this can GC when OBJECT is a buffer (or nil). */
1234 1235
1235DEFUN ("put-text-property", Fput_text_property, 1236DEFUE ("put-text-property", Fput_text_property,
1236 Sput_text_property, 4, 5, 0, 1237 Sput_text_property, 4, 5, 0,
1237 doc: /* Set one property of the text from START to END. 1238 doc: /* Set one property of the text from START to END.
1238The third and fourth arguments PROPERTY and VALUE 1239The third and fourth arguments PROPERTY and VALUE
@@ -1248,7 +1249,7 @@ markers). If OBJECT is a string, START and END are 0-based indices into it. */
1248 return Qnil; 1249 return Qnil;
1249} 1250}
1250 1251
1251DEFUN ("set-text-properties", Fset_text_properties, 1252DEFUE ("set-text-properties", Fset_text_properties,
1252 Sset_text_properties, 3, 4, 0, 1253 Sset_text_properties, 3, 4, 0,
1253 doc: /* Completely replace properties of text from START to END. 1254 doc: /* Completely replace properties of text from START to END.
1254The third argument PROPERTIES is the new property list. 1255The third argument PROPERTIES is the new property list.
@@ -1415,7 +1416,7 @@ set_text_properties_1 (Lisp_Object start, Lisp_Object end, Lisp_Object propertie
1415 while (len > 0); 1416 while (len > 0);
1416} 1417}
1417 1418
1418DEFUN ("remove-text-properties", Fremove_text_properties, 1419DEFUE ("remove-text-properties", Fremove_text_properties,
1419 Sremove_text_properties, 3, 4, 0, 1420 Sremove_text_properties, 3, 4, 0,
1420 doc: /* Remove some properties from text from START to END. 1421 doc: /* Remove some properties from text from START to END.
1421The third argument PROPERTIES is a property list 1422The third argument PROPERTIES is a property list
@@ -1505,7 +1506,7 @@ Use `set-text-properties' if you want to remove all text properties. */)
1505 } 1506 }
1506} 1507}
1507 1508
1508DEFUN ("remove-list-of-text-properties", Fremove_list_of_text_properties, 1509DEFUE ("remove-list-of-text-properties", Fremove_list_of_text_properties,
1509 Sremove_list_of_text_properties, 3, 4, 0, 1510 Sremove_list_of_text_properties, 3, 4, 0,
1510 doc: /* Remove some properties from text from START to END. 1511 doc: /* Remove some properties from text from START to END.
1511The third argument LIST-OF-PROPERTIES is a list of property names to remove. 1512The third argument LIST-OF-PROPERTIES is a list of property names to remove.
@@ -1615,7 +1616,7 @@ Return t if any property was actually removed, nil otherwise. */)
1615 } 1616 }
1616} 1617}
1617 1618
1618DEFUN ("text-property-any", Ftext_property_any, 1619DEFUE ("text-property-any", Ftext_property_any,
1619 Stext_property_any, 4, 5, 0, 1620 Stext_property_any, 4, 5, 0,
1620 doc: /* Check text from START to END for property PROPERTY equalling VALUE. 1621 doc: /* Check text from START to END for property PROPERTY equalling VALUE.
1621If so, return the position of the first character whose property PROPERTY 1622If so, return the position of the first character whose property PROPERTY
diff --git a/src/undo.c b/src/undo.c
index d11cd6f5570..b310133900c 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -270,7 +270,7 @@ record_property_change (EMACS_INT beg, EMACS_INT length,
270 current_buffer = obuf; 270 current_buffer = obuf;
271} 271}
272 272
273DEFUN ("undo-boundary", Fundo_boundary, Sundo_boundary, 0, 0, 0, 273DEFUE ("undo-boundary", Fundo_boundary, Sundo_boundary, 0, 0, 0,
274 doc: /* Mark a boundary between units of undo. 274 doc: /* Mark a boundary between units of undo.
275An undo command will stop at this point, 275An undo command will stop at this point,
276but another undo command will undo to the previous boundary. */) 276but another undo command will undo to the previous boundary. */)
@@ -711,4 +711,3 @@ so it must make sure not to do a lot of consing. */);
711 doc: /* Non-nil means do not record `point' in `buffer-undo-list'. */); 711 doc: /* Non-nil means do not record `point' in `buffer-undo-list'. */);
712 undo_inhibit_record_point = 0; 712 undo_inhibit_record_point = 0;
713} 713}
714
diff --git a/src/window.c b/src/window.c
index a8a6fceaaee..72ab2a3ea10 100644
--- a/src/window.c
+++ b/src/window.c
@@ -216,7 +216,7 @@ make_window (void)
216 return val; 216 return val;
217} 217}
218 218
219DEFUN ("selected-window", Fselected_window, Sselected_window, 0, 0, 0, 219DEFUE ("selected-window", Fselected_window, Sselected_window, 0, 0, 0,
220 doc: /* Return the window that the cursor now appears in and commands apply to. */) 220 doc: /* Return the window that the cursor now appears in and commands apply to. */)
221 (void) 221 (void)
222{ 222{
@@ -235,7 +235,8 @@ used by that frame. */)
235 return FRAME_MINIBUF_WINDOW (XFRAME (frame)); 235 return FRAME_MINIBUF_WINDOW (XFRAME (frame));
236} 236}
237 237
238DEFUN ("window-minibuffer-p", Fwindow_minibuffer_p, Swindow_minibuffer_p, 0, 1, 0, 238DEFUE ("window-minibuffer-p", Fwindow_minibuffer_p,
239 Swindow_minibuffer_p, 0, 1, 0,
239 doc: /* Return non-nil if WINDOW is a minibuffer window. 240 doc: /* Return non-nil if WINDOW is a minibuffer window.
240WINDOW defaults to the selected window. */) 241WINDOW defaults to the selected window. */)
241 (Lisp_Object window) 242 (Lisp_Object window)
@@ -245,7 +246,7 @@ WINDOW defaults to the selected window. */)
245} 246}
246 247
247 248
248DEFUN ("pos-visible-in-window-p", Fpos_visible_in_window_p, 249DEFUE ("pos-visible-in-window-p", Fpos_visible_in_window_p,
249 Spos_visible_in_window_p, 0, 3, 0, 250 Spos_visible_in_window_p, 0, 3, 0,
250 doc: /* Return non-nil if position POS is currently on the frame in WINDOW. 251 doc: /* Return non-nil if position POS is currently on the frame in WINDOW.
251Return nil if that position is scrolled vertically out of view. 252Return nil if that position is scrolled vertically out of view.
@@ -442,7 +443,7 @@ decode_any_window (register Lisp_Object window)
442 return XWINDOW (window); 443 return XWINDOW (window);
443} 444}
444 445
445DEFUN ("window-buffer", Fwindow_buffer, Swindow_buffer, 0, 1, 0, 446DEFUE ("window-buffer", Fwindow_buffer, Swindow_buffer, 0, 1, 0,
446 doc: /* Return the buffer that WINDOW is displaying. 447 doc: /* Return the buffer that WINDOW is displaying.
447WINDOW defaults to the selected window. */) 448WINDOW defaults to the selected window. */)
448 (Lisp_Object window) 449 (Lisp_Object window)
@@ -1196,7 +1197,7 @@ if it isn't already recorded. */)
1196 return value; 1197 return value;
1197} 1198}
1198 1199
1199DEFUN ("set-window-point", Fset_window_point, Sset_window_point, 2, 2, 0, 1200DEFUE ("set-window-point", Fset_window_point, Sset_window_point, 2, 2, 0,
1200 doc: /* Make point value in WINDOW be at position POS in WINDOW's buffer. 1201 doc: /* Make point value in WINDOW be at position POS in WINDOW's buffer.
1201Return POS. */) 1202Return POS. */)
1202 (Lisp_Object window, Lisp_Object pos) 1203 (Lisp_Object window, Lisp_Object pos)
@@ -1243,7 +1244,7 @@ overriding motion of point in order to display at this exact start. */)
1243} 1244}
1244 1245
1245 1246
1246DEFUN ("window-dedicated-p", Fwindow_dedicated_p, Swindow_dedicated_p, 1247DEFUE ("window-dedicated-p", Fwindow_dedicated_p, Swindow_dedicated_p,
1247 0, 1, 0, 1248 0, 1, 0,
1248 doc: /* Return non-nil when WINDOW is dedicated to its buffer. 1249 doc: /* Return non-nil when WINDOW is dedicated to its buffer.
1249More precisely, return the value assigned by the last call of 1250More precisely, return the value assigned by the last call of
@@ -1484,7 +1485,7 @@ and so is its new parent, we should make replacement's
1484children be children of that parent instead. ***/ 1485children be children of that parent instead. ***/
1485} 1486}
1486 1487
1487DEFUN ("delete-window", Fdelete_window, Sdelete_window, 0, 1, "", 1488DEFUE ("delete-window", Fdelete_window, Sdelete_window, 0, 1, "",
1488 doc: /* Remove WINDOW from its frame. 1489 doc: /* Remove WINDOW from its frame.
1489WINDOW defaults to the selected window. Return nil. 1490WINDOW defaults to the selected window. Return nil.
1490Signal an error when WINDOW is the only window on its frame. */) 1491Signal an error when WINDOW is the only window on its frame. */)
@@ -1945,7 +1946,7 @@ next_window (Lisp_Object window, Lisp_Object minibuf, Lisp_Object all_frames, in
1945} 1946}
1946 1947
1947 1948
1948DEFUN ("next-window", Fnext_window, Snext_window, 0, 3, 0, 1949DEFUE ("next-window", Fnext_window, Snext_window, 0, 3, 0,
1949 doc: /* Return window following WINDOW in cyclic ordering of windows. 1950 doc: /* Return window following WINDOW in cyclic ordering of windows.
1950WINDOW defaults to the selected window. The optional arguments 1951WINDOW defaults to the selected window. The optional arguments
1951MINIBUF and ALL-FRAMES specify the set of windows to consider. 1952MINIBUF and ALL-FRAMES specify the set of windows to consider.
@@ -2396,7 +2397,7 @@ If FRAME is a frame, search only that frame. */)
2396 frame); 2397 frame);
2397} 2398}
2398 2399
2399DEFUN ("get-buffer-window", Fget_buffer_window, Sget_buffer_window, 0, 2, 0, 2400DEFUE ("get-buffer-window", Fget_buffer_window, Sget_buffer_window, 0, 2, 0,
2400 doc: /* Return a window currently displaying BUFFER-OR-NAME, or nil if none. 2401 doc: /* Return a window currently displaying BUFFER-OR-NAME, or nil if none.
2401BUFFER-OR-NAME may be a buffer or a buffer name and defaults to the 2402BUFFER-OR-NAME may be a buffer or a buffer name and defaults to the
2402current buffer. 2403current buffer.
@@ -3275,8 +3276,10 @@ change_window_heights (Lisp_Object window, int n)
3275 3276
3276int window_select_count; 3277int window_select_count;
3277 3278
3278EXFUN (Fset_window_fringes, 4); 3279INFUN (Fset_window_margins, 3);
3279EXFUN (Fset_window_scroll_bars, 4); 3280INFUN (Fset_window_fringes, 4);
3281INFUN (Fset_window_scroll_bars, 4);
3282INFUN (Fset_window_vscroll, 3);
3280 3283
3281static void 3284static void
3282run_funs (Lisp_Object funs) 3285run_funs (Lisp_Object funs)
@@ -3441,7 +3444,7 @@ set_window_buffer (Lisp_Object window, Lisp_Object buffer, int run_hooks_p, int
3441} 3444}
3442 3445
3443 3446
3444DEFUN ("set-window-buffer", Fset_window_buffer, Sset_window_buffer, 2, 3, 0, 3447DEFUE ("set-window-buffer", Fset_window_buffer, Sset_window_buffer, 2, 3, 0,
3445 doc: /* Make WINDOW display BUFFER-OR-NAME as its contents. 3448 doc: /* Make WINDOW display BUFFER-OR-NAME as its contents.
3446WINDOW defaults to the selected window. BUFFER-OR-NAME must be a buffer 3449WINDOW defaults to the selected window. BUFFER-OR-NAME must be a buffer
3447or the name of an existing buffer. Optional third argument KEEP-MARGINS 3450or the name of an existing buffer. Optional third argument KEEP-MARGINS
@@ -3571,7 +3574,7 @@ select_window (Lisp_Object window, Lisp_Object norecord, int inhibit_point_swap)
3571/* Note that selected_window can be nil when this is called from 3574/* Note that selected_window can be nil when this is called from
3572 Fset_window_configuration. */ 3575 Fset_window_configuration. */
3573 3576
3574DEFUN ("select-window", Fselect_window, Sselect_window, 1, 2, 0, 3577DEFUE ("select-window", Fselect_window, Sselect_window, 1, 2, 0,
3575 doc: /* Select WINDOW. Most editing will apply to WINDOW's buffer. 3578 doc: /* Select WINDOW. Most editing will apply to WINDOW's buffer.
3576If WINDOW is not already selected, make WINDOW's buffer current 3579If WINDOW is not already selected, make WINDOW's buffer current
3577and make WINDOW the frame's selected window. Return WINDOW. 3580and make WINDOW the frame's selected window. Return WINDOW.
@@ -5499,7 +5502,7 @@ displayed_window_lines (struct window *w)
5499} 5502}
5500 5503
5501 5504
5502DEFUN ("recenter", Frecenter, Srecenter, 0, 1, "P", 5505DEFUE ("recenter", Frecenter, Srecenter, 0, 1, "P",
5503 doc: /* Center point in selected window and maybe redisplay frame. 5506 doc: /* Center point in selected window and maybe redisplay frame.
5504With prefix argument ARG, recenter putting point on screen line ARG 5507With prefix argument ARG, recenter putting point on screen line ARG
5505relative to the selected window. If ARG is negative, it counts up from the 5508relative to the selected window. If ARG is negative, it counts up from the
@@ -5852,7 +5855,7 @@ DEFUN ("window-configuration-frame", Fwindow_configuration_frame, Swindow_config
5852 return XWINDOW (SAVED_WINDOW_N (saved_windows, 0)->window)->frame; 5855 return XWINDOW (SAVED_WINDOW_N (saved_windows, 0)->window)->frame;
5853} 5856}
5854 5857
5855DEFUN ("set-window-configuration", Fset_window_configuration, 5858DEFUE ("set-window-configuration", Fset_window_configuration,
5856 Sset_window_configuration, 1, 1, 0, 5859 Sset_window_configuration, 1, 1, 0,
5857 doc: /* Set the configuration of windows and buffers as specified by CONFIGURATION. 5860 doc: /* Set the configuration of windows and buffers as specified by CONFIGURATION.
5858CONFIGURATION must be a value previously returned 5861CONFIGURATION must be a value previously returned
@@ -6349,7 +6352,7 @@ save_window_save (Lisp_Object window, struct Lisp_Vector *vector, int i)
6349 return i; 6352 return i;
6350} 6353}
6351 6354
6352DEFUN ("current-window-configuration", Fcurrent_window_configuration, 6355DEFUE ("current-window-configuration", Fcurrent_window_configuration,
6353 Scurrent_window_configuration, 0, 1, 0, 6356 Scurrent_window_configuration, 0, 1, 0,
6354 doc: /* Return an object representing the current window configuration of FRAME. 6357 doc: /* Return an object representing the current window configuration of FRAME.
6355If FRAME is nil or omitted, use the selected frame. 6358If FRAME is nil or omitted, use the selected frame.
@@ -6541,7 +6544,7 @@ as nil. */)
6541 Fringes 6544 Fringes
6542 ***********************************************************************/ 6545 ***********************************************************************/
6543 6546
6544DEFUN ("set-window-fringes", Fset_window_fringes, Sset_window_fringes, 6547DEFUE ("set-window-fringes", Fset_window_fringes, Sset_window_fringes,
6545 2, 4, 0, 6548 2, 4, 0,
6546 doc: /* Set the fringe widths of window WINDOW. 6549 doc: /* Set the fringe widths of window WINDOW.
6547If WINDOW is nil, set the fringe widths of the currently selected 6550If WINDOW is nil, set the fringe widths of the currently selected
@@ -6607,8 +6610,8 @@ Value is a list of the form (LEFT-WIDTH RIGHT-WIDTH OUTSIDE-MARGINS). */)
6607 Scroll bars 6610 Scroll bars
6608 ***********************************************************************/ 6611 ***********************************************************************/
6609 6612
6610DEFUN ("set-window-scroll-bars", Fset_window_scroll_bars, Sset_window_scroll_bars, 6613DEFUE ("set-window-scroll-bars", Fset_window_scroll_bars,
6611 2, 4, 0, 6614 Sset_window_scroll_bars, 2, 4, 0,
6612 doc: /* Set width and type of scroll bars of window WINDOW. 6615 doc: /* Set width and type of scroll bars of window WINDOW.
6613If window is nil, set scroll bars of the currently selected window. 6616If window is nil, set scroll bars of the currently selected window.
6614Second parameter WIDTH specifies the pixel width for the scroll bar; 6617Second parameter WIDTH specifies the pixel width for the scroll bar;
diff --git a/src/window.h b/src/window.h
index ad627aca340..e2e7a7f691f 100644
--- a/src/window.h
+++ b/src/window.h
@@ -763,8 +763,6 @@ extern Lisp_Object Vmouse_event;
763EXFUN (Fnext_window, 3); 763EXFUN (Fnext_window, 3);
764EXFUN (Fselect_window, 2); 764EXFUN (Fselect_window, 2);
765EXFUN (Fset_window_buffer, 3); 765EXFUN (Fset_window_buffer, 3);
766EXFUN (Fset_window_vscroll, 3);
767EXFUN (Fset_window_margins, 3);
768EXFUN (Fset_window_point, 2); 766EXFUN (Fset_window_point, 2);
769extern Lisp_Object make_window (void); 767extern Lisp_Object make_window (void);
770extern Lisp_Object window_from_coordinates (struct frame *, int, int, 768extern Lisp_Object window_from_coordinates (struct frame *, int, int,
diff --git a/src/xdisp.c b/src/xdisp.c
index 6fd3945511b..7553841f51b 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -16377,7 +16377,7 @@ dump_glyph_row (row, vpos, glyphs)
16377} 16377}
16378 16378
16379 16379
16380DEFUN ("dump-glyph-matrix", Fdump_glyph_matrix, 16380DEFUE ("dump-glyph-matrix", Fdump_glyph_matrix,
16381 Sdump_glyph_matrix, 0, 1, "p", 16381 Sdump_glyph_matrix, 0, 1, "p",
16382 doc: /* Dump the current matrix of the selected window to stderr. 16382 doc: /* Dump the current matrix of the selected window to stderr.
16383Shows contents of glyph row structures. With non-nil 16383Shows contents of glyph row structures. With non-nil
@@ -16399,7 +16399,7 @@ glyphs in short form, otherwise show glyphs in long form. */)
16399} 16399}
16400 16400
16401 16401
16402DEFUN ("dump-frame-glyph-matrix", Fdump_frame_glyph_matrix, 16402DEFUE ("dump-frame-glyph-matrix", Fdump_frame_glyph_matrix,
16403 Sdump_frame_glyph_matrix, 0, 0, "", doc: /* */) 16403 Sdump_frame_glyph_matrix, 0, 0, "", doc: /* */)
16404 (void) 16404 (void)
16405{ 16405{
@@ -16409,7 +16409,7 @@ DEFUN ("dump-frame-glyph-matrix", Fdump_frame_glyph_matrix,
16409} 16409}
16410 16410
16411 16411
16412DEFUN ("dump-glyph-row", Fdump_glyph_row, Sdump_glyph_row, 1, 2, "", 16412DEFUE ("dump-glyph-row", Fdump_glyph_row, Sdump_glyph_row, 1, 2, "",
16413 doc: /* Dump glyph row ROW to stderr. 16413 doc: /* Dump glyph row ROW to stderr.
16414GLYPH 0 means don't dump glyphs. 16414GLYPH 0 means don't dump glyphs.
16415GLYPH 1 means dump glyphs in short form. 16415GLYPH 1 means dump glyphs in short form.
@@ -16430,7 +16430,7 @@ GLYPH > 1 or omitted means dump glyphs in long form. */)
16430} 16430}
16431 16431
16432 16432
16433DEFUN ("dump-tool-bar-row", Fdump_tool_bar_row, Sdump_tool_bar_row, 1, 2, "", 16433DEFUE ("dump-tool-bar-row", Fdump_tool_bar_row, Sdump_tool_bar_row, 1, 2, "",
16434 doc: /* Dump glyph row ROW of the tool-bar of the current frame to stderr. 16434 doc: /* Dump glyph row ROW of the tool-bar of the current frame to stderr.
16435GLYPH 0 means don't dump glyphs. 16435GLYPH 0 means don't dump glyphs.
16436GLYPH 1 means dump glyphs in short form. 16436GLYPH 1 means dump glyphs in short form.
@@ -16450,7 +16450,7 @@ GLYPH > 1 or omitted means dump glyphs in long form. */)
16450} 16450}
16451 16451
16452 16452
16453DEFUN ("trace-redisplay", Ftrace_redisplay, Strace_redisplay, 0, 1, "P", 16453DEFUE ("trace-redisplay", Ftrace_redisplay, Strace_redisplay, 0, 1, "P",
16454 doc: /* Toggle tracing of redisplay. 16454 doc: /* Toggle tracing of redisplay.
16455With ARG, turn tracing on if and only if ARG is positive. */) 16455With ARG, turn tracing on if and only if ARG is positive. */)
16456 (Lisp_Object arg) 16456 (Lisp_Object arg)
@@ -16467,7 +16467,7 @@ With ARG, turn tracing on if and only if ARG is positive. */)
16467} 16467}
16468 16468
16469 16469
16470DEFUN ("trace-to-stderr", Ftrace_to_stderr, Strace_to_stderr, 1, MANY, "", 16470DEFUE ("trace-to-stderr", Ftrace_to_stderr, Strace_to_stderr, 1, MANY, "",
16471 doc: /* Like `format', but print result to stderr. 16471 doc: /* Like `format', but print result to stderr.
16472usage: (trace-to-stderr STRING &rest OBJECTS) */) 16472usage: (trace-to-stderr STRING &rest OBJECTS) */)
16473 (size_t nargs, Lisp_Object *args) 16473 (size_t nargs, Lisp_Object *args)
diff --git a/src/xfaces.c b/src/xfaces.c
index 8a64855bd8f..eb2065d4637 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -557,7 +557,7 @@ unregister_colors (pixels, n)
557} 557}
558 558
559 559
560DEFUN ("dump-colors", Fdump_colors, Sdump_colors, 0, 0, 0, 560DEFUE ("dump-colors", Fdump_colors, Sdump_colors, 0, 0, 0,
561 doc: /* Dump currently allocated colors to stderr. */) 561 doc: /* Dump currently allocated colors to stderr. */)
562 (void) 562 (void)
563{ 563{
@@ -874,7 +874,7 @@ clear_face_cache (int clear_fonts_p)
874} 874}
875 875
876 876
877DEFUN ("clear-face-cache", Fclear_face_cache, Sclear_face_cache, 0, 1, 0, 877DEFUE ("clear-face-cache", Fclear_face_cache, Sclear_face_cache, 0, 1, 0,
878 doc: /* Clear face caches on all frames. 878 doc: /* Clear face caches on all frames.
879Optional THOROUGHLY non-nil means try to free unused fonts, too. */) 879Optional THOROUGHLY non-nil means try to free unused fonts, too. */)
880 (Lisp_Object thoroughly) 880 (Lisp_Object thoroughly)
@@ -6363,7 +6363,7 @@ dump_realized_face (face)
6363} 6363}
6364 6364
6365 6365
6366DEFUN ("dump-face", Fdump_face, Sdump_face, 0, 1, 0, doc: /* */) 6366DEFUE ("dump-face", Fdump_face, Sdump_face, 0, 1, 0, doc: /* */)
6367 (Lisp_Object n) 6367 (Lisp_Object n)
6368{ 6368{
6369 if (NILP (n)) 6369 if (NILP (n))
@@ -6396,7 +6396,7 @@ DEFUN ("dump-face", Fdump_face, Sdump_face, 0, 1, 0, doc: /* */)
6396} 6396}
6397 6397
6398 6398
6399DEFUN ("show-face-resources", Fshow_face_resources, Sshow_face_resources, 6399DEFUE ("show-face-resources", Fshow_face_resources, Sshow_face_resources,
6400 0, 0, 0, doc: /* */) 6400 0, 0, 0, doc: /* */)
6401 (void) 6401 (void)
6402{ 6402{
diff --git a/src/xfns.c b/src/xfns.c
index 04b8e44b561..8d8a908222f 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -3520,7 +3520,7 @@ x_get_focus_frame (struct frame *frame)
3520 policy. But I think it's okay to use when it's clearly done 3520 policy. But I think it's okay to use when it's clearly done
3521 following a user-command. */ 3521 following a user-command. */
3522 3522
3523DEFUN ("x-focus-frame", Fx_focus_frame, Sx_focus_frame, 1, 1, 0, 3523DEFUE ("x-focus-frame", Fx_focus_frame, Sx_focus_frame, 1, 1, 0,
3524 doc: /* Set the input focus to FRAME. 3524 doc: /* Set the input focus to FRAME.
3525FRAME nil means use the selected frame. */) 3525FRAME nil means use the selected frame. */)
3526 (Lisp_Object frame) 3526 (Lisp_Object frame)
@@ -3573,7 +3573,7 @@ DEFUN ("xw-color-values", Fxw_color_values, Sxw_color_values, 1, 2, 0,
3573 return Qnil; 3573 return Qnil;
3574} 3574}
3575 3575
3576DEFUN ("xw-display-color-p", Fxw_display_color_p, Sxw_display_color_p, 0, 1, 0, 3576DEFUE ("xw-display-color-p", Fxw_display_color_p, Sxw_display_color_p, 0, 1, 0,
3577 doc: /* Internal function called by `display-color-p', which see. */) 3577 doc: /* Internal function called by `display-color-p', which see. */)
3578 (Lisp_Object terminal) 3578 (Lisp_Object terminal)
3579{ 3579{
@@ -3595,7 +3595,7 @@ DEFUN ("xw-display-color-p", Fxw_display_color_p, Sxw_display_color_p, 0, 1, 0,
3595 } 3595 }
3596} 3596}
3597 3597
3598DEFUN ("x-display-grayscale-p", Fx_display_grayscale_p, Sx_display_grayscale_p, 3598DEFUE ("x-display-grayscale-p", Fx_display_grayscale_p, Sx_display_grayscale_p,
3599 0, 1, 0, 3599 0, 1, 0,
3600 doc: /* Return t if the X display supports shades of gray. 3600 doc: /* Return t if the X display supports shades of gray.
3601Note that color displays do support shades of gray. 3601Note that color displays do support shades of gray.
@@ -5229,7 +5229,7 @@ Text larger than the specified size is clipped. */)
5229} 5229}
5230 5230
5231 5231
5232DEFUN ("x-hide-tip", Fx_hide_tip, Sx_hide_tip, 0, 0, 0, 5232DEFUE ("x-hide-tip", Fx_hide_tip, Sx_hide_tip, 0, 0, 0,
5233 doc: /* Hide the current tooltip window, if there is any. 5233 doc: /* Hide the current tooltip window, if there is any.
5234Value is t if tooltip was open, nil otherwise. */) 5234Value is t if tooltip was open, nil otherwise. */)
5235 (void) 5235 (void)
diff --git a/src/xmenu.c b/src/xmenu.c
index b1f7dfb26bc..595ae795282 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -203,7 +203,7 @@ mouse_position_for_popup (FRAME_PTR f, int *x, int *y)
203 203
204#ifdef HAVE_MENUS 204#ifdef HAVE_MENUS
205 205
206DEFUN ("x-popup-dialog", Fx_popup_dialog, Sx_popup_dialog, 2, 3, 0, 206DEFUE ("x-popup-dialog", Fx_popup_dialog, Sx_popup_dialog, 2, 3, 0,
207 doc: /* Pop up a dialog box and return user's selection. 207 doc: /* Pop up a dialog box and return user's selection.
208POSITION specifies which frame to use. 208POSITION specifies which frame to use.
209This is normally a mouse button event or a window or frame. 209This is normally a mouse button event or a window or frame.
diff --git a/src/xsettings.c b/src/xsettings.c
index 097b2477e03..da6d088db15 100644
--- a/src/xsettings.c
+++ b/src/xsettings.c
@@ -718,8 +718,8 @@ DEFUN ("font-get-system-font", Ffont_get_system_font, Sfont_get_system_font,
718 : Qnil; 718 : Qnil;
719} 719}
720 720
721DEFUN ("tool-bar-get-system-style", Ftool_bar_get_system_style, Stool_bar_get_system_style, 721DEFUE ("tool-bar-get-system-style", Ftool_bar_get_system_style,
722 0, 0, 0, 722 Stool_bar_get_system_style, 0, 0, 0,
723 doc: /* Get the system tool bar style. 723 doc: /* Get the system tool bar style.
724If no system tool bar style is known, return `tool-bar-style' if set to a 724If no system tool bar style is known, return `tool-bar-style' if set to a
725known style. Otherwise return image. */) 725known style. Otherwise return image. */)