]> git.eshelyaron.com Git - emacs.git/commitdiff
Silence byte-compiler warning with :read-only defstruct slots
authorLawrence Mitchell <wence@gmx.li>
Sat, 16 Jul 2011 15:52:46 +0000 (17:52 +0200)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Sat, 16 Jul 2011 15:52:46 +0000 (17:52 +0200)
* emacs-lisp/cl-macs.el (defstruct): Ignore argument to setf
method if slot is read-only.

Fixes: debbugs:9035
lisp/ChangeLog
lisp/emacs-lisp/cl-macs.el

index d22a6f081cdd79015afcb23943b29caefe9b449d..a4c3f0c9217eec2640ab5ddf61e633660f4e19fd 100644 (file)
@@ -1,3 +1,8 @@
+2011-07-16  Lawrence Mitchell  <wence@gmx.li>
+
+       * emacs-lisp/cl-macs.el (defstruct): Ignore argument to setf
+       method if slot is read-only (bug#9035).
+
 2011-07-16  Martin Rudalics  <rudalics@gmx.at>
 
        * frame.el (select-frame-set-input-focus): New argument
index 5b6d08472f13b722f5310ddec3221478f5edfa2c..d6b4643d6a4c4c13ebe96353b4d10e793420bc2e 100644 (file)
@@ -2396,8 +2396,10 @@ value, that slot cannot be set via `setf'.
              (push (cons accessor t) side-eff)
              (push (list 'define-setf-method accessor '(cl-x)
                             (if (cadr (memq :read-only (cddr desc)))
-                                (list 'error (format "%s is a read-only slot"
-                                                     accessor))
+                                 (list 'progn '(ignore cl-x)
+                                       (list 'error
+                                             (format "%s is a read-only slot"
+                                                     'accessor)))
                               ;; If cl is loaded only for compilation,
                               ;; the call to cl-struct-setf-expander would
                               ;; cause a warning because it may not be