Mercurial > emacs
view lisp/scroll-all.el @ 83346:7372c2f9daac
Rename function-key-map to local-function-key-map, and global-function-key-map to function-key-map. Same for key-translation-map.
* src/keyboard.h (struct kboard): Rename member 'Vfunction_key_map' to
'Vlocal_function_key_map', and 'Vkey_translation_map' to
'Vlocal_key_translation_map'.
(Vfunction_key_map, Vkey_translation_map): New declarations.
* src/keyboard.c (Vfunction_key_map): New variable.
(Vglobal_key_translation_map): Rename to Vglobal_key_translation_map.
(read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards): Update.
* src/keymap.c (Fdescribe_buffer_bindings): Update.
* src/term.c (term_get_fkeys_1): Update.
* lisp/double.el (double-setup): Replace global-key-translation-map with key-translation-map.
* lisp/international/encoded-kb.el (encoded-kbd-setup-display): Ditto.
* lisp/international/iso-transl.el: Ditto.
* lisp/obsolete/iso-acc.el (iso-accents-customize): Ditto.
* lisp/edmacro.el (edmacro-format-keys): Use terminal-local binding of
local-function-key-map instead of function-key-map.
* lisp/emulation/cua-base.el (cua--pre-command-handler): Ditto.
* lisp/isearch.el (isearch-other-meta-char): Ditto.
* lisp/subr.el (read-quoted-char): Ditto.
* lisp/term/vt200.el: Ditto.
* lisp/term/vt201.el: Ditto.
* lisp/term/vt220.el: Ditto.
* lisp/term/vt240.el: Ditto.
* lisp/term/vt300.el: Ditto.
* lisp/term/vt320.el: Ditto.
* lisp/term/vt400.el: Ditto.
* lisp/term/vt420.el: Ditto.
* lisp/simple.el (normal-erase-is-backspace-mode): Add todo note.
* lisp/xt-mouse.el: Ditto.
* lisp/term/AT386.el: Adapt for renaming of function-key-map to local-function-key-map.
* lisp/term/internal.el: Ditto.
* lisp/term/iris-ansi.el: Ditto.
* lisp/term/lk201.el: Ditto.
* lisp/term/mac-win.el: Ditto.
* lisp/term/news.el: Ditto.
* lisp/term/rxvt.el: Ditto.
* lisp/term/sun.el: Ditto.
* lisp/term/tvi970.el: Ditto.
* lisp/term/wyse50.el: Ditto.
* lisp/term/x-win.el (x-setup-function-keys): Ditto.
* lisp/term/xterm.el: Ditto.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-386
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Tue, 12 Jul 2005 10:55:24 +0000 |
parents | 6fb026ad601f |
children | 41bb365f41c4 f9a65d7ebd29 |
line wrap: on
line source
;;; scroll-all.el --- scroll all buffers together minor mode ;; Copyright (C) 1997 Free Software Foundation, Inc. ;; Author: Gary D. Foster <Gary.Foster@corp.sun.com> ;; Keywords: scroll crisp brief lock ;; This file is part of GNU Emacs. ;; 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. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; 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. ;;; Commentary: ;; This mode allows multiple buffers to be 'locked' so that scrolling ;; up or down lines in any buffer causes all the buffers to mirror ;; the scrolling. It hooks into the post-command-hook to check for ;; potential scrolling commands and if we're locked, mirrors them in all ;; windows. This allows us to grab line-at-a-time scrolling as well as ;; screen-at-a-time scrolling, and doesn't remap any of the keyboard ;; commands to do it. ;; You can enable and disable this mode with the 'scroll-all-mode' command. ;; Suggestions/ideas from: ;; Rick Macdonald <rickm@vsl.com> ;; Anders Lindgren <andersl@csd.uu.se> ;;; Code: (defun scroll-all-function-all (func arg) "Apply function FUNC with argument ARG to all visible windows." (let ((num-windows (count-windows)) (count 1)) (when (> num-windows 1) (other-window 1) (while (< count num-windows) (condition-case nil (funcall func arg) ;; Ignore beginning- or end-of-buffer error in other windows. (error nil) ) (other-window 1) (setq count (1+ count)))))) (defun scroll-all-scroll-down-all (arg) "Scroll down in all visible windows." (interactive "p") (scroll-all-function-all 'next-line arg)) (defun scroll-all-scroll-up-all (arg) "Scroll up in all visible windows." (interactive "p") (scroll-all-function-all 'previous-line arg)) (defun scroll-all-page-down-all (arg) "Page down in all visible windows." (interactive "P") (scroll-all-function-all 'scroll-up arg)) (defun scroll-all-page-up-all (arg) "Page up in all visible windows." (interactive "P") (scroll-all-function-all 'scroll-down arg)) (defun scroll-all-beginning-of-buffer-all (arg) "Go to the beginning of the buffer in all visible windows." (interactive "P") (scroll-all-function-all 'beginning-of-buffer arg)) (defun scroll-all-end-of-buffer-all (arg) "Go to the end of the buffer in all visible windows." (interactive "P") (scroll-all-function-all 'end-of-buffer arg)) (defun scroll-all-check-to-scroll () "Check `this-command' to see if a scroll is to be done." (cond ((eq this-command 'next-line) (call-interactively 'scroll-all-scroll-down-all)) ((eq this-command 'previous-line) (call-interactively 'scroll-all-scroll-up-all)) ((eq this-command 'scroll-up) (call-interactively 'scroll-all-page-down-all)) ((eq this-command 'scroll-down) (call-interactively 'scroll-all-page-up-all)) ((eq this-command 'beginning-of-buffer) (call-interactively 'scroll-all-beginning-of-buffer-all)) ((eq this-command 'end-of-buffer) (call-interactively 'scroll-all-end-of-buffer-all)))) ;;;###autoload (define-minor-mode scroll-all-mode "Toggle Scroll-All minor mode. With ARG, turn Scroll-All minor mode on if ARG is positive, off otherwise. When Scroll-All mode is on, scrolling commands entered in one window apply to all visible windows in the same frame." nil " *SL*" nil :global t :group 'windows :group 'scrolling (if scroll-all-mode (add-hook 'post-command-hook 'scroll-all-check-to-scroll) (remove-hook 'post-command-hook 'scroll-all-check-to-scroll))) (provide 'scroll-all) ;;; arch-tag: db20089a-b157-45df-b5d4-2430e60acdd8 ;;; scroll-all.el ends here