GNU bug report logs -
#27016
possible bug in `defsetf'
Previous Next
Reported by: Rafael D Sorkin <rsorkin <at> perimeterinstitute.ca>
Date: Mon, 22 May 2017 06:40:01 UTC
Severity: minor
Tags: fixed, patch
Found in versions 24.4, 25.2
Fixed in version 26.1
Done: npostavs <at> users.sourceforge.net
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hi,
The second behavior below seems like a bug to me. It was not
present in emacs 23.1
Best wishes,
Rafael Sorkin
emacs-version ; 23.1.1
(setq pair (cons 3 4)) ; (3 . 4)
(foobar pair) ; Symbol's function definition is void: foobar
(setf (foobar pair) 0) ; No setf-method known for foobar
(unless t
(defalias 'foobar 'cons)
(defsetf foobar setcar)) ; nil
(foobar pair) ; same as above
(setf (foobar pair) 0) ; same as above
pair ; (3 . 4)
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) !
~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-
Rafael Sorkin
Perimeter Institute for Theoretical Physics
31 Caroline Street North
Waterloo, ON N2L 2Y5
Canada
~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-
This bug report was last modified 7 years and 290 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.