;;; 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 <johnw@gnu.org>
;; 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
;; 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 <http://www.gnu.org/licenses/>.
;;; Commentary:
;; (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)
(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.
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"
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
: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)
(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)))
(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