(setq mdw-fast-startup
(mdw-check-command-line-switch "--mdw-fast-startup"))
+(defvar mdw-splashy-startup nil
+ "Whether to show a splash screen and related frippery.")
+(setq mdw-splashy-startup
+ (mdw-check-command-line-switch "--mdw-splashy-startup"))
+
;;;--------------------------------------------------------------------------
;;; Some general utilities.
(erase-buffer)
(shell-command "date +%Y-%m-%d" t)
(goto-char (mark))
- (delete-backward-char 1)
+ (delete-char -1)
(buffer-string))
(kill-buffer buffer))))))
(let ((auto-revert-check-vc-info t))
(auto-revert-buffers)))
+(defun comint-send-and-indent ()
+ (interactive)
+ (comint-send-input)
+ (and mdw-auto-indent
+ (indent-for-tab-command)))
+
+(defadvice comint-line-beginning-position
+ (around mdw-calculate-it-properly () activate compile)
+ "Calculate the actual line start for multi-line input."
+ (if (or comint-use-prompt-regexp
+ (eq (field-at-pos (point)) 'output))
+ ad-do-it
+ (setq ad-return-value
+ (constrain-to-field (line-beginning-position) (point)))))
+
;;;--------------------------------------------------------------------------
;;; Dired hacking.
;; Perl indentation style.
-(setq perl-indent-level 2)
+(setq-default perl-indent-level 2)
-(setq cperl-indent-level 2)
-(setq cperl-continued-statement-offset 2)
-(setq cperl-continued-brace-offset 0)
-(setq cperl-brace-offset -2)
-(setq cperl-brace-imaginary-offset 0)
-(setq cperl-label-offset 0)
+(setq-default cperl-indent-level 2
+ cperl-continued-statement-offset 2
+ cperl-continued-brace-offset 0
+ cperl-brace-offset -2
+ cperl-brace-imaginary-offset 0
+ cperl-label-offset 0)
;; Define perl fontification style.
;;;--------------------------------------------------------------------------
;;; Lua programming style.
-(setq lua-indent-level 2)
+(setq-default lua-indent-level 2)
(defun mdw-fontify-lua ()
;; Icon indentation style.
-(setq icon-brace-offset 0
- icon-continued-brace-offset 0
- icon-continued-statement-offset 2
- icon-indent-level 2)
+(setq-default icon-brace-offset 0
+ icon-continued-brace-offset 0
+ icon-continued-statement-offset 2
+ icon-indent-level 2)
;; Define Icon fontification style.
;;;--------------------------------------------------------------------------
;;; Algol 68 configuration.
-(setq a68-indent-step 2)
+(setq-default a68-indent-step 2)
(defun mdw-fontify-algol-68 ()
;;;--------------------------------------------------------------------------
;;; Erlang configuration.
-(setq erlang-electric-commands nil)
+(setq-default erlang-electric-commands nil)
(defun mdw-fontify-erlang ()
(unless modified
(restore-buffer-modified-p nil)))))))
-(setq LaTeX-syntactic-comments nil
- LaTeX-fill-break-at-separators '(\\\[))
+(setq-default LaTeX-syntactic-comments nil
+ LaTeX-fill-break-at-separators '(\\\[))
(add-hook 'bibtex-mode-hook (lambda () (setq fill-column 76)))
;;;--------------------------------------------------------------------------
;;; HTML, CSS, and other web foolishness.
-(setq css-indent-offset 2)
+(setq-default css-indent-offset 2)
;;;--------------------------------------------------------------------------
;;; SGML hacking.
(concat "~" (substring pwd (length home)))
pwd))
right)))
-(setq eshell-prompt-function 'mdw-eshell-prompt)
-(setq eshell-prompt-regexp "^\\[[^]>]+\\(\\]\\|>>?\\)")
+(setq-default eshell-prompt-function 'mdw-eshell-prompt)
+(setq-default eshell-prompt-regexp "^\\[[^]>]+\\(\\]\\|>>?\\)")
(defun eshell/e (file) (find-file file) nil)
(defun eshell/ee (file) (find-file-other-window file) nil)
(run-hooks 'nfast-debug-mode-hook))
;;;--------------------------------------------------------------------------
-;;; Other languages.
-
-;; Smalltalk.
-
-(defun mdw-setup-smalltalk ()
- (and mdw-auto-indent
- (local-set-key "\C-m" 'smalltalk-newline-and-indent))
- (make-local-variable 'mdw-auto-indent)
- (setq mdw-auto-indent nil)
- (local-set-key "\C-i" 'smalltalk-reindent))
-
-(defun mdw-fontify-smalltalk ()
- (make-local-variable 'font-lock-keywords)
- (setq font-lock-keywords
- (list
- (list "\\<[A-Z][a-zA-Z0-9]*\\>"
- '(0 font-lock-keyword-face))
- (list (concat "\\<0\\([xX][0-9a-fA-F_]+\\|[0-7_]+\\)\\|"
- "[0-9][0-9_]*\\(\\.[0-9_]*\\|\\)"
- "\\([eE]\\([-+]\\|\\)[0-9_]+\\|\\)")
- '(0 mdw-number-face))
- (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
- '(0 mdw-punct-face)))))
-
-;; Lispy languages.
+;;; Lispy languages.
;; Unpleasant bodge.
(unless (boundp 'slime-repl-mode-map)
(make-local-variable 'lisp-indent-function)
(setq lisp-indent-function 'common-lisp-indent-function))
-(setq lisp-simple-loop-indentation 2
- lisp-loop-keyword-indentation 6
- lisp-loop-forms-indentation 6)
+(setq-default lisp-simple-loop-indentation 2
+ lisp-loop-keyword-indentation 6
+ lisp-loop-forms-indentation 6)
(defmacro mdw-advise-hyperspec-lookup (func args)
`(defadvice ,func (around mdw-browse-w3m ,args activate compile)
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face)))))
-(defun comint-send-and-indent ()
- (interactive)
- (comint-send-input)
+;;;--------------------------------------------------------------------------
+;;; Other languages.
+
+;; Smalltalk.
+
+(defun mdw-setup-smalltalk ()
(and mdw-auto-indent
- (indent-for-tab-command)))
+ (local-set-key "\C-m" 'smalltalk-newline-and-indent))
+ (make-local-variable 'mdw-auto-indent)
+ (setq mdw-auto-indent nil)
+ (local-set-key "\C-i" 'smalltalk-reindent))
-(defadvice comint-line-beginning-position
- (around mdw-calculate-it-properly () activate compile)
- "Calculate the actual line start for multi-line input."
- (if (or comint-use-prompt-regexp
- (eq (field-at-pos (point)) 'output))
- ad-do-it
- (setq ad-return-value
- (constrain-to-field (line-beginning-position) (point)))))
+(defun mdw-fontify-smalltalk ()
+ (make-local-variable 'font-lock-keywords)
+ (setq font-lock-keywords
+ (list
+ (list "\\<[A-Z][a-zA-Z0-9]*\\>"
+ '(0 font-lock-keyword-face))
+ (list (concat "\\<0\\([xX][0-9a-fA-F_]+\\|[0-7_]+\\)\\|"
+ "[0-9][0-9_]*\\(\\.[0-9_]*\\|\\)"
+ "\\([eE]\\([-+]\\|\\)[0-9_]+\\|\\)")
+ '(0 mdw-number-face))
+ (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
+ '(0 mdw-punct-face)))))
+
+;; m4.
(defun mdw-setup-m4 ()