GNU bug report logs -
#27
incorrect code in dired-insert-directory
Previous Next
Reported by: "Drew Adams" <drew.adams <at> oracle.com>
Date: Mon, 3 Mar 2008 03:05:05 UTC
Severity: normal
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Tue, 10 Jun 2008 15:11:31 -0400
with message-id <jwvy75dqf65.fsf-monnier+emacsbugreports <at> gnu.org>
and subject line Re: incorrect code in dired-insert-directory
has caused the Emacs bug report #27,
regarding incorrect code in dired-insert-directory
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact don <at> donarmstrong.com
immediately.)
--
27: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=27
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
This line near the end of dired-insert-directory is wrong:
(if (and (or hdr wildcard) (not (looking-at "^ /.*:$")))
The problem is that "^ /.*:$" does not recognize a directory name on
MS Windows. The purpose of this code is to see if the directory name
is already in the buffer - if not, then it adds it. The test always
fails on Windows, so, whenever (or hdr wildcard) is non-nil, the `if'
test succeeds. That inserts a second copy of the directory name in the
buffer in some situations.
The regexp works only for Unix and GNU/Linux, not for Windows, which
has directories that have drive letters: c:/foobar/.
To reproduce (on Windows):
emacs -Q
Load the source file files.el.
C-u C-x 4 d
Use switches -lR, and enter some directory name.
The first directory name in the buffer appears twice (the others are OK).
Note: The problem does not seem to arise if you don't load the source file,
for some reason.
This problem also exists in 22.1.90. And it exists as far back as Emacs 20.
In GNU Emacs 22.1.1 (i386-mingw-nt5.1.2600)
of 2007-06-02 on RELEASE
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4) --cflags -Ic:/gnuwin32/include'
[Message part 3 (message/rfc822, inline)]
I believe this was fixed by the patch below,
Stefan
--- dired.el.~1.399.~ 2008-06-06 21:10:43.000000000 -0400
+++ dired.el 2008-06-10 15:09:37.000000000 -0400
@@ -1044,7 +1044,9 @@
;; Insert text at the beginning to standardize things.
(save-excursion
(goto-char opoint)
- (if (and (or hdr wildcard) (not (looking-at "^ /.*:$")))
+ (if (and (or hdr wildcard)
+ (not (and (looking-at "^ \\(.*\\):$")
+ (file-name-absolute-p (match-string 1)))))
;; Note that dired-build-subdir-alist will replace the name
;; by its expansion, so it does not matter whether what we insert
;; here is fully expanded, but it should be absolute.
This bug report was last modified 16 years and 348 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.