]> git.eshelyaron.com Git - emacs.git/commitdiff
lisp/frameset.el: Use gv-setter declaration.
authorJuanma Barranquero <lekktu@gmail.com>
Wed, 14 Aug 2013 13:30:13 +0000 (15:30 +0200)
committerJuanma Barranquero <lekktu@gmail.com>
Wed, 14 Aug 2013 13:30:13 +0000 (15:30 +0200)
(frameset--prop-setter): New function.
(frameset-prop): Add gv-setter declaration.

lisp/ChangeLog
lisp/frameset.el

index ac7a87deb5f0cadea368c923049221ccde379e39..b83a752f2ebe95cc3832eb9c0f0617fded6989bf 100644 (file)
@@ -1,3 +1,8 @@
+2013-08-14  Juanma Barranquero  <lekktu@gmail.com>
+
+       * frameset.el (frameset--prop-setter): New function.
+       (frameset-prop): Add gv-setter declaration.
+
 2013-08-14  Martin Rudalics  <rudalics@gmx.at>
 
        * window.el (window-make-atom): Don't overwrite parameter
index e334b4cb1fde67a4b867d52f6ede29839542af32..74432db892cb50fc7817604bac9dc0d897afe70f 100644 (file)
@@ -156,7 +156,13 @@ FRAMESET is copied with `copy-tree'."
        (let ((states (frameset-states object)))
          (and (listp states)
               (cl-every #'consp (frameset-states object))))
-       (frameset-version object)))                 ; And VERSION is non-nil.
+       (frameset-version object)))        ; And VERSION is non-nil.
+
+(defun frameset--prop-setter (frameset property value)
+  "Setter function for `frameset-prop'.  Internal use only."
+  (setf (frameset-properties frameset)
+       (plist-put (frameset-properties frameset) property value))
+  value)
 
 ;; A setf'able accessor to the frameset's properties
 (defun frameset-prop (frameset property)
@@ -165,15 +171,9 @@ FRAMESET is copied with `copy-tree'."
 Properties can be set with
 
   (setf (frameset-prop FRAMESET PROPERTY) NEW-VALUE)"
+  (declare (gv-setter frameset--prop-setter))
   (plist-get (frameset-properties frameset) property))
 
-(gv-define-setter frameset-prop (val fs prop)
-  (macroexp-let2 nil v val
-    `(progn
-       (setf (frameset-properties ,fs)
-            (plist-put (frameset-properties ,fs) ,prop ,v))
-       ,v)))
-
 \f
 ;; Filtering