[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
23.0.50; eshell/cd and multiple dots in directory name
From: |
David Hansen |
Subject: |
23.0.50; eshell/cd and multiple dots in directory name |
Date: |
Sat, 03 Nov 2007 00:33:54 +0100 |
User-agent: |
Gnus/5.110007 (No Gnus v0.7) Emacs/23.0.50 (gnu/linux) |
Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.
Your bug report will be posted to the address@hidden mailing list.
Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:
Hello,
to reproduce:
$ emacs -Q
M-x eshell RET
$ cd /tmp
$ mkdir a...b
$ cd a...b
No such directory found via CDPATH environment variable
The error is caused by a call to `eshell-expand-multiple-dots' in
`eshell/cd'. I'm not quite sure what the use of
`eshell-expand-multiple-dots' is. A quick grep says it's only used in
`eshell/cd'. So I suggest the following short patch:
Index: em-dirs.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/eshell/em-dirs.el,v
retrieving revision 1.21
diff -c -r1.21 em-dirs.el
*** em-dirs.el 26 Jul 2007 05:26:53 -0000 1.21
--- em-dirs.el 2 Nov 2007 23:30:36 -0000
***************
*** 319,325 ****
(before translate-multiple-dots
(filename &optional directory) activate)
(setq filename (eshell-expand-multiple-dots filename)))"
! (while (string-match "\\.\\.\\(\\.+\\)" path)
(let* ((extra-dots (match-string 1 path))
(len (length extra-dots))
replace-text)
--- 319,325 ----
(before translate-multiple-dots
(filename &optional directory) activate)
(setq filename (eshell-expand-multiple-dots filename)))"
! (while (string-match "\\(?:^\\|/\\)\\.\\.\\(\\.+\\)\\(?:$\\|/\\)" path)
(let* ((extra-dots (match-string 1 path))
(len (length extra-dots))
replace-text)
Diffs between working revision and workfile end here.
Actually I suggest to drop this confusing feature or at least implement
it everywhere in eshell (`eshell/ls', `eshell/cp', ...).
David
If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
`bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/home/dhansen/share/emacs/23.0.50/etc/DEBUG for instructions.
In GNU Emacs 23.0.50.1 (i686-pc-linux-gnu)
of 2007-10-28 on robotron
Windowing system distributor `The X.Org Foundation', version 11.0.10400000
configured using `configure '--prefix=/home/dhansen' '--disable-sound'
'--disable-pop' '--with-x-toolkit=no''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: en_US.UTF-8
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.UTF-8
locale-coding-system: utf-8
default-enable-multibyte-characters: t
Major mode: Emacs-Lisp
Minor modes in effect:
shell-dirtrack-mode: t
paredit-mode: t
TeX-PDF-mode: t
jabber-activity-mode: t
eldoc-mode: t
which-function-mode: t
show-paren-mode: t
iswitchb-mode: t
tooltip-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
unify-8859-on-encoding-mode: t
utf-translate-cjk-mode: t
auto-compression-mode: t
line-number-mode: t
abbrev-mode: 1
hs-minor-mode: t
Recent input:
<kp-add> <kp-add> <kp-add> <kp-add> <kp-add> <kp-add>
<kp-add> <kp-add> <down-mouse-1> <mouse-movement> <mouse-1>
<down-mouse-2> <mouse-2> <switch-frame> <switch-frame>
C-p C-p C-a RET <switch-frame> <C-tab> C-x 1 C-n C-n
C-e C-a d SPC <C-tab> <tab> C-c m <C-tab> C-x 1 C-n
q <switch-frame> <switch-frame> g C-n C-n C-n C-n C-n
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n
C-n C-n C-n C-n RET RET q M-x r g r <tab> <return>
<tab> <return> <return> C-g g C-g f C-h f r g r e p
<return> q C-g g C-z c d SPC t m <tab> <return> m k
d i r SPC a . . . b <return> c d SPC a . . . b <return>
C-h f e s h e l l / c <tab> d <tab> <return> C-c f
C-u C-c f C-g C-c f f C-c f f C-c f e C-c d C-g C-c
g C-g C-c g C-g C-c v f C-x C-f ~ / d o <tab> <tab>
e m <tab> <M-backspace> c o n <tab> e m <tab> d o <tab>
e m <tab> <return> C-s f i n d - f u n C-a C-z f i
n d - f u n d <backspace> c C-a C-k <switch-frame>
<switch-frame> <tab> <return> <switch-frame> <switch-frame>
<C-tab> C-n C-n <C-tab> C-n C-n C-n C-n C-u C-M-x <switch-frame>
M-p <return> <switch-frame> n <backspace> <switch-frame>
<C-tab> C-x 1 <switch-frame> <C-tab> C-x b <return>
n n n n n n n n n n n n n n n n n n n n n n n n n n
n N G <C-tab> C-x b <return> C-s m u l M-b M-b C-c
C-f f <return> C-n C-n C-n C-n C-n M-x r e p o r <tab>
b u g <return>
Recent messages:
Result: nil [2 times]
Result: "a...b" [2 times]
Result: "a../..b"
edebug-recursive-edit: Buffer is read-only: #<buffer em-dirs.el>
Go-Nonstop...
Mark saved where search started
uncompressing em-dirs.el.gz...done
Fontifying em-dirs.el.gz... (regexps...........................)
uncompressing em-dirs.el.gz...done
Auto-saving...done
- 23.0.50; eshell/cd and multiple dots in directory name,
David Hansen <=