diff options
author | Tom Tromey <tromey@redhat.com> | 2012-09-04 10:10:06 -0600 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2012-09-04 10:10:06 -0600 |
commit | bf69f522a9e135f9aa483cedd53e71e915f2bf75 (patch) | |
tree | 3f73c47fb863ef87f420de1d30858da821072bd9 /lisp/emacs-lisp | |
parent | 303324a9232dbc89369faceb6b3530740d0fc1bd (diff) | |
parent | 6ec9a5a7b5efb129807f567709ca858211ed7840 (diff) | |
download | emacs-bf69f522a9e135f9aa483cedd53e71e915f2bf75.tar.gz emacs-bf69f522a9e135f9aa483cedd53e71e915f2bf75.tar.bz2 emacs-bf69f522a9e135f9aa483cedd53e71e915f2bf75.zip |
merge from trunk
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/cl-lib.el | 2 | ||||
-rw-r--r-- | lisp/emacs-lisp/gv.el | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/cl-lib.el b/lisp/emacs-lisp/cl-lib.el index 86497a3c73f..532c81c502c 100644 --- a/lisp/emacs-lisp/cl-lib.el +++ b/lisp/emacs-lisp/cl-lib.el @@ -635,7 +635,7 @@ 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))) + `(insert (prog1 ,store (erase-buffer)))) (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) diff --git a/lisp/emacs-lisp/gv.el b/lisp/emacs-lisp/gv.el index d1f997c99c4..4caa0a73866 100644 --- a/lisp/emacs-lisp/gv.el +++ b/lisp/emacs-lisp/gv.el @@ -191,8 +191,9 @@ well for simple place forms. Assignments of VAL to (NAME ARGS...) are expanded by binding the argument forms (VAL ARGS...) according to ARGLIST, then executing BODY, which must return a Lisp form that does the assignment. -Actually, ARGLIST may be bound to temporary variables which are introduced -automatically to preserve proper execution order of the arguments. Example: +The first arg in ARLIST (the one that receives VAL) receives an expression +which can do arbitrary things, whereas the other arguments are all guaranteed +to be pure and copyable. Example use: (gv-define-setter aref (v a i) `(aset ,a ,i ,v))" (declare (indent 2) (debug (&define name sexp body))) `(gv-define-expander ,name |