summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2012-08-28 15:35:35 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2012-08-28 15:35:35 -0400
commit9fba804b9ecca10dc33bd5508bd4fed4ebba3cc7 (patch)
treeed041d06133dac2b19c0c68b4d716b052a4c713c /lisp/emacs-lisp
parenta3f90bea8edc75b7543a06170e5a7521163bbf4e (diff)
downloademacs-9fba804b9ecca10dc33bd5508bd4fed4ebba3cc7.tar.gz
emacs-9fba804b9ecca10dc33bd5508bd4fed4ebba3cc7.tar.bz2
emacs-9fba804b9ecca10dc33bd5508bd4fed4ebba3cc7.zip
* lisp/emacs-lisp/cl-lib.el (buffer-string): Fix setter macro.
Fixes: debbugs:12293
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/cl-lib.el3
1 files changed, 2 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/cl-lib.el b/lisp/emacs-lisp/cl-lib.el
index 86497a3c73f..7239b5bd8ca 100644
--- a/lisp/emacs-lisp/cl-lib.el
+++ b/lisp/emacs-lisp/cl-lib.el
@@ -635,7 +635,8 @@ If ALIST is non-nil, the new pairs are prepended to it."
(set-buffer-modified-p ,flag)))
(gv-define-simple-setter buffer-name rename-buffer t)
(gv-define-setter buffer-string (store)
- `(progn (erase-buffer) (insert ,store)))
+ ;; Eval `store' first since it may look at the buffer.
+ (macroexp-let2 nil s store `(progn (erase-buffer) (insert ,s))))
(gv-define-simple-setter buffer-substring cl--set-buffer-substring)
(gv-define-simple-setter current-buffer set-buffer)
(gv-define-simple-setter current-case-table set-case-table)