Subject: bug#27016: possible bug in `defsetf'

From: Rafael D Sorkin <[email-masked]>
Date: Mon, 22 May 2017 16:25:14 -0400

Hi Noam,

Following your suggestion I tried starting with "emacs -Q" and
got the same results as you did.  However if I (require 'cl)
then the bug returns.  (I normally require CL automatically on
starting emacs.)  So perhaps it's an incompatibility between CL
and the new way that defsetf is implemented.

- Rafael

 > Sender: Noam Postavsky <[email-masked]>
 > From: [email-masked]
 > To: Rafael D Sorkin <[email-masked]>
 > Cc: [email-masked]
 > Subject: Re: bug#27016: possible bug in `defsetf'
 > Date: Mon, 22 May 2017 08:11:25 -0400
 > In-Reply-To: <[email-masked]> (Rafael D. Sorkin's message of
 >  "Mon, 22 May 2017 02:39:28 -0400")
 > User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
 > 
 > tags 27016 unreproducible
 > quit
 > 
 > Rafael D Sorkin <[email-masked]> writes:
 > 
 > > emacs-version				; 24.5.1
 > > (setq pair (cons 3 4))			; (3 . 4)
 > > (foobar pair)				; Symbol's function definition is void: foobar
 > > (setf (foobar pair) 0)			; (foobar pair) is not a valid place expression 
 > > (unless t
 > >   (defalias 'foobar 'cons)
 > >   (defsetf foobar setcar))		; nil 
 > > (foobar pair)				; same as above
 > > (setf (foobar pair) 0)			; 0       !
 > > pair					; (0 . 4) !
 > 
 > I'm not able to reproduce this behaviour on 24.5, the second setf throws
 > an error just like the first.  How are you evaluating these exactly
 > (starting from emacs -Q)?  I tried C-x C-e on each sexp in turn.

~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-
 Rafael Sorkin
 Perimeter Institute for Theoretical Physics
 31 Caroline Street North
 Waterloo, ON  N2L 2Y5
 Canada
~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-