GNU bug report logs - #12812
defsetf with third argument = t

Previous Next

Package: emacs;

Reported by: Glenn Morris <rgm <at> gnu.org>

Date: Tue, 6 Nov 2012 07:46:01 UTC

Severity: normal

Found in version 24.2.50

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Glenn Morris <rgm <at> gnu.org>
To: 12812 <at> debbugs.gnu.org
Subject: bug#12812: defsetf with third argument = t
Date: Tue, 06 Nov 2012 02:41:55 -0500
Package: emacs
Version: 24.2.50

In Emacs 24.2 and earlier, defsetf was documented [1] to accept a third
argument = t, with the same meaning as gv-define-simple-setter's
optional FIX-RETURN argument. This behaviour no longer works.

Here is an artificial example in `emacs -Q -l cl':

(defun foo (x)
  (car x))

(defun foo-set (x y)
  (setcar x y)
  nil)

(defsetf foo foo-set t)

(setq bar '(0 2 3))

(setf (foo bar) 1)   ; -> nil
bar                  ; -> (1 2 3)


The setf call correctly returns 1 in 24.2.


[1] (info "(cl)Customizing Setf")
   [...]
   As a special (non-Common-Lisp) extension, a third argument of `t'
   to `defsetf' says...




This bug report was last modified 12 years and 261 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.