GNU bug report logs - #1348
set-frame-width and set-frame-position seem buggy on at least MSWindows

Previous Next

Package: emacs;

Reported by: "Themba Fletcher" <themba <at> shirleymachine.com>

Date: Fri, 14 Nov 2008 22:55:04 UTC

Severity: normal

Done: martin rudalics <rudalics <at> gmx.at>

Bug is archived. No further changes may be made.

Full log


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

From: martin rudalics <rudalics <at> gmx.at>
To: Themba Fletcher <themba <at> shirleymachine.com>
Cc: 1348 <at> debbugs.gnu.org, "'Eli Zaretskii'" <eliz <at> gnu.org>
Subject: Re: bug#1348: set-frame-width and set-frame-position seem buggy on
 at	least MSWindows
Date: Tue, 18 Nov 2008 14:03:27 +0100
[Message part 1 (text/plain, inline)]
>>> When migrating to Emacs 22.3.1 on microsoft windows, the following
>>> lines in my .emacs file do not behave as expected:
>
>>>   (set-frame-position (selected-frame) 0 0)
>>>   (sleep-for 2) ; not originally in my .emacs -- testing only
>>>   (set-frame-width (selected-frame) 150)
>>>   (sleep-for 2)
>>>   (set-frame-height (selected-frame) 55)
>>>   (sleep-for 2))
[...]
> 1. The bug is present in 22.2
> 2. (set-frame-size) is not affected, and is probably a better work-around
> than I gave in my previous message.

Interesting.  Does the attached patch give better results?

martin
[dispnew.diff (text/plain, inline)]
*** dispnew.c.~1.424.~	2008-10-28 07:22:51.656250000 +0100
--- dispnew.c	2008-11-18 13:57:27.546875000 +0100
***************
*** 6305,6310 ****
--- 6305,6316 ----
    int new_frame_total_cols;
    int count = SPECPDL_INDEX ();
  
+   /* If an argument is zero, set it to the current value.  */
+   if (newheight == 0)
+     newheight = FRAME_LINES (f);
+   if (newwidth == 0)
+     newwidth  = FRAME_COLS  (f);
+ 
    /* If we can't deal with the change now, queue it for later.  */
    if (delay || (redisplaying_p && !safe))
      {
***************
*** 6318,6329 ****
    f->new_text_lines = 0;
    f->new_text_cols = 0;
  
-   /* If an argument is zero, set it to the current value.  */
-   if (newheight == 0)
-     newheight = FRAME_LINES (f);
-   if (newwidth == 0)
-     newwidth  = FRAME_COLS  (f);
- 
    /* Compute width of windows in F.
       This is the width of the frame without vertical scroll bars.  */
    new_frame_total_cols = FRAME_TOTAL_COLS_ARG (f, newwidth);
--- 6324,6329 ----

This bug report was last modified 10 years and 296 days ago.

Previous Next


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