Mercurial > emacs
changeset 106963:a1f2277cc409
* emacs-lisp/assoc.el (aput, adelete, amake): Use lexical-let (Bug#5450).
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sat, 23 Jan 2010 17:44:03 -0500 |
parents | d189e0755f30 |
children | 6c7e1a272e9e |
files | lisp/ChangeLog lisp/emacs-lisp/assoc.el |
diffstat | 2 files changed, 12 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Sat Jan 23 17:15:22 2010 -0500 +++ b/lisp/ChangeLog Sat Jan 23 17:44:03 2010 -0500 @@ -1,3 +1,7 @@ +2010-01-23 Chong Yidong <cyd@stupidchicken.com> + + * emacs-lisp/assoc.el (aput, adelete, amake): Use lexical-let (Bug#5450). + 2010-01-23 Stephen Leake <stephen_leake@member.fsf.org> * progmodes/ada-mode.el (ada-in-paramlist-p): Pragma syntax
--- a/lisp/emacs-lisp/assoc.el Sat Jan 23 17:15:22 2010 -0500 +++ b/lisp/emacs-lisp/assoc.el Sat Jan 23 17:44:03 2010 -0500 @@ -27,6 +27,7 @@ ;; fetching off key-value pairs in association lists. ;;; Code: +(eval-when-compile (require 'cl)) (defun asort (alist-symbol key) "Move a specified key-value pair to the head of an alist. @@ -71,8 +72,8 @@ modified, but will be moved to the head of the alist. If the key-value pair cannot be found in the alist, it will be inserted into the head of the alist (with value nil if VALUE is nil or not supplied)." - (let ((elem (aelement key value)) - alist) + (lexical-let ((elem (aelement key value)) + alist) (asort alist-symbol key) (setq alist (eval alist-symbol)) (cond ((null alist) (set alist-symbol elem)) @@ -86,7 +87,7 @@ Alist is referenced by ALIST-SYMBOL and the key-value pair to remove is pair matching KEY. Returns the altered alist." (asort alist-symbol key) - (let ((alist (eval alist-symbol))) + (lexical-let ((alist (eval alist-symbol))) (cond ((null alist) nil) ((anot-head-p alist key) alist) (t (set alist-symbol (cdr alist)))))) @@ -123,10 +124,10 @@ this isn't enforced. If VALUELIST is smaller than KEYLIST, remaining keys are associated with nil. If VALUELIST is larger than KEYLIST, extra values are ignored. Returns the created alist." - (let ((keycar (car keylist)) - (keycdr (cdr keylist)) - (valcar (car valuelist)) - (valcdr (cdr valuelist))) + (lexical-let ((keycar (car keylist)) + (keycdr (cdr keylist)) + (valcar (car valuelist)) + (valcdr (cdr valuelist))) (cond ((null keycdr) (aput alist-symbol keycar valcar)) (t