emacs-devel
[Top][All Lists]
Advanced

[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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]