;; Utility functions.
-(defun mdw-tabify (s)
- "Tabify the string S. This is a horrid hack."
- (save-excursion
- (save-match-data
- (let (start end)
- (beginning-of-line)
- (setq start (point-marker))
+(defun mdw-maybe-tabify (s)
+ "Tabify or untabify the string S, according to `indent-tabs-mode'."
+ (let ((tabfun (if indent-tabs-mode #'tabify #'untabify)))
+ (with-temp-buffer
+ (save-match-data
(insert s "\n")
- (setq end (point-marker))
- (tabify start end)
- (setq s (buffer-substring start (1- end)))
- (delete-region start end)
- (set-marker start nil)
- (set-marker end nil)
- s))))
+ (let ((start (point-min)) (end (point-max)))
+ (funcall tabfun (point-min) (point-max))
+ (setq s (buffer-substring (point-min) (1- (point-max)))))))))
(defun mdw-examine-fill-prefixes (l)
"Given a list of dynamic fill prefixes, pick one which matches
at the start of a line, and match data must be saved."
(cond ((not l) nil)
((looking-at (car (car l)))
- (mdw-tabify (apply (function concat)
- (mapcar (function mdw-do-prefix-match)
- (cdr (car l))))))
+ (mdw-maybe-tabify (apply #'concat
+ (mapcar #'mdw-do-prefix-match
+ (cdr (car l))))))
(t (mdw-examine-fill-prefixes (cdr l)))))
(defun mdw-maybe-car (p)
(and (fboundp 'gtags-mode)
(gtags-mode))
(if (fboundp 'hs-minor-mode)
- (hs-minor-mode t)
+ (trap (hs-minor-mode t))
(outline-minor-mode t))
(reveal-mode t)
(trap (turn-on-font-lock)))
(((class color) (type x)) :background "RoyalBlue4")
(t :underline t))
+(mdw-define-face magit-diff-add
+ (t :foreground "green"))
+(mdw-define-face magit-diff-del
+ (t :foreground "red"))
+(mdw-define-face magit-diff-file-header
+ (t :weight bold))
+(mdw-define-face magit-diff-hunk-header
+ (t :foreground "SkyBlue1"))
+(mdw-define-face magit-item-highlight
+ (((type tty)) :background "blue")
+ (t :background "DarkSeaGreen4"))
+
(mdw-define-face erc-input-face
(t :foreground "red"))
(mdw-define-face woman-italic
(t :slant italic))
-(mdw-define-face rst-level-1-face
- (t :foreground "SkyBlue1" :weight bold))
-(mdw-define-face rst-level-2-face
- (t :foreground "SeaGreen1" :weight bold))
-(mdw-define-face rst-level-3-face
- (t :weight bold))
-(mdw-define-face rst-level-4-face
- (t :slant italic))
-(mdw-define-face rst-level-5-face
- (t :underline t))
-(mdw-define-face rst-level-6-face
- ())
+(eval-after-load "rst"
+ '(progn
+ (mdw-define-face rst-level-1-face
+ (t :foreground "SkyBlue1" :weight bold))
+ (mdw-define-face rst-level-2-face
+ (t :foreground "SeaGreen1" :weight bold))
+ (mdw-define-face rst-level-3-face
+ (t :weight bold))
+ (mdw-define-face rst-level-4-face
+ (t :slant italic))
+ (mdw-define-face rst-level-5-face
+ (t :underline t))
+ (mdw-define-face rst-level-6-face
+ ())))
(mdw-define-face p4-depot-added-face
(t :foreground "green"))
(mdw-define-face p4-diff-ins-face
(t :foreground "green"))
+(mdw-define-face w3m-anchor-face
+ (t :foreground "SkyBlue1" :underline t))
+(mdw-define-face w3m-arrived-anchor-face
+ (t :foreground "SkyBlue1" :underline t))
+
(mdw-define-face whizzy-slice-face
(t :background "grey10"))
(mdw-define-face whizzy-error-face
(list
;; Handle the keywords defined above.
- (list (concat "\\<\\(" javascript-keywords "\\)\\>")
+ (list (concat "\\_<\\(" javascript-keywords "\\)\\_>")
'(0 font-lock-keyword-face))
;; Handle the predefined constants defined above.
- (list (concat "\\<\\(" javascript-constants "\\)\\>")
+ (list (concat "\\_<\\(" javascript-constants "\\)\\_>")
'(0 font-lock-variable-name-face))
;; Handle numbers too.
;;
;; The following isn't quite right, but it's close enough.
- (list (concat "\\<\\("
+ (list (concat "\\_<\\("
"0\\([xX][0-9a-fA-F]+\\|[0-7]+\\)\\|"
"[0-9]+\\(\\.[0-9]*\\|\\)"
"\\([eE]\\([-+]\\|\\)[0-9]+\\|\\)\\)"
;; And anything else is punctuation.
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
- '(0 mdw-punct-face)))
+ '(0 mdw-punct-face))))
- (mdw-post-config-mode-hack))
+ (mdw-post-config-mode-hack)
(run-hooks 'arm-assembler-mode-hook))
;;;--------------------------------------------------------------------------