* test/automated/eshell.el: Move from test/eshell.el.
(eshell-test/for-loop, eshell-test/for-name-loop): New tests.
Fixes: debbugs:15231
+2013-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eshell/*.el: Use lexical-binding (bug#15231).
+
2013-09-12 Kenichi Handa <handa@gnu.org>
- * composite.el (compose-gstring-for-graphic): Handle enclosing
- mark.
+ * composite.el (compose-gstring-for-graphic): Handle enclosing mark.
2013-09-12 Glenn Morris <rgm@gnu.org>
-;;; 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.
-;;; 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.
-;;; 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.
-;;; 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.
(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 ()
(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)
-;;; em-dirs.el --- directory navigation commands
+;;; em-dirs.el --- directory navigation commands -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
-;;; 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.
-;;; em-hist.el --- history list management
+;;; em-hist.el --- history list management -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
-;;; 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.
-;;; 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.
-;;; em-prompt.el --- command prompts
+;;; em-prompt.el --- command prompts -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
-;;; 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.
-;;; em-script.el --- Eshell script files
+;;; em-script.el --- Eshell script files -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
-;;; 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.
-;;; em-term.el --- running visual commands
+;;; em-term.el --- running visual commands -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
-;;; 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.
-;;; em-unix.el --- UNIX command aliases
+;;; em-unix.el --- UNIX command aliases -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
-;;; em-xtra.el --- extra alias functions
+;;; em-xtra.el --- extra alias functions -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
-;;; esh-arg.el --- argument processing
+;;; esh-arg.el --- argument processing -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
-;;; esh-cmd.el --- command invocation
+;;; esh-cmd.el --- command invocation -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
-;;; 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.
-;;; esh-io.el --- I/O management
+;;; esh-io.el --- I/O management -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
-;;; esh-mode.el --- user interface
+;;; esh-mode.el --- user interface -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
-;;; esh-module.el --- Eshell modules
+;;; esh-module.el --- Eshell modules -*- lexical-binding:t -*-
;; Copyright (C) 1999-2000, 2002-2013 Free Software Foundation, Inc.
-;;; esh-opt.el --- command options processing
+;;; esh-opt.el --- command options processing -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
-;;; esh-proc.el --- process management
+;;; esh-proc.el --- process management -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
-;;; esh-util.el --- general utilities
+;;; esh-util.el --- general utilities -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
-;;; esh-var.el --- handling of variables
+;;; esh-var.el --- handling of variables -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
-;;; eshell.el --- the Emacs command shell
+;;; eshell.el --- the Emacs command shell -*- lexical-binding:t -*-
;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
+2013-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * 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 <rgm@gnu.org>
* automated/Makefile.in (setwins): Avoid leading space in $wins.
2013-07-05 Michael Albinus <michael.albinus@gmx.de>
* 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 <michael.albinus@gmx.de>
2013-06-28 Kenichi Handa <handa@gnu.org>
* 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)
"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