]> code.delx.au - gnu-emacs/blobdiff - lisp/bindings.el
*** empty log message ***
[gnu-emacs] / lisp / bindings.el
index 6d75d691de08e44f771bdbc72eec12d99b1c0bb9..c5040183179b426cbb497c13c2d07139de3468c9 100644 (file)
@@ -85,15 +85,25 @@ corresponding to the mode line clicked."
   `(""
     (current-input-method
      (:eval
-      (propertize current-input-method-title
-                 'help-echo (concat ,(purecopy "Input method: ")
-                                    current-input-method
-                                    ,(purecopy ".  mouse-2 disables, \
-mouse-3 describes"))
-                 'local-map mode-line-input-method-map)))
-    ,(propertize "%Z"
-                'help-echo (purecopy "Coding system information: \
-see M-x describe-coding-system")))
+      ,(purecopy
+       '(propertize current-input-method-title
+                    'help-echo (concat
+                                "Input method: "
+                                current-input-method
+                                ".  mouse-2 disables, mouse-3 describes")
+                    'local-map mode-line-input-method-map))))
+    ,(propertize
+      "%Z"
+      'help-echo 
+      (purecopy (lambda (window object point)
+                 (save-window-excursion
+                   (select-window window)
+                   (if enable-multibyte-characters
+                       (concat (symbol-name buffer-file-coding-system)
+                               " buffer; see M-x describe-coding-system")
+                     (concat "Unibyte "
+                             (symbol-name buffer-file-coding-system)
+                             " buffer")))))))
   "Mode-line control for displaying information of multilingual environment.
 Normally it displays current input method (if any activated) and
 mnemonics of the following coding systems:
@@ -125,9 +135,29 @@ Normally nil in most modes, since there is no process to display.")
 
 (defvar mode-line-modified
   (list (propertize
-        "%1*%1+"
-        'help-echo (purecopy "Read-only status: mouse-2 toggles it")
-        'local-map (purecopy (make-mode-line-mouse2-map #'toggle-read-only))))
+        "%1*"
+        'help-echo (purecopy (lambda (window object point)
+                               (format "%sead-only: mouse-2 toggles"
+                                       (save-selected-window
+                                         (select-window window)
+                                         (if buffer-read-only
+                                             "R"
+                                           "Not r")))))
+        'local-map (purecopy (make-mode-line-mouse2-map #'toggle-read-only)))
+       (propertize
+        "%1+"
+        'help-echo  (purecopy (lambda (window object point)
+                                (format "%sodified: mouse-2 toggles flag"
+                                        (save-selected-window
+                                          (select-window window)
+                                          (if (buffer-modified-p)
+                                            "M"
+                                          "Not m")))))
+        'local-map (purecopy (make-mode-line-mouse2-map
+                              (lambda ()
+                                (interactive)
+                                (set-buffer-modified-p
+                                 (not (buffer-modified-p))))))))
   "Mode-line control for displaying whether current buffer is modified.")
 
 (make-variable-buffer-local 'mode-line-modified)
@@ -342,6 +372,10 @@ buffer, mouse-2: prev, M-mouse-2: next, mouse-3: buffer menu")
         ".fas" ".lib"
         ;; CMUCL
         ".x86f" ".sparcf"
+        ;; Libtool
+        ".lo" ".la"
+        ;; Java
+        ".class"
         ;; Texinfo-related
         ".toc" ".log" ".aux"
         ".cp" ".fn" ".ky" ".pg" ".tp" ".vr"
@@ -545,6 +579,8 @@ language you are using."
 (define-key global-map [menu] 'execute-extended-command)
 (define-key global-map [find] 'search-forward)
 
+(define-key global-map [delete] 'delete-char)
+
 ;; natural bindings for terminal keycaps --- defined in X keysym order
 (define-key global-map [home]          'beginning-of-buffer)
 (define-key global-map [M-home]                'beginning-of-buffer-other-window)
@@ -661,10 +697,10 @@ language you are using."
 (define-key esc-map "\C-t" 'transpose-sexps)
 (define-key ctl-x-map "\C-t" 'transpose-lines)
 
-(define-key esc-map ";" 'indent-for-comment)
-(define-key esc-map "j" 'indent-new-comment-line)
-(define-key esc-map "\C-j" 'indent-new-comment-line)
-(define-key ctl-x-map ";" 'set-comment-column)
+(define-key esc-map ";" 'comment-dwim)
+(define-key esc-map "j" 'comment-indent-new-line)
+(define-key esc-map "\C-j" 'comment-indent-new-line)
+(define-key ctl-x-map ";" 'comment-set-column)
 (define-key ctl-x-map "f" 'set-fill-column)
 (define-key ctl-x-map "$" 'set-selective-display)
 
@@ -703,6 +739,8 @@ language you are using."
 (define-key esc-map "\C-k" 'kill-sexp)
 (define-key global-map [C-M-delete] 'backward-kill-sexp)
 (define-key global-map [C-M-backspace] 'backward-kill-sexp)
+(define-key esc-map [C-delete] 'backward-kill-sexp)
+(define-key esc-map [C-backspace] 'backward-kill-sexp)
 (define-key esc-map "\C-n" 'forward-list)
 (define-key esc-map "\C-p" 'backward-list)
 (define-key esc-map "\C-a" 'beginning-of-defun)