aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2001-04-04 14:07:13 +0000
committerEli Zaretskii2001-04-04 14:07:13 +0000
commit7f62656ba4eff26c2dd002dd11fecf4098df56c0 (patch)
treeb78cec7293005f8d0526ac2eaf56494f58cfee21
parent1013f4e380ba62f82a8e8621a2ea00a58974cc5d (diff)
downloademacs-7f62656ba4eff26c2dd002dd11fecf4098df56c0.tar.gz
emacs-7f62656ba4eff26c2dd002dd11fecf4098df56c0.zip
(normal-erase-is-backspace): Rename from
delete-key-deletes-forward. Doc fix. (normal-erase-is-backspace-mode): Rename from delete-key-deletes-forward-mode. Doc fix. Run normal-erase-is-backspace-hook.
-rw-r--r--lisp/ChangeLog12
-rw-r--r--lisp/simple.el66
2 files changed, 58 insertions, 20 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 8bfbd354d79..d2671d2458a 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,17 @@
12001-04-04 Eli Zaretskii <eliz@is.elta.co.il> 12001-04-04 Eli Zaretskii <eliz@is.elta.co.il>
2 2
3 * cus-load.el (normal-erase-is-backspace): Use it instead of
4 delete-key-deletes-forward.
5
6 * startup.el (command-line): Use normal-erase-is-backspace and
7 normal-erase-is-backspace-mode.
8
9 * simple.el (normal-erase-is-backspace): Rename from
10 delete-key-deletes-forward. Doc fix.
11 (normal-erase-is-backspace-mode): Rename from
12 delete-key-deletes-forward-mode. Doc fix. Run
13 normal-erase-is-backspace-hook.
14
3 * dired.el (dired-move-to-filename-regexp): Support file sizes in 15 * dired.el (dired-move-to-filename-regexp): Support file sizes in
4 ``human-readable'' format produced by GNU `ls'. 16 ``human-readable'' format produced by GNU `ls'.
5 (dired-move-to-filename-regexp): Recognize ISO format dates. From 17 (dired-move-to-filename-regexp): Recognize ISO format dates. From
diff --git a/lisp/simple.el b/lisp/simple.el
index e4f5108c356..6f270128ce1 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -4044,16 +4044,16 @@ DESCRIPTION is the descriptive string for the syntax.")
4044 4044
4045;;; Handling of Backspace and Delete keys. 4045;;; Handling of Backspace and Delete keys.
4046 4046
4047(defcustom delete-key-deletes-forward nil 4047(defcustom normal-erase-is-backspace nil
4048 "Whether the Delete key should delete forward or not. 4048 "If non-nil, Delete key deletes forward and Backspace key deletes backward.
4049 4049
4050On window systems, the default value of this option is chosen 4050On window systems, the default value of this option is chosen
4051according to the keyboard used. If the keyboard has both a Backspace 4051according to the keyboard used. If the keyboard has both a Backspace
4052key and a Delete key, and both are mapped to their usual meanings, the 4052key and a Delete key, and both are mapped to their usual meanings, the
4053option's default value is set to t, so that Backspace can be used to 4053option's default value is set to t, so that Backspace can be used to
4054delete backward, and Delete can be used used to delete forward 4054delete backward, and Delete can be used to delete forward.
4055 4055
4056If not running under a window system, setting this option accomplishes 4056If not running under a window system, customizing this option accomplishes
4057a similar effect by mapping C-h, which is usually generated by the 4057a similar effect by mapping C-h, which is usually generated by the
4058Backspace key, to DEL, and by mapping DEL to C-d via 4058Backspace key, to DEL, and by mapping DEL to C-d via
4059`keyboard-translate'. The former functionality of C-h is available on 4059`keyboard-translate'. The former functionality of C-h is available on
@@ -4061,31 +4061,57 @@ the F1 key. You should probably not use this setting if you don't
4061have both Backspace, Delete and F1 keys. 4061have both Backspace, Delete and F1 keys.
4062 4062
4063Setting this variable with setq doesn't take effect. Programmatically, 4063Setting this variable with setq doesn't take effect. Programmatically,
4064call `delete-key-deleted-forward-mode' instead." 4064call `normal-erase-is-backspace-mode' (which see) instead."
4065 :type 'boolean 4065 :type 'boolean
4066 :group 'editing-basics 4066 :group 'editing-basics
4067 :version "21.1" 4067 :version "21.1"
4068 :set (lambda (symbol value) 4068 :set (lambda (symbol value)
4069 ;; The fboundp is because of a problem with :set when 4069 ;; The fboundp is because of a problem with :set when
4070 ;; dumping Emacs. It doesn't really matter. 4070 ;; dumping Emacs. It doesn't really matter.
4071 (if (fboundp 'delete-key-deletes-forward-mode) 4071 (if (fboundp 'normal-erase-is-backspace-mode)
4072 (delete-key-deletes-forward-mode (or value 0)) 4072 (normal-erase-is-backspace-mode (or value 0))
4073 (set-default symbol value)))) 4073 (set-default symbol value))))
4074 4074
4075 4075
4076(defun delete-key-deletes-forward-mode (&optional arg) 4076(defun normal-erase-is-backspace-mode (&optional arg)
4077 "Toggle Delete key deleting forward or backward. 4077 "Toggle the Erase and Delete mode of the Backspace and Delete keys.
4078With numeric arg, turn the mode on if and only iff ARG is positive. 4078
4079For more details, see `delete-key-deletes-forward'." 4079With numeric arg, turn the mode on if and only ARG is positive.
4080
4081On window systems, when this mode is on, Delete is mapped to C-d and
4082Backspace is mapped to DEL; when this mode is off, both Delete and
4083Backspace are mapped to DEL. (The remapping goes via
4084`function-key-map', so binding Delete or Backspace in the global or
4085local keymap will override that.)
4086
4087In addition, on window systems, the bindings of C-Delete, M-Delete,
4088C-M-Delete, C-Backspace, M-Backspace, and C-M-Backspace are changed in
4089the global keymap in accordance with the functionality of Delete and
4090Backspace. For example, if Delete is remapped to C-d, which deletes
4091forward, C-Delete is bound to `kill-word', but if Delete is remapped
4092to DEL, which deletes backward, C-Delete is bound to
4093`backward-kill-word'.
4094
4095If not running on a window system, a similar effect is accomplished by
4096remapping C-h (normally produced by the Backspace key) and DEL via
4097`keyboard-translate': if this mode is on, C-h is mapped to DEL and DEL
4098to C-d; if it's off, the keys are not remapped.
4099
4100When not running on a window system, and this mode is turned on, the
4101former functionality of C-h is available on the F1 key. You should
4102probably not turn on this mode on a text-only terminal if you don't
4103have both Backspace, Delete and F1 keys.
4104
4105See also `normal-erase-is-backspace'."
4080 (interactive "P") 4106 (interactive "P")
4081 (setq delete-key-deletes-forward 4107 (setq normal-erase-is-backspace
4082 (if arg 4108 (if arg
4083 (> (prefix-numeric-value arg) 0) 4109 (> (prefix-numeric-value arg) 0)
4084 (not delete-key-deletes-forward))) 4110 (not normal-erase-is-backspace)))
4085 4111
4086 (cond ((or (memq window-system '(x w32 mac pc)) 4112 (cond ((or (memq window-system '(x w32 mac pc))
4087 (memq system-type '(ms-dos windows-nt))) 4113 (memq system-type '(ms-dos windows-nt)))
4088 (let ((bindings 4114 (let ((bindings
4089 `(([C-delete] [C-backspace]) 4115 `(([C-delete] [C-backspace])
4090 ([M-delete] [M-backspace]) 4116 ([M-delete] [M-backspace])
4091 ([C-M-delete] [C-M-backspace]) 4117 ([C-M-delete] [C-M-backspace])
@@ -4093,7 +4119,7 @@ For more details, see `delete-key-deletes-forward'."
4093 [C-delete] [C-backspace]))) 4119 [C-delete] [C-backspace])))
4094 (old-state (lookup-key function-key-map [delete]))) 4120 (old-state (lookup-key function-key-map [delete])))
4095 4121
4096 (if delete-key-deletes-forward 4122 (if normal-erase-is-backspace
4097 (progn 4123 (progn
4098 (define-key function-key-map [delete] [?\C-d]) 4124 (define-key function-key-map [delete] [?\C-d])
4099 (define-key function-key-map [kp-delete] [?\C-d]) 4125 (define-key function-key-map [kp-delete] [?\C-d])
@@ -4115,19 +4141,19 @@ For more details, see `delete-key-deletes-forward'."
4115 (define-key map key1 binding2) 4141 (define-key map key1 binding2)
4116 (define-key map key2 binding1))))))) 4142 (define-key map key2 binding1)))))))
4117 (t 4143 (t
4118 (if delete-key-deletes-forward 4144 (if normal-erase-is-backspace
4119 (progn 4145 (progn
4120 (keyboard-translate ?\C-h ?\C-?) 4146 (keyboard-translate ?\C-h ?\C-?)
4121 (keyboard-translate ?\C-? ?\C-d)) 4147 (keyboard-translate ?\C-? ?\C-d))
4122 (keyboard-translate ?\C-h ?\C-h) 4148 (keyboard-translate ?\C-h ?\C-h)
4123 (keyboard-translate ?\C-? ?\C-?)))) 4149 (keyboard-translate ?\C-? ?\C-?))))
4124 4150
4125 (run-hooks 'delete-key-deletes-forward-hook) 4151 (run-hooks 'normal-erase-is-backspace-hook)
4126 (if (interactive-p) 4152 (if (interactive-p)
4127 (message "Delete key deletes %s" 4153 (message "Delete key deletes %s"
4128 (if delete-key-deletes-forward "forward" "backward")))) 4154 (if normal-erase-is-backspace "forward" "backward"))))
4155
4129 4156
4130
4131;;; Misc 4157;;; Misc
4132 4158
4133(defun byte-compiling-files-p () 4159(defun byte-compiling-files-p ()