Mercurial > emacs
view lisp/emulation/pc-mode.el @ 110977:a5cd85a6290e
Define a cursor defface; minor face optimizations.
* faces.el (face-spec-reset-face): Reset all attributes in one
single call to set-face-attribute.
(face-spec-match-p): Make it a defsubst.
(frame-set-background-mode): New arg KEEP-FACE-SPECS.
(x-create-frame-with-faces, tty-create-frame-with-faces)
(tty-set-up-initial-frame-faces): Don't recompute face specs in
frame-set-background-mode, since they are recomputed immediately
afterwards in face-set-after-frame-default.
(face-set-after-frame-default): Minor optimization.
(cursor): Provide non-trivial defface spec.
* custom.el (custom-theme-recalc-face): Simplify.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Wed, 13 Oct 2010 23:55:18 -0400 |
parents | 1d1d5d9bd884 |
children | 376148b31b5e |
line wrap: on
line source
;;; pc-mode.el --- emulate certain key bindings used on PCs ;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, ;; 2006, 2007, 2008, 2009, 2010 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 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 ;; 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. If not, see <http://www.gnu.org/licenses/>. ;;; 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) ;; arch-tag: df007c05-f885-4cd0-8c1e-487d0f8dd9c9 ;;; pc-mode.el ends here