diff options
author | Juanma Barranquero <lekktu@gmail.com> | 2013-08-03 15:33:22 +0200 |
---|---|---|
committer | Juanma Barranquero <lekktu@gmail.com> | 2013-08-03 15:33:22 +0200 |
commit | 6475c94b6a312780f051c91733632ac485080e25 (patch) | |
tree | 7c6ea7bfc8f2eedafe70605c9610b6f9f70721a8 /lisp/frameset.el | |
parent | 2613dea20aa6478bf0b3a91fe3863b4c80836391 (diff) | |
download | emacs-6475c94b6a312780f051c91733632ac485080e25.tar.gz emacs-6475c94b6a312780f051c91733632ac485080e25.tar.bz2 emacs-6475c94b6a312780f051c91733632ac485080e25.zip |
lisp/frameset.el (frameset-prop): Preserve `setf' semantics in setter.
Diffstat (limited to 'lisp/frameset.el')
-rw-r--r-- | lisp/frameset.el | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lisp/frameset.el b/lisp/frameset.el index 8bb734b96fe..914ef5306cb 100644 --- a/lisp/frameset.el +++ b/lisp/frameset.el @@ -87,11 +87,13 @@ Properties other than :version can be set with (setf (frameset-prop FRAMESET PROP) NEW-VALUE)" (plist-get (frameset-properties frameset) prop)) -(gv-define-setter frameset-prop (v fs prop) - `(progn - (cl-assert (not (eq ,prop :version)) t ":version can not be set") - (setf (frameset-properties ,fs) - (plist-put (frameset-properties ,fs) ,prop ,v)))) +(gv-define-setter frameset-prop (val fs prop) + (macroexp-let2 nil v val + `(progn + (cl-assert (not (eq ,prop :version)) t ":version can not be set") + (setf (frameset-properties ,fs) + (plist-put (frameset-properties ,fs) ,prop ,v)) + ,v))) ;; Filtering |