chiark / gitweb /
Merge branch 'master' of git+ssh://metalzone.distorted.org.uk/~mdw/etc/profile
authorMark Wooding <mdw@distorted.org.uk>
Mon, 11 Jan 2010 17:02:44 +0000 (17:02 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 11 Jan 2010 17:02:44 +0000 (17:02 +0000)
* 'master' of git+ssh://metalzone.distorted.org.uk/~mdw/etc/profile:
  dot/emacs: Use `window-system-default-frame-alist'.
  dot/Xdefaults: Use server fonts by default in Emacs.
  dot/emacs: Turn on column number display.
  dot/emacs: More `dired' hacking: tweak keymap.
  dot/emacs: Tweak `dired' settings.
  dot/emacs: Force use of server-side X fonts.
  dot/emacs: Make `gnus' be the default mail reader.
  dot/emacs: Fix stupid bug in `tramp' setup.
  el/dot-emacs.el: Complicated `exchange-point-and-mark' hack.
  dot/emacs: Insinuate `org' with `remember'.
  dot/emacs: Format line numbers prettily.
  dot/emacs: Turn password expiry off.
  dot/emacs: Tweak file-local variable settings.
  el/dot-emacs.el: Use `make-local-variable'.
  bin/mdw-build: Cross-check Git and Debian version numbers.
  dot/emacs, el/dot-emacs.el: Fix `tramp-methods' some more.
  dot/emacs, el/dot-emacs.el: Fix patterns for root prompt.
  emacs: Yet another spelling of `git' in `vc-handled-backends'.
  el/dot-emacs.el: Clobber `comint-highlight-input' properly.

1  2 
el/dot-emacs.el

diff --combined el/dot-emacs.el
index 172d0ad05f28d71dc16595eb1ff50ec1caefcce3,a55843c3ce30ec83ad25d7ba46c450f1b1f5fe3d..102877d647c81c63897937c9f941863ab66f14ae
@@@ -164,6 -164,25 +164,25 @@@ library.
        (other-window 1))
      (select-window win)))
  
+ ;; Transient mark mode hacks.
+ (defadvice exchange-point-and-mark
+     (around mdw-highlight (&optional arg) activate compile)
+   "Maybe don't actually exchange point and mark.
+ If `transient-mark-mode' is on and the mark is inactive, then
+ just activate it.  A non-trivial prefix argument will force the
+ usual behaviour.  A trivial prefix argument (i.e., just C-u) will
+ activate the mark and temporarily enable `transient-mark-mode' if
+ it's currently off."
+   (cond ((or mark-active
+            (and (not transient-mark-mode) (not arg))
+            (and arg (or (not (consp arg))
+                         (not (= (car arg) 4)))))
+        ad-do-it)
+       (t
+        (or transient-mark-mode (setq transient-mark-mode 'only))
+        (set-mark (mark t)))))
  ;; Functions for sexp diary entries.
  
  (defun mdw-weekday (l)
@@@ -418,6 -437,21 +437,21 @@@ in REST.
              (insert "\nNP: ")
              (insert-file-contents np-file)))))
  
+ (defun mdw-version-< (ver-a ver-b)
+   "Answer whether VER-A is strictly earlier than VER-B.
+ VER-A and VER-B are version numbers, which are strings containing digit
+ sequences separated by `.'."
+   (let* ((la (mapcar (lambda (x) (car (read-from-string x)))
+                    (split-string ver-a "\\.")))
+        (lb (mapcar (lambda (x) (car (read-from-string x)))
+                    (split-string ver-b "\\."))))
+     (catch 'done
+       (while t
+       (cond ((null la) (throw 'done lb))
+             ((null lb) (throw 'done nil))
+             ((< (car la) (car lb)) (throw 'done t))
+             ((= (car la) (car lb)) (setq la (cdr la) lb (cdr lb))))))))
  (defun mdw-check-autorevert ()
    "Sets global-auto-revert-ignore-buffer appropriately for this buffer.
  This takes into consideration whether it's been found using
@@@ -665,14 -699,6 +699,14 @@@ case.
  (defvar mdw-auto-indent t
    "Whether to indent automatically after a newline.")
  
 +(defun mdw-whitespace-mode (&optional arg)
 +  "Turn on/off whitespace mode, but don't highlight trailing space."
 +  (interactive "P")
 +  (when (and (boundp 'whitespace-style)
 +           (fboundp 'whitespace-mode))
 +    (let ((whitespace-style (remove 'trailing whitespace-style)))
 +      (whitespace-mode arg))))
 +
  (defun mdw-misc-mode-config ()
    (and mdw-auto-indent
         (cond ((eq major-mode 'lisp-mode)
             (t
              (local-set-key "\C-m" 'newline-and-indent))))
    (local-set-key [C-return] 'newline)
-   (make-variable-buffer-local 'page-delimiter)
+   (make-local-variable 'page-delimiter)
    (setq page-delimiter "\f\\|^.*-\\{6\\}.*$")
    (setq comment-column 40)
    (auto-fill-mode 1)
    (setq fill-column 77)
    (setq show-trailing-whitespace t)
 -  (let ((whitespace-style (remove 'trailing whitespace-style)))
 -    (trap (whitespace-mode t)))
 +  (mdw-whitespace-mode 1)
    (and (fboundp 'gtags-mode)
         (gtags-mode))
    (outline-minor-mode t)
    (trap (turn-on-font-lock)))
  
  (defun mdw-post-config-mode-hack ()
 -  (let ((whitespace-style (remove 'trailing whitespace-style)))
 -    (trap (whitespace-mode t))))
 +  (mdw-whitespace-mode 1))
  
  (eval-after-load 'gtags
    '(progn
@@@ -748,17 -776,6 +782,6 @@@ doesn't match any of the regular expres
        (run-with-idle-timer 0 nil #'x-close-connection frame-display))))
  (add-hook 'delete-frame-functions 'mdw-last-one-out-turn-off-the-lights)
  
- (defvar mdw-frame-parameters-alist
-   '((nil (menu-bar-lines . 0))))
- (defun mdw-set-frame-parameters (frame)
-   (let ((params (assq (if (fboundp 'window-system)
-                         (window-system frame)
-                       window-system)
-                     mdw-frame-parameters-alist)))
-     (when params
-       (modify-frame-parameters frame (cdr params)))))
- (add-hook 'after-make-frame-functions 'mdw-set-frame-parameters)
  ;;;--------------------------------------------------------------------------
  ;;; General fontification.
  
  
  (mdw-define-face comint-highlight-prompt
    (t :weight bold))
- (mdw-define-face comint-highlight-input)
+ (mdw-define-face comint-highlight-input
+   (t nil))
  
  (mdw-define-face trailing-whitespace
    (((class color)) :background "red")
    (t :foreground "green"))
  (mdw-define-face diff-removed
    (t :foreground "red"))
- (mdw-define-face diff-context)
+ (mdw-define-face diff-context
+   (t nil))
  
  (mdw-define-face erc-input-face
    (t :foreground "red"))
@@@ -1509,7 -1528,6 +1534,7 @@@ strip numbers instead.
  
    ;; Miscellaneous fiddling.
    (mdw-standard-fill-prefix "\\([ \t]*#+[ \t]*\\)")
 +  (setq indent-tabs-mode nil)
  
    ;; Now define fontification things.
    (make-local-variable 'font-lock-keywords)
    (interactive)
    (sgml-mode)
    (mdw-standard-fill-prefix "")
-   (make-variable-buffer-local 'sgml-delimiters)
+   (make-local-variable 'sgml-delimiters)
    (setq sgml-delimiters
        '("AND" "&" "COM" "--" "CRO" "&#" "DSC" "]" "DSO" "[" "DTGC" "]"
          "DTGO" "[" "ERO" "&" "ETAGO" ":e" "GRPC" ")" "GRPO" "(" "LIT" "\""
            (eshell/pwd)
            right)))
  (setq eshell-prompt-function 'mdw-eshell-prompt)
- (setq eshell-prompt-regexp "^\\[[^]]+\\]")
+ (setq eshell-prompt-regexp "^\\[[^]>]+\\(\\]\\|>>?\\)")
  
  (defalias 'eshell/e 'find-file)
  (defalias 'eshell/w3m 'w3m-goto-url)
  (defun mdw-setup-smalltalk ()
    (and mdw-auto-indent
         (local-set-key "\C-m" 'smalltalk-newline-and-indent))
-   (make-variable-buffer-local 'mdw-auto-indent)
+   (make-local-variable 'mdw-auto-indent)
    (setq mdw-auto-indent nil)
    (local-set-key "\C-i" 'smalltalk-reindent))
  
        (multiple-value-bind . ((&whole 4 &rest 1) 4 &body))))))
  
  (defun mdw-common-lisp-indent ()
-   (make-variable-buffer-local 'lisp-indent-function)
+   (make-local-variable 'lisp-indent-function)
    (setq lisp-indent-function 'common-lisp-indent-function))
  
  (setq lisp-simple-loop-indentation 2