emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 23.0.50; eshell/cd and multiple dots in directory name


From: Vinicius Jose Latorre
Subject: Re: 23.0.50; eshell/cd and multiple dots in directory name
Date: Thu, 08 Nov 2007 15:16:12 -0300
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.8) Gecko/20071009 SeaMonkey/1.1.5

Richard Stallman wrote:
I'd like someone to install this on Nov 8
if nobody points out a problem with it before then.


Done in trunk and emacs_22_branch.


From: David Hansen <address@hidden>
To: address@hidden
Organization: disorganized
Date: Sat, 03 Nov 2007 00:33:54 +0100
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Cc: Subject: 23.0.50; eshell/cd and multiple dots in directory name

--=-=-=


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:


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline

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

--=-=-=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Emacs-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-devel
--=-=-=--




reply via email to

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