Mercurial > emacs
changeset 105944:a465c7c7e59e
* subr.el (add-hook): Purecopy strings.
(eval-after-load): Purecopy load-history-regexp and the form.
author | Dan Nicolaescu <dann@ics.uci.edu> |
---|---|
date | Wed, 11 Nov 2009 06:16:16 +0000 |
parents | 39e6ad203eb0 |
children | 503b88c15efc |
files | lisp/ChangeLog lisp/subr.el |
diffstat | 2 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Nov 11 06:12:21 2009 +0000 +++ b/lisp/ChangeLog Wed Nov 11 06:16:16 2009 +0000 @@ -1,5 +1,8 @@ 2009-11-11 Dan Nicolaescu <dann@ics.uci.edu> + * subr.el (add-hook): Purecopy strings. + (eval-after-load): Purecopy load-history-regexp and the form. + * custom.el (custom-declare-group): Purecopy load-file-name. * subr.el (menu-bar-separator): New defconst.
--- a/lisp/subr.el Wed Nov 11 06:12:21 2009 +0000 +++ b/lisp/subr.el Wed Nov 11 06:16:16 2009 +0000 @@ -1218,6 +1218,8 @@ (setq hook-value (list hook-value))) ;; Do the actual addition if necessary (unless (member function hook-value) + (when (stringp function) + (setq function (purecopy function))) (setq hook-value (if append (append hook-value (list function)) @@ -1660,14 +1662,14 @@ ;; Add this FORM into after-load-alist (regardless of whether we'll be ;; evaluating it now). (let* ((regexp-or-feature - (if (stringp file) (load-history-regexp file) file)) + (if (stringp file) (setq file (purecopy (load-history-regexp file))) file)) (elt (assoc regexp-or-feature after-load-alist))) (unless elt (setq elt (list regexp-or-feature)) (push elt after-load-alist)) ;; Add FORM to the element unless it's already there. (unless (member form (cdr elt)) - (nconc elt (list form))) + (nconc elt (purecopy (list form)))) ;; Is there an already loaded file whose name (or `provide' name) ;; matches FILE?