From: Stephen Berman <stephen.berman@gmx.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 15841@debbugs.gnu.org
Subject: bug#15841: Display bugs with cache-long-lines non-nil
Date: Tue, 12 Nov 2013 01:38:34 +0100 [thread overview]
Message-ID: <877gceo3n9.fsf@rosalinde.fritz.box> (raw)
In-Reply-To: <87fvr3ni2o.fsf@rosalinde.fritz.box> (Stephen Berman's message of "Mon, 11 Nov 2013 15:12:15 +0100")
On Mon, 11 Nov 2013 15:12:15 +0100 Stephen Berman <stephen.berman@gmx.net> wrote:
> 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.
>
> If I repeat the recipe but after step 1 type `M-: (setq cache-long-lines
> nil)', then at step 3, `i' works as expected.
>
> Here are more details of the breakage:
>
> Typing `C-g' releases the hang and shows the admin subdirectory, but its
> display is corrupted: (i) the "available" blocks information, which
> should appear at the end of the "total" line, instead appears to the
> right of the first entry `.' and is fontified with dired-directory face;
> (ii) while all the entries of admin are listed below the `..' entry, the
> entire line of each entry is fontified with dired-directory face, and
> these lines cannot be accessed by vertical motion commands like `C-n' or
> `C-p', though they can be with horizontal motion commands like `C-f' and
> `C-p'. In fact, all of these entries appear to Dired to be part of the
> line of the `..' entry, and AFACT this is what causes the hang: Emacs
> infloops in dired-move-to-filename because, when point appears to be at
> eof, beginning-of-line moves it back to the start of the `..' entry.
I tracked the problematic fontification and motion behavior to
insert-directory in files.el: it happens during the loop when
decode-coding-region is called on the file names of the subdirectory
entries. I stepped through the code with Edebug but could not tell why
it goes wrong here, and I'm too tired to pursue it further now. Also,
when I step through this code, the "available" information is added at
the end of the entire subdirectory listing, unlike what I observed above
when just invoking `i' and then `C-g'. I guess this is due to the
interaction of redisplay with stepping through the code; it's still
clear that the subdirectory listing is being treated as part of the line
containing the `..' entry.
Steve Berman
next prev parent reply other threads:[~2013-11-12 0:38 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-03 21:35 bug#15797: 24.3.50; Info: Mention cache-long-scans Jambunathan K
2013-11-04 0:36 ` Glenn Morris
2013-11-04 4:41 ` Jambunathan K
2013-11-04 13:10 ` Michael Heerdegen
2013-11-04 14:21 ` Jambunathan K
2013-11-05 16:32 ` Eli Zaretskii
2013-11-05 19:24 ` Stefan Monnier
2013-11-06 4:44 ` Jambunathan K
2013-11-08 10:29 ` Eli Zaretskii
2013-11-08 13:13 ` Jambunathan K
2013-11-08 14:02 ` Stefan Monnier
2013-11-08 14:08 ` Jambunathan K
2013-11-08 14:15 ` Eli Zaretskii
2013-11-08 14:33 ` Jambunathan K
2013-11-08 15:16 ` Eli Zaretskii
2013-11-08 10:28 ` Eli Zaretskii
2013-11-08 19:07 ` Nathan Trapuzzano
2013-11-08 20:57 ` Stefan Monnier
2013-11-08 21:36 ` Nathan Trapuzzano
2013-11-08 23:11 ` Nathan Trapuzzano
2013-11-09 8:33 ` Eli Zaretskii
2013-11-08 21:18 ` Eli Zaretskii
2013-11-08 21:22 ` Glenn Morris
2013-11-09 2:37 ` Michael Heerdegen
2013-11-09 8:18 ` bug#15841: Display bugs with cache-long-lines non-nil Eli Zaretskii
2013-11-09 8:31 ` Eli Zaretskii
2013-11-09 8:52 ` Eli Zaretskii
2013-11-09 11:18 ` Eli Zaretskii
2013-11-09 14:02 ` Eli Zaretskii
2013-11-09 21:27 ` Eli Zaretskii
2013-11-10 18:20 ` Michael Heerdegen
2013-11-10 18:31 ` Eli Zaretskii
2013-11-11 3:39 ` Michael Heerdegen
2013-11-11 16:23 ` Eli Zaretskii
2013-11-13 23:45 ` Michael Heerdegen
2013-11-14 3:51 ` Eli Zaretskii
2013-11-09 8:51 ` Eli Zaretskii
2013-11-11 14:12 ` Stephen Berman
2013-11-11 20:13 ` Eli Zaretskii
2013-11-11 20:38 ` Stephen Berman
2013-11-12 0:38 ` Stephen Berman [this message]
2013-11-12 10:03 ` Stephen Berman
2013-11-12 16:31 ` Eli Zaretskii
2013-11-12 21:34 ` Stephen Berman
2013-11-15 16:34 ` Eli Zaretskii
2013-11-15 18:05 ` Stephen Berman
2013-11-16 18:53 ` Andy Moreton
2013-11-16 19:02 ` Eli Zaretskii
2013-11-18 16:32 ` Eli Zaretskii
2013-11-06 18:02 ` bug#15797: 24.3.50; Info: Mention cache-long-scans Michael Heerdegen
2013-11-06 18:17 ` Eli Zaretskii
2013-11-06 18:50 ` Michael Heerdegen
2013-11-06 20:46 ` Eli Zaretskii
[not found] ` <<87wqkltnmk.fsf@web.de>
[not found] ` <<8338n975tf.fsf@gnu.org>
2013-11-06 18:58 ` Drew Adams
2013-11-06 20:56 ` Eli Zaretskii
[not found] ` <handler.15797.D15797.138352538323812.notifdone@debbugs.gnu.org>
2013-11-04 6:27 ` bug#15797: closed (Re: bug#15797: 24.3.50; Info: Mention cache-long-scans) Jambunathan K
[not found] <<871u2xf9st.fsf@gmail.com>
[not found] <"<9jiow9uhoa.fsf"@fencepost.gnu.org>
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877gceo3n9.fsf@rosalinde.fritz.box \
--to=stephen.berman@gmx.net \
--cc=15841@debbugs.gnu.org \
--cc=eliz@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).