From: Mark Wooding Date: Sun, 20 Dec 2009 22:58:29 +0000 (+0000) Subject: Merge remote branches 'ponder' and 'crybaby' X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/profile/commitdiff_plain/4983780af98c0465162b06554cd55ffcd213cfcd?hp=79ba2d3537913b2f1aef104fb43b7c2c20eb0781 Merge remote branches 'ponder' and 'crybaby' * ponder: el/dot-emacs.el: Aliases for `eshell'. el/dot-emacs.el: Remove menu bar from dumb terminals. el/dot-emacs.el: Remove stray debugging code. el/dot-emacs.el: Emacs 22 doesn't have `whitespace-mode'. dot/bash_profile: Use Perforce configuration files. * crybaby: emacs: Yet another spelling of `git' in `vc-handled-backends'. el/dot-emacs.el: Clobber `comint-highlight-input' properly. --- diff --git a/dot/bash_profile b/dot/bash_profile index e45fe41..a6015e9 100644 --- a/dot/bash_profile +++ b/dot/bash_profile @@ -151,7 +151,7 @@ export BASCAT="-l +n" export CVS_RSH=ssh export CVSROOT=`mdw-conf cvs-root` export SVNROOT=`mdw-conf svn-root` -export P4PORT=`mdw-conf p4-port` P4USER=`mdw-conf p4-user` +export P4CONFIG=.p4 export BECOME="--preserve-environment" diff --git a/dot/emacs b/dot/emacs index 054f9da..2a7796a 100644 --- a/dot/emacs +++ b/dot/emacs @@ -45,7 +45,7 @@ (add-to-list 'auto-mode-alist `(,(concat "/debian/" "\\(" - "[" "[:lower:][:digit:]]" + "[" "[:lower:][:digit:]]" "[[:lower:][:digit:].+-" "]+" "\\." "\\)?" @@ -203,7 +203,11 @@ (setq-default fill-column 77) ;I use rather narrow windows (setq-default comment-column 40) ;Set a standard comment column (setq-default truncate-partial-width-windows nil) -(setq woman-use-own-frame nil) ;Keep man pages somewhere sensible +(setq default-indicate-empty-lines t) +(setq whitespace-style + '(trailing space-before-tab space-after-tab empty indentation)) +(setq woman-use-own-frame nil ;Keep man pages somewhere sensible + woman-fill-column 72) ;Right margin position. (setq diff-switches "-u" ;I like reading unified diffs cvs-diff-flags (list diff-switches)) (setq echo-keystrokes 10) ;Long delay before keystrokes echo diff --git a/el/dot-emacs.el b/el/dot-emacs.el index 1d2ddec..4969f29 100644 --- a/el/dot-emacs.el +++ b/el/dot-emacs.el @@ -349,7 +349,6 @@ (defun mdw-uniquify-alist (&rest alists) (car alists) (cdr alists))))) - (defun mdw-do-uniquify (done end l rest) "A helper function for mdw-uniquify-alist. The DONE argument is a list whose first element is `nil'. It @@ -682,6 +681,8 @@ (defun mdw-misc-mode-config () (auto-fill-mode 1) (setq fill-column 77) (setq show-trailing-whitespace t) + (let ((whitespace-style (remove 'trailing whitespace-style))) + (trap (whitespace-mode t))) (and (fboundp 'gtags-mode) (gtags-mode)) (outline-minor-mode t) @@ -689,6 +690,10 @@ (defun mdw-misc-mode-config () (reveal-mode t) (trap (turn-on-font-lock))) +(defun mdw-post-config-mode-hack () + (let ((whitespace-style (remove 'trailing whitespace-style))) + (trap (whitespace-mode t)))) + (eval-after-load 'gtags '(progn (dolist (key '([mouse-2] [mouse-3])) @@ -734,10 +739,20 @@ (defun mdw-last-one-out-turn-off-the-lights (frame) frame-display) (progn "frame %s still uses us" nil))) (frame-list)))) - (message "turn out the lights") (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. @@ -1130,7 +1145,9 @@ (defun mdw-fontify-c-and-c++ () ;; And anything else is punctuation. (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face)))))) + '(0 mdw-punct-face)))) + + (mdw-post-config-mode-hack))) ;;;-------------------------------------------------------------------------- ;;; AP calc mode. @@ -1182,7 +1199,9 @@ (defun mdw-fontify-apcalc () ;; And anything else is punctuation. (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face)))))) + '(0 mdw-punct-face))))) + + (mdw-post-config-mode-hack)) ;;;-------------------------------------------------------------------------- ;;; Java programming configuration. @@ -1244,7 +1263,9 @@ (defun mdw-fontify-java () ;; And anything else is punctuation. (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face)))))) + '(0 mdw-punct-face))))) + + (mdw-post-config-mode-hack)) ;;;-------------------------------------------------------------------------- ;;; C# programming configuration. @@ -1311,7 +1332,9 @@ (defun mdw-fontify-csharp () ;; And anything else is punctuation. (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face)))))) + '(0 mdw-punct-face))))) + + (mdw-post-config-mode-hack)) (define-derived-mode csharp-mode java-mode "C#" "Major mode for editing C# code.") @@ -1347,7 +1370,9 @@ (defun mdw-fontify-go () ;; And anything else is punctuation. (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face)))))) + '(0 mdw-punct-face))))) + + (mdw-post-config-mode-hack)) ;;;-------------------------------------------------------------------------- ;;; Awk programming configuration. @@ -1405,7 +1430,9 @@ (defun mdw-fontify-awk () ;; And anything else is punctuation. (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face)))))) + '(0 mdw-punct-face))))) + + (mdw-post-config-mode-hack)) ;;;-------------------------------------------------------------------------- ;;; Perl programming style. @@ -1452,7 +1479,9 @@ (defun mdw-fontify-perl () ;; And anything else is punctuation. (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face)))))) + '(0 mdw-punct-face))))) + + (mdw-post-config-mode-hack)) (defun perl-number-tests (&optional arg) "Assign consecutive numbers to lines containing `#t'. With ARG, @@ -1494,7 +1523,9 @@ (defun mdw-fontify-pythonic (keywords) ;; And anything else is punctuation. (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face))))) + '(0 mdw-punct-face)))) + + (mdw-post-config-mode-hack)) ;; Define Python fontification styles. @@ -1568,7 +1599,9 @@ (defun mdw-fontify-icon () ;; And anything else is punctuation. (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face)))))) + '(0 mdw-punct-face))))) + + (mdw-post-config-mode-hack)) ;;;-------------------------------------------------------------------------- ;;; ARM assembler programming configuration. @@ -1649,8 +1682,9 @@ (defun arm-assembler-mode () ;; And anything else is punctuation. (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face)))) + '(0 mdw-punct-face))) + (mdw-post-config-mode-hack)) (run-hooks 'arm-assembler-mode-hook)) ;;;-------------------------------------------------------------------------- @@ -1676,7 +1710,8 @@ (defun mdw-fontify-tcl () "\\([eE]\\([-+]\\|\\)[0-9_]+\\|\\)") '(0 mdw-number-face)) (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face))))) + '(0 mdw-punct-face)))) + (mdw-post-config-mode-hack)) ;;;-------------------------------------------------------------------------- ;;; REXX configuration. @@ -1749,7 +1784,9 @@ (defun mdw-fontify-rexx () ;; And everything else is punctuation. (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face)))))) + '(0 mdw-punct-face))))) + + (mdw-post-config-mode-hack)) ;;;-------------------------------------------------------------------------- ;;; Standard ML programming style. @@ -1799,7 +1836,9 @@ (defun mdw-fontify-sml () ;; And anything else is punctuation. (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face)))))) + '(0 mdw-punct-face))))) + + (mdw-post-config-mode-hack)) ;;;-------------------------------------------------------------------------- ;;; Haskell configuration. @@ -1836,7 +1875,9 @@ (defun mdw-fontify-haskell () "\\([eE]\\([-+]\\|\\)[0-9]+\\|\\)") '(0 mdw-number-face)) (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face)))))) + '(0 mdw-punct-face))))) + + (mdw-post-config-mode-hack)) ;;;-------------------------------------------------------------------------- ;;; Erlang configuration. @@ -1870,7 +1911,9 @@ (defun mdw-fontify-erlang () (list "\\<[0-9]+\\(\\|#[0-9a-zA-Z]+\\|[eE][+-]?[0-9]+\\)\\>" '(0 mdw-number-face)) (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face)))))) + '(0 mdw-punct-face))))) + + (mdw-post-config-mode-hack)) ;;;-------------------------------------------------------------------------- ;;; Texinfo configuration. @@ -1904,7 +1947,9 @@ (defun mdw-fontify-texinfo () ;; Fontify TeX special characters as punctuation. (list "[{}]+" - '(0 mdw-punct-face))))) + '(0 mdw-punct-face)))) + + (mdw-post-config-mode-hack)) ;;;-------------------------------------------------------------------------- ;;; TeX and LaTeX configuration. @@ -1970,7 +2015,9 @@ (defun mdw-fontify-tex () ;; Fontify TeX special characters as punctuation. (list "[$^_{}#&]" - '(0 mdw-punct-face))))) + '(0 mdw-punct-face)))) + + (mdw-post-config-mode-hack)) ;;;-------------------------------------------------------------------------- ;;; SGML hacking. @@ -2020,6 +2067,35 @@ (defun mdw-setup-sh-script-mode () (setq sh-indentation 2) (setq sh-basic-offset 2)) +;;;-------------------------------------------------------------------------- +;;; Emacs shell mode. + +(defun mdw-eshell-prompt () + (let ((left "[") (right "]")) + (when (= (user-uid) 0) + (setq left "«" right "»")) + (concat left + (save-match-data + (replace-regexp-in-string "\\..*$" "" (system-name))) + " " + (eshell/pwd) + right))) +(setq eshell-prompt-function 'mdw-eshell-prompt) +(setq eshell-prompt-regexp "^\\[[^]]+\\]") + +(defalias 'eshell/e 'find-file) +(defalias 'eshell/w3m 'w3m-goto-url) + +(mdw-define-face eshell-prompt (t :weight bold)) +(mdw-define-face eshell-ls-archive (t :weight bold :foreground "red")) +(mdw-define-face eshell-ls-backup (t :foreground "lightgrey" :slant italic)) +(mdw-define-face eshell-ls-product (t :foreground "lightgrey" :slant italic)) +(mdw-define-face eshell-ls-clutter (t :foreground "lightgrey" :slant italic)) +(mdw-define-face eshell-ls-executable (t :weight bold)) +(mdw-define-face eshell-ls-directory (t :foreground "cyan" :weight bold)) +(mdw-define-face eshell-ls-readonly (t nil)) +(mdw-define-face eshell-ls-symlink (t :foreground "cyan")) + ;;;-------------------------------------------------------------------------- ;;; Messages-file mode. @@ -2222,7 +2298,8 @@ (defun mdw-fontify-smalltalk () "\\([eE]\\([-+]\\|\\)[0-9_]+\\|\\)") '(0 mdw-number-face)) (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face))))) + '(0 mdw-punct-face)))) + (mdw-post-config-mode-hack)) ;; Lispy languages. @@ -2262,7 +2339,9 @@ (defun mdw-fontify-lispy () (setq font-lock-keywords (list (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face))))) + '(0 mdw-punct-face)))) + + (mdw-post-config-mode-hack)) (defun comint-send-and-indent () (interactive) diff --git a/setup b/setup index 42c0cd7..162ede5 100755 --- a/setup +++ b/setup @@ -240,7 +240,7 @@ echo " all done." $echon "Finding a suitable emacs:$echoc" emacs=no -for i in emacs22 emacs21 emacs; do +for i in emacs22 emacs23 emacs21 emacs; do if type -p >/dev/null $i; then emacs=$i break