dot/xinitrc: Restart window manager if it crashes.
[profile] / el / dot-emacs.el
index b24e50c..db3be62 100644 (file)
@@ -190,6 +190,29 @@ fringes is not taken out of the allowance for WIDTH, unlike
       (other-window 1))
     (select-window win)))
 
+;; Don't raise windows unless I say so.
+
+(defvar mdw-inhibit-raise-frame nil
+  "*Whether `raise-frame' should do nothing when the frame is mapped.")
+
+(defadvice raise-frame
+    (around mdw-inhibit (&optional frame) activate compile)
+  "Don't actually do anything if `mdw-inhibit-raise-frame' is true, and the
+frame is actually mapped on the screen."
+  (if mdw-inhibit-raise-frame
+      (make-frame-visible frame)
+    ad-do-it))
+
+(defmacro mdw-advise-to-inhibit-raise-frame (function)
+  "Advise the FUNCTION not to raise frames, even if it wants to."
+  `(defadvice ,function
+       (around mdw-inhibit-raise (&rest hunoz) activate compile)
+     "Don't raise the window unless you have to."
+     (let ((mdw-inhibit-raise-frame t))
+       ad-do-it)))
+
+(mdw-advise-to-inhibit-raise-frame select-frame-set-input-focus)
+
 ;; Transient mark mode hacks.
 
 (defadvice exchange-point-and-mark
@@ -982,6 +1005,18 @@ doesn't match any of the regular expressions in
 (mdw-define-face magit-item-highlight
   (((type tty)) :background "blue")
   (t :background "DarkSeaGreen4"))
+(mdw-define-face magit-log-head-label-remote
+  (((type tty)) :background "cyan" :foreground "green")
+  (t :background "grey11" :foreground "DarkSeaGreen2" :box t))
+(mdw-define-face magit-log-head-label-local
+  (((type tty)) :background "cyan" :foreground "yellow")
+  (t :background "grey11" :foreground "LightSkyBlue1" :box t))
+(mdw-define-face magit-log-head-label-tags
+  (((type tty)) :background "red" :foreground "yellow")
+  (t :background "LemonChiffon1" :foreground "goldenrod4" :box t))
+(mdw-define-face magit-log-graph
+  (((type tty)) :foreground "magenta")
+  (t :foreground "grey80"))
 
 (mdw-define-face erc-input-face
   (t :foreground "red"))
@@ -1674,6 +1709,24 @@ doesn't match any of the regular expressions in
           (list (concat "\\<\\(" go-intrinsics "\\)\\>")
                 '(0 font-lock-variable-name-face))
 
+          ;; Strings and characters.
+          (list (concat "'"
+                        "\\(" "[^\\']" "\\|"
+                              "\\\\"
+                              "\\(" "[abfnrtv\\'\"]" "\\|"
+                                    "[0-7]\\{3\\}" "\\|"
+                                    "x" "[0-9A-Fa-f]\\{2\\}" "\\|"
+                                    "u" "[0-9A-Fa-f]\\{4\\}" "\\|"
+                                    "U" "[0-9A-Fa-f]\\{8\\}" "\\)" "\\)"
+                        "'"
+                        "\\|"
+                        "\""
+                        "\\(" "[^\n\\\"]+" "\\|" "\\\\." "\\)*"
+                        "\\(\"\\|$\\)"
+                        "\\|"
+                        "`" "[^`]+" "`")
+                '(0 font-lock-string-face))
+
           ;; Handle numbers too.
           ;;
           ;; The following isn't quite right, but it's close enough.