aboutsummaryrefslogtreecommitdiffstats
path: root/src/fns.c
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/fns.c
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/fns.c')
-rw-r--r--src/fns.c88
1 files changed, 44 insertions, 44 deletions
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{