summaryrefslogtreecommitdiff
path: root/lisp/frameset.el
diff options
context:
space:
mode:
authorJuanma Barranquero <lekktu@gmail.com>2013-08-03 15:33:22 +0200
committerJuanma Barranquero <lekktu@gmail.com>2013-08-03 15:33:22 +0200
commit6475c94b6a312780f051c91733632ac485080e25 (patch)
tree7c6ea7bfc8f2eedafe70605c9610b6f9f70721a8 /lisp/frameset.el
parent2613dea20aa6478bf0b3a91fe3863b4c80836391 (diff)
downloademacs-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.el12
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