diff options
| author | Stefan Monnier | 2004-11-27 00:20:38 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2004-11-27 00:20:38 +0000 |
| commit | 443b961aee995e86bdc196b2d26a9946c01a2f6a (patch) | |
| tree | 6af1eb8d78f23f3415ed14e8c572e774029761bd | |
| parent | 048aac39388861b0117ad22d51ca8b7dba16d2bf (diff) | |
| download | emacs-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/ChangeLog | 39 | ||||
| -rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 10 |
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 @@ | |||
| 1 | 2004-11-27 Kim F. Storm <storm@cua.dk> | 1 | 2004-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 | ||
| 18 | 2004-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 | |||
| 17 | 2004-11-26 Jay Belanger <belanger@truman.edu> | 31 | 2004-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) |