[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/shell.el
From: |
Juanma Barranquero |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/shell.el |
Date: |
Thu, 12 Jun 2003 18:20:49 -0400 |
Index: emacs/lisp/shell.el
diff -c emacs/lisp/shell.el:1.120 emacs/lisp/shell.el:1.121
*** emacs/lisp/shell.el:1.120 Fri Jun 6 13:39:46 2003
--- emacs/lisp/shell.el Thu Jun 12 18:20:49 2003
***************
*** 202,207 ****
--- 202,213 ----
:type 'regexp
:group 'shell)
+ (defcustom shell-command-separator-regexp "[;&|\n \t]*"
+ "*Regexp to match a single command within a pipeline.
+ This is used for directory tracking and does not do a perfect job."
+ :type 'regexp
+ :group 'shell)
+
(defcustom shell-completion-execonly t
"*If non-nil, use executable files only for completion candidates.
This mirrors the optional behavior of tcsh.
***************
*** 608,614 ****
(if shell-dirtrackp
;; We fail gracefully if we think the command will fail in the shell.
(condition-case chdir-failure
! (let ((start (progn (string-match "^[; \t]*" str) ; skip whitespace
(match-end 0)))
end cmd arg1)
(while (string-match shell-command-regexp str start)
--- 614,622 ----
(if shell-dirtrackp
;; We fail gracefully if we think the command will fail in the shell.
(condition-case chdir-failure
! (let ((start (progn (string-match
! (concat "^" shell-command-separator-regexp)
! str) ; skip whitespace
(match-end 0)))
end cmd arg1)
(while (string-match shell-command-regexp str start)
***************
*** 634,640 ****
"\\)\\($\\|[ \t]\\)")
cmd))
(shell-process-cd (comint-substitute-in-file-name cmd))))
! (setq start (progn (string-match "[; \t]*" str end) ; skip again
(match-end 0)))))
(error "Couldn't cd"))))
--- 642,650 ----
"\\)\\($\\|[ \t]\\)")
cmd))
(shell-process-cd (comint-substitute-in-file-name cmd))))
! (setq start (progn (string-match shell-command-separator-regexp
! str end)
! ;; skip again
(match-end 0)))))
(error "Couldn't cd"))))