;;;--------------------------------------------------------------------------
;;; Check command-line.
+(defun mdw-check-command-line-switch (switch)
+ (let ((probe nil) (next command-line-args) (found nil))
+ (while next
+ (cond ((string= (car next) switch)
+ (setq found t)
+ (if probe (rplacd probe (cdr next))
+ (setq command-line-args (cdr next))))
+ (t
+ (setq probe next)))
+ (setq next (cdr next)))
+ found))
+
(defvar mdw-fast-startup nil
"Whether .emacs should optimize for rapid startup.
This may be at the expense of cool features.")
-(let ((probe nil) (next command-line-args))
- (while next
- (cond ((string= (car next) "--mdw-fast-startup")
- (setq mdw-fast-startup t)
- (if probe
- (rplacd probe (cdr next))
- (setq command-line-args (cdr next))))
- (t
- (setq probe next)))
- (setq next (cdr next))))
+(setq mdw-fast-startup
+ (mdw-check-command-line-switch "--mdw-fast-startup"))
;;;--------------------------------------------------------------------------
;;; Some general utilities.
(defadvice compile (around hack-environment compile activate)
"Hack the environment inherited by inferiors in the compilation."
- (let ((process-environment process-environment))
+ (let ((process-environment (copy-tree process-environment)))
(setenv "LD_PRELOAD" nil)
ad-do-it))
"private" "protected" "public" "return" "short"
"static" "super" "switch" "synchronized" "throw"
"throws" "transient" "try" "typeof" "var" "void"
- "volatile" "while" "with" "yield"
-
- "boolean" "byte" "char" "double" "float" "int" "long"
- "short" "void"))
+ "volatile" "while" "with" "yield"))
(javascript-builtins
(mdw-regexps "false" "null" "undefined" "Infinity" "NaN" "true"
"arguments" "this")))
(setq 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.
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)
+ (if (fboundp 'w3m)
+ (let ((browse-url-browser-function #'mdw-w3m-browse-url))
+ ad-do-it)
+ ad-do-it)))
+(mdw-advise-hyperspec-lookup common-lisp-hyperspec (symbol))
+(mdw-advise-hyperspec-lookup common-lisp-hyperspec-format (char))
+(mdw-advise-hyperspec-lookup common-lisp-hyperspec-lookup-reader-macro (char))
+
(defun mdw-fontify-lispy ()
;; Set fill prefix.
(defadvice term-exec-1 (around hack-environment compile activate)
"Hack the environment inherited by inferiors in the terminal."
- (let ((process-environment process-environment))
+ (let ((process-environment (copy-tree process-environment)))
(setenv "LD_PRELOAD" nil)
ad-do-it))
(defadvice shell (around hack-environment compile activate)
"Hack the environment inherited by inferiors in the shell."
- (let ((process-environment process-environment))
+ (let ((process-environment (copy-tree process-environment)))
(setenv "LD_PRELOAD" nil)
ad-do-it))