[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: wrong frame is current when after-make-frame-functions
From: |
Drew Adams |
Subject: |
RE: wrong frame is current when after-make-frame-functions |
Date: |
Sun, 29 May 2005 12:08:02 -0700 |
I should have mentioned that this bug exists also in older versions of
Emacs, at least back through Emacs 20.7.
-----Original Message-----
From: Drew Adams [mailto:address@hidden
Sent: Sunday, May 29, 2005 12:07 PM
To: Emacs-Pretest-Bug
Subject: wrong frame is current when after-make-frame-functions
The Subject line might not describe this well. Do this:
1. emacs -q. The default (frame-char-width) is 8.
2. Reduce the frame character size (default font) to a small number,
so that, for example, the (frame-char-width) is, say, 5. You can do
this, for instance, with (modify-frame-parameters frame (list (cons
'font new-font-name))), where new-font-name has a smaller size.
3. (setq after-make-frame-functions
(lambda (fr) (message "width: %s" (frame-char-width))))
4. C-x 5 f foobar
5. The message that appears shows that, at the time
after-make-frame-functions was executed, the (frame-char-width) of
the selected frame is 5, not 8.
However, debugging shows that the new frame is selected when
after-make-frame-functions is executed. The problem is that
frame-char-width does not take this selected frame into account, for
some reason - it uses the previous frame to calculate the character
width.
In GNU Emacs 22.0.50.2 (i386-mingw-nt5.1.2600)
of 2005-04-16 on LAPTOP
Distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4)'