Mercurial > hg > xemacs-beta
comparison src/alloc.c @ 4693:80cd90837ac5
Add argument information to remaining MANY or UNEVALLED C subrs.
src/ChangeLog addition:
2009-09-20 Aidan Kehoe <kehoea@parhasard.net>
* alloc.c (Flist):
(Fvector):
(Fbit_vector):
(Fmake_byte_code):
(Fstring):
* data.c (Feqlsign):
(Flss):
(Fgtr):
(Fleq):
(Fgeq):
(Fneq):
(Fgtr):
(Fplus):
(Fminus):
(Ftimes):
(Fdiv):
(Fquo):
(Fmax):
(Fmin):
(Flogand):
(Flogior):
(Flogxor):
* editfns.c (Fsave_excursion):
(Fsave_current_buffer):
(Fencode_time):
(Finsert):
(Finsert_before_markers):
(Fsave_restriction):
(Fformat):
* elhash.c (Fmake_hash_table):
* eval.c (Fdefun):
(Fdefmacro):
(Fcatch):
(Funwind_protect):
(Fcall_with_condition_handler):
(Ffuncall):
(Fapply):
(Frun_hooks):
* fns.c (Fappend):
(Fconcat):
(Fvconcat):
(Fbvconcat):
(Fnconc):
* print.c (Fwith_output_to_temp_buffer):
* process.c (Fstart_process_internal):
* window.c (Fsave_window_excursion):
* widget.c (Fwidget_apply):
Add argument information, in a form understood by
#'function-arglist, to all these MANY or UNEVALLED (that is to
say, special-operator) built-in functions.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 20 Sep 2009 21:29:00 +0100 |
parents | 8b1d806afbb3 |
children | 80d74fed5399 |
comparison
equal
deleted
inserted
replaced
4692:dc3c2f298857 | 4693:80cd90837ac5 |
---|---|
1292 XCDR (val) = cdr; | 1292 XCDR (val) = cdr; |
1293 return val; | 1293 return val; |
1294 } | 1294 } |
1295 | 1295 |
1296 DEFUN ("list", Flist, 0, MANY, 0, /* | 1296 DEFUN ("list", Flist, 0, MANY, 0, /* |
1297 Return a newly created list with specified arguments as elements. | 1297 Return a newly created list with specified ARGS as elements. |
1298 Any number of arguments, even zero arguments, are allowed. | 1298 Any number of arguments, even zero arguments, are allowed. |
1299 | |
1300 arguments: (&rest ARGS) | |
1299 */ | 1301 */ |
1300 (int nargs, Lisp_Object *args)) | 1302 (int nargs, Lisp_Object *args)) |
1301 { | 1303 { |
1302 Lisp_Object val = Qnil; | 1304 Lisp_Object val = Qnil; |
1303 Lisp_Object *argp = args + nargs; | 1305 Lisp_Object *argp = args + nargs; |
1615 CONCHECK_NATNUM (length); | 1617 CONCHECK_NATNUM (length); |
1616 return make_vector (XINT (length), object); | 1618 return make_vector (XINT (length), object); |
1617 } | 1619 } |
1618 | 1620 |
1619 DEFUN ("vector", Fvector, 0, MANY, 0, /* | 1621 DEFUN ("vector", Fvector, 0, MANY, 0, /* |
1620 Return a newly created vector with specified arguments as elements. | 1622 Return a newly created vector with specified ARGS as elements. |
1621 Any number of arguments, even zero arguments, are allowed. | 1623 Any number of arguments, even zero arguments, are allowed. |
1624 | |
1625 arguments: (&rest ARGS) | |
1622 */ | 1626 */ |
1623 (int nargs, Lisp_Object *args)) | 1627 (int nargs, Lisp_Object *args)) |
1624 { | 1628 { |
1625 Lisp_Vector *vecp = make_vector_internal (nargs); | 1629 Lisp_Vector *vecp = make_vector_internal (nargs); |
1626 Lisp_Object *p = vector_data (vecp); | 1630 Lisp_Object *p = vector_data (vecp); |
1796 | 1800 |
1797 return make_bit_vector (XINT (length), bit); | 1801 return make_bit_vector (XINT (length), bit); |
1798 } | 1802 } |
1799 | 1803 |
1800 DEFUN ("bit-vector", Fbit_vector, 0, MANY, 0, /* | 1804 DEFUN ("bit-vector", Fbit_vector, 0, MANY, 0, /* |
1801 Return a newly created bit vector with specified arguments as elements. | 1805 Return a newly created bit vector with specified ARGS as elements. |
1802 Any number of arguments, even zero arguments, are allowed. | 1806 Any number of arguments, even zero arguments, are allowed. |
1803 Each argument must be one of the integers 0 or 1. | 1807 Each argument must be one of the integers 0 or 1. |
1808 | |
1809 arguments: (&rest ARGS) | |
1804 */ | 1810 */ |
1805 (int nargs, Lisp_Object *args)) | 1811 (int nargs, Lisp_Object *args)) |
1806 { | 1812 { |
1807 int i; | 1813 int i; |
1808 Lisp_Bit_Vector *p = make_bit_vector_internal (nargs); | 1814 Lisp_Bit_Vector *p = make_bit_vector_internal (nargs); |
1853 return wrap_compiled_function (f); | 1859 return wrap_compiled_function (f); |
1854 } | 1860 } |
1855 | 1861 |
1856 DEFUN ("make-byte-code", Fmake_byte_code, 4, MANY, 0, /* | 1862 DEFUN ("make-byte-code", Fmake_byte_code, 4, MANY, 0, /* |
1857 Return a new compiled-function object. | 1863 Return a new compiled-function object. |
1858 Usage: (arglist instructions constants stack-depth | |
1859 &optional doc-string interactive) | |
1860 Note that, unlike all other emacs-lisp functions, calling this with five | 1864 Note that, unlike all other emacs-lisp functions, calling this with five |
1861 arguments is NOT the same as calling it with six arguments, the last of | 1865 arguments is NOT the same as calling it with six arguments, the last of |
1862 which is nil. If the INTERACTIVE arg is specified as nil, then that means | 1866 which is nil. If the INTERACTIVE arg is specified as nil, then that means |
1863 that this function was defined with `(interactive)'. If the arg is not | 1867 that this function was defined with `(interactive)'. If the arg is not |
1864 specified, then that means the function is not interactive. | 1868 specified, then that means the function is not interactive. |
1865 This is terrible behavior which is retained for compatibility with old | 1869 This is terrible behavior which is retained for compatibility with old |
1866 `.elc' files which expect these semantics. | 1870 `.elc' files which expect these semantics. |
1871 | |
1872 arguments: (ARGLIST INSTRUCTIONS CONSTANTS STACK-DEPTH &optional DOC-STRING INTERACTIVE) | |
1867 */ | 1873 */ |
1868 (int nargs, Lisp_Object *args)) | 1874 (int nargs, Lisp_Object *args)) |
1869 { | 1875 { |
1870 /* In a non-insane world this function would have this arglist... | 1876 /* In a non-insane world this function would have this arglist... |
1871 (arglist instructions constants stack_depth &optional doc_string interactive) | 1877 (arglist instructions constants stack_depth &optional doc_string interactive) |
2800 } | 2806 } |
2801 } | 2807 } |
2802 | 2808 |
2803 DEFUN ("string", Fstring, 0, MANY, 0, /* | 2809 DEFUN ("string", Fstring, 0, MANY, 0, /* |
2804 Concatenate all the argument characters and make the result a string. | 2810 Concatenate all the argument characters and make the result a string. |
2811 | |
2812 arguments: (&rest ARGS) | |
2805 */ | 2813 */ |
2806 (int nargs, Lisp_Object *args)) | 2814 (int nargs, Lisp_Object *args)) |
2807 { | 2815 { |
2808 Ibyte *storage = alloca_ibytes (nargs * MAX_ICHAR_LEN); | 2816 Ibyte *storage = alloca_ibytes (nargs * MAX_ICHAR_LEN); |
2809 Ibyte *p = storage; | 2817 Ibyte *p = storage; |