aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2002-07-09 23:12:30 +0000
committerStefan Monnier2002-07-09 23:12:30 +0000
commitd2fde41d7de13c4557aa8669ffed5ace92fc2b6e (patch)
treeea692d1172caf0e9fed422ff1e4afad8fa1aba39 /src
parent7e301470e63212ff6827a2385d9c754ff6c5d775 (diff)
downloademacs-d2fde41d7de13c4557aa8669ffed5ace92fc2b6e.tar.gz
emacs-d2fde41d7de13c4557aa8669ffed5ace92fc2b6e.zip
(Fdefalias): Add an optional `docstring' argument.
(set_internal, Fsetq_default): Use XCAR/XCDR.
Diffstat (limited to 'src')
-rw-r--r--src/data.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/data.c b/src/data.c
index 33a94b389f3..f2c13dd9749 100644
--- a/src/data.c
+++ b/src/data.c
@@ -704,14 +704,18 @@ DEFUN ("fset", Ffset, Sfset, 2, 2, 0,
704 return definition; 704 return definition;
705} 705}
706 706
707DEFUN ("defalias", Fdefalias, Sdefalias, 2, 2, 0, 707extern Lisp_Object Qfunction_documentation;
708
709DEFUN ("defalias", Fdefalias, Sdefalias, 2, 3, 0,
708 doc: /* Set SYMBOL's function definition to DEFINITION, and return DEFINITION. 710 doc: /* Set SYMBOL's function definition to DEFINITION, and return DEFINITION.
709Associates the function with the current load file, if any. */) 711Associates the function with the current load file, if any. */)
710 (symbol, definition) 712 (symbol, definition, docstring)
711 register Lisp_Object symbol, definition; 713 register Lisp_Object symbol, definition, docstring;
712{ 714{
713 definition = Ffset (symbol, definition); 715 definition = Ffset (symbol, definition);
714 LOADHIST_ATTACH (symbol); 716 LOADHIST_ATTACH (symbol);
717 if (!NILP (docstring))
718 Fput (symbol, Qfunction_documentation, docstring);
715 return definition; 719 return definition;
716} 720}
717 721
@@ -1209,7 +1213,7 @@ set_internal (symbol, newval, buf, bindflag)
1209 and load that binding. */ 1213 and load that binding. */
1210 else 1214 else
1211 { 1215 {
1212 tem1 = Fcons (symbol, Fcdr (current_alist_element)); 1216 tem1 = Fcons (symbol, XCDR (current_alist_element));
1213 buf->local_var_alist 1217 buf->local_var_alist
1214 = Fcons (tem1, buf->local_var_alist); 1218 = Fcons (tem1, buf->local_var_alist);
1215 } 1219 }
@@ -1411,9 +1415,9 @@ usage: (setq-default SYMBOL VALUE [SYMBOL VALUE...]) */)
1411 do 1415 do
1412 { 1416 {
1413 val = Feval (Fcar (Fcdr (args_left))); 1417 val = Feval (Fcar (Fcdr (args_left)));
1414 symbol = Fcar (args_left); 1418 symbol = XCAR (args_left);
1415 Fset_default (symbol, val); 1419 Fset_default (symbol, val);
1416 args_left = Fcdr (Fcdr (args_left)); 1420 args_left = Fcdr (XCDR (args_left));
1417 } 1421 }
1418 while (!NILP (args_left)); 1422 while (!NILP (args_left));
1419 1423