emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Status of MAC/W32/X consolidation and some questions.


From: Kim F. Storm
Subject: Re: Status of MAC/W32/X consolidation and some questions.
Date: 11 Mar 2003 02:01:01 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50

Benjamin Riefenstahl <address@hidden> writes:

> > Now, what I'm currently working on is to replace all mac* and w32*
> > specific names with the corresponding x* names,
> > e.g. FRAME_MAC_WINDOW is replaced by FRAME_X_WINDOW,
> 
> I guess this is probably the fastest path and would mostly leave alone
> the X11 code.  But wouldn't it in theory better to rename those items
> to a neutral FRAME_GUI_ANYTHING instead?  When I look at code I find
> the tendency to re-use X11 names outside of X11 rather irritating.

I have been thinking about the same issue, and I am not very
satisfied with the overloading of the X names, either.

However, as the X version is really the "reference GUI platform", a
lot of the code which really isn't X-specific still use the x_ prefix
(or some other X-related name), so from that point of view, it does
make sense that the "reference gui" continues to use the X names, and
let the other (non-free) platforms overload the X-specific "reference
platform" functions.

> 
> > * Does the W32 version support -nw?
> 
> Yes. 
> 
> >   If so, is FRAME_W32_P still true when specified?
> 
> No.  If I read the code right, FRAME_W32_P is based on output_method,
> and output_method can be interrogated as the result of the (framep)
> function.  "(framep (selected-frame))" returns t (for "character-only
> terminal") in this situation.

Ok, thanks.  So output_method is output_termcap for -nw on windows.
Then some of the emacs code really make no sense to me.

What does 
        (assoc 'font (frame-parameters nil))
return when you try it on W32 emacs -nw ?

If your assumption is correct is will return (font . "tty"),
but the code seems to be supposed to return (font . "w32term").

Also, in xdisp.c, the following test is used to check whether
emacs is running as a GUI or TTY program on W32, X, or MAC:

  /* Don't do all this for graphical frames.  */
#ifdef HAVE_NTGUI
  if (!NILP (Vwindow_system))
    return;
#endif
#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
  if (FRAME_X_P (f))
    return;
#endif
#ifdef MAC_OS
  if (FRAME_MAC_P (f))
    return;
#endif

If your assumption is correct, the first test could be
replaced by

  if (FRAME_W32_P (f))

    
> > which I hope some of you will assist me in solving (I hope/expect it
> > is just a matter of fixing some trivial compilation errors).
> 
> I can probably help with that. 

Thanks.

-- 
Kim F. Storm <address@hidden> http://www.cua.dk





reply via email to

[Prev in Thread] Current Thread [Next in Thread]