(if (file-exists-p boot)
(load boot))))
-(require 'cl)
+(require 'cl-lib)
(require 'dot-emacs)
(unless (mdw-emacs-version-p 25)
(require 'paren)
(trap (show-paren-mode t))
(or window-system (mdw-emacs-version-p 22) (menu-bar-mode -1))
-(setq x-select-enable-clipboard nil
- x-select-enable-primary t
- mouse-drag-copy-region t)
+(if (eq window-system 'x)
+ (setq x-select-enable-clipboard nil
+ x-select-enable-primary t))
+(setq mouse-drag-copy-region t)
;; Multiple cursors.
(not (and (fboundp 'daemonp) (daemonp)))
(progn (setq server-temp-file-regexp (concat "^" tmpdir "\\|/draft$")
edit-server-new-frame nil
+ server-raise-frame nil
gnuserv-frame t)
- (trap (let ((warning-suppress-types
- (cons '(server)
- (and (boundp 'warning-suppress-types)
- warning-suppress-types))))
- (server-start)))
+ (trap (progn
+ (require 'server)
+ (let ((state (server-running-p)))
+ (if state
+ (message "Emacs server %s: not starting"
+ (cond ((eq state t) "already running")
+ (t "maybe running")))
+ (server-start)))))
(trap (progn
(require 'edit-server)
(edit-server-start)
;; Postscript printing.
-(setq ps-paper-type 'a4
- ps-print-only-one-header t
- ps-print-color-p t
- ps-landscape-mode t ps-number-of-columns 4
- ps-line-number t ps-line-number-step 5 ps-line-number-start 5
- ps-zebra-stripes nil ps-zebra-stripe-height 5
- ps-spool-duplex t ps-spool-tumble nil ps-spool-config 'setpagedevice
- ps-top-margin (* 12 (/ 72 25.4))
- ps-bottom-margin (* 16 (/ 72 25.4))
- ps-header-offset (* 8 (/ 72 25.4))
- ps-left-margin (* 12 (/ 72 25.4))
- ps-right-margin (* 12 (/ 72 25.4))
- ps-inter-column (* 4 (/ 72 25.4))
- ps-font-family 'CourierCondensed ps-font-size '(4.5 . 5.16)
- ps-line-number-font 'Palatino ps-line-number-font-size 3
- ps-header-font-family 'Helvetica
- ps-header-title-font-size '(8 . 10)
- ps-header-font-size '(6 . 8))
+(let ((mm (/ 72 25.4)))
+ (setq ps-paper-type 'a4
+ ps-print-only-one-header t
+ ps-print-color-p t
+ ps-landscape-mode t ps-number-of-columns 4
+ ps-line-number t ps-line-number-step 5 ps-line-number-start 5
+ ps-zebra-stripes nil ps-zebra-stripe-height 5
+ ps-spool-duplex t ps-spool-tumble nil ps-spool-config 'setpagedevice
+ ps-top-margin (* 12 mm)
+ ps-bottom-margin (* 16 mm)
+ ps-header-offset (* 8 mm)
+ ps-left-margin (* 12 mm)
+ ps-right-margin (* 12 mm)
+ ps-inter-column (* 4 mm)
+ ps-font-family 'CourierCondensed ps-font-size '(4.5 . 5.16)
+ ps-line-number-font 'Palatino ps-line-number-font-size 3
+ ps-header-font-family 'Helvetica
+ ps-header-title-font-size '(8 . 10)
+ ps-header-font-size '(6 . 8)))
;; Splash screen stuff.
(trap (resize-minibuffer-mode 1)) ;Make minibuffer grow dynamically
(auto-compression-mode 1) ;Enable automatic compression
+(xterm-mouse-mode 1)
(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 nil) ;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
- ido-default-file-method 'selected-window
- ido-default-buffer-method 'selected-window)
+(setq compilation-scroll-output 'first-error)
+(setq iswitchb-default-method 'samewindow ;Don't confuse me by showing
+ ido-default-file-method 'selected-window ;buffers in other random
+ ido-default-buffer-method 'selected-window) ;frames
(setq ido-enable-prefix t
ido-enable-flex-matching t
ido-everywhere t
wdired-allow-to-change-permissions 'advanced)
(setq read-quoted-char-radix 16) ;C-q HEX-STUFF [RET]
(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 scroll-step 5 ;Don't scroll too much at a time
+ hscroll-step 8
+ auto-hscroll-mode 'current-line)
+(setq custom-unlispify-tag-names nil ;Display variable names properly
+ custom-unlispify-menu-entries nil
+ custom-buffer-done-kill t)
(setq blink-cursor-blinks 0) ;Keep blinking the cursor
(setq-default fill-column mdw-text-width) ;I use rather narrow windows
(setq adaptive-fill-mode nil) ;I have my own machinery instead
(setq-default comment-column 40) ;Set a standard comment column
(setq-default truncate-partial-width-windows nil
truncate-lines t)
+(setq line-move-visual t
+ visual-order-cursor-movement t)
(setq default-indicate-empty-lines t)
(setq view-read-only t)
(setq-default view-exit-action #'kill-buffer)
(setq find-ls-option ;Build file lists efficiently
'("-print0 | xargs -0r ls -ld" . "ld"))
(setq bookmark-save-flag 0) ;Save bookmarks automatically
+(setq ediff-grab-mouse nil)
(setq vc-follow-symlinks t
vc-git-resolve-conflicts nil)
(setq x-gtk-file-dialog-help-text nil)
'(("en_GB-ize-w_accents" "[[:alpha:]]" "[^[:alpha:]]" "'" t
("-d" "en_GB-ize-w_accents") nil utf-8))
ispell-silently-savep t)
-(setq viper-case-fold-search t
- viper-electric-mode t
- viper-ex-style-motion nil
- viper-ex-style-editing nil
- viper-expert-level 5
- viper-inhibit-startup-message t
- viper-no-multiple-ESC nil
- viper-re-query-replace t
- viper-re-search t
- viper-shift-width 2
- viper-vi-style-in-minibuffer nil
- viper-want-ctl-h-help t)
+(setq-default viper-case-fold-search t
+ viper-electric-mode t
+ viper-ex-style-motion nil
+ viper-ex-style-editing nil
+ viper-expert-level 5
+ viper-inhibit-startup-message t
+ ;;viper-insert-state-cursor-color "red"
+ viper-no-multiple-ESC nil
+ viper-re-query-replace t
+ viper-re-search t
+ ;;viper-replace-overlay-cursor-color "red"
+ viper-shift-width 2
+ viper-vi-style-in-minibuffer nil
+ viper-want-ctl-h-help t)
(trap
(require 'uniquify)
(setq uniquify-buffer-name-style 'post-forward-angle-brackets)
(tool-bar-mode 0))
(trap (or mdw-fast-startup (global-auto-revert-mode t)))
-(defvar mdw-black-background t)
+(defun mdw-set-viper-cursor-colour ()
+ ;; ?? doesn't seem to work
+ (set-frame-parameter nil 'cursor-color "green")
+ (message ";; %S" post-command-hook)
+ (sit-for 2))
+;;(add-hook 'viper-vi-state-hook 'mdw-set-viper-cursor-colour)
+
+(defcustom mdw-black-background t
+ "Whether the Emacs background is black (or dark, at any rate)."
+ :type 'boolean)
(eval-after-load "outline"
'(progn
(setq browse-url-browser-function (mdw-good-url-browser)
browse-url-generic-program "mdw-chrome"
- browse-url-mozilla-program "mdw-iceweasel")
+ browse-url-firefox-program "mdw-iceweasel"
+ browse-url-mozilla-program browse-url-firefox-program)
(setq w3m-default-display-inline-images t
w3m-use-cookies t)
("application/x-pdf" "\\.pdf\\'" ("xdg-open" file) nil))))
(dolist (e entries)
(setq w3m-content-type-alist
- (cons e (remove* (car e) w3m-content-type-alist
- :key #'car :test #'string=))))))
+ (cons e (cl-remove (car e) w3m-content-type-alist
+ :key #'car :test #'string=))))))
(setq w3-do-incremental-display t
w3-use-menus '(file edit view go bookmark options
;; Other frame fiddling.
-(defvar mdw-hostname
+(defcustom mdw-hostname
(if (string-match "\\." system-name)
(substring system-name 0 (match-beginning 0))
- system-name))
+ system-name)
+ "Unqualified hostname Emacs is running on."
+ :type 'string
+ :safe 'stringp)
(setq frame-title-format '("Emacs " user-login-name "@" mdw-hostname " – %b")
icon-title-format frame-title-format)
(global-set-key [?\e ?\e] 'mdw-wrong)
(global-set-key [?\e ?\C-\] ?\C-\]] 'keyboard-escape-quit)
(global-set-key [?\C-c ?\M-x] 'execute-extended-command)
+ (global-set-key [?\C-c ?c ?\C-w] 'clipboard-kill-region)
+ (global-set-key [?\C-c ?c ?w] 'clipboard-kill-ring-save)
+ (global-set-key [?\C-c ?c ?y] 'clipboard-yank)
(global-set-key [?\C-c ?d ?a] 'devhelp-assistant-word-at-point)
(global-set-key [?\C-c ?d ?w] 'devhelp-word-at-point)
(global-set-key [?\C-c ?g ?a] 'org-agenda)
(global-set-key [?\C-c ?m ?b] 'magit-blame)
(global-set-key [?\C-c ?m ?d] 'magit-dispatch-popup)
(global-set-key [?\C-c ?m ?f] 'magit-find-file)
+ (global-set-key [?\C-c ?m ?l] 'magit-toggle-buffer-lock)
(global-set-key [?\C-c ?m ?m] 'magit-status)
(global-set-key [?\C-c ?m ?r] 'magit-list-repositories)
(global-set-key [?\C-c ?m ?w] 'magit-wip-log)
(global-set-key [?\C-c ?v ?i] 'vm-visit-imap-folder)
(global-set-key [?\C-c ?v ?m] 'vm-visit-folder)
(global-set-key [?\C-c ?v ?v] 'mdw-auto-revert)
+ (global-set-key [?\C-c ?w ? ] 'mdw-designate-window)
(global-set-key [?\C-c ?w ?b] 'w3m-bookmark-view)
(global-set-key [?\C-c ?w ?c] 'mdw-set-frame-colour)
(global-set-key [?\C-c ?w ?d] 'mdw-divvy-window)
+ (global-set-key [?\C-c ?w ?f] 'mdw-set-fallback-window)
(global-set-key [?\C-c ?w ?h] 'windmove-left)
(global-set-key [?\C-c ?w ?j] 'windmove-down)
(global-set-key [?\C-c ?w ?k] 'windmove-up)
(global-set-key [?\C-c ?w ?l] 'windmove-right)
(global-set-key [?\C-c ?w ?r] 'winner-redo)
+ (global-set-key [?\C-c ?w ?s] 'mdw-switch-window-configuration)
(global-set-key [?\C-c ?w ?u] 'winner-undo)
(global-set-key [?\C-c ?w ?w] 'mdw-set-frame-width)
(global-set-key [?\C-c ?w up] 'windmove-up)
(eval-after-load "hippie-exp"
'(setq hippie-expand-try-functions-list
- (remove-if (lambda (name)
- (memq name '(try-expand-list
- try-expand-list-all-buffers)))
- hippie-expand-try-functions-list)))
+ (cl-remove-if (lambda (name)
+ (memq name '(try-expand-list
+ try-expand-list-all-buffers)))
+ hippie-expand-try-functions-list)))
(autoload 'dired-jump "dired-x")
(autoload 'dired-jump-other-window "dired-x")
(setq completion-ignored-extensions
(append `(".hc" ".hi") completion-ignored-extensions))
-(dolist (dir (remove-if-not (lambda (ext)
- (= (aref ext (- (length ext) 1)) ?/))
- completion-ignored-extensions))
+(dolist (dir (cl-remove-if-not (lambda (ext)
+ (= (aref ext (- (length ext) 1)) ?/))
+ completion-ignored-extensions))
(if (/= (aref dir 0) ?/)
(setq completion-ignored-extensions
(cons (concat "/" dir)