Mercurial > emacs
view lisp/emulation/pc-mode.el @ 42980:6134751ae11f
(pc-selection-mode-hook)
(pc-select-saved-settings-alist, pc-select-map)
(pc-select-saved-global-map, pc-select-key-bindings-alist)
(pc-select-default-key-bindings, pc-select-extra-key-bindings)
(pc-select-meta-moves-sexps-key-bindings)
(pc-select-tty-key-bindings, pc-select-old-M-delete-binding):
New variables.
(pc-select-define-keys, pc-select-restore-keys): New functions.
(pc-select-add-to-alist, pc-select-save-and-set-var)
(pc-select-save-and-set-mode, pc-select-restore-var)
(pc-select-restore-mode): New macros.
(pc-selection-mode): Completely rewrote the body of the function;
the main goal was to make pc-selection-mode "turn-off"-able, like
other minor modes. Use define-minore-mode instead of just a
defun. Store the key bindings into four alists:
pc-select-default-key-bindings, pc-select-extra-key-bindings,
pc-select-meta-moves-sexps-key-bindings, and
pc-select-tty-key-bindings; then have the pc-select-define-keys
function walk those alists instead of calling define-key
repeatedly. When the mode is turned on, set the
keybindings in global-map and remember the old keybindings; when
the mode is turned off, restore the previously-saved keybindings.
(pc-selection-mode defcustom): Reflect the fact that the mode is
now "turn-off"-able.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 26 Jan 2002 22:47:39 +0000 |
parents | 01c7199c0ee7 |
children | 695cf19ef79e d7ddb3e565de |
line wrap: on
line source
;;; pc-mode.el --- emulate certain key bindings used on PCs ;; Copyright (C) 1995 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: emulations ;; 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., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. ;;; Commentary: ;;; Code: ;;;###autoload (defun pc-bindings-mode () "Set up certain key bindings for PC compatibility. The keys affected are: Delete (and its variants) delete forward instead of backward. C-Backspace kills backward a word (as C-Delete normally would). M-Backspace does undo. Home and End move to beginning and end of line C-Home and C-End move to beginning and end of buffer. C-Escape does list-buffers." (interactive) (define-key function-key-map [delete] "\C-d") (define-key function-key-map [M-delete] [?\M-d]) (define-key function-key-map [C-delete] [?\M-d]) (global-set-key [C-M-delete] 'kill-sexp) (global-set-key [C-backspace] 'backward-kill-word) (global-set-key [M-backspace] 'undo) (global-set-key [C-escape] 'list-buffers) (global-set-key [home] 'beginning-of-line) (global-set-key [end] 'end-of-line) (global-set-key [C-home] 'beginning-of-buffer) (global-set-key [C-end] 'end-of-buffer)) (provide 'pc-mode) ;;; pc-mode.el ends here