annotate lisp/scroll-all.el @ 24419:30e478cd167e

(shell-command-default-error-buffer): Renamed from shell-command-on-region-default-error-buffer. (shell-command-on-region): Mention in echo area when there is some error output. Mention success or failure, too. Accumulate multiple error outputs going forward, with formfeed in between. Display the error buffer when we have put something in it. (shell-command): Add the ERROR-BUFFER argument feature.
author Karl Heuer <kwzh@gnu.org>
date Mon, 01 Mar 1999 03:19:32 +0000
parents 2d0bece94ee7
children c8f856ed18d0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22388
2d0bece94ee7 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 17598
diff changeset
1 ;;; scroll-all.el -- scroll all buffers together minor mode
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3 ;; Copyright (C) 1997 Free Software Foundation, Inc.
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5 ;; Author: Gary D. Foster <Gary.Foster@corp.sun.com>
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6 ;; Keywords: scroll crisp brief lock
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8 ;; This file is part of GNU Emacs.
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10 ;; GNU Emacs is free software; you can redistribute it and/or modify
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11 ;; it under the terms of the GNU General Public License as published by
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 ;; the Free Software Foundation; either version 2, or (at your option)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 ;; any later version.
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15 ;; GNU Emacs is distributed in the hope that it will be useful,
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 ;; GNU General Public License for more details.
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
19
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
20 ;; You should have received a copy of the GNU General Public License
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
21 ;; along with GNU Emacs; see the file COPYING. If not, write to the
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
22 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
23 ;; Boston, MA 02111-1307, USA.
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 ;; Commentary
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26 ;; This mode allows multiple buffers to be 'locked' so that scrolling
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27 ;; up or down lines in any buffer causes all the buffers to mirror
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28 ;; the scrolling. It hooks into the post-command-hook to check for
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 ;; potential scrolling commands and if we're locked, mirrors them in all
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 ;; windows. This allows us to grab line-at-a-time scrolling as well as
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 ;; screen-at-a-time scrolling, and doesn't remap any of the keyboard
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 ;; commands to do it.
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
34 ;; You can enable and disable this mode with the 'scroll-all-mode' command.
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 ;; Suggestions/ideas from:
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 ;; Rick Macdonald <rickm@vsl.com>
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38 ;; Anders Lindgren <andersl@csd.uu.se>
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40 (defvar running-xemacs (string-match "XEmacs\\|Lucid" emacs-version))
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
41 (defvar scroll-all-mode nil
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42 "Track status of scroll locking.")
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43 (if running-xemacs
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
44 (add-minor-mode 'scroll-all-mode " *SL*")
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
45 (or (assq 'scroll-all-mode-mode minor-mode-alist)
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
46 (setq minor-mode-alist
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
47 (cons '(scroll-all-mode-mode " *SL*") minor-mode-alist))))
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
48
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
49 (defun scroll-all-scroll-down-all (arg)
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
50 "Scroll down all visible windows."
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
51 (interactive "P")
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
52 (let ((num-windows (count-windows))
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
53 (count 1))
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
54 (if (> num-windows 1)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
55 ( progn (other-window 1)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
56 (while (< count num-windows)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
57 (if (not (eq (point) (point-max)))
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
58 (progn (call-interactively 'next-line)))
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
59 (other-window 1)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
60 (setq count (1+ count)))))))
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
61
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
62 (defun scroll-all-scroll-up-all (arg)
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
63 "Scroll up all visible windows."
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
64 (interactive "P")
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
65 (let ((num-windows (count-windows))
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
66 (count 1))
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
67 (if (> num-windows 1)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68 ( progn (other-window 1)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
69 (while (< count num-windows)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
70 (if (not (eq (point) (point-min)))
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
71 (progn (call-interactively 'previous-line)))
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
72 (other-window 1)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
73 (setq count (1+ count)))))))
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
74
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
75 (defun scroll-all-page-down-all (arg)
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
76 "Page down in all visible windows."
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
77 (interactive "P")
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
78 (let ((num-windows (count-windows))
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
79 (count 1))
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
80 (if (> num-windows 1)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
81 (progn (other-window 1)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
82 (while (< count num-windows)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
83 (call-interactively 'fkey-scroll-up)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
84 (other-window 1)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
85 (setq count (1+ count)))))))
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
86
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
87 (defun scroll-all-page-up-all (arg)
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
88 "Page up in all visible windows."
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
89 (interactive "P")
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
90 (let ((num-windows (count-windows))
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
91 (count 1))
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
92 (if (> num-windows 1)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
93 (progn (other-window 1)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
94 (while (< count num-windows)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
95 (call-interactively 'fkey-scroll-down)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
96 (other-window 1)
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
97 (setq count (1+ count)))))))
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
98
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
99
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
100 (defun scroll-all-check-to-scroll ()
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
101 "Check `last-command' to see if a scroll was done."
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
102 (if (eq this-command 'next-line)
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
103 (call-interactively 'scroll-all-scroll-down-all))
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
104 (if (eq this-command 'previous-line)
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
105 (call-interactively 'scroll-all-scroll-up-all))
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
106 (if (eq this-command 'fkey-scroll-up)
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
107 (call-interactively 'scroll-all-page-down-all))
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
108 (if (eq this-command 'fkey-scroll-down)
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
109 (call-interactively 'scroll-all-page-up-all)))
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
110
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
111
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
112 (defun scroll-all-mode (arg)
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
113 "Toggle Scroll-All minor mode."
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
114 (interactive "P")
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
115 (setq scroll-all-mode (not scroll-all-mode))
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
116 (cond
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
117 ((eq scroll-all-mode 't)
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
118 (add-hook 'post-command-hook 'scroll-all-check-to-scroll))
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
119 ((eq scroll-all-mode 'nil)
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
120 (remove-hook 'post-command-hook 'scroll-all-check-to-scroll))))
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
121
17598
b3016633740a Renamed from scroll-lock.el.
Richard M. Stallman <rms@gnu.org>
parents: 17597
diff changeset
122 (provide 'scroll-all)
17597
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
123
a60da52b8ea2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
124 ;; scroll-all.el ends here