Merge branch 'master' of git.distorted.org.uk:~mdw/public-git/profile
[profile] / el / dot-emacs.el
index c972adc..ed1103a 100644 (file)
@@ -124,6 +124,14 @@ library."
   (and (library-exists-p file)
        (autoload symbol file docstring interactivep type)))
 
+(defun mdw-kick-menu-bar (&optional frame)
+  "Regenerate FRAME's menu bar so it doesn't have empty menus."
+  (interactive)
+  (unless frame (setq frame (selected-frame)))
+  (let ((old (frame-parameter frame 'menu-bar-lines)))
+    (set-frame-parameter frame 'menu-bar-lines 0)
+    (set-frame-parameter frame 'menu-bar-lines old)))
+
 ;; Splitting windows.
 
 (unless (fboundp 'scroll-bar-columns)
@@ -824,12 +832,12 @@ doesn't match any of the regular expressions in
 
 (mdw-define-face default
   (((type w32)) :family "courier new" :height 85)
-  (((type x)) :family "6x13" :height 130)
+  (((type x)) :family "6x13" :foundry "trad" :height 130)
   (((type color)) :foreground "white" :background "black")
   (t nil))
 (mdw-define-face fixed-pitch
   (((type w32)) :family "courier new" :height 85)
-  (((type x)) :family "6x13" :height 130)
+  (((type x)) :family "6x13" :foundry "trad" :height 130)
   (t :foreground "white" :background "black"))
 (if (>= emacs-major-version 23)
     (mdw-define-face variable-pitch
@@ -861,7 +869,8 @@ doesn't match any of the regular expressions in
   (((class color)) :background "red")
   (t :inverse-video t))
 (mdw-define-face highlight
-  (((class color)) :background "DarkSeaGreen4")
+  (((type x) (class color)) :background "DarkSeaGreen4")
+  (((type tty) (class color)) :background "cyan")
   (t :inverse-video t))
 
 (mdw-define-face holiday-face
@@ -960,7 +969,17 @@ doesn't match any of the regular expressions in
 (mdw-define-face diff-context
   (t nil))
 (mdw-define-face diff-refine-change
-  (t :background "RoyalBlue4"))
+  (((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 erc-input-face
   (t :foreground "red"))
@@ -970,6 +989,21 @@ doesn't match any of the regular expressions in
 (mdw-define-face woman-italic
   (t :slant italic))
 
+(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-depot-branch-op-face
@@ -997,9 +1031,15 @@ doesn't match any of the regular expressions in
 ;; Ellipses used to indicate hidden text (and similar).
 (mdw-define-face mdw-ellipsis-face
   (((type tty)) :foreground "blue") (t :foreground "grey60"))
-(let ((dot (make-glyph-code ?. 'mdw-ellipsis-face)))
+(let ((dollar (make-glyph-code ?$ 'mdw-ellipsis-face))
+      (backslash (make-glyph-code ?\ 'mdw-ellipsis-face))
+      (dot (make-glyph-code ?. 'mdw-ellipsis-face))
+      (bar (make-glyph-code ?| mdw-ellipsis-face)))
+  (set-display-table-slot standard-display-table 0 dollar)
+  (set-display-table-slot standard-display-table 1 backslash)
   (set-display-table-slot standard-display-table 4
-                         (vector dot dot dot)))
+                         (vector dot dot dot))
+  (set-display-table-slot standard-display-table 5 bar))
 
 ;;;--------------------------------------------------------------------------
 ;;; C programming configuration.
@@ -1651,12 +1691,12 @@ strip numbers instead."
        (list
 
         ;; Set up the keywords defined above.
-        (list (concat "\\<\\(" keywords "\\)\\>")
+        (list (concat "\\_<\\(" keywords "\\)\\_>")
               '(0 font-lock-keyword-face))
 
         ;; At least numbers are simpler than C.
-        (list (concat "\\<0\\([xX][0-9a-fA-F_]+\\|[0-7_]+\\)\\|"
-                      "\\<[0-9][0-9_]*\\(\\.[0-9_]*\\|\\)"
+        (list (concat "\\_<0\\([xX][0-9a-fA-F_]+\\|[0-7_]+\\)\\|"
+                      "\\_<[0-9][0-9_]*\\(\\.[0-9_]*\\|\\)"
                       "\\([eE]\\([-+]\\|\\)[0-9_]+\\|[lL]\\|\\)")
               '(0 mdw-number-face))