Subject: bug#17630: closed (Re: bug#17630: 24.3.91; gv expander for a few places are incorrect)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 31 May 2014 15:49:03 +0000

Your bug report

#17630: 24.3.91; gv expander for a few places are incorrect

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
17630: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17630
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#17630: 24.3.91; gv expander for a few places are incorrect
From: Leo Liu <[email-masked]>
To: Stefan Monnier <[email-masked]>
Cc: [email-masked]
Date: Sat, 31 May 2014 23:47:43 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Fixed in 24.4.

On 2014-05-31 10:37 -0400, Stefan Monnier wrote:
> So using ,v twice will cause havoc in things like
>
>    (setf (window-buffer foo) (pop buffer))

The curse of multiple evaluation. I think I have corrected this.

Thanks,
Leo

Subject: 24.3.91; gv expander for a few places are incorrect
From: Leo Liu <[email-masked]>
To: [email-masked]
Date: Thu, 29 May 2014 19:36:22 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Stefan,

These are incorrect:

(gv-define-simple-setter window-buffer set-window-buffer)
(gv-define-simple-setter window-display-table set-window-display-table 'fix)
(gv-define-simple-setter window-dedicated-p set-window-dedicated-p)
(gv-define-simple-setter window-hscroll set-window-hscroll)
(gv-define-simple-setter window-point set-window-point)
(gv-define-simple-setter window-start set-window-start)

The getter allows optional WINDOW arg but the setter requires WINDOW
arg. For example:

  (setf (window-buffer) (get-buffer "abc")) expands incorrectly to
  (set-window-buffer (get-buffer "abc"))

They should probably all be re-defined using gv-define-setter.

Leo