Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
064eee03
Commit
064eee03
authored
Jan 23, 2010
by
Chong Yidong
Browse files
* emacs-lisp/assoc.el (aput, adelete, amake): Use lexical-let (Bug#5450).
parent
c6d09b8d
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
7 deletions
+12
-7
lisp/ChangeLog
lisp/ChangeLog
+4
-0
lisp/emacs-lisp/assoc.el
lisp/emacs-lisp/assoc.el
+8
-7
No files found.
lisp/ChangeLog
View file @
064eee03
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
...
...
lisp/emacs-lisp/assoc.el
View file @
064eee03
...
...
@@ -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 @@ If VALUE is not supplied, or is nil, the key-value pair will not be
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 @@ of the alist (with value nil if VALUE is nil or not supplied)."
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 @@ KEYLIST and VALUELIST should have the same number of elements, but
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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment