updates
authorJoerg Jaspert <joerg@debian.org>
Wed, 1 May 2013 20:40:01 +0000 (22:40 +0200)
committerJoerg Jaspert <joerg@debian.org>
Wed, 1 May 2013 20:40:01 +0000 (22:40 +0200)
.emacs.d/config/emacs.org
.emacs.d/elisp/emacs23/README [new file with mode: 0644]
.emacs.d/elisp/emacs23/cl-lib.el [new file with mode: 0644]
.emacs.d/elisp/local/naquadah-theme.el

index 280702e..c6f5c3e 100644 (file)
@@ -248,6 +248,10 @@ one variable and go over that in a loop.
     (let ((name (expand-file-name (symbol-name dirval) jj-elisp-dir)))
       (when (file-exists-p name)
           (add-to-list 'load-path name)))))
     (let ((name (expand-file-name (symbol-name dirval) jj-elisp-dir)))
       (when (file-exists-p name)
           (add-to-list 'load-path name)))))
+;; For older emacsen we need an extra directory, which should be at
+;; THE END of the load path
+(when (< emacs-major-version 24)
+  (add-to-list 'load-path (expand-file-name "emacs23" jj-elisp-dir) t))
 #+END_SRC
 
 *** Info path
 #+END_SRC
 
 *** Info path
@@ -347,27 +351,17 @@ entirely liked it. Until I found solarized, which is now not only my
 emacs theme, but also for most of my other software too, especially my
 shell. Consistent look is great.
 #+BEGIN_SRC emacs-lisp
 emacs theme, but also for most of my other software too, especially my
 shell. Consistent look is great.
 #+BEGIN_SRC emacs-lisp
-(if (boundp 'custom-theme-load-path)
-    (progn
-      (defun jj-init-theme ()
-        (interactive)
-        (load-theme 'solarized-dark t))
-      (add-to-list 'custom-theme-load-path jj-theme-dir)
-      (add-hook 'after-init-hook 'jj-init-theme)
-      )
-  (message "Emacs version too old, using old color theme style")
-  (add-to-list 'load-path (expand-file-name "emacs-color-theme-solarized" jj-elisp-dir))
-  (defvar color-theme-directory (expand-file-name "emacs-color-theme-solarized" jj-elisp-dir)
-     "Extra theme directory")
-  (defvar color-theme-load-all-themes nil
-    "When t, load all color-theme theme files as presented by `color-theme-libraries'. Else
-do not load any of this themes.")
-  (if (not (file-exists-p "~/.emacs.d/elisp/local/themes" ))
-    (make-directory "~/.emacs.d/elisp/local/themes"))
-  (require 'color-theme)
-  (require 'color-theme-solarized)
-  (color-theme-initialize)
-  (color-theme-solarized-dark))
+  (if (boundp 'custom-theme-load-path)
+      (progn
+        (defun jj-init-theme ()
+          (interactive)
+          (load-theme 'solarized-dark t))
+        (add-to-list 'custom-theme-load-path jj-theme-dir)
+        (add-hook 'after-init-hook 'jj-init-theme)
+        )
+    (message "Emacs version too old, using non-solarize theme")
+    (defvar custom-theme-load-path jj-theme-dir)
+    (require 'naquadah-theme))
 #+END_SRC
 
 Make the fringe (gutter) smaller, the argument is a width in pixels (the default is 8)
 #+END_SRC
 
 Make the fringe (gutter) smaller, the argument is a width in pixels (the default is 8)
@@ -397,7 +391,8 @@ I don't want to see the menu-bar, …
 
 … and don't you start with a scrollbar.
 #+BEGIN_SRC emacs-lisp
 
 … and don't you start with a scrollbar.
 #+BEGIN_SRC emacs-lisp
-  (scroll-bar-mode nil)
+(if (fboundp 'scroll-bar-mode)
+    (scroll-bar-mode nil))
 #+END_SRC
 **** When using emacs in daemon mode
 Emacs has a very nice mode where it detaches itself and runs as daemon -
 #+END_SRC
 **** When using emacs in daemon mode
 Emacs has a very nice mode where it detaches itself and runs as daemon -
@@ -1798,7 +1793,9 @@ much more like reading and editing of code using its major mode.
   (add-hook 'org-finalize-agenda-hook 'bh/org-agenda-to-appt 'append)
 
   ; This is at the end of my .emacs - so appointments are set up when Emacs starts
   (add-hook 'org-finalize-agenda-hook 'bh/org-agenda-to-appt 'append)
 
   ; This is at the end of my .emacs - so appointments are set up when Emacs starts
-  (bh/org-agenda-to-appt)
+  (if (file-exists-p "~/org/refile.org")
+      (bh/org-agenda-to-appt))
+
 
   ; Activate appointments so we get notifications
   (appt-activate t)
 
   ; Activate appointments so we get notifications
   (appt-activate t)
@@ -2134,8 +2131,7 @@ The Emacs Lisp Package Archive (may) contain(s) some things I
 want. Even though I usually only use it to get the package, then when I
 like it move it into my own space. My elpa subdir stays empty.
 #+BEGIN_SRC emacs-lisp
 want. Even though I usually only use it to get the package, then when I
 like it move it into my own space. My elpa subdir stays empty.
 #+BEGIN_SRC emacs-lisp
-(when (
-       > emacs-major-version 23)
+(when (> emacs-major-version 23)
   (require 'package)
   (setq package-user-dir (expand-file-name "elpa" jj-cache-dir))
   (package-initialize)
   (require 'package)
   (setq package-user-dir (expand-file-name "elpa" jj-cache-dir))
   (package-initialize)
diff --git a/.emacs.d/elisp/emacs23/README b/.emacs.d/elisp/emacs23/README
new file mode 100644 (file)
index 0000000..d4ef247
--- /dev/null
@@ -0,0 +1,3 @@
+Files in here are only for old emacsen (23 and earlier) and
+this directory should only end up in emacs load path AFTER all
+others, so the files are seen LAST!
diff --git a/.emacs.d/elisp/emacs23/cl-lib.el b/.emacs.d/elisp/emacs23/cl-lib.el
new file mode 100644 (file)
index 0000000..cb2b2ad
--- /dev/null
@@ -0,0 +1,333 @@
+;;; cl-lib.el --- Properly prefixed CL functions and macros  -*- coding: utf-8 -*-
+
+;; Copyright (C) 2012  Free Software Foundation, Inc.
+
+;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
+;; vcomment: Emacs-24.3's version is 1.0 so this has to stay below.
+;; Version: 0.2
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This is a forward compatibility package, which provides (a subset of) the
+;; features of the cl-lib package introduced in Emacs-24.3, for use on
+;; previous emacsen.
+
+;; Make sure this is installed *late* in your `load-path`, i.e. after Emacs's
+;; built-in .../lisp/emacs-lisp directory, so that if/when you upgrade to
+;; Emacs-24.3, the built-in version of the file will take precedence, otherwise
+;; you could get into trouble (although we try to hack our way around the
+;; problem in case it happens).
+
+;; This code is largely copied from Emacs-24.3's cl.el, with the alias bindings
+;; simply reversed.
+
+;;; Code:
+
+(when (functionp 'macroexp--compiler-macro)
+  ;; `macroexp--compiler-macro' was introduced as part of the big CL
+  ;; reorganization which moved/reimplemented some of CL into core (mostly the
+  ;; setf and compiler-macro support), so its presence indicates we're running
+  ;; in an Emacs that comes with the new cl-lib.el, where this file should
+  ;; never be loaded!
+  (message "Real cl-lib shadowed by compatibility cl-lib? (%s)" load-file-name)
+  (when load-file-name
+    ;; (message "Let's try to patch things up")
+    (let ((loaddir (file-name-directory load-file-name))
+          load-path-dir)
+      ;; Find the problematic directory from load-path.
+      (dolist (dir load-path)
+        (if (equal loaddir (expand-file-name (file-name-as-directory dir)))
+            (setq load-path-dir dir)))
+      (when load-path-dir
+        ;; (message "Let's move the offending dir to the end")
+        (setq load-path (append (remove load-path-dir load-path)
+                                (list load-path-dir)))
+        ;; Here we could manually load cl-lib and then return immediately.
+        ;; But Emacs currently doesn't provide any way for a file to "return
+        ;; immediately", so instead we make sure the rest of the file does not
+        ;; throw away any pre-existing definition.
+        ))))
+
+(require 'cl)
+
+;; Some of Emacs-24.3's cl.el definition are not just aliases, because either
+;; the feature was dropped from cl-lib.el or because the cl-lib version is
+;; not fully compatible.
+;; Let's just not include them here, since it is very important that if code
+;; works with this cl-lib.el it should also work with Emacs-24.3's cl-lib.el,
+;; whereas the reverse is much less important.
+
+(dolist (var '(
+               ;; loop-result-var
+               ;; loop-result
+               ;; loop-initially
+               ;; loop-finally
+               ;; loop-bindings
+               ;; loop-args
+               ;; bind-inits
+               ;; bind-block
+               ;; lambda-list-keywords
+               float-negative-epsilon
+               float-epsilon
+               least-negative-normalized-float
+               least-positive-normalized-float
+               least-negative-float
+               least-positive-float
+               most-negative-float
+               most-positive-float
+               ;; custom-print-functions
+               ))
+  (let ((new (intern (format "cl-%s" var))))
+    (unless (boundp new) (defvaralias new var))))
+
+(dolist (fun '(
+               (get* . cl-get)
+               (random* . cl-random)
+               (rem* . cl-rem)
+               (mod* . cl-mod)
+               (round* . cl-round)
+               (truncate* . cl-truncate)
+               (ceiling* . cl-ceiling)
+               (floor* . cl-floor)
+               (rassoc* . cl-rassoc)
+               (assoc* . cl-assoc)
+               (member* . cl-member)
+               (delete* . cl-delete)
+               (remove* . cl-remove)
+               (defsubst* . cl-defsubst)
+               (sort* . cl-sort)
+               (function* . cl-function)
+               (defmacro* . cl-defmacro)
+               (defun* . cl-defun)
+               (mapcar* . cl-mapcar)
+
+               remprop
+               getf
+               tailp
+               list-length
+               nreconc
+               revappend
+               concatenate
+               subseq
+               random-state-p
+               make-random-state
+               signum
+               isqrt
+               lcm
+               gcd
+               notevery
+               notany
+               every
+               some
+               mapcon
+               mapcan
+               mapl
+               maplist
+               map
+               equalp
+               coerce
+               tree-equal
+               nsublis
+               sublis
+               nsubst-if-not
+               nsubst-if
+               nsubst
+               subst-if-not
+               subst-if
+               subsetp
+               nset-exclusive-or
+               set-exclusive-or
+               nset-difference
+               set-difference
+               nintersection
+               intersection
+               nunion
+               union
+               rassoc-if-not
+               rassoc-if
+               assoc-if-not
+               assoc-if
+               member-if-not
+               member-if
+               merge
+               stable-sort
+               search
+               mismatch
+               count-if-not
+               count-if
+               count
+               position-if-not
+               position-if
+               position
+               find-if-not
+               find-if
+               find
+               nsubstitute-if-not
+               nsubstitute-if
+               nsubstitute
+               substitute-if-not
+               substitute-if
+               substitute
+               delete-duplicates
+               remove-duplicates
+               delete-if-not
+               delete-if
+               remove-if-not
+               remove-if
+               replace
+               fill
+               reduce
+               compiler-macroexpand
+               define-compiler-macro
+               assert
+               check-type
+               typep
+               deftype
+               defstruct
+               callf2
+               callf
+               letf*
+               letf
+               rotatef
+               shiftf
+               remf
+               psetf
+               (define-setf-method . define-setf-expander)
+               declare
+               the
+               locally
+               multiple-value-setq
+               multiple-value-bind
+               symbol-macrolet
+               macrolet
+               progv
+               psetq
+               do-all-symbols
+               do-symbols
+               dotimes
+               dolist
+               do*
+               do
+               loop
+               return-from
+               return
+               block
+               etypecase
+               typecase
+               ecase
+               case
+               load-time-value
+               eval-when
+               destructuring-bind
+               gentemp
+               gensym
+               pairlis
+               acons
+               subst
+               adjoin
+               copy-list
+               ldiff
+               list*
+               cddddr
+               cdddar
+               cddadr
+               cddaar
+               cdaddr
+               cdadar
+               cdaadr
+               cdaaar
+               cadddr
+               caddar
+               cadadr
+               cadaar
+               caaddr
+               caadar
+               caaadr
+               caaaar
+               cdddr
+               cddar
+               cdadr
+               cdaar
+               caddr
+               cadar
+               caadr
+               caaar
+               tenth
+               ninth
+               eighth
+               seventh
+               sixth
+               fifth
+               fourth
+               third
+               endp
+               rest
+               second
+               first
+               svref
+               copy-seq
+               evenp
+               oddp
+               minusp
+               plusp
+               floatp-safe
+               declaim
+               proclaim
+               nth-value
+               multiple-value-call
+               multiple-value-apply
+               multiple-value-list
+               values-list
+               values
+               pushnew
+               decf
+               incf
+
+               dolist
+               dotimes
+               ))
+  (let ((new (if (consp fun) (prog1 (cdr fun) (setq fun (car fun)))
+               (intern (format "cl-%s" fun)))))
+    (unless (fboundp new) (defalias new fun))))
+
+;; `cl-labels' is not 100% compatible with `labels' when using dynamic scoping
+;; (mostly because it does not turn lambdas that refer to those functions into
+;; closures).  OTOH it is compatible when using lexical scoping.
+
+(unless (fboundp 'cl-labels)
+  (defmacro cl-labels (&rest args)
+    (if (and (boundp 'lexical-binding) lexical-binding)
+        `(labels ,@args)
+      (error "`cl-labels' with dynamic scoping is not implemented"))))
+
+;;;; ChangeLog:
+
+;; 2012-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+;; 
+;;     * cl-lib.el: Try and patch things up in case we're hiding the real cl-lib.
+;; 
+;; 2012-11-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+;; 
+;;     Add cl-letf and cl-labels.
+;; 
+;; 2012-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+;; 
+;;     * packages/cl-lib: New package.
+;; 
+
+
+(provide 'cl-lib)
+;;; cl-lib.el ends here
index 4daa5e3..cc7df6f 100644 (file)
 
 ;; These colors are stolen from Tango.
 (defvar naquadah-colors
 
 ;; These colors are stolen from Tango.
 (defvar naquadah-colors
-      '((((class color) (min-colors 65535))
-         (aluminium-1 . "#eeeeec")
-         (aluminium-2 . "#d3d7cf")
-         (aluminium-3 . "#babdb6")
-         (aluminium-4 . "#888a85")
-         (aluminium-5 . "#555753")
-         (aluminium-6 . "#2e3436")
-         (butter-1 . "#fce94f")
-         (butter-2 . "#edd400")
-         (butter-3 . "#c4a000")
-         (orange-1 . "#fcaf3e")
-         (orange-2 . "#f57900")
-         (orange-3 . "#ce5c00")
-         (chocolate-1 . "#e9b96e")
-         (chocolate-2 . "#c17d11")
-         (chocolate-3 . "#9f5902")
-         (chameleon-1 . "#8ae234")
-         (chameleon-2 . "#73d216")
-         (chameleon-3 . "#4e9a06")
-         (sky-blue-1 . "#729fcf")
-         (sky-blue-2 . "#3465a4")
-         (sky-blue-3 . "#204a87")
-         (plum-1 . "#ad7fa8")
-         (plum-2 . "#75507b")
-         (plum-3 . "#5c3566")
-         (scarlet-red-1 . "#ef2929")
-         (scarlet-red-2 . "#cc0000")
-         (scarlet-red-3 . "#a40000")
-         (background . "#252A2B")
-         (black . "#0c191C")
-         (gradient-1 . "#729fcf")  ;; sky-blue-1
-         (gradient-2 . "#8ae234")  ;; chameleon-1
-         (gradient-3 . "#fce94f")  ;; butter-1
-         (gradient-4 . "#ad7fa8")  ;; plum-1
-         (gradient-5 . "#e9b96e")  ;; chocolate-1
-         (gradient-6 . "#fcaf3e")  ;; orange-1
-         (gradient-7 . "#3465a4")  ;; sky-blue-2
-         (gradient-8 . "#73d216")  ;; chameleon-2
-         (gradient-9 . "#f57900")  ;; orange-2
-         (gradient-10 . "#75507b") ;; plum-2
-         (gradient-11 . "#c17d11") ;; chocolate-2
-         )
-       (((class color) (min-colors 256))
-         (aluminium-1 . "color-255")
-         (aluminium-2 . "color-253")
-         (aluminium-3 . "color-251")
-         (aluminium-4 . "color-245")
-         (aluminium-5 . "color-240")
-         (aluminium-6 . "color-235")
-         (butter-1 . "color-221")
-         (butter-2 . "color-220")
-         (butter-3 . "color-178")
-         (orange-1 . "color-214")
-         (orange-2 . "color-208")
-         (orange-3 . "color-130")
-         (chocolate-1 . "color-180")
-         (chocolate-2 . "color-172")
-         (chocolate-3 . "color-94")
-         (chameleon-1 . "color-82")
-         (chameleon-2 . "color-76")
-         (chameleon-3 . "color-34")
-         (sky-blue-1 . "color-117")
-         (sky-blue-2 . "color-63")
-         (sky-blue-3 . "color-24")
-         (plum-1 . "color-176")
-         (plum-2 . "color-96")
-         (plum-3 . "color-54")
-         (scarlet-red-1 . "color-196")
-         (scarlet-red-2 . "color-160")
-         (scarlet-red-3 . "color-124")
-         (background . "color-234")
-         (black . "color-16")
-         (gradient-1 . "color-117")    ;; sky-blue-1
-         (gradient-2 . "color-82")     ;; chameleon-1
-         (gradient-3 . "color-221")    ;; butter-1
-         (gradient-4 . "color-176")    ;; plum-1
-         (gradient-5 . "color-180")    ;; chocolate-1
-         (gradient-6 . "color-214")    ;; orange-1
-         (gradient-7 . "color-63")     ;; sky-blue-2
-         (gradient-8 . "color-76")     ;; chameleon-2
-         (gradient-9 . "color-208")    ;; orange-2
-         (gradient-10 . "color-96")    ;; plum-2
-         (gradient-11 . "color-172")   ;; chocolate-2
-         )
-       (((class color) (min-colors 88))
-        (aluminium-1 . "color-87")
-        (aluminium-2 . "color-86")
-        (aluminium-3 . "color-85")
-        (aluminium-4 . "color-84")
-        (aluminium-5 . "color-82")
-        (aluminium-6 . "color-80")
-        (butter-1 . "color-77")
-        (butter-2 . "color-76")
-        (butter-3 . "color-72")
-        (orange-1 . "color-72")
-        (orange-2 . "color-68")
-        (orange-3 . "color-68")
-        (chocolate-1 . "color-73")
-        (chocolate-2 . "color-68")
-        (chocolate-3 . "color-52")
-        (chameleon-1 . "color-60")
-        (chameleon-2 . "color-44")
-        (chameleon-3 . "color-40")
-        (sky-blue-1 . "color-43")
-        (sky-blue-2 . "color-22")
-        (sky-blue-3 . "color-22")
-        (plum-1 . "color-54")
-        (plum-2 . "color-37")
-        (plum-3 . "color-33")
-        (scarlet-red-1 . "color-64")
-        (scarlet-red-2 . "color-64")
-        (scarlet-red-3 . "color-48")
-         (background . "color-80")
-        (black . "color-16")
-        (gradient-1 . "color-43")    ;; sky-blue-1
-        (gradient-2 . "color-60")    ;; chameleon-1
-        (gradient-3 . "color-77")    ;; butter-1
-        (gradient-4 . "color-54")    ;; plum-1
-        (gradient-5 . "color-73")    ;; chocolate-1
-        (gradient-6 . "color-72")    ;; orange-1
-        (gradient-7 . "color-22")    ;; sky-blue-2
-        (gradient-8 . "color-44")    ;; chameleon-2
-        (gradient-9 . "color-68")    ;; orange-2
-        (gradient-10 . "color-37")   ;; plum-2
-        (gradient-11 . "color-68")   ;; chocolate-2
-         )
-       (t
-         (aluminium-1 . "white")
-         (aluminium-2 . "white")
-         (aluminium-3 . "white")
-         (aluminium-4 . "white")
-         (aluminium-5 . "white")
-         (aluminium-6 . "white")
-         (butter-1 . "yellow")
-         (butter-2 . "yellow")
-         (butter-3 . "yellow")
-         (orange-1 . "yellow")
-         (orange-2 . "yellow")
-         (orange-3 . "yellow")
-         (chocolate-1 . "yellow")
-         (chocolate-2 . "yellow")
-         (chocolate-3 . "yellow")
-         (chameleon-1 . "green")
-         (chameleon-2 . "green")
-         (chameleon-3 . "green")
-         (sky-blue-1 . "blue")
-         (sky-blue-2 . "blue")
-         (sky-blue-3 . "blue")
-         (plum-1 . "magenta")
-         (plum-2 . "magenta")
-         (plum-3 . "magenta")
-         (scarlet-red-1 . "red")
-         (scarlet-red-2 . "red")
-         (scarlet-red-3 . "red")
-         (background . "black")
-         (black . "black")
-         (gradient-1 . "blue")    ;; sky-blue-1
-         (gradient-2 . "green")     ;; chameleon-1
-         (gradient-3 . "yellow")    ;; butter-1
-         (gradient-4 . "yellow")    ;; plum-1
-         (gradient-5 . "yellow")    ;; chocolate-1
-         (gradient-6 . "yellow")    ;; orange-1
-         (gradient-7 . "blue")     ;; sky-blue-2
-         (gradient-8 . "green")     ;; chameleon-2
-         (gradient-9 . "red")    ;; orange-2
-         (gradient-10 . "yellow")    ;; plum-2
-         (gradient-11 . "yellow")   ;; chocolate-2
-         ))
-      "The color values for each color name for a given
+  '((((class color) (min-colors 65535))
+     (aluminium-1 . "#eeeeec")
+     (aluminium-2 . "#d3d7cf")
+     (aluminium-3 . "#babdb6")
+     (aluminium-4 . "#888a85")
+     (aluminium-5 . "#555753")
+     (aluminium-6 . "#2e3436")
+     (butter-1 . "#fce94f")
+     (butter-2 . "#edd400")
+     (butter-3 . "#c4a000")
+     (orange-1 . "#fcaf3e")
+     (orange-2 . "#f57900")
+     (orange-3 . "#ce5c00")
+     (chocolate-1 . "#e9b96e")
+     (chocolate-2 . "#c17d11")
+     (chocolate-3 . "#9f5902")
+     (chameleon-1 . "#8ae234")
+     (chameleon-2 . "#73d216")
+     (chameleon-3 . "#4e9a06")
+     (sky-blue-1 . "#729fcf")
+     (sky-blue-2 . "#3465a4")
+     (sky-blue-3 . "#204a87")
+     (plum-1 . "#ad7fa8")
+     (plum-2 . "#75507b")
+     (plum-3 . "#5c3566")
+     (scarlet-red-1 . "#ef2929")
+     (scarlet-red-2 . "#cc0000")
+     (scarlet-red-3 . "#a40000")
+     (background . "#262B2C")
+     (black . "#0c191C")
+     (gradient-1 . "#729fcf")  ;; sky-blue-1
+     (gradient-2 . "#8ae234")  ;; chameleon-1
+     (gradient-3 . "#fce94f")  ;; butter-1
+     (gradient-4 . "#ad7fa8")  ;; plum-1
+     (gradient-5 . "#e9b96e")  ;; chocolate-1
+     (gradient-6 . "#fcaf3e")  ;; orange-1
+     (gradient-7 . "#3465a4")  ;; sky-blue-2
+     (gradient-8 . "#73d216")  ;; chameleon-2
+     (gradient-9 . "#f57900")  ;; orange-2
+     (gradient-10 . "#75507b") ;; plum-2
+     (gradient-11 . "#c17d11") ;; chocolate-2
+     )
+    (((class color) (min-colors 256))
+     (aluminium-1 . "color-255")
+     (aluminium-2 . "color-253")
+     (aluminium-3 . "color-251")
+     (aluminium-4 . "color-245")
+     (aluminium-5 . "color-240")
+     (aluminium-6 . "color-235")
+     (butter-1 . "color-221")
+     (butter-2 . "color-220")
+     (butter-3 . "color-178")
+     (orange-1 . "color-214")
+     (orange-2 . "color-208")
+     (orange-3 . "color-130")
+     (chocolate-1 . "color-180")
+     (chocolate-2 . "color-172")
+     (chocolate-3 . "color-94")
+     (chameleon-1 . "color-82")
+     (chameleon-2 . "color-76")
+     (chameleon-3 . "color-34")
+     (sky-blue-1 . "color-117")
+     (sky-blue-2 . "color-63")
+     (sky-blue-3 . "color-24")
+     (plum-1 . "color-176")
+     (plum-2 . "color-96")
+     (plum-3 . "color-54")
+     (scarlet-red-1 . "color-196")
+     (scarlet-red-2 . "color-160")
+     (scarlet-red-3 . "color-124")
+     (background . "color-234")
+     (black . "color-16")
+     (gradient-1 . "color-117")    ;; sky-blue-1
+     (gradient-2 . "color-82")     ;; chameleon-1
+     (gradient-3 . "color-221")    ;; butter-1
+     (gradient-4 . "color-176")    ;; plum-1
+     (gradient-5 . "color-180")    ;; chocolate-1
+     (gradient-6 . "color-214")    ;; orange-1
+     (gradient-7 . "color-63")     ;; sky-blue-2
+     (gradient-8 . "color-76")     ;; chameleon-2
+     (gradient-9 . "color-208")    ;; orange-2
+     (gradient-10 . "color-96")    ;; plum-2
+     (gradient-11 . "color-172")   ;; chocolate-2
+     )
+    (((class color) (min-colors 88))
+     (aluminium-1 . "color-87")
+     (aluminium-2 . "color-86")
+     (aluminium-3 . "color-85")
+     (aluminium-4 . "color-84")
+     (aluminium-5 . "color-82")
+     (aluminium-6 . "color-80")
+     (butter-1 . "color-77")
+     (butter-2 . "color-76")
+     (butter-3 . "color-72")
+     (orange-1 . "color-72")
+     (orange-2 . "color-68")
+     (orange-3 . "color-68")
+     (chocolate-1 . "color-73")
+     (chocolate-2 . "color-68")
+     (chocolate-3 . "color-52")
+     (chameleon-1 . "color-60")
+     (chameleon-2 . "color-44")
+     (chameleon-3 . "color-40")
+     (sky-blue-1 . "color-43")
+     (sky-blue-2 . "color-22")
+     (sky-blue-3 . "color-22")
+     (plum-1 . "color-54")
+     (plum-2 . "color-37")
+     (plum-3 . "color-33")
+     (scarlet-red-1 . "color-64")
+     (scarlet-red-2 . "color-64")
+     (scarlet-red-3 . "color-48")
+     (background . "color-80")
+     (black . "color-16")
+     (gradient-1 . "color-43")    ;; sky-blue-1
+     (gradient-2 . "color-60")    ;; chameleon-1
+     (gradient-3 . "color-77")    ;; butter-1
+     (gradient-4 . "color-54")    ;; plum-1
+     (gradient-5 . "color-73")    ;; chocolate-1
+     (gradient-6 . "color-72")    ;; orange-1
+     (gradient-7 . "color-22")    ;; sky-blue-2
+     (gradient-8 . "color-44")    ;; chameleon-2
+     (gradient-9 . "color-68")    ;; orange-2
+     (gradient-10 . "color-37")   ;; plum-2
+     (gradient-11 . "color-68")   ;; chocolate-2
+     )
+    (t
+     (aluminium-1 . "white")
+     (aluminium-2 . "white")
+     (aluminium-3 . "white")
+     (aluminium-4 . "white")
+     (aluminium-5 . "white")
+     (aluminium-6 . "white")
+     (butter-1 . "yellow")
+     (butter-2 . "yellow")
+     (butter-3 . "yellow")
+     (orange-1 . "yellow")
+     (orange-2 . "yellow")
+     (orange-3 . "yellow")
+     (chocolate-1 . "yellow")
+     (chocolate-2 . "yellow")
+     (chocolate-3 . "yellow")
+     (chameleon-1 . "green")
+     (chameleon-2 . "green")
+     (chameleon-3 . "green")
+     (sky-blue-1 . "blue")
+     (sky-blue-2 . "blue")
+     (sky-blue-3 . "blue")
+     (plum-1 . "magenta")
+     (plum-2 . "magenta")
+     (plum-3 . "magenta")
+     (scarlet-red-1 . "red")
+     (scarlet-red-2 . "red")
+     (scarlet-red-3 . "red")
+     (background . "black")
+     (black . "black")
+     (gradient-1 . "blue")    ;; sky-blue-1
+     (gradient-2 . "green")     ;; chameleon-1
+     (gradient-3 . "yellow")    ;; butter-1
+     (gradient-4 . "yellow")    ;; plum-1
+     (gradient-5 . "yellow")    ;; chocolate-1
+     (gradient-6 . "yellow")    ;; orange-1
+     (gradient-7 . "blue")     ;; sky-blue-2
+     (gradient-8 . "green")     ;; chameleon-2
+     (gradient-9 . "red")    ;; orange-2
+     (gradient-10 . "yellow")    ;; plum-2
+     (gradient-11 . "yellow")   ;; chocolate-2
+     ))
+  "The color values for each color name for a given
       condition.  The format is: ((condition) (key . value) (key
       . value) ...)")
 
       condition.  The format is: ((condition) (key . value) (key
       . value) ...)")
 
  '(shadow (:foreground aluminium-3))
  '(secondary-selection (:background sky-blue-3))
  '(cursor (:background scarlet-red-3))
  '(shadow (:foreground aluminium-3))
  '(secondary-selection (:background sky-blue-3))
  '(cursor (:background scarlet-red-3))
- '(hl-line (:background aluminium-6))
+ '(hl-line (:background black))
  '(highlight (:background scarlet-red-2))
  '(fringe (:background black))
  '(mode-line (:foreground aluminium-1 :background black
                           :box (:line-width 1 :color aluminium-6)))
  '(highlight (:background scarlet-red-2))
  '(fringe (:background black))
  '(mode-line (:foreground aluminium-1 :background black
                           :box (:line-width 1 :color aluminium-6)))
- '(mode-line-inactive (:foreground aluminium-5 :background aluminium-6
-                                   :box (:line-width 1 :color black)))
+ '(mode-line-inactive (:foreground aluminium-5 :background "#1F2427"
+                                   :box (:line-width 1 :color background)))
  '(mode-line-buffer-id (:bold t :foreground orange-2))
  '(header-line (:foreground aluminium-1 :background black
                             :box (:line-width 1 :color aluminium-6)))
  '(mode-line-buffer-id (:bold t :foreground orange-2))
  '(header-line (:foreground aluminium-1 :background black
                             :box (:line-width 1 :color aluminium-6)))
  '(font-lock-warning-face (:inherit warning))
  '(font-lock-function-name-face (:foreground butter-2 :bold t))
 
  '(font-lock-warning-face (:inherit warning))
  '(font-lock-function-name-face (:foreground butter-2 :bold t))
 
+ '(auto-dim-other-buffers-face (:background "#1F2427"))
+
  '(comint-highlight-prompt ())
 
  '(isearch (:background orange-3 :foreground background))
  '(comint-highlight-prompt ())
 
  '(isearch (:background orange-3 :foreground background))
  '(erc-keyword-face (:foreground orange-1))
  '(erc-fool-face (:inherit shadow))
  '(erc-current-nick-face (:inherit egocentric-face))
  '(erc-keyword-face (:foreground orange-1))
  '(erc-fool-face (:inherit shadow))
  '(erc-current-nick-face (:inherit egocentric-face))
+ '(erc-inverse-face (:foreground black :background aluminium-2))
+ '(fg:erc-color-face0 (:foreground aluminium-1))
+ '(fg:erc-color-face1 (:foreground black))
+ '(fg:erc-color-face2 (:foreground sky-blue-1))
+ '(fg:erc-color-face3 (:foreground chameleon-2))
+ '(fg:erc-color-face4 (:foreground scarlet-red-2))
+ '(fg:erc-color-face5 (:foreground chocolate-2))
+ '(fg:erc-color-face6 (:foreground plum-2))
+ '(fg:erc-color-face7 (:foreground orange-2))
+ '(fg:erc-color-face8 (:foreground butter-2))
+ '(fg:erc-color-face8 (:foreground chameleon-3))
+ '(fg:erc-color-face10 (:foreground sky-blue-2))
+ '(fg:erc-color-face11 (:foreground "cyan"))
+ '(fg:erc-color-face12 (:foreground sky-blue-3))
+ '(fg:erc-color-face13 (:foreground plum-3))
+ '(fg:erc-color-face14 (:foreground aluminium-2))
+ '(fg:erc-color-face15 (:foreground aluminium-4))
+ '(bg:erc-color-face0 (:background aluminium-1))
+ '(bg:erc-color-face1 (:background black))
+ '(bg:erc-color-face2 (:background sky-blue-1))
+ '(bg:erc-color-face3 (:background chameleon-2))
+ '(bg:erc-color-face4 (:background scarlet-red-2))
+ '(bg:erc-color-face5 (:background chocolate-2))
+ '(bg:erc-color-face6 (:background plum-2))
+ '(bg:erc-color-face7 (:background orange-2))
+ '(bg:erc-color-face8 (:background butter-2))
+ '(bg:erc-color-face8 (:background chameleon-3))
+ '(bg:erc-color-face10 (:background sky-blue-2))
+ '(bg:erc-color-face11 (:background "cyan"))
+ '(bg:erc-color-face12 (:background sky-blue-3))
+ '(bg:erc-color-face13 (:background plum-3))
+ '(bg:erc-color-face14 (:background aluminium-2))
+ '(bg:erc-color-face15 (:background aluminium-4))
+
 
  '(which-func (:foreground sky-blue-1))
 
 
  '(which-func (:foreground sky-blue-1))
 
  ;; git-commit-mode
  '(git-commit-summary-face (:bold t))
  '(git-commit-branch-face (:foreground orange-2 :bold t))
  ;; git-commit-mode
  '(git-commit-summary-face (:bold t))
  '(git-commit-branch-face (:foreground orange-2 :bold t))
- '(git-commit-nonempty-second-line-face ((:foreground scarlet-red-2)))
+ '(git-commit-nonempty-second-line-face (:foreground scarlet-red-2))
  '(git-commit-comment-face (:inherit font-lock-comment-face))
  '(git-commit-known-pseudo-header-face (:inherit gnus-header-name-face))
  '(git-commit-pseudo-header-face (:inherit gnus-header-content))
  '(git-commit-comment-face (:inherit font-lock-comment-face))
  '(git-commit-known-pseudo-header-face (:inherit gnus-header-name-face))
  '(git-commit-pseudo-header-face (:inherit gnus-header-content))
  ;; idle-highlight
  '(idle-highlight (:foreground aluminium-1 :background scarlet-red-3))
 
  ;; idle-highlight
  '(idle-highlight (:foreground aluminium-1 :background scarlet-red-3))
 
+ ;; doc-mode
+ '(doc-title-1-face (:foreground gradient-1 :bold t :height 1.3 :inherit variable-pitch))
+ '(doc-title-2-face (:foreground gradient-2 :bold t :height 1.2 :inherit variable-pitch))
+ '(doc-title-3-face (:foreground gradient-3 :bold t :height 1.1 :inherit variable-pitch))
+ '(doc-title-4-face (:foreground gradient-4 :bold t :inherit variable-pitch))
+
+ ;; flymake
+ '(flymake-errline (:underline (:style wave :color scarlet-red-1)))
+ '(flymake-warnline (:underline (:style wave :color orange-2)))
+
+ ;; flyspell
+ '(flyspell-incorrect (:underline (:style wave :color scarlet-red-1)))
+ '(flyspell-duplicate (:underline (:style wave :color orange-2)))
+
+ ;; git-gutter
+ '(git-gutter:modified (:foreground orange-1))
+ '(git-gutter:added (:foreground chameleon-1))
+ '(git-gutter:deleted (:foreground scarlet-red-1))
+ '(git-gutter:unchanged (:foreground butter-1))
+
+ '(ido-first-match (:foreground orange-1 :bold t))
+ '(ido-only-match (:foreground orange-1 :bold t))
+
+ ;; helm
+ '(helm-source-header (:inherit success))
+ '(helm-visible-mark (:inherit region :foreground aluminium-3))
+ '(helm-header (:inherit mode-line))
+ '(helm-candidate-number (:inherit highlight))
+ '(helm-selection (:inherit secondary-selection))
+ '(helm-match (:inherit warning))
+ '(helm-separator (:inherit message-separator))
+ '(helm-action (:foreground sky-blue-1))
+ '(helm-ff-directory (:foreground sky-blue-1 :background nil :underline nil))
+ '(helm-ff-file (:inherit link :foreground plum-1 :underline nil))
+
  ;; jabber
  '(jabber-activity-face (:foreground scarlet-red-1 :weight bold))
  '(jabber-activity-personal-face (:foreground sky-blue-1 :weight bold))
  ;; jabber
  '(jabber-activity-face (:foreground scarlet-red-1 :weight bold))
  '(jabber-activity-personal-face (:foreground sky-blue-1 :weight bold))
  '(jabber-title-medium (:weight bold :height 1.2))
  '(jabber-title-small (:weight bold :height 1.0)))
 
  '(jabber-title-medium (:weight bold :height 1.2))
  '(jabber-title-small (:weight bold :height 1.0)))
 
+;;;###autoload
+(when load-file-name
+  (add-to-list 'custom-theme-load-path
+               (file-name-as-directory (file-name-directory load-file-name))))
+
 (provide-theme 'naquadah)
 
 ;; Local Variables:
 (provide-theme 'naquadah)
 
 ;; Local Variables: