X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/4d4f9ad185b55124c1c5e6bfa0b2b70644ca7b64..2dd9081f5f0d805d4b99fd087d29c9cf9da4815f:/dot/emacs diff --git a/dot/emacs b/dot/emacs index fe58c97..e5ae0b8 100644 --- a/dot/emacs +++ b/dot/emacs @@ -55,6 +55,7 @@ (and (library-exists-p "vc-git") (not (memq 'GIT vc-handled-backends)) (not (memq 'Git vc-handled-backends)) + (not (memq 'git vc-handled-backends)) (setq vc-handled-backends (cons 'GIT vc-handled-backends))) (trap (or mdw-fast-startup (require 'p4))) @@ -123,7 +124,8 @@ (setq sendmail-program "~/bin/sendmail-hack") -(setq mail-user-agent 'message-user-agent) +(setq mail-user-agent 'message-user-agent + read-mail-command 'gnus) (setq message-signature-separator "^-- \\(\\|\\[mdw\\]\\)$" message-yank-prefix "> " message-yank-cited-prefix "> " @@ -187,16 +189,19 @@ (trap (resize-minibuffer-mode 1)) ;Make minibuffer grow dynamically (auto-compression-mode 1) ;Enable automatic compression +(setq enable-local-variables :safe + enable-local-eval nil) (setq dabbrev-case-replace nil) ;Retain case when completing +(setq linum-format "%7d ") (setq next-line-add-newlines nil) ;Don't add weird newlines (setq split-height-threshold 45) ;Reuse windows where sensible (setq display-buffer-reuse-frames nil ;Don't confuse me by showing buffers iswitchb-default-method 'samewindow) ;in other random frames (setq dired-deletion-confirmer ;Make deletion easier in dired - (symbol-function 'y-or-n-p)) + (symbol-function 'y-or-n-p) + dired-listing-switches "-alF" ;Do `ls -F' things in dired windows + wdired-allow-to-change-permissions 'advanced) (setq read-quoted-char-radix 16) ;C-q HEX-STUFF [RET] -(setq dired-listing-switches "-alF") ;Do `ls -F' things in dired windows -(setq wdired-allow-to-change-permissions t) (setq case-fold-file-names nil) ;Don't translate file names (grr...) (setq scroll-step 5) ;Don't scroll too much at a time (setq-default fill-column 77) ;I use rather narrow windows @@ -217,6 +222,7 @@ (setq x-gtk-file-dialog-help-text nil) (setq Info-fontify-maximum-menu-size 100000) (setq set-mark-command-repeat-pop t) +(setq password-cache-expiry nil) (setq-default proced-filter 'all proced-sort 'user) (setq ispell-program-name "aspell" @@ -322,6 +328,7 @@ (setq display-time-24hr-format t) (display-time) +(column-number-mode 1) (trap (if window-system (let ((view-diary-entries-initially t)) @@ -375,12 +382,12 @@ (cursor-color . "red")) (if mdw-black-background '((background-mode . dark)) - '((background-mode . light))) - (and (eq window-system 'pm) - '((font . "-os2-System VIO-medium-r-normal--*-40-*-*-m-*-cp850") - (menu-font . "8.Helv") - (background-color . "lightgrey"))) - default-frame-alist)) + '((background-mode . light))))) +(setq window-system-default-frame-alist + '((pm (font . "-os2-System VIO-medium-r-normal--*-40-*-*-m-*-cp850") + (menu-font . "8.Helv") + (background-color . "lightgrey")) + (nil (menu-bar-lines . 0)))) ;; Other frame fiddling. @@ -434,13 +441,20 @@ (eval-after-load "dired" '(progn - (define-key dired-mode-map [?\C-x ?\C-q] - 'wdired-change-to-wdired-mode))) + (or (lookup-key dired-mode-map [?\C-x ?\C-q]) + (define-key dired-mode-map [?\C-x ?\C-q] + 'wdired-change-to-wdired-mode)) + (and (fboundp 'dired-do-relsymlink) + (define-key dired-mode-map [?\C-c ?\C-s] 'dired-do-relsymlink)))) (add-hook 'org-mode-hook #'(lambda () (mdw-clobber-evil-keymap org-mode-map))) (add-hook 'org-agenda-mode-hook #'(lambda () (mdw-clobber-evil-keymap org-agenda-mode-map))) +(or mdw-fast-startup + (progn + (org-remember-insinuate) + (global-set-key [?\C-c ?r] 'org-remember))) ;; Recognising types of files. @@ -512,7 +526,8 @@ ;;; Rootly editingness. (eval-after-load "tramp" - '(progn + '(let ((fix-args (if (mdw-version-< tramp-version "2.1") + #'append #'list))) (setq tramp-methods (mdw-uniquify-alist `(("become" @@ -522,13 +537,14 @@ (tramp-copy-program nil) (tramp-copy-args nil) (tramp-copy-keep-date-arg nil) - (tramp-login-args (("TERM=dumb" "%u")))) + (tramp-login-args ,(funcall fix-args `("TERM=dumb" "%u")))) ("really" (tramp-connection-function tramp-open-connection-su) (tramp-login-program "really") - (tramp-login-args (("-u" "%u") - ("--") - ("env" "TERM=dumb" "/bin/sh"))) + (tramp-login-args ,(funcall fix-args + `("-u" "%u") + `("--") + `("env" "TERM=dumb" "/bin/sh"))) (tramp-copy-program nil) (tramp-copy-args nil) (tramp-copy-keep-date-arg nil) @@ -536,7 +552,7 @@ ,@tramp-methods))) (setq tramp-default-method "ssh") (setq tramp-default-method-alist - `(("\\`localhost\\'" "" + `(("\\`\\(localhost\\|\\)\\'" "" ,(cond ((executable-find "become") "become") ((executable-find "really") "really") (t "su"))))))) @@ -723,7 +739,7 @@ ;; Make the shell mode aware of my prompt. -(setq shell-prompt-pattern "^[^]#$%>»}\n]*[]#$%>»}] *") +(setq shell-prompt-pattern "^[^]#$%>»}\n]*\\([]#$%»}]\\|>>?\\) *") (setq comint-password-prompt-regexp (concat "\\(\\([Ee]nter \\|[Oo]ld \\|[Nn]ew \\|[a-zA-Z0-9_]*'s \\|^\\)" "[Pp]assword\\|pass phrase\\):"))