;;; bindings.el --- define standard key bindings and some variables.
-;; Copyright (C) 1985,86,87,92,93,94,95,96,99,2000
+;; Copyright (C) 1985,86,87,92,93,94,95,96,99,2000, 2001
;; Free Software Foundation, Inc.
;; Maintainer: FSF
(defun mode-line-toggle-modified (event)
"Toggle the buffer-modified flag from the mode-line."
- (interacive "e")
+ (interactive "e")
(save-selected-window
(select-window (posn-window (event-start event)))
(set-buffer-modified-p (not (buffer-modified-p)))
(defun mode-line-widen (event)
"Widen a buffer from the mode-line."
- (interacive "e")
+ (interactive "e")
(save-selected-window
(select-window (posn-window (event-start event)))
(widen)
(defun mode-line-abbrev-mode (event)
"Turn off `abbrev-mode' from the mode-line."
- (interacive "e")
+ (interactive "e")
(save-selected-window
(select-window (posn-window (event-start event)))
(abbrev-mode)
(defun mode-line-auto-fill-mode (event)
"Turn off `auto-fill-mode' from the mode-line."
- (interacive "e")
+ (interactive "e")
(save-selected-window
(select-window (posn-window (event-start event)))
(auto-fill-mode)
"R"
"Not r")))))
'local-map (purecopy (make-mode-line-mouse2-map
- #'mode-linetoggle-read-only)))
+ #'mode-line-toggle-read-only)))
(propertize
"%1+"
'help-echo (purecopy (lambda (window object point)
- (format "%sodified: mouse-2 toggles flag"
+ (format "%sodified: mouse-2 toggles"
(save-selected-window
(select-window window)
(if (buffer-modified-p)
"Return the value of symbol VAR if it is bound, else nil."
`(and (boundp (quote ,var)) ,var))
-(define-key mode-line-mode-menu [abbrev-mode]
- `(menu-item ,(purecopy "Abbrev") abbrev-mode
- :button (:toggle . abbrev-mode)))
-(define-key mode-line-mode-menu [auto-revert-mode]
- `(menu-item ,(purecopy "Auto revert") auto-revert-mode
- :button (:toggle . auto-revert-mode)))
-(define-key mode-line-mode-menu [auto-fill-mode]
- `(menu-item ,(purecopy "Auto-fill") auto-fill-mode
- :button (:toggle . auto-fill-function)))
-(define-key mode-line-mode-menu [column-number-mode]
- `(menu-item ,(purecopy "Column number") column-number-mode
- :button (:toggle . column-number-mode)))
-(define-key mode-line-mode-menu [flyspell-mode]
- `(menu-item ,(purecopy "Flyspell") flyspell-mode
- :button (:toggle . (bound-and-true-p flyspell-mode))))
-(define-key mode-line-mode-menu [font-lock-mode]
- `(menu-item ,(purecopy "Font-lock") font-lock-mode
- :button (:toggle . font-lock-mode)))
-(define-key mode-line-mode-menu [hide-ifdef-mode]
- `(menu-item ,(purecopy "Hide ifdef") hide-ifdef-mode
- :button (:toggle . (bound-and-true-p hide-ifdef-mode))))
-(define-key mode-line-mode-menu [highlight-changes-mode]
- `(menu-item ,(purecopy "Highlight changes") highlight-changes-mode
- :button (:toggle . highlight-changes-mode)))
-(define-key mode-line-mode-menu [line-number-mode]
- `(menu-item ,(purecopy "Line number") line-number-mode
- :button (:toggle . line-number-mode)))
-(define-key mode-line-mode-menu [outline-minor-mode]
- `(menu-item ,(purecopy "Outline") outline-minor-mode
- :button (:toggle . (bound-and-true-p outline-minor-mode))))
(define-key mode-line-mode-menu [overwrite-mode]
`(menu-item ,(purecopy "Overwrite") overwrite-mode
:button (:toggle . overwrite-mode)))
+(define-key mode-line-mode-menu [outline-minor-mode]
+ `(menu-item ,(purecopy "Outline") outline-minor-mode
+ :button (:toggle . (bound-and-true-p outline-minor-mode))))
+(define-key mode-line-mode-menu [line-number-mode]
+ `(menu-item ,(purecopy "Line number") line-number-mode
+ :button (:toggle . line-number-mode)))
+(define-key mode-line-mode-menu [highlight-changes-mode]
+ `(menu-item ,(purecopy "Highlight changes") highlight-changes-mode
+ :button (:toggle . highlight-changes-mode)))
+(define-key mode-line-mode-menu [glasses-mode]
+ `(menu-item ,(purecopy "Glasses") glasses-mode
+ :button (:toggle . (bound-and-true-p glasses-mode))))
+(define-key mode-line-mode-menu [hide-ifdef-mode]
+ `(menu-item ,(purecopy "Hide ifdef") hide-ifdef-mode
+ :button (:toggle . (bound-and-true-p hide-ifdef-mode))))
+(define-key mode-line-mode-menu [font-lock-mode]
+ `(menu-item ,(purecopy "Font-lock") font-lock-mode
+ :button (:toggle . font-lock-mode)))
+(define-key mode-line-mode-menu [flyspell-mode]
+ `(menu-item ,(purecopy "Flyspell") flyspell-mode
+ :button (:toggle . (bound-and-true-p flyspell-mode))))
+(define-key mode-line-mode-menu [column-number-mode]
+ `(menu-item ,(purecopy "Column number") column-number-mode
+ :button (:toggle . column-number-mode)))
+(define-key mode-line-mode-menu [auto-fill-mode]
+ `(menu-item ,(purecopy "Auto-fill") auto-fill-mode
+ :button (:toggle . auto-fill-function)))
+(define-key mode-line-mode-menu [auto-revert-mode]
+ `(menu-item ,(purecopy "Auto revert") auto-revert-mode
+ :button (:toggle . auto-revert-mode)))
+(define-key mode-line-mode-menu [abbrev-mode]
+ `(menu-item ,(purecopy "Abbrev") abbrev-mode
+ :button (:toggle . abbrev-mode)))
(defun mode-line-mode-menu (event)
(interactive "@e")
".x86f" ".sparcf"
;; Libtool
".lo" ".la"
- ;; Java
- ".class"
;; Texinfo-related
".toc" ".log" ".aux"
".cp" ".fn" ".ky" ".pg" ".tp" ".vr"
(make-variable-buffer-local 'indent-tabs-mode)
-;; We have base64 functions built in now.
+;; We have base64 and md5 functions built in now.
(add-to-list 'features 'base64)
+(add-to-list 'features 'md5)
+(add-to-list 'features 'overlay)
(define-key esc-map "\t" 'complete-symbol)
(define-key global-map [menu] 'execute-extended-command)
(define-key global-map [find] 'search-forward)
-(define-key global-map [delete] 'delete-char)
+;; Don't do this. We define <delete> in function-key-map instead.
+;(define-key global-map [delete] 'backward-delete-char)
;; natural bindings for terminal keycaps --- defined in X keysym order
-(define-key global-map [home] 'beginning-of-buffer)
+(define-key global-map [home] 'beginning-of-line)
+(define-key global-map [C-home] 'beginning-of-buffer)
(define-key global-map [M-home] 'beginning-of-buffer-other-window)
(define-key global-map [left] 'backward-char)
(define-key global-map [up] 'previous-line)
(define-key global-map [C-next] 'scroll-left)
(define-key global-map [M-next] 'scroll-other-window)
(define-key global-map [M-prior] 'scroll-other-window-down)
-(define-key global-map [end] 'end-of-buffer)
+(define-key global-map [end] 'end-of-line)
+(define-key global-map [C-end] 'end-of-buffer)
(define-key global-map [M-end] 'end-of-buffer-other-window)
(define-key global-map [begin] 'beginning-of-buffer)
(define-key global-map [M-begin] 'beginning-of-buffer-other-window)
(define-key function-key-map [kp-end] [end])
(define-key function-key-map [kp-begin] [begin])
(define-key function-key-map [kp-insert] [insert])
-(define-key function-key-map [kp-delete] [delete])
+(define-key function-key-map [backspace] [?\C-?])
+(define-key function-key-map [delete] [?\C-?])
+(define-key function-key-map [kp-delete] [?\C-?])
(define-key global-map [mouse-movement] 'ignore)
(global-set-key [C-right] 'forward-word)
(global-set-key [C-left] 'backward-word)
;; This is not quite compatible, but at least is analogous
-(global-set-key [C-delete] 'backward-kill-word)
+(global-set-key [C-delete] 'backward-kill-word)
+(global-set-key [C-backspace] 'kill-word)
;; This is "move to the clipboard", or as close as we come.
(global-set-key [S-delete] 'kill-region)