diff options
| author | Stefan Monnier | 2015-01-30 16:00:29 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2015-01-30 16:00:29 -0500 |
| commit | d5e3922e08587e7eb9e5aec2e9f84cbda405f857 (patch) | |
| tree | 6ab951b35a3ee24d7b5248e214500ece03ae0044 /lisp | |
| parent | adebc14b9c1794e49cfab9b3f2c4866acfbdf175 (diff) | |
| download | emacs-d5e3922e08587e7eb9e5aec2e9f84cbda405f857.tar.gz emacs-d5e3922e08587e7eb9e5aec2e9f84cbda405f857.zip | |
* lisp/emacs-lisp/backquote.el: Fix bug with unoptimized exp.
Fixes: debbugs:19734
* lisp/emacs-lisp/backquote.el (backquote-delay-process): Don't reuse `s'
since it may be "equivalent" in some sense, yet different.
* test/automated/core-elisp-tests.el (core-elisp-tests-3-backquote): New test.
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/emacs-lisp/backquote.el | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index eac2e44ee5a..3724388dfda 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2015-01-30 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * emacs-lisp/backquote.el (backquote-delay-process): Don't reuse `s' | ||
| 4 | since it may be "equivalent" in some sense, yet different (bug#19734). | ||
| 5 | |||
| 1 | 2015-01-30 Oleh Krehel <ohwoeowho@gmail.com> | 6 | 2015-01-30 Oleh Krehel <ohwoeowho@gmail.com> |
| 2 | 7 | ||
| 3 | * outline.el (outline-font-lock-face): Add docstring. | 8 | * outline.el (outline-font-lock-face): Add docstring. |
diff --git a/lisp/emacs-lisp/backquote.el b/lisp/emacs-lisp/backquote.el index 082955e0823..d5cdca2b1b5 100644 --- a/lisp/emacs-lisp/backquote.el +++ b/lisp/emacs-lisp/backquote.el | |||
| @@ -120,9 +120,7 @@ Vectors work just like lists. Nested backquotes are permitted." | |||
| 120 | This simply recurses through the body." | 120 | This simply recurses through the body." |
| 121 | (let ((exp (backquote-listify (list (cons 0 (list 'quote (car s)))) | 121 | (let ((exp (backquote-listify (list (cons 0 (list 'quote (car s)))) |
| 122 | (backquote-process (cdr s) level)))) | 122 | (backquote-process (cdr s) level)))) |
| 123 | (if (eq (car-safe exp) 'quote) | 123 | (cons (if (eq (car-safe exp) 'quote) 0 1) exp))) |
| 124 | (cons 0 (list 'quote s)) | ||
| 125 | (cons 1 exp)))) | ||
| 126 | 124 | ||
| 127 | (defun backquote-process (s &optional level) | 125 | (defun backquote-process (s &optional level) |
| 128 | "Process the body of a backquote. | 126 | "Process the body of a backquote. |