diff options
| author | Gerd Moellmann | 2000-12-22 13:18:19 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-12-22 13:18:19 +0000 |
| commit | d25cc9a9b8c09d90b138f78e12854fac30b98409 (patch) | |
| tree | 9cbbb7c4300bfb8503bf135018d3329bb17fcad0 | |
| parent | f060b8348daaf97936b8731bb500e875cdc51f5c (diff) | |
| download | emacs-d25cc9a9b8c09d90b138f78e12854fac30b98409.tar.gz emacs-d25cc9a9b8c09d90b138f78e12854fac30b98409.zip | |
(delete-key-deletes-forward-mode): Simplify. Also
backspace key combinations, depending on
delete-key-deletes-forward.
| -rw-r--r-- | lisp/simple.el | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/lisp/simple.el b/lisp/simple.el index 7987ab217b3..d7fab489621 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -4037,16 +4037,26 @@ For more details, see `delete-key-deletes-forward'." | |||
| 4037 | 4037 | ||
| 4038 | (cond ((or (memq window-system '(x w32 mac pc)) | 4038 | (cond ((or (memq window-system '(x w32 mac pc)) |
| 4039 | (memq system-type '(ms-dos windows-nt))) | 4039 | (memq system-type '(ms-dos windows-nt))) |
| 4040 | (if delete-key-deletes-forward | 4040 | (let ((bindings |
| 4041 | (progn | 4041 | `(([delete] [backspace] delete-char delete-backward-char) |
| 4042 | (define-key global-map [delete] 'delete-char) | 4042 | ([C-delete] [C-backspace] kill-word backward-kill-word) |
| 4043 | (define-key global-map [C-delete] 'kill-word) | 4043 | ([M-delete] [M-backspace] kill-word backward-kill-word) |
| 4044 | (define-key esc-map [C-delete] 'kill-sexp) | 4044 | ([C-M-delete] [C-M-backspace] kill-sexp backward-kill-sexp) |
| 4045 | (define-key global-map [C-M-delete] 'kill-sexp)) | 4045 | (,esc-map |
| 4046 | (define-key esc-map [C-delete] 'backward-kill-sexp) | 4046 | [C-delete] [C-backspace] kill-sexp backward-kill-sexp)))) |
| 4047 | (define-key global-map [C-M-delete] 'backward-kill-sexp) | 4047 | (dolist (binding bindings) |
| 4048 | (define-key global-map [C-delete] 'backward-kill-word) | 4048 | (let ((map global-map)) |
| 4049 | (define-key global-map [delete] 'delete-backward-char))) | 4049 | (when (keymapp (car binding)) |
| 4050 | (setq map (car binding) binding (cdr binding))) | ||
| 4051 | (let ((key1 (nth 0 binding)) | ||
| 4052 | (key2 (nth 1 binding)) | ||
| 4053 | (binding1 (nth 2 binding)) | ||
| 4054 | (binding2 (nth 3 binding))) | ||
| 4055 | (unless delete-key-deletes-forward | ||
| 4056 | (let ((temp binding1)) | ||
| 4057 | (setq binding1 binding2 binding2 temp))) | ||
| 4058 | (define-key map key1 binding1) | ||
| 4059 | (define-key map key2 binding2)))))) | ||
| 4050 | (t | 4060 | (t |
| 4051 | (if delete-key-deletes-forward | 4061 | (if delete-key-deletes-forward |
| 4052 | (progn | 4062 | (progn |