Commit graph

79 commits

Author SHA1 Message Date
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Stefan Monnier
84998447c3 * lisp/eshell/esh-cmd.el (eshell--sep-terms): New var.
(eshell-parse-command, eshell-parse-pipeline): Use it since
eshell-separate-commands requires a dynamic scoped var.
Reported by Jan Moringen <jmoringe@techfak.uni-bielefeld.de>.
2013-09-23 19:23:32 -04:00
Stefan Monnier
e8b66a6a26 * lisp/eshell/esh-cmd.el (eshell-post-rewrite-command-function): New var.
(eshell-post-rewrite-command-hook): Make obsolete.
(eshell-parse-command): Simplify.
(eshell-structure-basic-command): Remove unused arg `vocal-test'.
(eshell--cmd): Declare.
(eshell-parse-pipeline): Remove unused var `final-p'.
Pass a dynvar to eshell-post-rewrite-command-hook.
Implement the new eshell-post-rewrite-command-function.
(eshell-invoke-directly): Remove unused arg `input'.
* lisp/eshell/esh-io.el (eshell-io-initialize):
Use eshell-post-rewrite-command-function.
(eshell--apply-redirections): Rename from eshell-apply-redirections;
adjust to new calling convention.
(eshell-create-handles): Rename args to avoid clashing with dynvar
`standard-output'.

Fixes: debbugs:15399
2013-09-17 11:19:12 -04:00
Glenn Morris
1e53bb4bf2 * lisp/eshell/esh-cmd.el (eshell--local-vars): New variable.
(eshell-rewrite-for-command): Add for loop vars to eshell--local-vars.

* lisp/eshell/esh-var.el (eshell-get-variable): Respect eshell--local-vars.

* test/automated/eshell.el (eshell-test/for-name-shadow-loop):
New test.
(eshell-test/for-loop, eshell-test/for-name-loop): Doc fix.

Fixes: debbugs:15372
2013-09-14 17:10:45 -07:00
Stefan Monnier
ae5e4c483a * 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
2013-09-12 16:15:53 -04:00
Stefan Monnier
170266d096 Cleanup Eshell to rely less on dynamic scoping.
* 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
`err'.
* lisp/eshell/em-unix.el (compilation-scroll-output, locate-history-list):
Declare.
(eshell/diff): Remove unused var `err'.
* lisp/eshell/em-rebind.el (eshell-delete-backward-char): Remove unused arg
`killflag'.
* 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.
2013-09-12 01:20:07 -04:00
Stefan Monnier
671d5c1654 * lisp/subr.el (macrop): New function.
(text-clone--maintaining): New var.
(text-clone--maintain): Rename from text-clone-maintain.  Use it
instead of inhibit-modification-hooks.

* lisp/emacs-lisp/nadvice.el (advice--normalize): For aliases to macros, use
a proxy, so as handle autoloads and redefinitions of the target.
(advice--defalias-fset, advice-remove): Use advice--symbol-function.

* lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
Remove bogus (arrayp . stringp) pair.  Add entries for `vectorp'.
(pcase--mutually-exclusive-p): New function.
(pcase--split-consp): Use it.
(pcase--split-pred): Use it.  Optimize the case where `pat' is a qpat
mutually exclusive with the current predicate.

* test/automated/advice-tests.el (advice-tests-nadvice): Test removal
before definition.
(advice-tests-macroaliases): New test.

* lisp/emacs-lisp/edebug.el (edebug-lookup-function): Remove function.
(edebug-macrop): Remove.  Use `macrop' instead.
* lisp/emacs-lisp/advice.el (ad-subr-p): Remove.  Use `subrp' instead.
(ad-macro-p):
* lisp/eshell/esh-cmd.el (eshell-macrop):
* lisp/apropos.el (apropos-macrop): Remove.  Use `macrop' instead.
2013-08-04 16:18:11 -04:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Chong Yidong
045ef72904 Fix for Eshell's for loop.
* eshell/esh-cmd.el (eshell-rewrite-for-command): Copy the body
list explicitly.

Fixes: debbugs:12571
2012-10-20 19:54:24 +08:00
Glenn Morris
9a48e16891 Improve previous eshell change 2012-09-24 14:38:14 -04:00
Glenn Morris
289c24bdfd * eshell/esh-cmd.el (eshell-find-alias-function): Tighten up file-name regexp. 2012-09-24 14:22:10 -04:00
Stefan Monnier
a464a6c73a More CL cleanups and reduction of use of cl.el.
* woman.el, winner.el, vc/vc-rcs.el, vc/vc-hooks.el, vc/vc-hg.el:
* vc/vc-git.el, vc/vc-dir.el, vc/vc-bzr.el, vc/vc-annotate.el:
* textmodes/tex-mode.el, textmodes/sgml-mode.el, tar-mode.el:
* strokes.el, ses.el, server.el, progmodes/js.el, progmodes/gdb-mi.el:
* progmodes/flymake.el, progmodes/ebrowse.el, progmodes/compile.el:
* play/tetris.el, play/snake.el, play/pong.el, play/landmark.el:
* play/hanoi.el, play/decipher.el, play/5x5.el, nxml/nxml-mode.el:
* net/secrets.el, net/quickurl.el, midnight.el, mail/footnote.el:
* image-dired.el, ibuffer.el, ibuf-macs.el, ibuf-ext.el, hexl.el:
* eshell/eshell.el, eshell/esh-io.el, eshell/esh-ext.el:
* eshell/esh-cmd.el, eshell/em-ls.el, eshell/em-hist.el:
* eshell/em-cmpl.el, eshell/em-banner.el:
* url/url.el, url/url-queue.el, url/url-parse.el, url/url-http.el:
* url/url-future.el, url/url-dav.el, url/url-cookie.el:
* calendar/parse-time.el, test/eshell.el: Use cl-lib.
* wid-browse.el, wdired.el, vc/vc.el, vc/vc-mtn.el, vc/vc-cvs.el:
* vc/vc-arch.el, tree-widget.el, textmodes/texinfo.el:
* textmodes/refill.el, textmodes/css-mode.el, term/tvi970.el:
* term/ns-win.el, term.el, shell.el, ps-samp.el:
* progmodes/perl-mode.el, progmodes/pascal.el, progmodes/gud.el:
* progmodes/glasses.el, progmodes/etags.el, progmodes/cwarn.el:
* play/gamegrid.el, play/bubbles.el, novice.el, notifications.el:
* net/zeroconf.el, net/xesam.el, net/snmp-mode.el, net/mairix.el:
* net/ldap.el, net/eudc.el, net/browse-url.el, man.el:
* mail/mailheader.el, mail/feedmail.el:
* url/url-util.el, url/url-privacy.el, url/url-nfs.el, url/url-misc.el:
* url/url-methods.el, url/url-gw.el, url/url-file.el, url/url-expand.el:
Dont use CL.
* ibuf-ext.el (ibuffer-mark-old-buffers): Use float-time.
* eshell/esh-opt.el (eshell-eval-using-options): Quote code with
`lambda' rather than with `quote'.
(eshell-do-opt): Adjust accordingly.
(eshell-process-option): Simplify.
* eshell/esh-var.el:
* eshell/em-script.el: Require `esh-opt' for eshell-eval-using-options.
* emacs-pcase.el (pcase--dontcare-upats, pcase--let*)
(pcase--expand, pcase--u1): Rename pcase's internal `dontcare' pattern
to `pcase--dontcare'.
* emacs-cl.el (labels): Mark obsolete.
(cl--letf, letf): Move to cl-lib.
(cl--letf*, letf*): Remove.
* emacs-cl-lib.el (cl-nth-value): Use defalias.
* emacs-cl-macs.el (cl-dolist, cl-dotimes): Add indent rule.
(cl-progv): Rewrite.
(cl--letf, cl-letf): Move from cl.el.
(cl-letf*): New macro.
* emacs-cl-extra.el (cl--progv-before, cl--progv-after): Remove.
2012-07-11 19:13:41 -04:00
Sam Steingold
d2c32364fd * lisp/files.el (file-name-base): New convenience function.
* lisp/autoinsert.el, lisp/cus-dep.el, lisp/doc-view.el, lisp/image-dired.el,
* lisp/woman.el, lisp/eshell/esh-cmd.el, lisp/progmodes/ada-xref.el,
* lisp/progmodes/cc-defs.el, lisp/progmodes/cperl-mode.el,
* lisp/progmodes/flymake.el, lisp/progmodes/gud.el, lisp/progmodes/idlwave.el,
* lisp/textmodes/ispell.el, lisp/textmodes/reftex-ref.el,
* lisp/textmodes/tex-mode.el: Use it.
Did not touch cedet and org because they are maintained elsewhere.
2012-06-26 12:23:01 -04:00
Juanma Barranquero
b499d8d02c lisp/eshell/esh-cmd.el (eshell-debug-command): Fix typo in previous change. 2012-05-09 02:29:00 +02:00
Glenn Morris
aac7ba08b8 Further doc fix. 2012-05-01 15:27:10 -04:00
Glenn Morris
beb83b5ac5 * lisp/eshell/esh-cmd.el (eshell-debug-command): Doc fix. Add :set. 2012-05-01 14:48:46 -04:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Stefan Monnier
6dbe3e96cf * lisp/eshell/esh-cmd.el (eshell-do-eval): Handle `setq'.
(eshell-rewrite-for-command): Remove workaround.
(eshell-do-pipelines, eshell-do-pipelines-synchronously)
(eshell-do-eval, eshell-exec-lisp): Avoid gratuitous setq.
* lisp/eshell/esh-util.el (eshell-condition-case, eshell-for): Use declare.

Fixes: debbugs:9907
2011-11-18 09:49:42 -05:00
Paul Eggert
91af3942e9 Spelling fixes. 2011-11-14 15:59:56 -08:00
Stefan Monnier
c1e2f5fa69 * lisp/eshell/esh-cmd.el (eshell-rewrite-for-command): Fix last change.
(eshell-do-eval): Handle multiple expressions in `while' body.

Fixes: debbugs:9907
2011-10-30 04:01:31 -04:00
Stefan Monnier
1bc4c3aeb9 * lisp/eshell/esh-cmd.el (eshell-rewrite-for-command): Don't modify the list
in place.
(eshell-subcommand-arg-values, eshell-rewrite-named-command)
(eshell-rewrite-if-command, eshell-rewrite-for-command)
(eshell-structure-basic-command, eshell-rewrite-while-command)
(eshell-invokify-arg, eshell-parse-pipeline, eshell-parse-command)
(eshell-parse-subcommand-argument, eshell-parse-lisp-argument)
(eshell-trap-errors, eshell-do-pipelines, eshell-do-eval)
(eshell-do-pipelines-synchronously, eshell-eval-command):
Use backquotes and prefer setq to set.
(eshell-lookup-function, function-p-func, eshell-functionp): Remove.
(eshell-macrop): Use functionp.

Fixes: debbugs:9907
2011-10-29 23:58:48 -04:00
Glenn Morris
81fb60b2aa Move eshell's self-tests to the test/ directory.
* lisp/eshell/esh-var.el: Don't require esh-test when compiling.
* lisp/eshell/em-banner.el, lisp/eshell/esh-cmd.el, lisp/eshell/esh-mode.el:
* lisp/eshell/esh-var.el, lisp/eshell/eshell.el: Move tests to esh-test.
* lisp/eshell/esh-test.el: Move to ../../test/eshell.el

* test/eshell.el: Move here from lisp/eshell/esh-test.el.
2011-03-05 12:07:27 -08:00
Glenn Morris
d783d30393 Default all eshell hooks to nil (bug#5375)
* eshell/esh-mode.el (eshell-kill-buffer-function): New function.
(eshell-mode): Use eshell-kill-buffer-function.
Run the -initialize functions independently of the -load-hooks.
* eshell/esh-proc.el (eshell-kill-process-function): New function.
(eshell-gather-process-output, eshell-sentinel)
(eshell-interrupt-process, eshell-kill-process, eshell-quit-process):
Use eshell-kill-process-function.
* eshell/em-alias.el (eshell-alias-load-hook):
* eshell/em-banner.el (eshell-banner-load-hook):
* eshell/em-cmpl.el (eshell-cmpl-load-hook):
* eshell/em-dirs.el (eshell-dirs-load-hook):
* eshell/em-glob.el (eshell-glob-load-hook):
* eshell/em-hist.el (eshell-hist-load-hook):
* eshell/em-pred.el (eshell-pred-load-hook):
* eshell/em-prompt.el (eshell-prompt-load-hook):
* eshell/em-rebind.el (eshell-rebind-load-hook):
* eshell/em-script.el (eshell-script-load-hook):
* eshell/em-smart.el (eshell-smart-load-hook):
* eshell/em-term.el (eshell-term-load-hook):
* eshell/em-unix.el (eshell-unix-load-hook):
* eshell/esh-arg.el (eshell-arg-load-hook):
* eshell/esh-cmd.el (eshell-cmd-load-hook):
* eshell/esh-ext.el (eshell-ext-load-hook):
* eshell/esh-io.el (eshell-io-load-hook):
* eshell/esh-mode.el (eshell-exit-hook):
* eshell/esh-proc.el (eshell-proc-load-hook, eshell-kill-hook):
* eshell/esh-var.el (eshell-var-load-hook):
Set default hook values to nil.  (Bug#5375)
2011-03-04 20:11:05 -08:00
Glenn Morris
a9eeff78d5 Make eshell-for obsolete (replaced by dolist)
* eshell/esh-util.el (eshell-for): Make it obsolete.
* eshell/em-alias.el (eshell/alias, eshell-alias-completions):
* eshell/em-dirs.el (eshell-save-some-last-dir):
* eshell/em-hist.el (eshell-save-some-history, eshell-hist-parse-modifier):
* eshell/em-ls.el (eshell-ls-dir, eshell-ls-files, eshell-ls-entries):
* eshell/em-unix.el (eshell/cat, eshell/du, eshell/su):
* eshell/esh-cmd.el (eshell-invoke-directly, eshell-do-eval, eshell/which):
* eshell/esh-ext.el (eshell-find-interpreter):
* eshell/esh-mode.el (eshell-mode):
* eshell/esh-module.el (eshell-unload-extension-modules):
* eshell/esh-proc.el (eshell-process-interact):
* eshell/esh-test.el (eshell-test):
* eshell/esh-util.el (eshell-flatten-list, eshell-winnow-list):
* eshell/esh-var.el (eshell/env, eshell-environment-variables)
(eshell-variables-list):
* eshell/eshell.el (eshell-unload-all-modules):
Replace eshell-for with dolist.
2011-03-04 19:53:41 -08:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Glenn Morris
0d9f702fd0 Nuke arch-tags. 2011-01-15 15:16:57 -08:00
Stefan Monnier
77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Stefan Monnier
6e13206c03 * lisp/eshell/: Use with-silent-modifications.
* lisp/eshell/esh-cmd.el (eshell-parse-command):
* lisp/eshell/esh-arg.el (eshell-parse-arguments):
* lisp/eshell/em-script.el (eshell-source-file):
Use with-silent-modifications.
2010-11-23 12:36:15 -05:00
Glenn Morris
ec60da520e Cosmetic doc fixes for eshell.
* eshell/em-alias.el, eshell/em-banner.el, eshell/em-basic.el:
* eshell/em-cmpl.el, eshell/em-dirs.el, eshell/em-glob.el:
* eshell/em-hist.el, eshell/em-ls.el, eshell/em-pred.el:
* eshell/em-prompt.el, eshell/em-rebind.el, eshell/em-script.el:
* eshell/em-smart.el, eshell/em-term.el, eshell/em-unix.el:
* eshell/esh-cmd.el, eshell/esh-ext.el, eshell/esh-io.el:
* eshell/esh-mode.el, eshell/esh-proc.el, eshell/esh-test.el:
* eshell/esh-util.el, eshell/esh-var.el:
Remove leading `*' from docs of faces and defcustoms.
2010-09-25 14:51:55 -07:00
Glenn Morris
114f9c9679 Add 2010 to copyright years. 2010-01-13 00:35:10 -08:00
Glenn Morris
ae940284fa Add 2009 to copyright years. 2009-01-05 03:18:22 +00:00
Glenn Morris
5101a9dc47 (eshell-in-pipeline-p): Add doc-string.
(eshell-do-pipelines): Add optional argument to distinguish recursive
calls.  Use to set eshell-in-pipeline-p to 'first for the first command
in a pipeline.
2008-11-23 03:02:48 +00:00
Glenn Morris
fc17acd1f1 Sven Joachim <svenjoac at gmx.de>
For clarity, explicitly require cl.
2008-10-08 07:42:58 +00:00
Glenn Morris
3fe3fd2c6d (eshell-do-pipelines): Indicate the last command in a pipeline. 2008-08-15 06:55:11 +00:00
Glenn Morris
c1043701f6 (eshell/which): Handle the case where no description is found. 2008-08-13 03:12:49 +00:00
Stefan Monnier
ee5b7365d5 (eshell-manipulate): Check eshell-debug-command is bound before using it. 2008-06-25 15:05:33 +00:00
Glenn Morris
1a32899de3 Remove unnecessary eval-when-compiles and eval-and-compiles. 2008-06-07 02:37:13 +00:00
Glenn Morris
4ee57b2a2d Switch to recommended form of GPLv3 permissions notice. 2008-05-06 03:36:21 +00:00
Stefan Monnier
cbee283dd7 Fix up comment convention on the arch-tag lines. 2008-04-10 14:10:46 +00:00
Miles Bader
59ce725a3b Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-987
2008-01-08 20:46:54 +00:00
Glenn Morris
8b72699e88 Add 2008 to copyright years. 2008-01-07 01:14:52 +00:00
Glenn Morris
56590d2f24 Require individual files if needed when compiling, rather than
esh-maint.  Collect any require statements.  Leave provide at start.
Move any commentary to start.
(eshell-debug-command): Move definition before use.
2007-12-05 07:05:27 +00:00
Dan Nicolaescu
a3269bc45f * eshell/esh-util.el (eshell-under-xemacs-p): Remove.
* eshell/esh-mode.el (eshell-mode-syntax-table)
(command-running-p):
* eshell/esh-ext.el (eshell-external-command):
* eshell/esh-cmd.el (require):
* eshell/em-unix.el (eshell-plain-locate-behavior):
* eshell/em-cmpl.el (eshell-cmpl-initialize): Replace
eshell-under-xemacs-p with (featurep 'xemacs).
* eshell/esh-mode.el (characterp,char-int): Remove unused
conditional defaliases.

* pcomplete.el (pcomplete-event-matches-key-specifier-p): Rename
from event-matches-key-specifier-p, define unconditionally.
(event-basic-type): Remove unused defalias.
(pcomplete-show-completions):
Use pcomplete-event-matches-key-specifier-p.

* mh-e.el (mh-xemacs-flag): Remove.
(mh-min-colors-defined-flag):
* mh-xface.el (mh-show-xface-function):
* mh-utils.el (mh-colors-available-p):
* mh-show.el (mh-show-mode):
* mh-gnus.el (mh-gnus-local-map-property):
* mh-folder.el (mh-folder-mode-map)
(mh-remove-xemacs-horizontal-scrollbar, mh-folder-mode):
* mh-comp.el (mh-insert-x-mailer): Replace uses of mh-xemacs-flag
with (featurep 'xemacs).
2007-11-17 17:35:09 +00:00
Chong Yidong
820b914333 (eshell-complex-commands): Add "ls". 2007-10-17 02:08:32 +00:00
Chong Yidong
de9f59f6e1 (eshell-complex-commands): Add "ls". 2007-10-17 02:07:12 +00:00
Glenn Morris
e0085d62fa Switch license to GPLv3 or later. 2007-07-25 04:14:29 +00:00
Juanma Barranquero
31096fe898 (eshell-rewrite-for-command): Fix typo in docstring. 2007-01-29 16:13:22 +00:00
Glenn Morris
f0fa15c5e5 Add 2007 to copyright years. 2007-01-21 02:48:43 +00:00
Glenn Morris
f2e3589a33 Update copyright years. 2006-12-09 04:06:06 +00:00