diff options
| author | Bill Wohler | 2013-02-18 10:11:43 -0800 |
|---|---|---|
| committer | Bill Wohler | 2013-02-18 10:11:43 -0800 |
| commit | 21733e4f154f8830fa568a347a0d6dbd59793c2b (patch) | |
| tree | 3170dbbcdfafeb42f6c381d6b80b251e9f31b788 /lisp/eshell | |
| parent | 6d14beddb06b5ae86f9dd770a1661ebd24846f28 (diff) | |
| parent | 587feed443522f738b65b57b22a31cc8a25525c5 (diff) | |
| download | emacs-21733e4f154f8830fa568a347a0d6dbd59793c2b.tar.gz emacs-21733e4f154f8830fa568a347a0d6dbd59793c2b.zip | |
Merge from trunk; up to 2013-02-18T01:30:27Z!monnier@iro.umontreal.ca.
Diffstat (limited to 'lisp/eshell')
| -rw-r--r-- | lisp/eshell/em-alias.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-banner.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-basic.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-cmpl.el | 12 | ||||
| -rw-r--r-- | lisp/eshell/em-dirs.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-glob.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-hist.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-ls.el | 24 | ||||
| -rw-r--r-- | lisp/eshell/em-pred.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-prompt.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-rebind.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-script.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-smart.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-term.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-unix.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-xtra.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/esh-arg.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/esh-cmd.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/esh-ext.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/esh-io.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/esh-mode.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/esh-module.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/esh-opt.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/esh-proc.el | 69 | ||||
| -rw-r--r-- | lisp/eshell/esh-util.el | 3 | ||||
| -rw-r--r-- | lisp/eshell/esh-var.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/eshell.el | 2 |
27 files changed, 82 insertions, 72 deletions
diff --git a/lisp/eshell/em-alias.el b/lisp/eshell/em-alias.el index 940056b6438..aa89177c2de 100644 --- a/lisp/eshell/em-alias.el +++ b/lisp/eshell/em-alias.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; em-alias.el --- creation and management of command aliases | 1 | ;;; em-alias.el --- creation and management of command aliases |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/em-banner.el b/lisp/eshell/em-banner.el index 8fdad66f3f0..44928b14e11 100644 --- a/lisp/eshell/em-banner.el +++ b/lisp/eshell/em-banner.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; em-banner.el --- sample module that displays a login banner | 1 | ;;; em-banner.el --- sample module that displays a login banner |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/em-basic.el b/lisp/eshell/em-basic.el index e07bc75f89a..d795b8226ca 100644 --- a/lisp/eshell/em-basic.el +++ b/lisp/eshell/em-basic.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; em-basic.el --- basic shell builtin commands | 1 | ;;; em-basic.el --- basic shell builtin commands |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/em-cmpl.el b/lisp/eshell/em-cmpl.el index b4c86e39e86..8520a9c83d2 100644 --- a/lisp/eshell/em-cmpl.el +++ b/lisp/eshell/em-cmpl.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; em-cmpl.el --- completion using the TAB key | 1 | ;;; em-cmpl.el --- completion using the TAB key |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
| @@ -451,11 +451,15 @@ to writing a completion function." | |||
| 451 | (all-completions filename obarray 'functionp)) | 451 | (all-completions filename obarray 'functionp)) |
| 452 | completions))))))) | 452 | completions))))))) |
| 453 | 453 | ||
| 454 | (defun eshell-pcomplete () | 454 | (defun eshell-pcomplete (&optional interactively) |
| 455 | "Eshell wrapper for `pcomplete'." | 455 | "Eshell wrapper for `pcomplete'." |
| 456 | (interactive) | 456 | (interactive "p") |
| 457 | ;; Pretend to be pcomplete so that cycling works (bug#13293). | ||
| 458 | (setq this-command 'pcomplete) | ||
| 457 | (condition-case nil | 459 | (condition-case nil |
| 458 | (pcomplete) | 460 | (if interactively |
| 461 | (call-interactively 'pcomplete) | ||
| 462 | (pcomplete)) | ||
| 459 | (text-read-only (completion-at-point)))) ; Workaround for bug#12838. | 463 | (text-read-only (completion-at-point)))) ; Workaround for bug#12838. |
| 460 | 464 | ||
| 461 | (provide 'em-cmpl) | 465 | (provide 'em-cmpl) |
diff --git a/lisp/eshell/em-dirs.el b/lisp/eshell/em-dirs.el index 4a3fa54626b..c93bbe9ecb1 100644 --- a/lisp/eshell/em-dirs.el +++ b/lisp/eshell/em-dirs.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; em-dirs.el --- directory navigation commands | 1 | ;;; em-dirs.el --- directory navigation commands |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/em-glob.el b/lisp/eshell/em-glob.el index 288aa9b773b..5a21f463f0b 100644 --- a/lisp/eshell/em-glob.el +++ b/lisp/eshell/em-glob.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; em-glob.el --- extended file name globbing | 1 | ;;; em-glob.el --- extended file name globbing |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el index 64a7ad94c53..62d3ae125e9 100644 --- a/lisp/eshell/em-hist.el +++ b/lisp/eshell/em-hist.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; em-hist.el --- history list management | 1 | ;;; em-hist.el --- history list management |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/em-ls.el b/lisp/eshell/em-ls.el index 2dd92ba3530..73ed617b871 100644 --- a/lisp/eshell/em-ls.el +++ b/lisp/eshell/em-ls.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; em-ls.el --- implementation of ls in Lisp | 1 | ;;; em-ls.el --- implementation of ls in Lisp |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
| @@ -26,9 +26,8 @@ | |||
| 26 | 26 | ||
| 27 | ;;; Code: | 27 | ;;; Code: |
| 28 | 28 | ||
| 29 | (eval-when-compile | 29 | (eval-when-compile (require 'eshell)) |
| 30 | (require 'cl-lib) | 30 | (require 'cl-lib) |
| 31 | (require 'eshell)) | ||
| 32 | (require 'esh-util) | 31 | (require 'esh-util) |
| 33 | (require 'esh-opt) | 32 | (require 'esh-opt) |
| 34 | 33 | ||
| @@ -328,6 +327,7 @@ instead." | |||
| 328 | (defvar numeric-uid-gid) | 327 | (defvar numeric-uid-gid) |
| 329 | (defvar reverse-list) | 328 | (defvar reverse-list) |
| 330 | (defvar show-all) | 329 | (defvar show-all) |
| 330 | (defvar show-almost-all) | ||
| 331 | (defvar show-recursive) | 331 | (defvar show-recursive) |
| 332 | (defvar show-size) | 332 | (defvar show-size) |
| 333 | (defvar sort-method) | 333 | (defvar sort-method) |
| @@ -337,13 +337,15 @@ instead." | |||
| 337 | (defun eshell-do-ls (&rest args) | 337 | (defun eshell-do-ls (&rest args) |
| 338 | "Implementation of \"ls\" in Lisp, passing ARGS." | 338 | "Implementation of \"ls\" in Lisp, passing ARGS." |
| 339 | (funcall flush-func -1) | 339 | (funcall flush-func -1) |
| 340 | ;; process the command arguments, and begin listing files | 340 | ;; Process the command arguments, and begin listing files. |
| 341 | (eshell-eval-using-options | 341 | (eshell-eval-using-options |
| 342 | "ls" (if eshell-ls-initial-args | 342 | "ls" (if eshell-ls-initial-args |
| 343 | (list eshell-ls-initial-args args) | 343 | (list eshell-ls-initial-args args) |
| 344 | args) | 344 | args) |
| 345 | `((?a "all" nil show-all | 345 | `((?a "all" nil show-all |
| 346 | "show all files in directory") | 346 | "do not ignore entries starting with .") |
| 347 | (?A "almost-all" nil show-almost-all | ||
| 348 | "do not list implied . and ..") | ||
| 347 | (?c nil by-ctime sort-method | 349 | (?c nil by-ctime sort-method |
| 348 | "sort by last status change time") | 350 | "sort by last status change time") |
| 349 | (?d "directory" nil dir-literal | 351 | (?d "directory" nil dir-literal |
| @@ -558,7 +560,15 @@ relative to that directory." | |||
| 558 | ;; later when we are going to | 560 | ;; later when we are going to |
| 559 | ;; display user and group names. | 561 | ;; display user and group names. |
| 560 | (if numeric-uid-gid 'integer 'string)))) | 562 | (if numeric-uid-gid 'integer 'string)))) |
| 561 | (when (and (not show-all) eshell-ls-exclude-regexp) | 563 | (when (and show-almost-all |
| 564 | (not show-all)) | ||
| 565 | (setq entries | ||
| 566 | (cl-remove-if | ||
| 567 | (lambda (entry) | ||
| 568 | (member (caar entry) '("." ".."))) | ||
| 569 | entries))) | ||
| 570 | (when (and (not show-all) | ||
| 571 | eshell-ls-exclude-regexp) | ||
| 562 | (while (and entries (string-match eshell-ls-exclude-regexp | 572 | (while (and entries (string-match eshell-ls-exclude-regexp |
| 563 | (caar entries))) | 573 | (caar entries))) |
| 564 | (setq entries (cdr entries))) | 574 | (setq entries (cdr entries))) |
diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el index fc23c0099e8..13bdb2e4a03 100644 --- a/lisp/eshell/em-pred.el +++ b/lisp/eshell/em-pred.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; em-pred.el --- argument predicates and modifiers (ala zsh) | 1 | ;;; em-pred.el --- argument predicates and modifiers (ala zsh) |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/em-prompt.el b/lisp/eshell/em-prompt.el index f4701ec35ea..c1c4d4730f9 100644 --- a/lisp/eshell/em-prompt.el +++ b/lisp/eshell/em-prompt.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; em-prompt.el --- command prompts | 1 | ;;; em-prompt.el --- command prompts |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/em-rebind.el b/lisp/eshell/em-rebind.el index 929b74d789d..42a5c36cab3 100644 --- a/lisp/eshell/em-rebind.el +++ b/lisp/eshell/em-rebind.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; em-rebind.el --- rebind keys when point is at current input | 1 | ;;; em-rebind.el --- rebind keys when point is at current input |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/em-script.el b/lisp/eshell/em-script.el index f219a4b6f12..711b2e21468 100644 --- a/lisp/eshell/em-script.el +++ b/lisp/eshell/em-script.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; em-script.el --- Eshell script files | 1 | ;;; em-script.el --- Eshell script files |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/em-smart.el b/lisp/eshell/em-smart.el index b427fe69ea4..de244a2fb88 100644 --- a/lisp/eshell/em-smart.el +++ b/lisp/eshell/em-smart.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; em-smart.el --- smart display of output | 1 | ;;; em-smart.el --- smart display of output |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/em-term.el b/lisp/eshell/em-term.el index ef59f6d1d35..e659bce0568 100644 --- a/lisp/eshell/em-term.el +++ b/lisp/eshell/em-term.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; em-term.el --- running visual commands | 1 | ;;; em-term.el --- running visual commands |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/em-unix.el b/lisp/eshell/em-unix.el index 32744c702a6..f6dd0d5e990 100644 --- a/lisp/eshell/em-unix.el +++ b/lisp/eshell/em-unix.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; em-unix.el --- UNIX command aliases | 1 | ;;; em-unix.el --- UNIX command aliases |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/em-xtra.el b/lisp/eshell/em-xtra.el index 2e7a813cb75..7c559772dd3 100644 --- a/lisp/eshell/em-xtra.el +++ b/lisp/eshell/em-xtra.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; em-xtra.el --- extra alias functions | 1 | ;;; em-xtra.el --- extra alias functions |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/esh-arg.el b/lisp/eshell/esh-arg.el index ad52a5d4a71..73f7fc557e5 100644 --- a/lisp/eshell/esh-arg.el +++ b/lisp/eshell/esh-arg.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; esh-arg.el --- argument processing | 1 | ;;; esh-arg.el --- argument processing |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el index e6e89d83b7c..69dc6c76b41 100644 --- a/lisp/eshell/esh-cmd.el +++ b/lisp/eshell/esh-cmd.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; esh-cmd.el --- command invocation | 1 | ;;; esh-cmd.el --- command invocation |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/esh-ext.el b/lisp/eshell/esh-ext.el index e48213c54d6..3fe48b26e27 100644 --- a/lisp/eshell/esh-ext.el +++ b/lisp/eshell/esh-ext.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; esh-ext.el --- commands external to Eshell | 1 | ;;; esh-ext.el --- commands external to Eshell |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/esh-io.el b/lisp/eshell/esh-io.el index 9f3cfe0f6d0..66172c8f662 100644 --- a/lisp/eshell/esh-io.el +++ b/lisp/eshell/esh-io.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; esh-io.el --- I/O management | 1 | ;;; esh-io.el --- I/O management |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/esh-mode.el b/lisp/eshell/esh-mode.el index 673632400f2..c22d7c16e98 100644 --- a/lisp/eshell/esh-mode.el +++ b/lisp/eshell/esh-mode.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; esh-mode.el --- user interface | 1 | ;;; esh-mode.el --- user interface |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/esh-module.el b/lisp/eshell/esh-module.el index 2e3c6b8b7b5..5008ef705db 100644 --- a/lisp/eshell/esh-module.el +++ b/lisp/eshell/esh-module.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; esh-module.el --- Eshell modules | 1 | ;;; esh-module.el --- Eshell modules |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2000, 2002-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2000, 2002-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | ;; Keywords: processes | 6 | ;; Keywords: processes |
diff --git a/lisp/eshell/esh-opt.el b/lisp/eshell/esh-opt.el index fed2d8f1c62..6044759f8df 100644 --- a/lisp/eshell/esh-opt.el +++ b/lisp/eshell/esh-opt.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; esh-opt.el --- command options processing | 1 | ;;; esh-opt.el --- command options processing |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/esh-proc.el b/lisp/eshell/esh-proc.el index f510f4b5329..aa630dc87aa 100644 --- a/lisp/eshell/esh-proc.el +++ b/lisp/eshell/esh-proc.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; esh-proc.el --- process management | 1 | ;;; esh-proc.el --- process management |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
| @@ -165,43 +165,38 @@ The signals which will cause this to happen are matched by | |||
| 165 | (list-processes))) | 165 | (list-processes))) |
| 166 | 166 | ||
| 167 | (defun eshell/kill (&rest args) | 167 | (defun eshell/kill (&rest args) |
| 168 | "Kill processes, buffers, symbol or files." | 168 | "Kill processes. |
| 169 | (let ((ptr args) | 169 | Usage: kill [-<signal>] <pid>|<process> ... |
| 170 | (signum 'SIGINT)) | 170 | Accepts PIDs and process objects." |
| 171 | (while ptr | 171 | ;; If the first argument starts with a dash, treat it as the signal |
| 172 | (if (or (eshell-processp (car ptr)) | 172 | ;; specifier. |
| 173 | (and (stringp (car ptr)) | 173 | (let ((signum 'SIGINT)) |
| 174 | (string-match "^[A-Za-z/][A-Za-z0-9<>/]+$" | 174 | (let ((arg (car args)) |
| 175 | (car ptr)))) | 175 | (case-fold-search nil)) |
| 176 | ;; What about when $lisp-variable is possible here? | 176 | (when (stringp arg) |
| 177 | ;; It could very well name a process. | 177 | (cond |
| 178 | (setcar ptr (get-process (car ptr)))) | 178 | ((string-match "\\`-[[:digit:]]+\\'" arg) |
| 179 | (setq ptr (cdr ptr))) | 179 | (setq signum (abs (string-to-number arg)))) |
| 180 | ((string-match "\\`-\\([[:upper:]]+\\|[[:lower:]]+\\)\\'" arg) | ||
| 181 | (setq signum (abs (string-to-number arg))))) | ||
| 182 | (setq args (cdr args)))) | ||
| 180 | (while args | 183 | (while args |
| 181 | (let ((id (if (eshell-processp (car args)) | 184 | (let ((arg (if (eshell-processp (car args)) |
| 182 | (process-id (car args)) | 185 | (process-id (car args)) |
| 183 | (car args)))) | 186 | (car args)))) |
| 184 | (when id | 187 | (when arg |
| 185 | (cond | 188 | (cond |
| 186 | ((null id) | 189 | ((null arg) |
| 187 | (error "kill: bad signal spec")) | 190 | (error "kill: null pid. Process may actually be a network connection.")) |
| 188 | ((and (numberp id) (= id 0)) | 191 | ((not (numberp arg)) |
| 189 | (error "kill: bad signal spec `%d'" id)) | 192 | (error "kill: invalid argument type: %s" (type-of arg))) |
| 190 | ((and (stringp id) | 193 | ((and (numberp arg) |
| 191 | (string-match "^-?[0-9]+$" id)) | 194 | (<= arg 0)) |
| 192 | (setq signum (abs (string-to-number id)))) | 195 | (error "kill: bad pid: %d" arg)) |
| 193 | ((stringp id) | 196 | (t |
| 194 | (let (case-fold-search) | 197 | (signal-process arg signum))))) |
| 195 | (if (string-match "^-\\([A-Z]+[12]?\\)$" id) | 198 | (setq args (cdr args)))) |
| 196 | (setq signum | 199 | nil) |
| 197 | (intern (concat "SIG" (match-string 1 id)))) | ||
| 198 | (error "kill: bad signal spec `%s'" id)))) | ||
| 199 | ((< id 0) | ||
| 200 | (setq signum (abs id))) | ||
| 201 | (t | ||
| 202 | (signal-process id signum))))) | ||
| 203 | (setq args (cdr args))) | ||
| 204 | nil)) | ||
| 205 | 200 | ||
| 206 | (defun eshell-read-process-name (prompt) | 201 | (defun eshell-read-process-name (prompt) |
| 207 | "Read the name of a process from the minibuffer, using completion. | 202 | "Read the name of a process from the minibuffer, using completion. |
diff --git a/lisp/eshell/esh-util.el b/lisp/eshell/esh-util.el index 01df5fced62..f9b86219e9b 100644 --- a/lisp/eshell/esh-util.el +++ b/lisp/eshell/esh-util.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; esh-util.el --- general utilities | 1 | ;;; esh-util.el --- general utilities |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
| @@ -229,6 +229,7 @@ If N or M is nil, it means the end of the list." | |||
| 229 | "Content of $PATH. | 229 | "Content of $PATH. |
| 230 | It might be different from \(getenv \"PATH\"\), when | 230 | It might be different from \(getenv \"PATH\"\), when |
| 231 | `default-directory' points to a remote host.") | 231 | `default-directory' points to a remote host.") |
| 232 | (make-variable-buffer-local 'eshell-path-env) | ||
| 232 | 233 | ||
| 233 | (defun eshell-parse-colon-path (path-env) | 234 | (defun eshell-parse-colon-path (path-env) |
| 234 | "Split string with `parse-colon-path'. | 235 | "Split string with `parse-colon-path'. |
diff --git a/lisp/eshell/esh-var.el b/lisp/eshell/esh-var.el index 6a0e159e82e..06858c5b986 100644 --- a/lisp/eshell/esh-var.el +++ b/lisp/eshell/esh-var.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; esh-var.el --- handling of variables | 1 | ;;; esh-var.el --- handling of variables |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | 6 | ||
diff --git a/lisp/eshell/eshell.el b/lisp/eshell/eshell.el index a9a854221a4..a76adb1fd94 100644 --- a/lisp/eshell/eshell.el +++ b/lisp/eshell/eshell.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; eshell.el --- the Emacs command shell | 1 | ;;; eshell.el --- the Emacs command shell |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Wiegley <johnw@gnu.org> | 5 | ;; Author: John Wiegley <johnw@gnu.org> |
| 6 | ;; Version: 2.4.2 | 6 | ;; Version: 2.4.2 |