GNU bug report logs -
#8562
Emacs 23.1 and later don't work in windows 98
Previous Next
Reported by: oslsachem <oslsachem <at> gmail.com>
Date: Tue, 26 Apr 2011 21:59:01 UTC
Severity: normal
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #128 received at 8562 <at> debbugs.gnu.org (full text, mbox):
>> Well, it has a glitch: when the window is maximized, clicking on the
>> help menu item "about Emacs" brings out an alternative version of this
>> buffer which doesn't have the Emacs logotype, has a slightly different
>> phrasing and its links are no longer coloured.
>>
>> http://www.speedyshare.com/files/28854883/EmacsWithoutLogo.png
>
> This is not a bug: the usual "fancy" splash screen is only shown if
> Emacs can display XPM or PBM images. Otherwise, Emacs shows the
> "normal" splash screen, which is what you see. I'm guessing that you
> don't have XPM or PBM libraries installed on the Windows 9X machine,
> or you didn't have the necessary headers when you built Emacs (the
> configure.bat script should announce what image libraries it builds
> with). See the function use-fancy-splash-screens-p in startup.el.
> The file nt/INSTALL explains where to get the image libraries if you
> want to build Emacs with full image support.
For simplicity (for me) I have been building Emacs without image
libraries (i.e --without-xpm --without-png --without-jpeg
--without-gif --without-tiff ).
After more fiddling, I can now describe the issue more accurately, and
it seems to be a design decision:
In any version of windows, if the window apparently does not have at
least a certain height and I type c-h c-a, I get the *about GNU Emacs*
buffer version of text terminal Emacs (i.e. emacs -nw) which does not
show a logotype:
http://www.speedyshare.com/files/28873451/EmacsNotHighEnough.png
On the contrary, if the window has at least a certain height and I
type c-h c-a, I get the expected *about GNU Emacs* buffer version of
graphical Emacs which, in this case, shows the black and white,
coarser logotype:
http://www.speedyshare.com/files/28873452/EmacsHighEnough.png
However, I still have one more question left:
In any version of Emacs for windows, if you start Emacs without the -Q
option and then type c-h c-a you end up with two differently named and
sized buffers (*GNU Emacs*, *About GNU Emacs*) which have the same
contents and so, presumably, the same functionality. Is there a reason
for this?
http://www.speedyshare.com/files/28873453/TwoGNUEmacsBuffers.png
> Btw, could you please enumerate those functions you replaced? I'm not
> sure my notes about that are accurate.
In the end, only 3 functions seem to need to be imported from
unicows.dll in windows 98:
GetOutlineTextMetricsW
GetTextMetricsW
GetGlyphOutlineW
These seem to be the functions signatures ( by consulting MSDN ):
typedef UINT ( * GetOutlineTextMetricsW_Proc)(
HDC hdc,
UINT cbData,
LPOUTLINETEXTMETRICW lpotmw
);
typedef BOOL ( * GetTextMetricsW_Proc)(
HDC hdc,
LPTEXTMETRICW lptmw
);
typedef DWORD ( * GetGlyphOutlineW_Proc)(
HDC hdc,
UINT uChar,
UINT uFormat,
LPGLYPHMETRICS lpgm,
DWORD cbBuffer,
LPVOID lpvBuffer,
const MAT2 *lpmat2
);
I have changed two parameter types to avoid these compiler warnings:
warning: passing argument 3 of 'Get_Outline_Text_Metrics_W' from
incompatible pointer type
note: expected 'LPOUTLINETEXTMETRIC' but argument is of type 'struct
OUTLINETEXTMETRICW *'
warning: passing argument 2 of 'Get_Text_Metrics_W' from incompatible
pointer type
note: expected 'LPTEXTMETRIC' but argument is of type 'struct TEXTMETRICW *'
Greetings,
Osl
This bug report was last modified 13 years and 200 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.