aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDan Nicolaescu2009-10-24 06:32:03 +0000
committerDan Nicolaescu2009-10-24 06:32:03 +0000
commit905a9ed3923847f0323b5ad6f2e26558336fe9c0 (patch)
tree4cb4582eacfa663d308fc7152e8d0fb277624977 /src
parent1dee7c238bf93b8192cbb615f408bed230fefeda (diff)
downloademacs-905a9ed3923847f0323b5ad6f2e26558336fe9c0.tar.gz
emacs-905a9ed3923847f0323b5ad6f2e26558336fe9c0.zip
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
* eval.c (Fautoload): Purecopy the filename. Simplify. * category.c (Fdefine_category): Purecopy docstring. * international/mule-cmds.el (set-language-info-alist): Purecopy lang-env. (leim-list-header, leim-list-entry-regexp): Change defvars to defconst. (charset): Purecopy the name. (define-char-code-property): Purecopy string arguments. * emacs-lisp/byte-run.el (make-obsolete, make-obsolete-variable): Purecopy string arguments. * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): * ediff-hook.el (menu-bar-ediff-menu): * buff-menu.el (Buffer-menu-mode-map): Purecopy names and tooltips. * bookmark.el (menu-bar-bookmark-map): Add :help and purecopy the name.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog8
-rw-r--r--src/category.c2
-rw-r--r--src/eval.c12
-rw-r--r--src/keymap.c6
4 files changed, 19 insertions, 9 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a6f318816e9..8500509cd5b 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
12009-10-24 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * keymap.c (Fmake_sparse_keymap): Purecopy the name.
4
5 * eval.c (Fautoload): Purecopy the filename. Simplify.
6
7 * category.c (Fdefine_category): Purecopy docstring.
8
12009-10-23 Andreas Schwab <schwab@linux-m68k.org> 92009-10-23 Andreas Schwab <schwab@linux-m68k.org>
2 10
3 * lisp.h (FIXNUM_OVERFLOW_P): Remove cast to avoid overflow. 11 * lisp.h (FIXNUM_OVERFLOW_P): Remove cast to avoid overflow.
diff --git a/src/category.c b/src/category.c
index babed58c7fe..88337ff4fe7 100644
--- a/src/category.c
+++ b/src/category.c
@@ -136,6 +136,8 @@ the current buffer's category table. */)
136 136
137 if (!NILP (CATEGORY_DOCSTRING (table, XFASTINT (category)))) 137 if (!NILP (CATEGORY_DOCSTRING (table, XFASTINT (category))))
138 error ("Category `%c' is already defined", XFASTINT (category)); 138 error ("Category `%c' is already defined", XFASTINT (category));
139 if (!NILP (Vpurify_flag))
140 docstring = Fpurecopy (docstring);
139 CATEGORY_DOCSTRING (table, XFASTINT (category)) = docstring; 141 CATEGORY_DOCSTRING (table, XFASTINT (category)) = docstring;
140 142
141 return Qnil; 143 return Qnil;
diff --git a/src/eval.c b/src/eval.c
index 4611731a65e..136b75f756b 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -2096,7 +2096,6 @@ then strings and vectors are not accepted. */)
2096 return Qnil; 2096 return Qnil;
2097} 2097}
2098 2098
2099/* ARGSUSED */
2100DEFUN ("autoload", Fautoload, Sautoload, 2, 5, 0, 2099DEFUN ("autoload", Fautoload, Sautoload, 2, 5, 0,
2101 doc: /* Define FUNCTION to autoload from FILE. 2100 doc: /* Define FUNCTION to autoload from FILE.
2102FUNCTION is a symbol; FILE is a file name string to pass to `load'. 2101FUNCTION is a symbol; FILE is a file name string to pass to `load'.
@@ -2113,9 +2112,7 @@ this does nothing and returns nil. */)
2113 (function, file, docstring, interactive, type) 2112 (function, file, docstring, interactive, type)
2114 Lisp_Object function, file, docstring, interactive, type; 2113 Lisp_Object function, file, docstring, interactive, type;
2115{ 2114{
2116#ifdef NO_ARG_ARRAY
2117 Lisp_Object args[4]; 2115 Lisp_Object args[4];
2118#endif
2119 2116
2120 CHECK_SYMBOL (function); 2117 CHECK_SYMBOL (function);
2121 CHECK_STRING (file); 2118 CHECK_STRING (file);
@@ -2131,16 +2128,15 @@ this does nothing and returns nil. */)
2131 not useful and else we get loads of them from the loaddefs.el. */ 2128 not useful and else we get loads of them from the loaddefs.el. */
2132 LOADHIST_ATTACH (Fcons (Qautoload, function)); 2129 LOADHIST_ATTACH (Fcons (Qautoload, function));
2133 2130
2134#ifdef NO_ARG_ARRAY 2131 if (NILP (Vpurify_flag))
2135 args[0] = file; 2132 args[0] = file;
2133 else
2134 args[0] = Fpurecopy (file);
2136 args[1] = docstring; 2135 args[1] = docstring;
2137 args[2] = interactive; 2136 args[2] = interactive;
2138 args[3] = type; 2137 args[3] = type;
2139 2138
2140 return Ffset (function, Fcons (Qautoload, Flist (4, &args[0]))); 2139 return Ffset (function, Fcons (Qautoload, Flist (4, &args[0])));
2141#else /* NO_ARG_ARRAY */
2142 return Ffset (function, Fcons (Qautoload, Flist (4, &file)));
2143#endif /* not NO_ARG_ARRAY */
2144} 2140}
2145 2141
2146Lisp_Object 2142Lisp_Object
diff --git a/src/keymap.c b/src/keymap.c
index d050191dc4e..2dddeab998d 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -170,7 +170,11 @@ in case you use it as a menu with `x-popup-menu'. */)
170 Lisp_Object string; 170 Lisp_Object string;
171{ 171{
172 if (!NILP (string)) 172 if (!NILP (string))
173 return Fcons (Qkeymap, Fcons (string, Qnil)); 173 {
174 if (!NILP (Vpurify_flag))
175 string = Fpurecopy (string);
176 return Fcons (Qkeymap, Fcons (string, Qnil));
177 }
174 return Fcons (Qkeymap, Qnil); 178 return Fcons (Qkeymap, Qnil);
175} 179}
176 180