summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/cl-seq.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2012-12-06 16:29:29 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2012-12-06 16:29:29 -0500
commit338bfefacb006f83fa84b502d2a553a463471ca2 (patch)
tree83d1fd31b9def29da3676dba762a78dd28c64948 /lisp/emacs-lisp/cl-seq.el
parent1812c7246ef5ab9256adffd4d2b5eabeb16757d1 (diff)
downloademacs-338bfefacb006f83fa84b502d2a553a463471ca2.tar.gz
emacs-338bfefacb006f83fa84b502d2a553a463471ca2.tar.bz2
emacs-338bfefacb006f83fa84b502d2a553a463471ca2.zip
Further cleanup of the "cl-" namespace. Fit CL in 80 columns.
* lisp/emacs-lisp/cl-macs.el (cl--pop2, cl--optimize-safety) (cl--optimize-speed, cl--not-toplevel, cl--parse-loop-clause) (cl--expand-do-loop, cl--proclaim-history, cl--declare-stack) (cl--do-proclaim, cl--proclaims-deferred): Rename from the "cl-" prefix. (cl-progv): Don't rely on dynamic scoping to find the body. * lisp/emacs-lisp/cl-lib.el (cl--optimize-speed, cl--optimize-safety) (cl--proclaims-deferred): Rename from the "cl-" prefix. (cl-declaim): Use backquotes. * lisp/emacs-lisp/cl-extra.el (cl-make-random-state, cl-random-state-p): Use "cl--" prefix for the object's tag.
Diffstat (limited to 'lisp/emacs-lisp/cl-seq.el')
-rw-r--r--lisp/emacs-lisp/cl-seq.el9
1 files changed, 7 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/cl-seq.el b/lisp/emacs-lisp/cl-seq.el
index 1fa562e328a..b8fd3c29b5c 100644
--- a/lisp/emacs-lisp/cl-seq.el
+++ b/lisp/emacs-lisp/cl-seq.el
@@ -105,6 +105,9 @@
(eq (not (funcall cl-test ,x ,y)) cl-test-not)
(eql ,x ,y)))
+;; Yuck! These vars are set/bound by cl--parsing-keywords to match :if :test
+;; and :key keyword args, and they are also accessed (sometimes) via dynamic
+;; scoping (and some of those accesses are from macro-expanded code).
(defvar cl-test) (defvar cl-test-not)
(defvar cl-if) (defvar cl-if-not)
(defvar cl-key)
@@ -333,7 +336,8 @@ This is a destructive function; it reuses the storage of SEQ whenever possible.
(defun cl--delete-duplicates (cl-seq cl-keys cl-copy)
(if (listp cl-seq)
- (cl--parsing-keywords (:test :test-not :key (:start 0) :end :from-end :if)
+ (cl--parsing-keywords
+ (:test :test-not :key (:start 0) :end :from-end :if)
()
(if cl-from-end
(let ((cl-p (nthcdr cl-start cl-seq)) cl-i)
@@ -776,7 +780,8 @@ to avoid corrupting the original LIST1 and LIST2.
(setq cl-list1 (prog1 cl-list2 (setq cl-list2 cl-list1))))
(while cl-list2
(if (or cl-keys (numberp (car cl-list2)))
- (setq cl-list1 (apply 'cl-adjoin (car cl-list2) cl-list1 cl-keys))
+ (setq cl-list1
+ (apply 'cl-adjoin (car cl-list2) cl-list1 cl-keys))
(or (memq (car cl-list2) cl-list1)
(push (car cl-list2) cl-list1)))
(pop cl-list2))