X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/9b75c1e26efe96f0ed327ee06b0e046a9e5724ed..4a47c2757309e338321da1e7a2f6d399a306ce7d:/lisp/eshell/em-smart.el diff --git a/lisp/eshell/em-smart.el b/lisp/eshell/em-smart.el index f9aed42e3c..afe3cf826b 100644 --- a/lisp/eshell/em-smart.el +++ b/lisp/eshell/em-smart.el @@ -1,16 +1,16 @@ ;;; em-smart.el --- smart display of output -;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +;; 2008, 2009, 2010 Free Software Foundation, Inc. ;; Author: John Wiegley ;; This file is part of GNU Emacs. -;; GNU Emacs is free software; you can redistribute it and/or modify +;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) -;; any later version. +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -18,24 +18,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. - -(provide 'em-smart) - -(eval-when-compile (require 'esh-maint)) - -(defgroup eshell-smart nil - "This module combines the facility of normal, modern shells with -some of the edit/review concepts inherent in the design of Plan 9's -9term. See the docs for more details. - -Most likely you will have to turn this option on and play around with -it to get a real sense of how it works." - :tag "Smart display of output" - ;; :link '(info-link "(eshell)Smart display of output") - :group 'eshell-module) +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -84,10 +67,26 @@ it to get a real sense of how it works." ;; (such as pwd), where the screen is mostly full, consumption can ;; increase by orders of magnitude. +;;; Code: + +(eval-when-compile (require 'eshell)) + +;;;###autoload +(eshell-defgroup eshell-smart nil + "This module combines the facility of normal, modern shells with +some of the edit/review concepts inherent in the design of Plan 9's +9term. See the docs for more details. + +Most likely you will have to turn this option on and play around with +it to get a real sense of how it works." + :tag "Smart display of output" + ;; :link '(info-link "(eshell)Smart display of output") + :group 'eshell-module) + ;;; User Variables: (defcustom eshell-smart-load-hook '(eshell-smart-initialize) - "*A list of functions to call when loading `eshell-smart'." + "A list of functions to call when loading `eshell-smart'." :type 'hook :group 'eshell-smart) @@ -97,12 +96,12 @@ it to get a real sense of how it works." (lambda () (remove-hook 'window-configuration-change-hook 'eshell-refresh-windows)))) - "*A hook that gets run when `eshell-smart' is unloaded." + "A hook that gets run when `eshell-smart' is unloaded." :type 'hook :group 'eshell-smart) (defcustom eshell-review-quick-commands nil - "*If t, always review commands. + "If t, always review commands. Reviewing means keeping point on the text of the command that was just invoked, to allow corrections to be made easily. @@ -110,8 +109,8 @@ If set to nil, quick commands won't be reviewed. A quick command is a command that produces no output, and exits successfully. If set to `not-even-short-output', then the definition of \"quick -command\" is extended to include commands that produce output, iff -that output can be presented in its entirely in the Eshell window." +command\" is extended to include commands that produce output, if and +only if that output can be presented in its entirely in the Eshell window." :type '(choice (const :tag "No" nil) (const :tag "Yes" t) (const :tag "Not even short output" @@ -125,12 +124,12 @@ that output can be presented in its entirely in the Eshell window." yank-pop yank-rectangle yank) - "*A list of commands which cause Eshell to jump to the end of buffer." + "A list of commands which cause Eshell to jump to the end of buffer." :type '(repeat function) :group 'eshell-smart) (defcustom eshell-smart-space-goes-to-end t - "*If non-nil, space will go to end of buffer when point-max is visible. + "If non-nil, space will go to end of buffer when point-max is visible. That is, if a command is running and the user presses SPACE at a time when the end of the buffer is visible, point will go to the end of the buffer and smart-display will be turned off (that is, subsequently @@ -149,7 +148,7 @@ buffer using \\[end-of-buffer]." :group 'eshell-smart) (defcustom eshell-where-to-jump 'begin - "*This variable indicates where point should jump to after a command. + "This variable indicates where point should jump to after a command. The options are `begin', `after' or `end'." :type '(radio (const :tag "Beginning of command" begin) (const :tag "After command word" after) @@ -292,7 +291,7 @@ and the end of the buffer are still visible." (setq clear t) (cond ((eq this-command 'self-insert-command) - (if (eq last-command-char ? ) + (if (eq last-command-event ? ) (if (and eshell-smart-space-goes-to-end eshell-current-command) (if (not (pos-visible-in-window-p (point-max))) @@ -322,7 +321,11 @@ and the end of the buffer are still visible." (if clear (remove-hook 'pre-command-hook 'eshell-smart-display-move t)))) -;;; Code: +(provide 'em-smart) + +;; Local Variables: +;; generated-autoload-file: "esh-groups.el" +;; End: -;;; arch-tag: 8c0112c7-379c-4d54-9a1c-204d68786a4b +;; arch-tag: 8c0112c7-379c-4d54-9a1c-204d68786a4b ;;; em-smart.el ends here