Subject: bug#15841: Display bugs with cache-long-lines non-nil

From: Stephen Berman <[email-masked]>
Date: Mon, 11 Nov 2013 21:38:58 +0100

On Mon, 11 Nov 2013 22:13:36 +0200 Eli Zaretskii <[email-masked]> wrote:

>> From: Stephen Berman <[email-masked]>
>> Cc: [email-masked]
>> Date: Mon, 11 Nov 2013 15:12:15 +0100
>> 
>> This change broke dired-maybe-insert-subdir.  Perhaps this should be a
>> new bug number, but since part of the breakage is display-related, I
>> decided to report it here.  To reproduce:
>> 
>> 0. emacs -Q (built from trunk bzr 115033 or later)
>> 1. Open a directory in Dired, e.g. the Emacs source tree root.
>> 2. Put point on an entry listing a directory, e.g. admin.
>> 3. Type `i'.
>> => Emacs hangs.
>
> Actually, if you rebuild with assertions (--enable-checking), Emacs
> hits an assertion violation before it starts inflooping, and aborts.

As a matter of fact, I've also gotten an abort a couple of times while
trying to track down this bug, though I did not build with
--enable-checking; unfortunately, I don't remember exactly what I what
doing, nor was I running under gdb, so no backtrace.  I also have
another observation, which seems to be reproducible, though I haven't
tested it extensively: if I type `i' on any directory entry in Dired,
which makes Emacs hang, then type `C-g' to unhang Emacs, then type `i'
on a *higher* directory entry in the same Dired buffer, whose name
begins with `.' (e.g. `.bzr'), then `i' works as expected.  This appears
to hold for all higher dotted (and only dotted) directory entries; but
if I type `i' on a *lower* dotted directory entry, then Emacs again
hangs.

Steve Berman