GNU bug report logs - #2730
Patch to fix "Wrong number of arguments" error in with-selected-frame in CVS Emacs

Previous Next

Package: emacs;

Reported by: Fran Litterio <flitterio <at> gmail.com>

Date: Fri, 20 Mar 2009 17:20:03 UTC

Severity: normal

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 2730 in the body.
You can then email your comments to 2730 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#2730; Package emacs. (Fri, 20 Mar 2009 17:20:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Fran Litterio <flitterio <at> gmail.com>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Fri, 20 Mar 2009 17:20:04 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Fran Litterio <flitterio <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Patch to fix "Wrong number of arguments" error in with-selected-frame 
	in CVS Emacs
Date: Fri, 20 Mar 2009 13:09:08 -0400
[Message part 1 (text/plain, inline)]
The following bug exists in CVS Emacs as of 2009-03-20. In lisp/subr.el, the
definition of with-selected-frame has a bug where select-frame is called
with two arguments instead of one. This patch fixes that.
--
Fran Litterio
flitterio <at> gmail.com


--- subr.el~    2009-03-20 10:28:52.000492000 -0400
+++ subr.el    2009-03-20 13:04:24.000046000 -0400
@@ -2584,10 +2584,10 @@
     `(let ((,old-frame (selected-frame))
        (,old-buffer (current-buffer)))
        (unwind-protect
-       (progn (select-frame ,frame 'norecord)
+       (progn (select-frame ,frame)
           ,@body)
      (when (frame-live-p ,old-frame)
-       (select-frame ,old-frame 'norecord))
+       (select-frame ,old-frame))
      (when (buffer-live-p ,old-buffer)
        (set-buffer ,old-buffer))))))
[Message part 2 (text/html, inline)]

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#2730; Package emacs. (Fri, 20 Mar 2009 17:55:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Fran Litterio <flitterio <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Fri, 20 Mar 2009 17:55:05 GMT) Full text and rfc822 format available.

Message #10 received at 2730 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Fran Litterio <flitterio <at> gmail.com>
To: 2730 <at> debbugs.gnu.org
Subject: More info about select-frame problem
Date: Fri, 20 Mar 2009 13:45:57 -0400
[Message part 1 (text/plain, inline)]
Something strange is going on. My original bug report (and the patch it
contains) was motivated by a Wrong-number-of-arguments error caused when *
with-selected-frame* calls *select-frame* with two arguments. I sent the bug
report because M-x describe-function select-frame RET shows this:

select-frame is an interactive built-in function in `C source code'.

(select-frame frame)

Select the frame frame.
Subsequent editing commands apply to its selected window.
The selection of frame lasts until the next time the user does
something to select a different frame, or until the next time this
function is called.  If you are using a window system, the previously
selected frame may be restored as the selected frame after return to
the command loop, because it still may have the window system's input
focus.  On a text-only terminal, the next redisplay will display frame.

This function returns frame, or nil if frame has been deleted.

But this doesn't match the code in *src/frame.c* that defines *select-frame*
:

DEFUN ("select-frame", Fselect_frame, Sselect_frame, 1, 2, "e",
       doc: /* Select FRAME.
Subsequent editing commands apply to its selected window.
Optional argument NORECORD means to neither change the order of
recently selected windows nor the buffer list.

The selection of FRAME lasts until the next time the user does
something to select a different frame, or until the next time
this function is called.  If you are using a window system, the
previously selected frame may be restored as the selected frame
after return to the command loop, because it still may have the
window system's input focus.  On a text-only terminal, the next
redisplay will display FRAME.

This function returns FRAME, or nil if FRAME has been deleted.  */)
     (frame, norecord)
     Lisp_Object frame, norecord;
{
  return do_switch_frame (frame, 1, 0, norecord);
}

I built Emacs from up-to-date CVS sources using these commands:

$ ./configure --prefix=/usr/local --with-jpeg=no --with-png=no --with-gif=no
--with-tiff=no
$ make bootstrap
$ sudo make install
--
Francis Litterio
flitterio <at> gmail.com
[Message part 2 (text/html, inline)]

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#2730; Package emacs. (Fri, 20 Mar 2009 18:10:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Fran Litterio <flitterio <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Fri, 20 Mar 2009 18:10:04 GMT) Full text and rfc822 format available.

Message #15 received at 2730 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Fran Litterio <flitterio <at> gmail.com>
To: 2730 <at> debbugs.gnu.org
Subject: Re: More info about select-frame problem
Date: Fri, 20 Mar 2009 14:02:31 -0400
[Message part 1 (text/plain, inline)]
Please ignore this bug report. Something in my environment is preventing
"make install" from overwriting /usr/local/bin/emacs with my newly-built
version.

Sorry for the confusion.
--
Fran Litterio
flitterio <at> gmail.com
[Message part 2 (text/html, inline)]

bug closed, send any further explanations to Fran Litterio <flitterio <at> gmail.com> Request was from Glenn Morris <rgm <at> gnu.org> to control <at> emacsbugs.donarmstrong.com. (Fri, 20 Mar 2009 18:55:07 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#2730; Package emacs. (Fri, 20 Mar 2009 21:15:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> IRO.UMontreal.CA>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Fri, 20 Mar 2009 21:15:02 GMT) Full text and rfc822 format available.

Message #22 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Fran Litterio <flitterio <at> gmail.com>
Cc: 2730 <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org
Subject: Re: bug#2730: Patch to fix "Wrong number of arguments" error in with-selected-frame in CVS Emacs
Date: Fri, 20 Mar 2009 17:08:20 -0400
> The following bug exists in CVS Emacs as of 2009-03-20. In lisp/subr.el, the
> definition of with-selected-frame has a bug where select-frame is called
> with two arguments instead of one. This patch fixes that.

C-h f select-frame RET:

   (select-frame frame &optional norecord)
   ...

so the problem you're trying to fix is elsewhere.

Actually, this second argument was added to select-frame specifically
for use in with-selected-frame ;-)


        Stefan





Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#2730; Package emacs. (Fri, 20 Mar 2009 21:15:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> IRO.UMontreal.CA>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Fri, 20 Mar 2009 21:15:04 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> emacsbugs.donarmstrong.com. (Sat, 18 Apr 2009 14:24:11 GMT) Full text and rfc822 format available.

This bug report was last modified 16 years and 68 days ago.

Previous Next


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