emacs-devel
[Top][All Lists]
Advanced

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

Re: Diff mode faces


From: Eli Zaretskii
Subject: Re: Diff mode faces
Date: Sun, 19 Jun 2005 21:58:52 +0200

> From: Juri Linkov <address@hidden>
> Cc: address@hidden, address@hidden
> Date: Sun, 19 Jun 2005 16:09:47 +0300
> 
> I see there is one problem with background-mode on tty.  Unlike X,
> on tty Emacs doesn't adjust background-mode after changing the
> background color with any of the known methods: `set-background-color'
> command, or customizing the background color of the default face.
> 
> It seems the correct place to fix this is `modify-frame-parameters'.
> The call to Qframe_update_face_colors is duplicated from the function
> `update_face_from_frame_parameter' in the patch below.  With this change
> `frame-set-background-mode' gets called, so it updates background-mode
> after every change of the background color on tty.

I have a few issues with this patch.

First, it calls an obsolete function frame-update-face-colors (it's an
alias for backward compatibility; let's use the function it is aliased
to).

Second, I think doing this unconditionally might not be a good idea:
wouldn't it clash with what x_set_frame_parameters and
IT_set_frame_parameters do for their respective displays?

Third, please be sure to test this change with various ways one can
use to set colors on a tty, including these few:

  . emacs -fg FOO
  . emacs -fg FOO -bg BAR
  . emacs -bg BAR
  . repeat the above 3 with -rv, and convince yourself that the above
    4 tests produce expected results
  . modify the default color with set-background-color and verify that
    it is in effect for new frames created with "C-x 5 b" and the like
  . same as the last one above, but with set-face-background for the
    default face, both with and without the optional frame arg; verify
    that with an arg only the named frame is affected and without an
    arg all frames are affected, including the newly created ones

Finally, could you please elaborate on your analysis of this issue; in
particular, where is this handled on X?




reply via email to

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