diff lisp/keydefs.el @ 412:697ef44129c6 r21-2-14

Import from CVS: tag r21-2-14
author cvs
date Mon, 13 Aug 2007 11:20:41 +0200
parents 501cfd01ee6d
children
line wrap: on
line diff
--- a/lisp/keydefs.el	Mon Aug 13 11:19:22 2007 +0200
+++ b/lisp/keydefs.el	Mon Aug 13 11:20:41 2007 +0200
@@ -1,7 +1,6 @@
 ;;; keydefs.el --- Define standard keybindings.
 
 ;; Copyright (C) 1992-4, 1997 Free Software Foundation, Inc.
-;; Copyright (C) 2000 Ben Wing.
 
 ;; Maintainer: XEmacs Development Team
 ;; Keywords: internal, dumped
@@ -107,6 +106,9 @@
 (define-key global-map "\C-e" 'end-of-line)
 (define-key global-map "\C-f" 'forward-char-command)
 (define-key global-map "\C-d" 'delete-char)
+(define-key global-map 'delete 'backward-or-forward-delete-char)
+(define-key global-map '(meta delete) 'backward-or-forward-kill-word)
+(define-key global-map [(control x) (delete)] 'backward-or-forward-kill-sentence)
 
 ;; FSFmacs files.el
 
@@ -238,7 +240,6 @@
 (define-key global-map '(control meta -) 'negative-argument)
 
 (define-key global-map "\C-k" 'kill-line)
-(define-key global-map '(control K) 'historical-kill-line)
 (define-key global-map "\C-w" 'kill-region)
 (define-key global-map "\M-w" 'kill-ring-save)
 (define-key global-map "\M-\C-w" 'append-next-kill)
@@ -304,6 +305,9 @@
 (define-key global-map "\M-\)" 'move-past-close-and-reindent)
 (define-key global-map "\M-\t" 'lisp-complete-symbol)
 
+(define-key global-map '(control meta backspace) 'backward-kill-sexp)
+(define-key global-map '(control meta delete) 'backward-or-forward-kill-sexp)
+
 
 (define-key global-map "\C-x/" 'point-to-register)
 (define-key global-map "\C-xj" 'jump-to-register)
@@ -385,7 +389,6 @@
 ;; Default binding of "Control-h" is help.
 (define-key global-map 'backspace 'delete-backward-char)
 (define-key global-map '(meta backspace) 'backward-kill-word)
-(define-key global-map [(control x) backspace] 'backward-kill-sentence)
 
 (define-key global-map "\M-\C-z" 'activate-region)
 
@@ -507,73 +510,74 @@
 
 ;; movement by units
 (define-key global-map 'left		'backward-char-command)
+(define-key global-map 'up		'previous-line)
 (define-key global-map 'right		'forward-char-command)
-(define-key global-map 'up		'previous-line)
 (define-key global-map 'down		'next-line)
-(define-key global-map 'kp-left		'backward-char-command)
-(define-key global-map 'kp-right	'forward-char-command)
-(define-key global-map 'kp-up		'previous-line)
-(define-key global-map 'kp-down		'next-line)
 
 ;; movement by pages
 (define-key global-map 'prior		'scroll-down-command)
 (define-key global-map 'next		'scroll-up-command)
+
+;; movement to the limits
+(define-key global-map 'home		'beginning-of-line)
+(define-key global-map 'end		'end-of-line)
+
+;;; Miscellaneous key bindings
+(define-key global-map 'again		'repeat-complex-command)
+(define-key global-map 'insert		'overwrite-mode)
+
+;;; These aren't bound to kbd macros like "\C-b" so that they have the
+;; expected behavior even in, for example, vi-mode.
+
+;; We use here symbolic names, assuming that the corresponding keys will
+;; generate these keysyms.  This is not true on Suns, but x-win-sun.el 
+;; fixes that.  If it turns out that the semantics of these keys should
+;; differ from server to server, this should be moved into server-specific
+;; files, but these appear to be the standard Motif and PC bindings.
+
+;; potential R6isms
+(define-key global-map 'kp-left		'backward-char-command)
+(define-key global-map 'kp-up		'previous-line)
+(define-key global-map 'kp-right	'forward-char-command)
+(define-key global-map 'kp-down		'next-line)
+
+
+;; movement by larger blocks
+(define-key global-map '(control left)	'backward-word)
+(define-key global-map '(control up)	#'(lambda ()
+					    (interactive "_")
+					    (forward-line -6)))
+(define-key global-map '(control right)	'forward-word)
+(define-key global-map '(control down)	#'(lambda ()
+					    (interactive "_")
+					    (forward-line 6)))
+
+;; context-sensitive movement
+(define-key global-map '(meta left)  'backward-sexp)
+(define-key global-map '(meta right) 'forward-sexp)
+(define-key global-map '(meta up)    'backward-paragraph)
+(define-key global-map '(meta down)  'forward-paragraph)
+
+;; movement by pages
 (define-key global-map '(control prior)	'scroll-right)
 (define-key global-map '(control next)	'scroll-left)
+;; potential R6isms
 (define-key global-map 'kp-prior	'scroll-down-command)
 (define-key global-map 'kp-next		'scroll-up-command)
 (define-key global-map '(control kp-prior) 'scroll-right)
 (define-key global-map '(control kp-next) 'scroll-left)
 
+
 ;; movement to the limits
-(define-key global-map 'home		'beginning-of-line)
-(define-key global-map 'end		'end-of-line)
 (define-key global-map '(control home)	'beginning-of-buffer)
 (define-key global-map '(control end)	'end-of-buffer)
-(define-key global-map 'kp-home		'beginning-of-line)
-(define-key global-map 'kp-end		'end-of-line)
-(define-key global-map '(control kp-home) 'beginning-of-buffer)
-(define-key global-map '(control kp-end) 'end-of-buffer)
-
-;; on which systems do these exist?
 (define-key global-map 'begin		'beginning-of-line)
 (define-key global-map '(control begin)	'beginning-of-buffer)
-
-;; movement by larger blocks
-(define-key global-map '(control left)	'backward-word)
-(define-key global-map '(control right)	'forward-word)
-(define-key global-map '(control up)	'backward-block-of-lines)
-(define-key global-map '(control down)	'forward-block-of-lines)
-(define-key global-map '(control kp-left) 'backward-word)
-(define-key global-map '(control kp-right) 'forward-word)
-(define-key global-map '(control kp-up)	'backward-block-of-lines)
-(define-key global-map '(control kp-down) 'forward-block-of-lines)
-
-;; context-sensitive movement
-(define-key global-map '(meta left)	'backward-sexp)
-(define-key global-map '(meta right)	'forward-sexp)
-(define-key global-map '(meta up)	'backward-paragraph)
-(define-key global-map '(meta down)	'forward-paragraph)
-(define-key global-map '(meta control left) 'backward-sentence)
-(define-key global-map '(meta control right) 'forward-sentence)
-(define-key global-map '(meta control up) 'scroll-down-one)
-(define-key global-map '(meta control down) 'scroll-up-one)
-(define-key global-map '(meta control home)	'beginning-of-defun)
-(define-key global-map '(meta control end)	'end-of-defun)
-(define-key global-map '(meta control prior)	'backward-page)
-(define-key global-map '(meta control next)	'forward-page)
-(define-key global-map '(meta kp-left)  'backward-sexp)
-(define-key global-map '(meta kp-right) 'forward-sexp)
-(define-key global-map '(meta kp-up)	'backward-paragraph)
-(define-key global-map '(meta kp-down)	'forward-paragraph)
-(define-key global-map '(meta control kp-left) 'backward-sentence)
-(define-key global-map '(meta control kp-right) 'forward-sentence)
-(define-key global-map '(meta control kp-up) 'scroll-down-one)
-(define-key global-map '(meta control kp-down) 'scroll-up-one)
-(define-key global-map '(meta control kp-home)	'beginning-of-defun)
-(define-key global-map '(meta control kp-end)	'end-of-defun)
-(define-key global-map '(meta control kp-prior)	'backward-page)
-(define-key global-map '(meta control kp-next)	'forward-page)
+;; potential R6isms
+(define-key global-map 'kp-home		'beginning-of-line)
+(define-key global-map '(control kp-home) 'beginning-of-buffer)
+(define-key global-map 'kp-end		'end-of-line)
+(define-key global-map '(control kp-end) 'end-of-buffer)
 
 ;; movement between windows
 (define-key global-map '(control tab)	'other-window)
@@ -584,33 +588,16 @@
 (define-key global-map '(meta prior)	'scroll-other-window-down)
 (define-key global-map '(meta home)	'beginning-of-buffer-other-window)
 (define-key global-map '(meta end)	'end-of-buffer-other-window)
+;; potential R6isms
 (define-key global-map '(meta kp-next)	'scroll-other-window)
 (define-key global-map '(meta kp-prior)	'scroll-other-window-down)
 (define-key global-map '(meta kp-home)	'beginning-of-buffer-other-window)
 (define-key global-map '(meta kp-end)	'end-of-buffer-other-window)
 
-;; the infamous delete key
-(define-key global-map 'delete	        'backward-or-forward-delete-char)
-(define-key global-map '(meta delete)	'backward-or-forward-kill-word)
-(define-key global-map [(control x) (delete)]
-				        'backward-or-forward-kill-sentence)
-(define-key global-map 'kp-delete	'backward-or-forward-delete-char)
-(define-key global-map '(meta kp-delete) 'backward-or-forward-kill-word)
-(define-key global-map [(control x) (kp-delete)]
-					'backward-or-forward-kill-sentence)
-
-;; don't try this one at home, kids.
-(define-key global-map '(control meta delete) 'backward-or-forward-kill-sexp)
-(define-key global-map '(control meta kp-delete) 'backward-or-forward-kill-sexp)
-;; or this one, either, on Linux.
-(define-key global-map '(control meta backspace) 'backward-kill-sexp)
-
-
-;;; Miscellaneous key bindings
-(define-key global-map 'insert		'overwrite-mode)
+;; potential R6isms
+(define-key global-map 'redo		'repeat-complex-command)
 (define-key global-map 'kp-insert	'overwrite-mode)
-(define-key global-map 'again		'repeat-complex-command)
-(define-key global-map 'redo		'repeat-complex-command)
+(define-key global-map 'kp-delete	'backward-delete-char-untabify)
 
 (define-key global-map 'kp-enter	[return]) ; do whatever RET does now
 (define-key global-map 'kp-tab		[tab])