• Stefan Monnier's avatar
    Cleanup Eshell to rely less on dynamic scoping. · 170266d0
    Stefan Monnier authored
    * lisp/eshell/esh-opt.el (eshell-eval-using-options): Don't bind usage-msg,
    last-value, and ext-command here.  Bind `args' closer to `body'.
    (temp-args, last-value, usage-msg, ext-command, args): Don't defvar.
    (eshell--args): Declare new dynamic var.
    (eshell-do-opt): Add argument `args'.  Bind our own usage-msg,
    last-value, and ext-command.  Pass `args' to `body'.
    (eshell-process-args): Bind eshell--args.
    (eshell-set-option): Use eshell--args.
    * lisp/eshell/eshell.el (eshell): Use derived-mode-p.
    * lisp/eshell/esh-var.el (eshell-parse-variable): Use backquote.
    (eshell-parse-variable-ref): Remove unused vars `end' and `err'.
    (eshell-glob-function): Declare.
    * lisp/eshell/esh-util.el: Require cl-lib.
    (eshell-read-hosts-file): Avoid add-to-list.
    * lisp/eshell/esh-cmd.el (eshell-parse-lisp-argument): Remove unused var
    * lisp/eshell/em-unix.el (compilation-scroll-output, locate-history-list):
    (eshell/diff): Remove unused var `err'.
    * lisp/eshell/em-rebind.el (eshell-delete-backward-char): Remove unused arg
    * lisp/eshell/em-pred.el (eshell-parse-modifiers): Remove unused var `err'.
    * lisp/eshell/em-ls.el (eshell-ls-highlight-alist): Move defvars before
    first use.
    * lisp/eshell/em-glob.el (eshell-glob-matches, message-shown):
    Move declaration before first use.
    * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use backquotes.
    * autorevert.el (auto-revert-notify-handler): Use `cl-dolist' since we
    rely on cl-return.
em-unix.el 35.1 KB