--- Begin Message ---
Subject: |
27.0.50; Struct defined by cl-defstruct with :noinline failed to set slot using setf |
Date: |
Mon, 02 Sep 2019 21:09:31 +0800 |
User-agent: |
Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (Gojō) APEL/10.8 EasyPG/1.0.0 Emacs/27.0 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) |
Start Emacs with "emacs -Q" and run following code
(require 'cl-lib)
(cl-defstruct (stt (:noinline t))
slt-a slt-b)
(let ((inst (make-stt :slt-a 1 :slt-b 2)))
(setf (stt-slt-a inst) 2))
Will get error "Symbol’s function definition is void: \(setf\ stt-slt-a\)"
It seems that the accessors of struct defined with :noinline can't be expand
with "setf" directly.
This issue probably introduced at commit
144b2243b7cee4adbc3217d871c575921f95af54.
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#37283: 27.0.50; Struct defined by cl-defstruct with :noinline failed to set slot using setf |
Date: |
Mon, 09 Sep 2019 17:34:38 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
> Yes, this snippet work as expected now. Thanks for your work.
--- End Message ---