aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2004-11-27 00:20:38 +0000
committerStefan Monnier2004-11-27 00:20:38 +0000
commit443b961aee995e86bdc196b2d26a9946c01a2f6a (patch)
tree6af1eb8d78f23f3415ed14e8c572e774029761bd
parent048aac39388861b0117ad22d51ca8b7dba16d2bf (diff)
downloademacs-443b961aee995e86bdc196b2d26a9946c01a2f6a.tar.gz
emacs-443b961aee995e86bdc196b2d26a9946c01a2f6a.zip
(cl-parse-loop-clause, labels): Use gensym
rather than make-symbol for symbols which are used in a symbol-macrolet or equivalent.
-rw-r--r--lisp/ChangeLog39
-rw-r--r--lisp/emacs-lisp/cl-macs.el10
2 files changed, 32 insertions, 17 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d2162127d18..e91d6d81a9e 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,19 +1,33 @@
12004-11-27 Kim F. Storm <storm@cua.dk> 12004-11-27 Kim F. Storm <storm@cua.dk>
2 2
3 * progmodes/flymake.el: Use (featurep 'xemacs). 3 * progmodes/flymake.el: Use (featurep 'xemacs).
4 (flymake-makehash): Change to defsubst. Use fboundp. 4 (flymake-makehash): Change to defsubst. Use fboundp.
5 (flymake-time-to-float): Remove. 5 (flymake-time-to-float): Remove.
6 (flymake-float-time): Merge code from flymake-time-to-float here. 6 (flymake-float-time): Merge code from flymake-time-to-float here.
7 (flymake-replace-regexp-in-string): Change to defsubst. 7 (flymake-replace-regexp-in-string): Change to defsubst.
8 (flymake-split-string-remove-empty-edges): Rename to flymake-split-string. 8 (flymake-split-string-remove-empty-edges):
9 Rename to flymake-split-string.
9 (flymake-split-string): Remove previous defalias. 10 (flymake-split-string): Remove previous defalias.
10 (flymake-get-temp-dir): Change to defsubst. 11 (flymake-get-temp-dir): Change to defsubst.
11 (flymake-make-xemacs-menu, flymake-xemacs-window-edges): Define 12 (flymake-make-xemacs-menu, flymake-xemacs-window-edges):
12 for xemacs only. 13 Define for xemacs only.
13 (flymake-master-file-count-limit): Change into compiler defvar only. 14 (flymake-master-file-count-limit): Change into compiler defvar only.
14 (flymake-find-possible-master-files): Let-bind it dynamically while 15 (flymake-find-possible-master-files): Let-bind it dynamically while
15 sorting files using flymake-master-file-compare. 16 sorting files using flymake-master-file-compare.
16 17
182004-11-26 Stefan Monnier <monnier@iro.umontreal.ca>
19
20 * font-lock.el (font-lock-compile-keywords): Don't complain if the end
21 of defun-prompt-regexp matches inside a comment/string but the
22 beginning is correctly outside everything.
23
24 * progmodes/tcl.el (tcl-omit-ws-regexp): Avoid the case where { or [
25 appears within a string or a comment.
26
27 * emacs-lisp/cl-macs.el (cl-parse-loop-clause, labels): Use gensym
28 rather than make-symbol for symbols which are used in
29 a symbol-macrolet or equivalent.
30
172004-11-26 Jay Belanger <belanger@truman.edu> 312004-11-26 Jay Belanger <belanger@truman.edu>
18 32
19 * calc-misc.el (calc-last-why-command): Declare it. 33 * calc-misc.el (calc-last-why-command): Declare it.
@@ -29,8 +43,7 @@
29 (calc-one-window, calc-edit-handler, calc-restore-trail) 43 (calc-one-window, calc-edit-handler, calc-restore-trail)
30 (calc-allow-ret): Declare them. 44 (calc-allow-ret): Declare them.
31 45
32 * calc/calc-stuff.el (calc-flush-caches): Remove unnecessary 46 * calc/calc-stuff.el (calc-flush-caches): Remove unnecessary variables.
33 variables.
34 (math-lud-cache, math-log2-cache, math-radix-digits-cache) 47 (math-lud-cache, math-log2-cache, math-radix-digits-cache)
35 (math-radix-float-cache-tag, math-random-cache) 48 (math-radix-float-cache-tag, math-random-cache)
36 (math-max-digits-cache, math-integral-cache, math-units-table) 49 (math-max-digits-cache, math-integral-cache, math-units-table)
@@ -47,8 +60,7 @@
47 Replace variable pos by declared variable. 60 Replace variable pos by declared variable.
48 61
49 * calc/calc-mtx.el (calc-det-lu): New variable. 62 * calc/calc-mtx.el (calc-det-lu): New variable.
50 (math-det-raw, math-det-step): Replace variable lu by declared 63 (math-det-raw, math-det-step): Replace variable lu by declared variable.
51 variable.
52 64
53 * calc/calc-map.el (math-ms-temp, math-ms-args): New variables. 65 * calc/calc-map.el (math-ms-temp, math-ms-args): New variables.
54 (math-multi-subst, math-multi-subst-rec): Replace variables temp 66 (math-multi-subst, math-multi-subst-rec): Replace variables temp
@@ -62,8 +74,7 @@
62 (calc-digit-value): Declare them. 74 (calc-digit-value): Declare them.
63 75
64 * calc/calc-help.el (Info-history): Declare it. 76 * calc/calc-help.el (Info-history): Declare it.
65 (calc-describe-key): Make calc-summary-indentation a local 77 (calc-describe-key): Make calc-summary-indentation a local variable.
66 variable.
67 (calc-help-long-names): Move declaration to earlier in file. 78 (calc-help-long-names): Move declaration to earlier in file.
68 79
69 * calc/calc-embed.el (calc-original-buffer): Declare it. 80 * calc/calc-embed.el (calc-original-buffer): Declare it.
@@ -71,9 +82,8 @@
71 (calc-embed-bot): New variables. 82 (calc-embed-bot): New variables.
72 (calc-do-embedded, calc-embedded-mark-formula) 83 (calc-do-embedded, calc-embedded-mark-formula)
73 (calc-embedded-find-bounds, calc-embedded-duplicate) 84 (calc-embedded-find-bounds, calc-embedded-duplicate)
74 (calc-embedded-new-formula, calc-embedded-make-info): Replace 85 (calc-embedded-new-formula, calc-embedded-make-info):
75 variables outer-top, outer-bot, bot and top by declared 86 Replace vars outer-top, outer-bot, bot and top by declared variables.
76 variables.
77 (calc-embed-prev-modes): New variable. 87 (calc-embed-prev-modes): New variable.
78 (calc-embedded-set-modes, calc-embedded-update): Replace variable 88 (calc-embedded-set-modes, calc-embedded-update): Replace variable
79 prev-modes with declared variable. 89 prev-modes with declared variable.
@@ -82,8 +92,7 @@
82 (calc-embedded-update, calc-embedded-find-vars): Replace variable 92 (calc-embedded-update, calc-embedded-find-vars): Replace variable
83 vars-used by declared variable. 93 vars-used by declared variable.
84 94
85 * calc/calc-bin.el (math-format-radix-float): Make pos a local 95 * calc/calc-bin.el (math-format-radix-float): Make pos a local variable.
86 variable.
87 (math-format-radix-float): Remove unnecessary setq. 96 (math-format-radix-float): Remove unnecessary setq.
88 (math-radix-float-cache): Declare it. 97 (math-radix-float-cache): Declare it.
89 98
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 4bd3c966819..6a801703815 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -715,7 +715,10 @@ Valid clauses are:
715 (let ((loop-for-bindings nil) (loop-for-sets nil) (loop-for-steps nil) 715 (let ((loop-for-bindings nil) (loop-for-sets nil) (loop-for-steps nil)
716 (ands nil)) 716 (ands nil))
717 (while 717 (while
718 (let ((var (or (pop args) (make-symbol "--cl-var--")))) 718 ;; Use `gensym' rather than `make-symbol'. It's important that
719 ;; (not (eq (symbol-name var1) (symbol-name var2))) because
720 ;; these vars get added to the cl-macro-environment.
721 (let ((var (or (pop args) (gensym "--cl-var--"))))
719 (setq word (pop args)) 722 (setq word (pop args))
720 (if (eq word 'being) (setq word (pop args))) 723 (if (eq word 'being) (setq word (pop args)))
721 (if (memq word '(the each)) (setq word (pop args))) 724 (if (memq word '(the each)) (setq word (pop args)))
@@ -1314,7 +1317,10 @@ Unlike `flet', this macro is fully compliant with the Common Lisp standard.
1314\(fn ((FUNC ARGLIST BODY...) ...) FORM...)" 1317\(fn ((FUNC ARGLIST BODY...) ...) FORM...)"
1315 (let ((vars nil) (sets nil) (cl-macro-environment cl-macro-environment)) 1318 (let ((vars nil) (sets nil) (cl-macro-environment cl-macro-environment))
1316 (while bindings 1319 (while bindings
1317 (let ((var (make-symbol "--cl-var--"))) 1320 ;; Use `gensym' rather than `make-symbol'. It's important that
1321 ;; (not (eq (symbol-name var1) (symbol-name var2))) because these
1322 ;; vars get added to the cl-macro-environment.
1323 (let ((var (gensym "--cl-var--")))
1318 (push var vars) 1324 (push var vars)
1319 (push (list 'function* (cons 'lambda (cdar bindings))) sets) 1325 (push (list 'function* (cons 'lambda (cdar bindings))) sets)
1320 (push var sets) 1326 (push var sets)