Subject: 23.1; whitespace-mode and typing spaces

From: Eli Barzilay <[email-masked]>
Date: Mon, 17 Aug 2009 11:05:49 -0400

`whitespace-mode' is generally very useful, but there are some
annoyances:

* Unlike `show-trailing-whitespace', spaces at the end of a line are
  shown even if the cursor is right after them.  This means that just
  typing some text is flashing the highlights on and off (I'm sure
  that this would be extremely unpleasant if I wouldn't have chosen a
  very quiet color for that...).

* In a similar way, if you type some stuff on a first line, then hit
  enter a few times, the whole empty part is highlighted (if empty
  line at the bob/eob are highlighted).  This is similar because in
  this case it is also likely that more text will eventually be
  entered.

* There is another problems with highlighting the initial/final
  segment of empty lines -- looks like it's the problem of using
  font-lock with a multi-line pattern, which means that it's not
  dealing with it gracefully (eg, adding a line will un-highlight only
  the line right next to it).  Together with the last point, this
  means that if you do something like this (in a fresh buffer):

    foo RET RET RET RET bar RET

  you're left with the middle highlighted.

In GNU Emacs 23.1.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.10.14)
 of 2009-08-01 on winooski.ccs.neu.edu
Windowing system distributor `The X.Org Foundation', version 11.0.10300000
configured using `configure  '--prefix=/home/eli/bin/local/emacs-dir''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: POSIX
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US
  value of $XMODIFIERS: nil
  locale-coding-system: iso-latin-1-unix
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  shell-dirtrack-mode: t
  whitespace-mode: t
  cua-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  temp-buffer-resize-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<up> <M-left> <left> <left> <M-S-right> <S-insert> 
<right> <S-end> <S-delete> M-\ <up> <end> <return> 
<S-insert> <down> <down> <home> <S-end> <delete> <delete> 
<up> <up> <f2> <end> <home> <tab> ; <tab> <f2> <f1> 
~ <C-S-left> <C-S-left> <C-S-left> o l d <tab> 2 <tab> 
e x <tab> e d i <tab> <C-S-left> <delete> <C-S-left> 
<delete> i n c <tab> e d i <tab> <return> C-s t u r 
n - o n <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <up> <C-left> <right> <left> C-h f s 
h o w - t r a i <tab> C-g C-h v s h o w - t r <tab> 
<tab> <tab> <tab> <return> <down> <down> <up> <C-left> 
<return> <C-tab> <C-f10> <C-up> <C-up> <C-up> <C-up> 
<C-up> <down> <down> <down> <C-left> <C-left> C-s C-w 
C-w C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s 
C-s C-s C-s C-s C-s C-s C-s C-s C-s <C-S-left> <C-S-left> 
<C-insert> <S-f9> <S-insert> <end> SPC * g z <home> 
<delete> z <return> <C-tab> <C-tab> <f12> <C-S-f12> 
<down> <down> <next> <next> <next> <up> <up> <up> <up> 
<down> <C-home> <C-end> <up> <up> <up> <return> <C-home> 
C-s w h i c h SPC s <C-down> <C-down> <f12> <next> 
<next> <next> <next> <next> <next> <next> <home> <right> 
<right> <right> <right> <right> <C-down> <C-down> <C-down> 
<C-down> <C-down> <C-down> <C-down> <C-down> <C-down> 
<C-down> <C-down> <C-down> <C-down> <C-down> <C-down> 
<C-down> <C-down> <C-down> <C-down> <C-down> <C-down> 
<C-down> <C-down> <C-down> <C-down> <C-down> <C-down> 
<C-down> <C-down> <C-down> <C-down> <C-down> <C-down> 
<C-down> <C-down> <C-down> <C-down> <C-down> <C-down> 
<C-down> <C-down> <C-down> <C-down> <next> <next> <next> 
<next> C-s p o i n t C-s C-s C-s C-s C-s C-s C-s <M-up> 
<down> <down> <down> <down> <M-left> <C-up> <C-up> 
<C-up> <up> <M-left> <left> <M-right> C-s C-s C-s C-s 
C-s C-s <M-down> <S-tab> <C-f10> <S-tab> <up> <up> 
<M-left> <M-S-right> <C-insert> M-x <up> <up> <ret
urn>

Recent messages:
Type "q" to quit, <next> to scroll help.
uncompressing frame.el.gz...done
Mark saved where search started
Grep finished with no matches found
Using truncated lines.
End of buffer
Mark set [3 times]
uncompressing whitespace.el.gz...done
Mark set
Mark saved where search started [3 times]