[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#6609: 23.2; Cursor becomes invisible when put over some faces
From: |
Deniz Dogan |
Subject: |
bug#6609: 23.2; Cursor becomes invisible when put over some faces |
Date: |
Mon, 12 Jul 2010 12:47:15 +0200 |
2010/7/12 Eli Zaretskii <eliz@gnu.org>:
>> From: Deniz Dogan <deniz.a.m.dogan@gmail.com>
>> Date: Mon, 12 Jul 2010 10:09:04 +0200
>> Cc: 6609@debbugs.gnu.org
>>
>> 2010/7/12 Eli Zaretskii <eliz@gnu.org>:
>> >> From: Deniz Dogan <deniz.a.m.dogan@gmail.com>
>> >> Date: Sun, 11 Jul 2010 21:49:12 +0200
>> >> Cc: 6609@debbugs.gnu.org
>> >>
>> >> Terribly sorry about that. I did mean white foreground on black
>> >> background in the original report!
>> >
>> > A world of difference. I do see this problem on XP as well, then.
>> >
>> > Can someone try this on GNU/Linux in a GUI session, please? I'd like
>> > to know if this problem is specific to w32.
>> >
>> > To repeat the recipe:
>> >
>> > emacs -Q
>> >
>> > Insert this in the *scratch* buffer:
>> >
>> > (set-background-color "black")
>> > (set-foreground-color "white")
>> >
>> > Evaluate these two lines. Your cursor will now become invisible. You
>> > can only see it (a) when it is on some text of a non-default color, or
>> > (b) when the Emacs frame does not have focus, and the cursor is
>> > displayed as a hollow rectangle.
>> >
>> > "M-x set-face-background RET cursor RET white RET" fixes the problem.
>> > So my first guess would be that we don't do that automatically as part
>> > of changing the default face, for some reason.
>> >
>>
>> I have tried this on GNU/Linux as well (Bazaar version from some time
>> in June) and the problem does not appear there. I can't remember it
>> ever happening on GNU/Linux actually.
>
> Can you please try the patch below? If it works for you, I will
> commit it to the emacs-23 branch.
>
> === modified file 'src/w32fns.c'
> --- src/w32fns.c 2010-07-10 18:52:53 +0000
> +++ src/w32fns.c 2010-07-12 10:31:49 +0000
> @@ -1333,7 +1333,10 @@ x_set_foreground_color (struct frame *f,
> if (FRAME_W32_WINDOW (f) != 0)
> {
> if (x->cursor_pixel == old_fg)
> - x->cursor_pixel = fg;
> + {
> + x->cursor_pixel = fg;
> + x->cursor_gc->background = fg;
> + }
>
> update_face_from_frame_parameter (f, Qforeground_color, arg);
> if (FRAME_VISIBLE_P (f))
>
>
I don't build my Emacs on Windows, only on GNU/Linux. Could someone
else running Windows try it? Thanks.
- bug#6609: 23.2; Cursor becomes invisible when put over some faces, (continued)
- bug#6609: 23.2; Cursor becomes invisible when put over some faces, Deniz Dogan, 2010/07/11
- bug#6609: 23.2; Cursor becomes invisible when put over some faces, Eli Zaretskii, 2010/07/11
- bug#6609: 23.2; Cursor becomes invisible when put over some faces, Deniz Dogan, 2010/07/11
- bug#6609: 23.2; Cursor becomes invisible when put over some faces, Eli Zaretskii, 2010/07/11
- bug#6609: 23.2; Cursor becomes invisible when put over some faces, Deniz Dogan, 2010/07/11
- bug#6609: 23.2; Cursor becomes invisible when put over some faces, Eli Zaretskii, 2010/07/11
- bug#6609: 23.2; Cursor becomes invisible when put over some faces, Deniz Dogan, 2010/07/11
- bug#6609: 23.2; Cursor becomes invisible when put over some faces, Eli Zaretskii, 2010/07/12
- bug#6609: 23.2; Cursor becomes invisible when put over some faces, Deniz Dogan, 2010/07/12
- bug#6609: 23.2; Cursor becomes invisible when put over some faces, Eli Zaretskii, 2010/07/12
- bug#6609: 23.2; Cursor becomes invisible when put over some faces,
Deniz Dogan <=
- bug#6609: 23.2; Cursor becomes invisible when put over some faces, Eli Zaretskii, 2010/07/12
- bug#6609: 23.2; Cursor becomes invisible when put over some faces, Juanma Barranquero, 2010/07/13
- bug#6609: 23.2; Cursor becomes invisible when put over some faces, Eli Zaretskii, 2010/07/14