# HG changeset patch # User Gerd Moellmann # Date 977491099 0 # Node ID 320f80be4559f5734c808f39b87bcddbf87422bc # Parent 0b878d25d1f636534b11f816aed8dbef9da1f5b8 (delete-key-deletes-forward-mode): Simplify. Also backspace key combinations, depending on delete-key-deletes-forward. diff -r 0b878d25d1f6 -r 320f80be4559 lisp/simple.el --- a/lisp/simple.el Fri Dec 22 12:50:39 2000 +0000 +++ b/lisp/simple.el Fri Dec 22 13:18:19 2000 +0000 @@ -4037,16 +4037,26 @@ (cond ((or (memq window-system '(x w32 mac pc)) (memq system-type '(ms-dos windows-nt))) - (if delete-key-deletes-forward - (progn - (define-key global-map [delete] 'delete-char) - (define-key global-map [C-delete] 'kill-word) - (define-key esc-map [C-delete] 'kill-sexp) - (define-key global-map [C-M-delete] 'kill-sexp)) - (define-key esc-map [C-delete] 'backward-kill-sexp) - (define-key global-map [C-M-delete] 'backward-kill-sexp) - (define-key global-map [C-delete] 'backward-kill-word) - (define-key global-map [delete] 'delete-backward-char))) + (let ((bindings + `(([delete] [backspace] delete-char delete-backward-char) + ([C-delete] [C-backspace] kill-word backward-kill-word) + ([M-delete] [M-backspace] kill-word backward-kill-word) + ([C-M-delete] [C-M-backspace] kill-sexp backward-kill-sexp) + (,esc-map + [C-delete] [C-backspace] kill-sexp backward-kill-sexp)))) + (dolist (binding bindings) + (let ((map global-map)) + (when (keymapp (car binding)) + (setq map (car binding) binding (cdr binding))) + (let ((key1 (nth 0 binding)) + (key2 (nth 1 binding)) + (binding1 (nth 2 binding)) + (binding2 (nth 3 binding))) + (unless delete-key-deletes-forward + (let ((temp binding1)) + (setq binding1 binding2 binding2 temp))) + (define-key map key1 binding1) + (define-key map key2 binding2)))))) (t (if delete-key-deletes-forward (progn