From: Mark Wooding Date: Mon, 11 Jan 2010 17:02:44 +0000 (+0000) Subject: Merge branch 'master' of git+ssh://metalzone.distorted.org.uk/~mdw/etc/profile X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/profile/commitdiff_plain/3710170f2e8104f816fff97c557cb75b6b7650a2?ds=inline;hp=-c Merge branch 'master' of git+ssh://metalzone.distorted.org.uk/~mdw/etc/profile * '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. --- 3710170f2e8104f816fff97c557cb75b6b7650a2 diff --combined el/dot-emacs.el index 172d0ad,a55843c..102877d --- a/el/dot-emacs.el +++ b/el/dot-emacs.el @@@ -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) @@@ -683,13 -709,14 +717,13 @@@ (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) @@@ -698,7 -725,8 +732,7 @@@ (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. @@@ -821,7 -838,8 +844,8 @@@ (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") @@@ -895,7 -913,8 +919,8 @@@ (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) @@@ -2031,7 -2049,7 +2056,7 @@@ (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" "\"" @@@ -2086,7 -2104,7 +2111,7 @@@ (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) @@@ -2288,7 -2306,7 +2313,7 @@@ (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)) @@@ -2327,7 -2345,7 +2352,7 @@@ (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