aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier <[email protected]>2013-09-12 16:15:53 -0400
committerStefan Monnier <[email protected]>2013-09-12 16:15:53 -0400
commitae5e4c483a4700fed927f546eebf06d1b1e92057 (patch)
tree4856711ffc0c5424f197db8f790423fc55e410be
parentda0752f93768a43bb411955cb27c5438462ec210 (diff)
* lisp/eshell/*.el: Use lexical-binding.
* test/automated/eshell.el: Move from test/eshell.el. (eshell-test/for-loop, eshell-test/for-name-loop): New tests. Fixes: debbugs:15231
-rw-r--r--lisp/ChangeLog7
-rw-r--r--lisp/eshell/em-alias.el2
-rw-r--r--lisp/eshell/em-banner.el2
-rw-r--r--lisp/eshell/em-basic.el2
-rw-r--r--lisp/eshell/em-cmpl.el22
-rw-r--r--lisp/eshell/em-dirs.el2
-rw-r--r--lisp/eshell/em-glob.el2
-rw-r--r--lisp/eshell/em-hist.el2
-rw-r--r--lisp/eshell/em-ls.el2
-rw-r--r--lisp/eshell/em-pred.el2
-rw-r--r--lisp/eshell/em-prompt.el2
-rw-r--r--lisp/eshell/em-rebind.el2
-rw-r--r--lisp/eshell/em-script.el2
-rw-r--r--lisp/eshell/em-smart.el2
-rw-r--r--lisp/eshell/em-term.el2
-rw-r--r--lisp/eshell/em-tramp.el2
-rw-r--r--lisp/eshell/em-unix.el2
-rw-r--r--lisp/eshell/em-xtra.el2
-rw-r--r--lisp/eshell/esh-arg.el2
-rw-r--r--lisp/eshell/esh-cmd.el2
-rw-r--r--lisp/eshell/esh-ext.el2
-rw-r--r--lisp/eshell/esh-io.el2
-rw-r--r--lisp/eshell/esh-mode.el2
-rw-r--r--lisp/eshell/esh-module.el2
-rw-r--r--lisp/eshell/esh-opt.el2
-rw-r--r--lisp/eshell/esh-proc.el2
-rw-r--r--lisp/eshell/esh-util.el2
-rw-r--r--lisp/eshell/esh-var.el2
-rw-r--r--lisp/eshell/eshell.el2
-rw-r--r--test/ChangeLog25
-rw-r--r--test/automated/eshell.el (renamed from test/eshell.el)8
31 files changed, 60 insertions, 56 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 5cae5873f9..b8fc9b32f9 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,7 +1,10 @@
+2013-09-12 Stefan Monnier <[email protected]>
+
+ * eshell/*.el: Use lexical-binding (bug#15231).
+
2013-09-12 Kenichi Handa <[email protected]>
- * composite.el (compose-gstring-for-graphic): Handle enclosing
- mark.
+ * composite.el (compose-gstring-for-graphic): Handle enclosing mark.
2013-09-12 Glenn Morris <[email protected]>
diff --git a/lisp/eshell/em-alias.el b/lisp/eshell/em-alias.el
index 9a9cc4cd56..210d71be9c 100644
--- a/lisp/eshell/em-alias.el
+++ b/lisp/eshell/em-alias.el
@@ -1,4 +1,4 @@
-;;; em-alias.el --- creation and management of command aliases
+;;; em-alias.el --- creation and management of command aliases -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/em-banner.el b/lisp/eshell/em-banner.el
index 8c3eebf351..3e1970d97d 100644
--- a/lisp/eshell/em-banner.el
+++ b/lisp/eshell/em-banner.el
@@ -1,4 +1,4 @@
-;;; em-banner.el --- sample module that displays a login banner
+;;; em-banner.el --- sample module that displays a login banner -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/em-basic.el b/lisp/eshell/em-basic.el
index c440bd0a92..fb2eb85c8e 100644
--- a/lisp/eshell/em-basic.el
+++ b/lisp/eshell/em-basic.el
@@ -1,4 +1,4 @@
-;;; em-basic.el --- basic shell builtin commands
+;;; em-basic.el --- basic shell builtin commands -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/em-cmpl.el b/lisp/eshell/em-cmpl.el
index 7120f639a7..fe7a79cf95 100644
--- a/lisp/eshell/em-cmpl.el
+++ b/lisp/eshell/em-cmpl.el
@@ -1,4 +1,4 @@
-;;; em-cmpl.el --- completion using the TAB key
+;;; em-cmpl.el --- completion using the TAB key -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
@@ -297,19 +297,16 @@ to writing a completion function."
(define-key eshell-mode-map [(meta tab)] 'eshell-complete-lisp-symbol)
(define-key eshell-mode-map [(meta control ?i)] 'eshell-complete-lisp-symbol)
(define-key eshell-command-map [(meta ?h)] 'eshell-completion-help)
- (define-key eshell-command-map [tab] 'pcomplete-expand-and-complete)
(define-key eshell-command-map [(control ?i)]
'pcomplete-expand-and-complete)
(define-key eshell-command-map [space] 'pcomplete-expand)
(define-key eshell-command-map [? ] 'pcomplete-expand)
- (define-key eshell-mode-map [tab] 'eshell-pcomplete)
- (define-key eshell-mode-map [(control ?i)] 'eshell-pcomplete)
+ (define-key eshell-mode-map [(control ?i)] 'pcomplete)
(add-hook 'completion-at-point-functions
#'pcomplete-completions-at-point nil t)
;; jww (1999-10-19): Will this work on anything but X?
- (if (featurep 'xemacs)
- (define-key eshell-mode-map [iso-left-tab] 'pcomplete-reverse)
- (define-key eshell-mode-map [backtab] 'pcomplete-reverse))
+ (define-key eshell-mode-map (if (featurep 'xemacs) [iso-left-tab] [backtab])
+ 'pcomplete-reverse)
(define-key eshell-mode-map [(meta ??)] 'pcomplete-list))
(defun eshell-completion-command-name ()
@@ -458,16 +455,7 @@ to writing a completion function."
(all-completions filename obarray 'functionp))
completions)))))))
-(defun eshell-pcomplete (&optional interactively)
- "Eshell wrapper for `pcomplete'."
- (interactive "p")
- ;; Pretend to be pcomplete so that cycling works (bug#13293).
- (setq this-command 'pcomplete)
- (condition-case nil
- (if interactively
- (call-interactively 'pcomplete)
- (pcomplete))
- (text-read-only (completion-at-point)))) ; Workaround for bug#12838.
+(define-obsolete-function-alias 'eshell-pcomplete 'completion-at-point)
(provide 'em-cmpl)
diff --git a/lisp/eshell/em-dirs.el b/lisp/eshell/em-dirs.el
index e8fbe0518a..2cfd14b5f6 100644
--- a/lisp/eshell/em-dirs.el
+++ b/lisp/eshell/em-dirs.el
@@ -1,4 +1,4 @@
-;;; em-dirs.el --- directory navigation commands
+;;; em-dirs.el --- directory navigation commands -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/em-glob.el b/lisp/eshell/em-glob.el
index b5ca811947..596547c3f5 100644
--- a/lisp/eshell/em-glob.el
+++ b/lisp/eshell/em-glob.el
@@ -1,4 +1,4 @@
-;;; em-glob.el --- extended file name globbing
+;;; em-glob.el --- extended file name globbing -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el
index 694fe71a95..8e56de251a 100644
--- a/lisp/eshell/em-hist.el
+++ b/lisp/eshell/em-hist.el
@@ -1,4 +1,4 @@
-;;; em-hist.el --- history list management
+;;; em-hist.el --- history list management -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/em-ls.el b/lisp/eshell/em-ls.el
index 3dee1adb58..0e10d984f8 100644
--- a/lisp/eshell/em-ls.el
+++ b/lisp/eshell/em-ls.el
@@ -1,4 +1,4 @@
-;;; em-ls.el --- implementation of ls in Lisp
+;;; em-ls.el --- implementation of ls in Lisp -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el
index 14d3020530..f7d7605107 100644
--- a/lisp/eshell/em-pred.el
+++ b/lisp/eshell/em-pred.el
@@ -1,4 +1,4 @@
-;;; em-pred.el --- argument predicates and modifiers (ala zsh)
+;;; em-pred.el --- argument predicates and modifiers (ala zsh) -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/em-prompt.el b/lisp/eshell/em-prompt.el
index 18731121c4..9b9c109527 100644
--- a/lisp/eshell/em-prompt.el
+++ b/lisp/eshell/em-prompt.el
@@ -1,4 +1,4 @@
-;;; em-prompt.el --- command prompts
+;;; em-prompt.el --- command prompts -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/em-rebind.el b/lisp/eshell/em-rebind.el
index a526d59030..378a57b068 100644
--- a/lisp/eshell/em-rebind.el
+++ b/lisp/eshell/em-rebind.el
@@ -1,4 +1,4 @@
-;;; em-rebind.el --- rebind keys when point is at current input
+;;; em-rebind.el --- rebind keys when point is at current input -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/em-script.el b/lisp/eshell/em-script.el
index b073928738..1a19698faa 100644
--- a/lisp/eshell/em-script.el
+++ b/lisp/eshell/em-script.el
@@ -1,4 +1,4 @@
-;;; em-script.el --- Eshell script files
+;;; em-script.el --- Eshell script files -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/em-smart.el b/lisp/eshell/em-smart.el
index aa9038aafb..e6fa463aec 100644
--- a/lisp/eshell/em-smart.el
+++ b/lisp/eshell/em-smart.el
@@ -1,4 +1,4 @@
-;;; em-smart.el --- smart display of output
+;;; em-smart.el --- smart display of output -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/em-term.el b/lisp/eshell/em-term.el
index 2932f443e4..71329f083e 100644
--- a/lisp/eshell/em-term.el
+++ b/lisp/eshell/em-term.el
@@ -1,4 +1,4 @@
-;;; em-term.el --- running visual commands
+;;; em-term.el --- running visual commands -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/em-tramp.el b/lisp/eshell/em-tramp.el
index fb816b76a7..bb2f440313 100644
--- a/lisp/eshell/em-tramp.el
+++ b/lisp/eshell/em-tramp.el
@@ -1,4 +1,4 @@
-;;; em-tramp.el --- Eshell features that require TRAMP
+;;; em-tramp.el --- Eshell features that require TRAMP -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/em-unix.el b/lisp/eshell/em-unix.el
index b9b1c1635a..52d2b4d2a2 100644
--- a/lisp/eshell/em-unix.el
+++ b/lisp/eshell/em-unix.el
@@ -1,4 +1,4 @@
-;;; em-unix.el --- UNIX command aliases
+;;; em-unix.el --- UNIX command aliases -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/em-xtra.el b/lisp/eshell/em-xtra.el
index c4cab522cf..c9d9d5bfe2 100644
--- a/lisp/eshell/em-xtra.el
+++ b/lisp/eshell/em-xtra.el
@@ -1,4 +1,4 @@
-;;; em-xtra.el --- extra alias functions
+;;; em-xtra.el --- extra alias functions -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/esh-arg.el b/lisp/eshell/esh-arg.el
index e3a12d5ece..f791ad6652 100644
--- a/lisp/eshell/esh-arg.el
+++ b/lisp/eshell/esh-arg.el
@@ -1,4 +1,4 @@
-;;; esh-arg.el --- argument processing
+;;; esh-arg.el --- argument processing -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el
index c2922983ae..cc4fdd15bd 100644
--- a/lisp/eshell/esh-cmd.el
+++ b/lisp/eshell/esh-cmd.el
@@ -1,4 +1,4 @@
-;;; esh-cmd.el --- command invocation
+;;; esh-cmd.el --- command invocation -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/esh-ext.el b/lisp/eshell/esh-ext.el
index 474e536de2..8b312a2c25 100644
--- a/lisp/eshell/esh-ext.el
+++ b/lisp/eshell/esh-ext.el
@@ -1,4 +1,4 @@
-;;; esh-ext.el --- commands external to Eshell
+;;; esh-ext.el --- commands external to Eshell -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/esh-io.el b/lisp/eshell/esh-io.el
index 4edb47e475..f620890ee6 100644
--- a/lisp/eshell/esh-io.el
+++ b/lisp/eshell/esh-io.el
@@ -1,4 +1,4 @@
-;;; esh-io.el --- I/O management
+;;; esh-io.el --- I/O management -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/esh-mode.el b/lisp/eshell/esh-mode.el
index 54a36428d5..1a80e3894e 100644
--- a/lisp/eshell/esh-mode.el
+++ b/lisp/eshell/esh-mode.el
@@ -1,4 +1,4 @@
-;;; esh-mode.el --- user interface
+;;; esh-mode.el --- user interface -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/esh-module.el b/lisp/eshell/esh-module.el
index 5008ef705d..181d08f8a1 100644
--- a/lisp/eshell/esh-module.el
+++ b/lisp/eshell/esh-module.el
@@ -1,4 +1,4 @@
-;;; esh-module.el --- Eshell modules
+;;; esh-module.el --- Eshell modules -*- lexical-binding:t -*-
;; Copyright (C) 1999-2000, 2002-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/esh-opt.el b/lisp/eshell/esh-opt.el
index c62cbc7e1d..e9252cb540 100644
--- a/lisp/eshell/esh-opt.el
+++ b/lisp/eshell/esh-opt.el
@@ -1,4 +1,4 @@
-;;; esh-opt.el --- command options processing
+;;; esh-opt.el --- command options processing -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/esh-proc.el b/lisp/eshell/esh-proc.el
index 171d70c077..e77287c2f7 100644
--- a/lisp/eshell/esh-proc.el
+++ b/lisp/eshell/esh-proc.el
@@ -1,4 +1,4 @@
-;;; esh-proc.el --- process management
+;;; esh-proc.el --- process management -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/esh-util.el b/lisp/eshell/esh-util.el
index 968d1ebad7..cac46ea8d1 100644
--- a/lisp/eshell/esh-util.el
+++ b/lisp/eshell/esh-util.el
@@ -1,4 +1,4 @@
-;;; esh-util.el --- general utilities
+;;; esh-util.el --- general utilities -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/esh-var.el b/lisp/eshell/esh-var.el
index 75c36a6854..f68b65dfd4 100644
--- a/lisp/eshell/esh-var.el
+++ b/lisp/eshell/esh-var.el
@@ -1,4 +1,4 @@
-;;; esh-var.el --- handling of variables
+;;; esh-var.el --- handling of variables -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/lisp/eshell/eshell.el b/lisp/eshell/eshell.el
index e3f8f0d11b..47078d142d 100644
--- a/lisp/eshell/eshell.el
+++ b/lisp/eshell/eshell.el
@@ -1,4 +1,4 @@
-;;; eshell.el --- the Emacs command shell
+;;; eshell.el --- the Emacs command shell -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
diff --git a/test/ChangeLog b/test/ChangeLog
index 7b39097d3b..3e42e18b2b 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,8 @@
+2013-09-12 Stefan Monnier <[email protected]>
+
+ * automated/eshell.el: Rename from eshell.el.
+ (eshell-test/for-loop, eshell-test/for-name-loop): New tests (bug#15231).
+
2013-09-01 Glenn Morris <[email protected]>
* automated/Makefile.in (setwins): Avoid leading space in $wins.
@@ -164,25 +169,25 @@
2013-07-05 Michael Albinus <[email protected]>
* automated/file-notify-tests.el
- (file-notify-test-remote-temporary-file-directory): Use
- `null-device' on w32.
+ (file-notify-test-remote-temporary-file-directory):
+ Use `null-device' on w32.
(file-notify--test-tmpfile, file-notify--test-tmpfile1)
(file-notify--test-results, file-notify--test-event)
(file-notify--deftest-remote, file-notify--event-test)
(file-notify--test-event-handler)
- (file-notify--test-make-temp-name): Renamed, in order to mark them
+ (file-notify--test-make-temp-name): Rename, in order to mark them
internal.
(tramp-message-show-message, tramp-read-passwd): Tweak them for
better fitting in noninteractive tests.
- (file-notify-test00-availability): Renamed from `file-notify-test0'.
- (file-notify-test01-add-watch): Renamed from `file-notify-test1'.
+ (file-notify-test00-availability): Rename from `file-notify-test0'.
+ (file-notify-test01-add-watch): Rename from `file-notify-test1'.
Use `temporary-file-directory '.
(file-notify-test01-add-watch-remote): New test.
- (file-notify-test02-events): Renamed from `file-notify-test2'.
- (file-notify-test02-events-remote): Renamed from `file-notify-test3'.
- (file-notify-test03-autorevert): Renamed from
+ (file-notify-test02-events): Rename from `file-notify-test2'.
+ (file-notify-test02-events-remote): Rename from `file-notify-test3'.
+ (file-notify-test03-autorevert): Rename from
`file-notify-test4'. Use timeouts.
- (file-notify-test03-autorevert-remote): Renamed from
+ (file-notify-test03-autorevert-remote): Rename from
`file-notify-test5'.
2013-07-04 Michael Albinus <[email protected]>
@@ -192,7 +197,7 @@
2013-06-28 Kenichi Handa <[email protected]>
* automated/decoder-tests.el (decoder-tests-gen-file): New arg FILE.
- (decoder-tests-ao-gen-file): Renamed from decoder-tests-filename.
+ (decoder-tests-ao-gen-file): Rename from decoder-tests-filename.
Callers changed.
(decoder-tests-filename): New function.
(decoder-tests-prefer-utf-8-read)
diff --git a/test/eshell.el b/test/automated/eshell.el
index 126a47220c..a7df294542 100644
--- a/test/eshell.el
+++ b/test/automated/eshell.el
@@ -62,6 +62,14 @@
"Test `eshell-command-result' with an elisp command."
(should (equal (eshell-command-result "(+ 1 2)") 3)))
+(ert-deftest eshell-test/for-loop ()
+ "Test `eshell-command-result' with an elisp command."
+ (should (equal (eshell-command-result "for foo in 5 { echo $foo }") 5)))
+
+(ert-deftest eshell-test/for-name-loop () ;Bug#15231
+ "Test `eshell-command-result' with an elisp command."
+ (should (equal (eshell-command-result "for name in 3 { echo $name }") 3)))
+
(ert-deftest eshell-test/lisp-command-args ()
"Test `eshell-command-result' with elisp and trailing args.
Test that trailing arguments outside the S-expression are