Mike Steder  committed 2270081

Committing initial version of dotfiles.

  • Participants
  • Branches default

Comments (0)

Files changed (281)

File bash_profile

+# ~/.bash_profile: executed by bash(1) for login shells.
+# see /usr/share/doc/bash/examples/startup-files for examples.
+# the files are located in the bash-doc package.
+# the default umask is set in /etc/login.defs
+#umask 022
+# include .bashrc if it exists
+if [ -f ~/.bashrc ]; then
+    . ~/.bashrc
+# ~/.bashrc: executed by bash(1) for non-login shells.
+# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
+# for examples
+# If not running interactively, don't do anything
+[ -z "$PS1" ] && return
+# don't put duplicate lines in the history. See bash(1) for more options
+export HISTCONTROL=ignoredups
+# check the window size after each command and, if necessary,
+# update the values of LINES and COLUMNS.
+shopt -s checkwinsize
+# make less more friendly for non-text input files, see lesspipe(1)
+[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"
+# set variable identifying the chroot you work in (used in the prompt below)
+if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
+    debian_chroot=$(cat /etc/debian_chroot)
+# set a fancy prompt (non-color, unless we know we "want" color)
+case "$TERM" in
+    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\W\[\033[00m\]\$ '
+    ;;
+    PS1='${debian_chroot:+($debian_chroot)}\u@\h \W\$ '
+    ;;
+# Comment in the above and uncomment this below for a color prompt
+#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ '
+# If this is an xterm set the title to user@host:dir
+case "$TERM" in
+    PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
+    ;;
+    ;;
+# Alias definitions.
+# You may want to put all your additions into a separate file like
+# ~/.bash_aliases, instead of adding them here directly.
+# See /usr/share/doc/bash-doc/examples in the bash-doc package.
+#if [ -f ~/.bash_aliases ]; then
+#    . ~/.bash_aliases
+# enable color support of ls and also add handy aliases
+if [ "$TERM" != "dumb" ]; then
+    eval "`dircolors -b`"
+    alias ls='ls --color=auto -CF '
+    alias dir='ls --color=auto --format=vertical'
+    alias vdir='ls --color=auto --format=long'
+    alias rm='rm -i'
+    alias mv='mv -i'
+    alias cp='cp -i'
+# some more ls aliases
+alias ll='ls -l'
+alias la='ls -A'
+alias l='ls -CF'
+alias findinpy="find . -name '*.py' | xargs egrep "
+alias svnflakes="svn status | grep '^\M\|^A' | cut -c 8- | xargs pyflakes | uniq"
+alias ducks='du -cks * |sort -rn |head -11'
+alias nox='emacs -nw'
+alias log='svn log --stop-on-copy'
+alias uplog='svn up; svn log --stop-on-copy'
+alias status='svn st | grep -Ev "?*resources"'
+alias whichpkg='dpkg -S'
+#alias kill=skill
+#alias kill=pkill
+#pgrep - process grep, 'pgrep python' returns the process ids for all running pythons
+#vmstat - current memory details
+#alias tar=pax # pax is an alternative to tar and cpio
+#watch - repeatedly run a command and show you the results
+#top && ntop
+# enable programmable completion features (you don't need to enable
+# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
+# sources /etc/bash.bashrc).
+if [ -f /etc/bash_completion ]; then
+    . /etc/bash_completion
+# tapp configuration
+EMAIL=michael.steder #youremailusername - for database scrubbing
+export TEXTURA_APPDIR=$HOME/appserver1                # so that you don't have to tell tapp where your environment is
+export TEXTURA_TTOOLS_VERBOSE=1                                  # display every command that dbmigration and tapp run along with its output
+export TEXTURA_DATABASE_PATH=$HOME/appserver1 # where dumps are stored (defaults to home directory)
+export T=
+export TSVN_BASE=~/bugs
+export TSVN_ARGS="--base-relative --ignore-externals"
+export EMAIL
+source /opt/ttools/home/bashrc
+export SVN_EDITOR
+export EDITOR
+# set PATH so it includes user's private bin if it exists
+if [ -d ~/bin ] ; then
+    PATH=~/bin:"${PATH}"
+export PATH
+#eval `/usr/bin/python ~/UQDS/Divmod/trunk/Combinator/`
+alias combinator='eval `/usr/bin/python ~/UQDS/Divmod/trunk/Combinator/`'
+export GOROOT=$HOME/go
+export GOOS=linux
+export GOARCH=amd64
+export GOBIN=$HOME/bin
+;-*- mode: emacs-lisp -*-
+;;; Mike Steder <>
+;;; Emacs configuration 
+;; Add my local ~/emacs to the load-path
+(add-to-list 'load-path "~/emacs.d")
+(add-to-list 'load-path "~/etc/emacs.d")
+(add-to-list 'load-path "~/etc/emacs.d/color-theme-6.6.0")
+;; Emacs config menus will write customizations
+;; to this file:
+(setq custom-file "~/etc/emacs.d/custom.el")
+(load "platform.el")
+(load "custom.el")
+(load "special_files.el")
+(load "look_and_feel.el")
+(load "mouse.el")
+(load "keybindings.el")
+(load "mspython.el")
+(load "msjavascript.el")
+;(load "myfotran.el")
+;(load "msphp.el")
+(load "msproject.el")
+(load "mstest.el")
+(load "misc.el")
+;(load "menu.el")
+(load "remote.el")
+;; Reminders:
+; don't forget you can get an elisp repl: M-x ielm

File emacs.d/.emacs.desktop

+;; -*- mode: emacs-lisp; coding: emacs-mule; -*-
+;; --------------------------------------------------------------------------
+;; Desktop File for Emacs
+;; --------------------------------------------------------------------------
+;; Created Wed Jan 28 18:46:07 2009
+;; Desktop file format version 206
+;; Emacs version 22.2.1
+;; Global section:
+(setq desktop-missing-file-warning nil)
+(setq tags-file-name nil)
+(setq tags-table-list nil)
+(setq search-ring nil)
+(setq regexp-search-ring nil)
+(setq register-alist nil)
+;; Buffer section -- buffers listed in same order as in buffer list:
+(desktop-create-buffer 206
+  "/home/msteder/etc/emacs"
+  "emacs"
+  'fundamental-mode
+  nil
+  6471
+  '(6472 nil)
+  nil
+  nil
+  '((buffer-file-coding-system . undecided-unix)))

File emacs.d/color-theme-6.6.0/AUTHORS

+                 *****************************************
+                                  AUTHORS
+                 *****************************************
+NOTE: NEVER send bug reports, help and feature requests directly to the
+      authors !
+Original code and ideas by Jonadab the Unsightly One
+Current Maintainers:
+ * Xavier Maillard (release manager) <>
+ * Brian Palmer <>
+Previous maintainers:
+ * (1999 2000)  Jonadab the Unsightly One <>
+ * (2000, 2001, 2002, 2003)  Alex Schroeder <>
+ * Deepak Goel  <>
+ * S. Pokrovsky <> for ideas and discussion
+ * Gordon Messmer <> for ideas and discussion.
+ * Sriram Karra <> for the color-theme-submit stuff.
+ * Olgierd `Kingsajz' Ziolko <> for the spec-filter idea.
+ * Brian Palmer for color-theme-library ideas and code
+Note: all the users that contributed their color themes. See CREDITS.themes
+      for a complete listing of them.
+Thank you all of you !

File emacs.d/color-theme-6.6.0/BUGS

+This is the list of common problems.
+Emacs 20.7: Some faces are created using copy-face; these faces are
+not printed correctly using M-x color-theme-print.  They will have
+(nil) in their spec.  M-x customize-face has the same problem.
+(copy-face 'bold 'new-bold)
+(color-theme-spec 'bold)
+  => (bold ((t (:bold t))))
+(color-theme-spec 'new-bold)
+  => (new-bold ((t (nil))))
+XEmacs 21.1: Some faces are defined using a certain font instead of
+of the correct attribute.  They will have (nil) in their spec.
+M-x customize-face has the same problem.
+(color-theme-spec 'bold)
+  => (bold ((t (nil))))
+XEmacs 21.2 and up, Emacs 21: Not compatible with the custom-theme
+mode.  It should be easy to transform the color-theme source into
+custom-theme source, however.
+If you are running XEmacs, then only foreground and background color
+of the default face and only the background color of the text-cursor
+face will used.  This is due to the fact that these three pieces of
+information are stored as frame parameters in Emacs.
+If you are running XEmacs, variables cannot have a frame-local
+binding.  Therefore, if color-theme-is-global is set to nil, the
+variable settings in a color theme are ignored.
+Using Emacs and a non-nil value for color-theme-is-global will
+install a new color theme for all frames.  Using XEmacs and a non-nil
+value for color-theme-is-global will install a new color theme only
+on those frames that are not using a local color theme.
+If your system does not define the color names used, you will get the
+error "undefined color".  See the output of `list-colors-display' for
+a list of colors defined on your display.
+The :box, :height, and other new attributes will be honored in Emacs
+21, but when you print such a color-theme on Emacs 20 or XEmacs 21,
+the information will get lost.  So don't do that.  Furthermore,
+customizing these faces may end up showing you a lisp expression
+instead of the real widgets on Emacs 20 or XEmacs 21 because these
+attributes are not understood.
+:inverse-video handling differs in Emacs and XEmacs.  We therefore do
+away with it.  When printing a color-theme, the inverse-video
+attribute should be handled correctly without ever appearing in color
+themes.  For maintenance, the following might be usefull for
+:background "\([^"]*\)"\(.*\):foreground "\([^"]*\)"\(.*\) :inverse-video t
+:background "\3"\2:foreground "\1"\4
+In XEmacs 21.1, some of the face tests don't work.  Example:
+(custom-face-bold 'bold) returns nil on my system.  A bug report was
+Emacs 20 users will loose with new color themes, because these will
+set the colors of the default face only, leaving frame background
+untouched.  In Emacs 20, the colors of the default face and of the
+frame could be changed independently.  In Emacs 21, this is no longer
+true.  New color themes will not be made backwards compatible.
+This release was superficially tested with Emacs 21.x/22.x and XEmacs 21.4.

File emacs.d/color-theme-6.6.0/COPYING

+		       Version 2, June 1991
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+			    Preamble
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+  The precise terms and conditions for copying, distribution and
+modification follow.
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+	    How to Apply These Terms to Your New Programs
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+    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 2 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
+    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, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+Also add information on how to contact you by electronic and paper mail.
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.

File emacs.d/color-theme-6.6.0/ChangeLog

+2006-05-28  Xavier Maillard  <>
+	* Version 6.6.0 is released
+	* Tagged source with RELEASE_6-6-0 for "Back in the business" release
+	* HAGKING, BUGS, README: New files.
+	* color-theme.el (color-theme-libraries): Changed docstring.
+	(define-color-theme): Reworked macro to properly define themes.
+	(color-theme-initialize): Actually does what expected.
+	(color-theme-theme): Removed this useless variable.
+	Removed commentary section (splitted into specific files)
+	* Makefile.defs (DEBNAME): Changed default value to reveal all
+		  needed informations
+		  (LASTUPLOAD): New version.
+		  (CVSMODULE, CVSBRANCH, CVSROOT): New variables used to
+			  prepare a release.
+	* Makefile (dist, dist-prepare, debian, 
+		    tarball, realease, upload, $TARBALL, $DEBNAME): New targets.
+	(distclean): Delete old build traces (files, package, etc...)
+	* debian/control: Changed Maintainer informations. 
+	* debian/emacsen-startup: Safely load autoloads file or die if tests fail.
+	* debian/rules: Fixed bad package construction.
+	* debian/emacsen-install: Handle theme files installation correctfully. 
+2006-05-27  Xavier Maillard  <>
+	* debian: New directory. Contains all stuff to build a neat and
+		  cool color-theme-el Debian package.
+	* AUTHORS: New file.
+	* Ditto..
+	* Makefile.defs: Ditto.
+	* Makefile: Ditto.
+	* color-theme.el (replace-in-string): New function. Used in define-color-theme
+	(color-theme-directory): New variable.
+	(color-theme-libraries): Changed default value to color-theme
+		official theme directory
+	(color-theme-load-all-themes): New variable.
+	(color-theme-initialize): Load theme files defined either in
+		color-theme-libraries or color-theme-directory.
+2006-05-22  Xavier Maillard  <>
+	* color-theme-library.el: make bytecompiler happy.
+	* color-theme.el (color-theme-initialize, color-theme-select)
+	(color-theme-describe, color-theme-install-at-mouse)
+	(color-theme-install-at-point)
+	(color-theme-install-at-point-for-current-frame)
+	(color-theme-print, color-theme-analyze-defun)
+	(color-theme-make-snapshot, color-theme-compare)
+	(color-theme-submit, color-theme-initialize): Added autoload cookies
+	* COPYING: New file
+2006-05-21  Xavier Maillard  <>
+	* color-theme.el: Make byte compiler happy.
+	Added autoload cookie on color-theme-install (useless ??)
+	Added eval-when-compile in color-theme-print
+2006-05-14  Xavier Maillard  <>
+	* color-theme.el: Cosmetic changes
+	* color-theme-library.el: Ditto (added header, legal notice)
+2006-05-11  Xavier Maillard  <>
+	* color-theme.el (color-theme-xemacs-p): Check for xemacs feature.
+	(color-theme-face-attr-construct): New function. Use it when
+		face-custom-attributes-get is bound. Fixes a bug on M-x
+		color-theme-select.
+2006-05-07  Xavier Maillard  <>
+	* color-theme.el (color-theme-entry-path): New variable used for easymenu definition.
+	    We now check which (x)emacs version is used to correctly define our menu.
+	    (Fixes a long standing bug)
+2006-03-31  Brian Palmer  <>
+	* color-theme-library.el (color-theme-renegade): Added new theme
+	by Dave Benjamin. Thanks Dave.
+	* color-theme.el (color-theme-select): Call
+	color-theme-initialized if it has not been called before.
+	(color-theme-initialized): Variable tracking initialization state, used in color-theme-select
+	(color-themes): Added renegade theme by Dave Benjamin. Thanks Dave.
+2006-01-13  Xavier Maillard  <>
+	* color-theme.el: Changed copyright header (just to test Gna services)
+2006-01-10  Brian Palmer  <>
+	* color-theme-library.el: Added color-theme-library.el, containing
+	the defined themes.
+	* color-theme.el (color-theme-libraries): Customizable variable.
+ 	* color-theme.el (color-theme-initialize): Load each file
+	specified in color-theme-libraries.
+2006-01-10  Brian Palmer  <>
+	* Added color-theme.el 6.5.5 to the repository.
+	* Added ChangeLog to the repository.

File emacs.d/color-theme-6.6.0/HACKING

+This file is intented to help any color-theme hacker and particulary
+color-theme release team.
+To release a new version, please follow these instructions:
+1a. Change Makefile.defs (VERSION and LASTUPLOAD)
+1b. Verify color-theme.el header file
+2. Prepare debian/ directory
+   => control and changelog
+   => check other files
+3. Tag the whole source files with:
+   cvs tag -c RELEASE-X-X-X
+4. Launch the automatic tarball/debian creation:
+  make release
+5. Pray :)

File emacs.d/color-theme-6.6.0/Makefile

+# -*- Makefile -*-
+# Borrowed from many emacs places
+include Makefile.defs
+AUTOLOADFILE = color-theme-autoloads
+THEMES_FILES := $(wildcard $(THEMES_DIRECTORY)/*.el)
+ALLSOURCE := $(wildcard *.el) $(THEMES_FILES)
+TARGET	= $(patsubst %.el,%.elc,$(SPECIAL) $(SOURCE))
+MANUAL  = color-theme
+MISC	= AUTHORS COPYING ChangeLog Makefile.defs Makefile $(AUTOLOADFILE).in
+#ChangeLog.2005 ChangeLog.2004 ChangeLog.2003 ChangeLog.2002 \
+#ChangeLog.2001 color-theme.texi
+all: lisp #$(MANUAL).info
+lisp: clean $(TARGET) 
+autoloads: $(AUTOLOADFILE).elc
+	rm -f $(AUTOLOADFILE).elc
+	@$(EMACS) -q $(SITEFLAG) -batch \
+		-l $(shell pwd | sed -e 's|^/cygdrive/\([a-z]\)|\1:|')/$(AUTOLOADFILE) \
+		-f color-theme-generate-autoloads \
+		$(shell pwd | sed -e 's|^/cygdrive/\([a-z]\)|\1:|')/$(AUTOLOADFILE).el . \
+	@echo "Byte compiling the autoload file "$<
+	@$(EMACS) -batch -q -f batch-byte-compile $^
+	@echo "*******************************************************************"
+	@echo "Autoloads up to date. Put the following lines in your configuration"
+	@echo "file (~/.emacs for a single user) :"
+	@echo
+	@echo ${patsubst %, "(add-to-list 'load-path \""%"\")   ", $(LISPDIRS)}
+	@echo "(require 'color-theme-autoload \""$(AUTOLOADFILE)"\")"
+	@echo
+%.elc: %.el
+	--eval '(setq load-path (cons "." load-path))' \
+	-f batch-byte-compile $<
+ %.texi
+	@echo "No doc yet !"
+#	makeinfo $<
+%.html: %.texi
+	@echo "No doc yet !"
+#	makeinfo --html --no-split $<
+doc: $(MANUAL).info $(MANUAL).html
+	@echo "No doc yet !"
+	-rm -f themes/*.elc
+	-rm -f *~ *.elc $(AUTOLOADFILE).el
+realclean: clean
+	-rm -f $(MANUAL).info $(MANUAL).html $(TARGET) $(SPECIAL)
+install-info: $(MANUAL).info
+	[ -d $(INFODIR) ] || install -d $(INFODIR)
+	install -m 0644 $(MANUAL).info $(INFODIR)/$(MANUAL)
+install-bin: lisp
+	install -d $(ELISPDIR)
+	install -d $(ELISPDIR)/themes
+	install -m 0644 $(ALLSOURCE) $(TARGET) $(ELISPDIR)
+	install -m 0644 $(THEMES_FILES) $(TARGET) $(ELISPDIR)/themes
+install: install-bin install-info
+	-rm  $(MANUAL).info $(MANUAL).html $(TARGET)
+	-rm -Rf ../$(DISTDIR)
+	-rm -f debian/dirs debian/files
+	-rm -rf $(DISTDIR) $(TARBALL)* $(ZIPFILE)* $(DEBNAME)*
+dist: distclean Makefile
+	$(MAKE) dist-prepare
+# Idea taken from w3m-el
+dist-prepare: CVS/Root CVS/Repository
+	cvs -d $(CVSROOT) -w export -d $(DISTDIR) -r $(CVSBRANCH) $(CVSMODULE)
+	-cvs diff |( cd $(DISTDIR) && patch -p0 )
+$(TARBALL): tarball
+$(DEBNAME): debian
+tarball: dist
+	find $(DISTDIR) -name .cvsignore | xargs rm -f
+	find $(DISTDIR) -name debian | xargs rm -fr
+	find $(DISTDIR) -type d | xargs chmod 755
+	find $(DISTDIR) -type f | xargs chmod 644
+	tar -cf `basename $(TARBALL) .gz` $(DISTDIR)
+	gzip -9 `basename $(TARBALL) .gz`
+	zip -r $(ZIPFILE) $(DISTDIR)
+	gpg --detach $(TARBALL)
+	gpg --detach $(ZIPFILE)
+debian: dist
+	(cd $(DISTDIR) && \
+	  dpkg-buildpackage -v$(LASTUPLOAD) $(BUILDOPTS) \
+	    -us -uc -rfakeroot && \
+	  echo "Running lintian ..." && \
+	  lintian -i ../$(DEBNAME)*.deb || : && \
+	  echo "Done running lintian." && \
+	  debsign)
+	cp $(DEBNAME)* /var/spool/repo
+	(cd /var/spool/repo && \
+	dpkg-scanpackages . /dev/null | gzip -9 > Packages.gz && \
+	dpkg-scansources . | gzip -9 > Sources.gz)
+release: $(DEBNAME) $(TARBALL)
+	rm -rf $(DISTDIR)
+	$(MAKE) upload distclean
+	(cd /var/spool/repo && echo open > upload.lftp ; \
+	  echo cd /var/spool/repo >> upload.lftp ; \
+	  echo mput * >> upload.lftp ; \
+	  echo close >> upload.lftp ; \
+	  lftp -f upload.lftp ; \
+	  rm -f upload.lftp)
+	(scp $(ZIPFILE)* $(TARBALL)* \

File emacs.d/color-theme-6.6.0/Makefile.defs

+# -*- Makefile -*-
+EMACS    = emacs
+SITEFLAG = --no-site-file
+OPTIONCOMPILE = -q --no-site-file --batch
+# XEmacs users will probably want the following settings.
+#EMACS    = xemacs
+#SITEFLAG = -no-site-file
+# Installation options
+# PREFIX is only used here.
+PREFIX   = /usr/local
+ELISPDIR = $(PREFIX)/share/emacs/site-lisp/color-theme-el
+INFODIR  = $(PREFIX)/info
+# Command to use to install the Info dir entry
+# If you're using Debian, uncomment the following line and comment out
+#the above line.
+#INSTALLINFO = install-info --section "Emacs" "emacs" --info-dir=$(INFODIR)
+INSTALLINFO = install-info --info-dir=$(INFODIR)
+# Useful only for the maintainer
+PROJECT    = color-theme
+VERSION    = 6.6.0
+TARBALL    = $(DISTDIR).tar.gz
+ZIPFILE    = $(DISTDIR).zip
+MANUAL     = 
+LASTUPLOAD = 6.6.0-2
+TAG = $(shell echo RELEASE-$(VERSION) | tr '.' '-')
+CVSMODULE = $(shell cat CVS/Repository)
+CVSBRANCH = $(shell cvs status color-theme.el |grep "Sticky Tag:"|awk '{print $$3}'|sed 's/(none)/HEAD/')
+CVSBRANCH = $(shell echo rel-$(VERSION) | tr '.' '-')
+CVSROOT   = $(shell cat CVS/Root)

File emacs.d/color-theme-6.6.0/README

+Sharing your current color setup:
+Use `color-theme-submit'.  If you have already invested time in
+customizing Emacs faces, please consider sharing your current setup.
+Make sure that color-theme.el is in your `load-path'.  Type M-x
+load-library RET color-theme RET to load all the functions.  Type M-x
+color-theme-submit RET and mail the result to the maintainer of this
+package (see above for mail addres).
+If you want to make sure that all your customization was exported,
+type M-x list-faces-display RET to get a list of all faces currently
+defined.  This is the list of faces that `color-theme-print' uses.
+Installing a color theme:
+Make sure that color-theme.el is in your `load-path'.  Type M-x
+load-library RET color-theme RET to load all the functions.
+The main function to call is color-theme-select.  Type M-x
+color-theme-select RET.  That creates a Color Theme Selection
+buffer.  Press RET or `i' on a color theme to install it for the
+rest of your session.
+If you want to install the color theme as soon as Emacs is started
+up, read the description of the theme you like and remember the
+name of the color theme function.  Press `d' on a color theme in
+the Color Theme Selection buffer to read the description.  Assuming
+you like the Gnome2 theme, you'll find that the function to use is
+called `color-theme-gnome2'.  Add the following to the end of your
+.emacs (removing the leading `;;').
+(require 'color-theme)
+Changing menu colors:
+In Emacs 21 on X, you can set the menu colors and font using the
+menu face.  Example for your .emacs file:
+  (set-face-font 'menu "7x14")
+  (set-face-foreground 'menu "white").
+If are using X, you can set the menu foreground and background using
+a resource file, usually .Xdefaults or .Xresources.  Usually
+.Xdefaults is used when you start your session using a display
+manager such as xdm or gdm.  .Xresources is usually used when you
+start X directly via a shell script such as startx.  If you set
+Emacs*Background and Emacs*Foreground in such a resource file, the
+foreground and background of Emacs including the menu will be set.
+If your .emacs then loads a color theme, the foreground and
+background are changed -- with the exception of the menu.  There is
+no way to manipulate the menu foreground and background color from
+elisp.  You can also set more specific menu resources for Emacs in
+the resource file.  Here is a sample entry for your resource file:
+  Emacs*Background:		DarkSlateGray
+  Emacs*Foreground:		wheat
+Creating your own color theme:
+Use M-x customize-face and customize the faces.  Make sure to "Set
+for Current Session" -- you don't want to save these using custom!
+When you are done, call M-x color-theme-print to produce the elisp
+code required to recreate your theme.  Better yet, use M-x
+color-theme-submit to mail it to the maintainer.  That way it will be
+added to future versions of color-theme.el.
+For more information on the elisp format of a color theme, start with
+the documentation of `color-theme-install' using C-h f
+When your color theme is just a variation of an existing color theme,
+take a look at `color-theme-robin-hood' in order to see an example of
+how to do it.  Essentially you want to call all the parent color
+themes before installing your changes.  For all but the first parent
+color theme, you need to make sure that `color-theme-is-cumulative'
+is bound to t.  If you don't do that, users that set
+`color-theme-is-cumulative' to nil will only install your changes
+without the parent color themes.
+Making a color theme work for both Emacs and XEmacs:
+Once you have printed the color-theme, you can make sure it looks
+similar in both Emacs and XEmacs by running
+`color-theme-analyze-defun' on the printed theme.  This function
+will check for missing faces for the other editor...

File emacs.d/color-theme-6.6.0/build-stamp

Empty file added.

File emacs.d/color-theme-6.6.0/color-theme-autoloads.el

+;;; -*-emacs-lisp-*-
+;; Copyright (C) 2002 Free Software Foundation, Inc.
+(defvar generated-autoload-file)
+(defvar command-line-args-left)
+(defun color-theme-generate-autoloads ()
+  (interactive)
+  (require 'autoload)
+  (setq generated-autoload-file (car command-line-args-left))
+  (setq command-line-args-left (cdr command-line-args-left))
+  (batch-update-autoloads))
+(provide 'color-theme-autoloads)
+;;; Generated autoloads follow (made by autoload.el).
+;;;### (autoloads (color-theme-initialize color-theme-submit color-theme-install
+;;;;;;  color-theme-compare color-theme-make-snapshot color-theme-analyze-defun
+;;;;;;  color-theme-print color-theme-install-at-point-for-current-frame
+;;;;;;  color-theme-install-at-mouse color-theme-describe color-theme-select)
+;;;;;;  "color-theme" "color-theme.el" (17529 41105))
+;;; Generated autoloads from color-theme.el
+(autoload (quote color-theme-select) "color-theme" "\
+Displays a special buffer for selecting and installing a color theme.
+With optional prefix ARG, this buffer will include color theme libraries
+as well.  A color theme library is in itself not complete, it must be
+used as part of another color theme to be useful.  Thus, color theme
+libraries are mainly useful for color theme authors." t nil)
+(autoload (quote color-theme-describe) "color-theme" "\
+Describe color theme listed at point.
+This shows the documentation of the value of text-property color-theme
+at point.  The text-property color-theme should be a color theme
+function.  See `color-themes'." t nil)
+(autoload (quote color-theme-install-at-mouse) "color-theme" "\
+Install color theme clicked upon using the mouse.
+First argument EVENT is used to set point.  Then
+`color-theme-install-at-point' is called." t nil)
+(autoload (quote color-theme-install-at-point-for-current-frame) "color-theme" "\
+Install color theme at point for current frame only.
+Binds `color-theme-is-global' to nil and calls
+`color-theme-install-at-point'." t nil)
+(autoload (quote color-theme-print) "color-theme" "\
+Print the current color theme function.
+You can contribute this function to <URL:news:gnu.emacs.sources> or
+paste it into your .emacs file and call it.  That should recreate all
+the settings necessary for your color theme.
+    (require 'color-theme)
+    (defun my-color-theme ()
+      \"Color theme by Alex Schroeder, created 2000-05-17.\"
+      (interactive)
+      (color-theme-install
+       '(...
+	 ...
+	 ...)))
+    (my-color-theme)
+If you want to use a specific color theme function, you can call the
+color theme function in your .emacs directly.
+    (require 'color-theme)
+    (color-theme-gnome2)" t nil)
+(autoload (quote color-theme-analyze-defun) "color-theme" "\
+Once you have a color-theme printed, check for missing faces.
+This is used by maintainers who receive a color-theme submission
+and want to make sure it follows the guidelines by the color-theme
+author." t nil)
+(autoload (quote color-theme-make-snapshot) "color-theme" "\
+Return the definition of the current color-theme.
+The function returned will recreate the color-theme in use at the moment." nil nil)
+(autoload (quote color-theme-compare) "color-theme" "\
+Compare two color themes.
+This will print the differences between installing THEME-A and
+installing THEME-B.  Note that the order is important: If a face is
+defined in THEME-A and not in THEME-B, then this will not show up as a
+difference, because there is no reset before installing THEME-B.  If a
+face is defined in THEME-B and not in THEME-A, then this will show up as
+a difference." t nil)
+(autoload (quote color-theme-install) "color-theme" "\
+Install a color theme defined by frame parameters, variables and faces.
+The theme is installed for all present and future frames; any missing
+faces are created.  See `color-theme-install-faces'.
+THEME is a color theme definition.  See below for more information.
+If you want to install a color theme from your .emacs, use the output
+generated by `color-theme-print'.  This produces color theme function
+which you can copy to your .emacs.
+A color theme definition is a list:
+FUNCTION is the color theme function which called `color-theme-install'.
+This is no longer used.  There was a time when this package supported
+automatic factoring of color themes.  This has been abandoned.
+FRAME-PARAMETERS is an alist of frame parameters.  These are installed
+with `color-theme-install-frame-params'.  These are installed last such
+that any changes to the default face can be changed by the frame
+VARIABLE-DEFINITIONS is an alist of variable settings.  These are
+installed with `color-theme-install-variables'.
+FACE-DEFINITIONS is an alist of face definitions.  These are installed
+with `color-theme-install-faces'.
+If `color-theme-is-cumulative' is nil, a color theme will undo face and
+frame-parameter settings of previous color themes." nil nil)
+(autoload (quote color-theme-submit) "color-theme" "\
+Submit your color-theme to the maintainer." t nil)
+(autoload (quote color-theme-initialize) "color-theme" "\
+Initialize the color theme package by loading color-theme-libraries." t nil)

File emacs.d/color-theme-6.6.0/

+;;; -*-emacs-lisp-*-
+;; Copyright (C) 2002 Free Software Foundation, Inc.
+(defvar generated-autoload-file)
+(defvar command-line-args-left)
+(defun color-theme-generate-autoloads ()
+  (interactive)
+  (require 'autoload)
+  (setq generated-autoload-file (car command-line-args-left))
+  (setq command-line-args-left (cdr command-line-args-left))
+  (batch-update-autoloads))
+(provide 'color-theme-autoloads)
+;;; Generated autoloads follow (made by autoload.el).

File emacs.d/color-theme-6.6.0/color-theme.el

+;;; color-theme.el --- install color themes
+;; Copyright (C) 1999, 2000  Jonadab the Unsightly One <>
+;; Copyright (C) 2000, 2001, 2002, 2003  Alex Schroeder <>
+;; Copyright (C) 2003, 2004, 2005, 2006  Xavier Maillard <>
+;; Version: 6.6.0
+;; Keywords: faces
+;; Author: Jonadab the Unsightly One <>
+;; Maintainer: Xavier Maillard <>
+;; URL:
+;; This file is not (YET) part of GNU Emacs.
+;; This 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 2, or (at your option) any later
+;; version.
+;; This 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 GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+;; MA 02111-1307, USA.
+;;; Commentary:
+;; Please read README and BUGS files for any relevant help.
+;; Contributors (not themers) should also read HACKING file.
+;;; Thanks
+;; Deepak Goel  <>
+;; S. Pokrovsky <> for ideas and discussion.
+;; Gordon Messmer <> for ideas and discussion.
+;; Sriram Karra <> for the color-theme-submit stuff.
+;; Olgierd `Kingsajz' Ziolko <> for the spec-filter idea.
+;; Brian Palmer for color-theme-library ideas and code
+;; All the users that contributed their color themes.
+;;; Code:
+  (require 'easymenu)
+  (require 'reporter)
+  (require 'sendmail))
+(require 'cl); set-difference is a function...
+;; for custom-face-attributes-get or face-custom-attributes-get
+(require 'cus-face)
+(require 'wid-edit); for widget-apply stuff in cus-face.el
+(defconst color-theme-maintainer-address ""
+  "Address used by `submit-color-theme'.")
+;; Emacs / XEmacs compatibility and workaround layer
+(cond ((and (facep 'tool-bar)
+	    (not (facep 'toolbar)))
+       (put 'toolbar 'face-alias 'tool-bar))
+      ((and (facep 'toolbar)
+	    (not (facep 'tool-bar)))
+       (put 'tool-bar 'face-alias 'toolbar)))
+(defvar color-theme-xemacs-p (and (featurep 'xemacs) 
+                                  (string-match "XEmacs" emacs-version))
+  "Non-nil if running XEmacs.")
+;; Add this since it appears to miss in emacs-2x
+(or (fboundp 'replace-in-string)
+    (defun replace-in-string (target old new)
+      (replace-regexp-in-string old new  target)))
+;; face-attr-construct has a problem in Emacs 20.7 and older when
+;; dealing with inverse-video faces.  Here is a short test to check
+;; wether you are affected.
+;; (set-background-color "wheat")
+;; (set-foreground-color "black")
+;; (setq a (make-face 'a-face))
+;; (face-spec-set a '((t (:background "white" :foreground "black" :inverse-video t))))
+;; (face-attr-construct a)
+;;     => (:background "black" :inverse-video t)
+;; The expected response is the original specification:
+;;     => (:background "white" :foreground "black" :inverse-video t)
+;; That's why we depend on cus-face.el functionality.
+(cond ((fboundp 'custom-face-attributes-get)
+       (defun color-theme-face-attr-construct (face frame)
+         (if (atom face)
+             (custom-face-attributes-get face frame)
+             (if (and (consp face) (eq (car face) 'quote))
+                 (custom-face-attributes-get (cadr face) frame)
+                 (custom-face-attributes-get (car face) frame)))))
+      ((fboundp 'face-custom-attributes-get)
+       (defalias 'color-theme-face-attr-construct
+	 'face-custom-attributes-get))
+      (t
+       (defun color-theme-face-attr-construct (&rest ignore)
+	 (error "Unable to construct face attributes"))))
+(defun color-theme-alist (plist)
+  "Transform PLIST into an alist if it is a plist and return it.
+If the first element of PLIST is a cons cell, we just return PLIST,
+assuming PLIST to be an alist.  If the first element of plist is not a
+symbol, this is an error: We cannot distinguish a plist from an ordinary
+list, but a list that doesn't start with a symbol is certainly no plist
+and no alist.
+This is used to make sure `default-frame-alist' really is an alist and not
+a plist.  In XEmacs, the alist is deprecated; a plist is used instead."
+  (cond ((consp (car plist))
+	 plist)
+	((not (symbolp (car plist)))
+	 (error "Wrong type argument: plist, %S" plist))
+	((featurep 'xemacs)
+	 (plist-to-alist plist)))); XEmacs only
+;; Customization
+(defgroup color-theme nil
+  "Color Themes for Emacs.
+A color theme consists of frame parameter settings, variable settings,
+and face definitions."
+  :version "20.6"
+  :group 'faces)
+(defcustom color-theme-legal-frame-parameters "\\(color\\|mode\\)$"
+  "Regexp that matches frame parameter names.
+Only frame parameter names that match this regexp can be changed as part
+of a color theme."
+  :type '(choice (const :tag "Colors only" "\\(color\\|mode\\)$")
+		 (const :tag "Colors, fonts, and size"
+			"\\(color\\|mode\\|font\\|height\\|width\\)$")
+		 (regexp :tag "Custom regexp"))
+  :group 'color-theme
+  :link '(info-link "(elisp)Window Frame Parameters"))
+(defcustom color-theme-legal-variables "\\(color\\|face\\)$"
+  "Regexp that matches variable names.
+Only variables that match this regexp can be changed as part of a color
+theme.  In addition to matching this name, the variables have to be user
+variables (see function `user-variable-p')."
+  :type 'regexp
+  :group 'color-theme)
+(defcustom color-theme-illegal-faces "^w3-"
+  "Regexp that matches face names forbidden in themes.
+The default setting \"^w3-\" excludes w3 faces since these
+are created dynamically."
+  :type 'regexp
+  :group 'color-theme
+  :link '(info-link "(elisp)Faces for Font Lock")
+  :link '(info-link "(elisp)Standard Faces"))
+(defcustom color-theme-illegal-default-attributes '(:family :height :width)
+  "A list of face properties to be ignored when installing faces.
+This prevents Emacs from doing terrible things to your display just because
+a theme author likes weird fonts."
+  :type '(repeat symbol)
+  :group 'color-theme)
+(defcustom color-theme-is-global t
+  "*Determines wether a color theme is installed on all frames or not.
+If non-nil, color themes will be installed for all frames.
+If nil, color themes will be installed for the selected frame only.
+A possible use for this variable is dynamic binding. Here is a larger
+example to put in your ~/.emacs; it will make the Blue Sea color theme
+the default used for the first frame, and it will create two additional
+frames with different color themes.
+    \(require 'color-theme)
+    ;; set default color theme
+    \(color-theme-blue-sea)
+    ;; create some frames with different color themes
+    \(let ((color-theme-is-global nil))
+      \(select-frame (make-frame))
+      \(color-theme-gnome2)
+      \(select-frame (make-frame))
+      \(color-theme-standard))
+Please note that using XEmacs and and a nil value for
+color-theme-is-global will ignore any variable settings for the color
+theme, since XEmacs doesn't have frame-local variable bindings.
+Also note that using Emacs and a non-nil value for color-theme-is-global
+will install a new color theme for all frames.  Using XEmacs and a
+non-nil value for color-theme-is-global will install a new color theme
+only on those frames that are not using a local color theme."
+  :type 'boolean
+  :group 'color-theme)
+(defcustom color-theme-is-cumulative t
+  "*Determines wether new color themes are installed on top of each other.
+If non-nil, installing a color theme will undo all settings made by
+previous color themes."
+  :type 'boolean
+  :group 'color-theme)
+(defcustom color-theme-directory nil
+  "Directory where we can find additionnal themes (personnal).
+Note that there is at least one directory shipped with the official
+color-theme distribution where all contributed themes are located.
+This official selection can't be changed with that variable. 
+However, you still can decide to turn it on or off and thus,
+not be shown with all themes but yours."
+  :type '(repeat string)
+  :group 'color-theme)
+(defcustom color-theme-libraries (directory-files 
+                                  (concat 
+                                   (file-name-directory (locate-library "color-theme"))
+                                   "/themes") t "^color-theme")
+  "A list of files, which will be loaded in color-theme-initialize depending
+on `color-theme-load-all-themes' value. 
+This allows a user to prune the default color-themes (which can take a while
+to load)."
+  :type '(repeat string)
+  :group 'color-theme)
+(defcustom color-theme-load-all-themes t
+  "When t, load all color-theme theme files
+as presented by `color-theme-libraries'. Else
+do not load any of this themes."
+  :type 'boolean
+  :group 'color-theme)
+(defcustom color-theme-mode-hook nil
+  "Hook for color-theme-mode."
+  :type 'hook
+  :group 'color-theme)
+(defvar color-theme-mode-map
+  (let ((map (make-sparse-keymap)))
+    (define-key map (kbd "RET") 'color-theme-install-at-point)
+    (define-key map (kbd "c") 'list-colors-display)
+    (define-key map (kbd "d") 'color-theme-describe)
+    (define-key map (kbd "f") 'list-faces-display)
+    (define-key map (kbd "i") 'color-theme-install-at-point)
+    (define-key map (kbd "l") 'color-theme-install-at-point-for-current-frame)
+    (define-key map (kbd "p") 'color-theme-print)
+    (define-key map (kbd "q") 'bury-buffer)
+    (define-key map (kbd "?") 'color-theme-describe)
+    (if color-theme-xemacs-p
+	(define-key map (kbd "<button2>") 'color-theme-install-at-mouse)
+      (define-key map (kbd "<mouse-2>") 'color-theme-install-at-mouse))
+    map)
+  "Mode map used for the buffer created by `color-theme-select'.")
+(defvar color-theme-initialized nil
+  "Internal variable determining whether color-theme-initialize has been invoked yet")
+(defvar color-theme-buffer-name "*Color Theme Selection*"
+  "Name of the color theme selection buffer.")
+(defvar color-theme-original-frame-alist nil
+  "nil until one of the color themes has been installed.")
+(defvar color-theme-history nil
+  "List of color-themes called, in reverse order")
+(defcustom color-theme-history-max-length nil
+  "Max length of history to maintain.
+Two other values are acceptable: t means no limit, and
+nil means that no history is maintained."
+  :type '(choice (const :tag "No history" nil)
+		 (const :tag "Unlimited length" t)
+		 integer)
+  :group 'color-theme)
+(defvar color-theme-counter 0
+  "Counter for every addition to `color-theme-history'.
+This counts how many themes were installed, regardless
+of `color-theme-history-max-length'.")
+(defvar color-theme-entry-path (cond
+                                ;; Emacs 22.x and later
+                                ((lookup-key global-map [menu-bar tools])
+                                 '("tools"))
+                                ;; XEmacs
+                                ((featurep 'xemacs)
+                                 (setq tool-entry '("Tools")))
+                                ;; Emacs < 22
+                                (t
+                                 '("Tools")))
+  "Menu tool entry path.")
+(defun color-theme-add-to-history (name)
+  "Add color-theme NAME to `color-theme-history'."
+  (setq color-theme-history
+	(cons (list name color-theme-is-cumulative)
+	      color-theme-history)
+	color-theme-counter (+ 1 color-theme-counter))
+  ;; Truncate the list if necessary.
+  (when (and (integerp color-theme-history-max-length)
+	     (>= (length color-theme-history)
+		 color-theme-history-max-length))
+    (setcdr (nthcdr (1- color-theme-history-max-length)
+		    color-theme-history)
+	    nil)))
+;; (let ((l '(1 2 3 4 5)))
+;;   (setcdr (nthcdr 2 l) nil)
+;;   l)
+;; List of color themes used to create the *Color Theme Selection*
+;; buffer.
+(defvar color-themes
+  '((color-theme-aalto-dark "Aalto Dark" "Jari Aalto <>")
+    (color-theme-aalto-light "Aalto Light" "Jari Aalto <>")
+    (color-theme-aliceblue "Alice Blue" "Girish Bharadwaj <>")
+    (color-theme-andreas "Andreas" "Andreas Busch <>")
+    (color-theme-arjen "Arjen" "Arjen Wiersma <>")
+    (color-theme-beige-diff "Beige Diff" "Alex Schroeder <>" t)
+    (color-theme-bharadwaj "Bharadwaj" "Girish Bharadwaj <>")
+    (color-theme-bharadwaj-slate "Bharadwaj Slate" "Girish Bharadwaj <>")
+    (color-theme-billw "Billw" "Bill White <>")
+    (color-theme-black-on-gray "BlackOnGray" "Sudhir Bhojwani <>")
+    (color-theme-blippblopp "Blipp Blopp" "Thomas Sicheritz-Ponten<>")
+    (color-theme-simple-1 "Black" "Jonadab <>")
+    (color-theme-blue-erc "Blue ERC" "Alex Schroeder <>" t)
+    (color-theme-blue-gnus "Blue Gnus" "Alex Schroeder <>" t)
+    (color-theme-blue-mood "Blue Mood" "Nelson Loyola <>")
+    (color-theme-blue-sea "Blue Sea" "Alex Schroeder <>")
+    (color-theme-calm-forest "Calm Forest" "Artur Hefczyc <>")
+    (color-theme-charcoal-black "Charcoal Black" "Lars Chr. Hausmann <>")
+    (color-theme-goldenrod "Cheap Goldenrod" "Alex Schroeder <>")
+    (color-theme-clarity "Clarity and Beauty" "Richard Wellum <>")
+    (color-theme-classic "Classic" "Frederic Giroud <>")
+    (color-theme-comidia "Comidia" "Marcelo Dias de Toledo <>")
+    (color-theme-jsc-dark "Cooper Dark" "John S Cooper <>")
+    (color-theme-jsc-light "Cooper Light" "John S Cooper <>")
+    (color-theme-jsc-light2 "Cooper Light 2" "John S Cooper <>")
+    (color-theme-dark-blue "Dark Blue" "Chris McMahan <>")
+    (color-theme-dark-blue2 "Dark Blue 2" "Chris McMahan <>")
+    (color-theme-dark-green "Dark Green" "")
+    (color-theme-dark-laptop "Dark Laptop" "Laurent Michel <>")
+    (color-theme-deep-blue "Deep Blue" "Tomas Cerha <>")
+    (color-theme-digital-ofs1 "Digital OFS1" "Gareth Owen <>")
+    (color-theme-euphoria "Euphoria" "")
+    (color-theme-feng-shui "Feng Shui" "Walter Higgins <>")
+    (color-theme-fischmeister "Fischmeister"
+			      "Sebastian Fischmeister <>")
+    (color-theme-gnome "Gnome" "Jonadab <>")
+    (color-theme-gnome2 "Gnome 2" "Alex Schroeder <>")
+    (color-theme-gray1 "Gray1" "Paul Pulli <>")
+    (color-theme-gray30 "Gray30" "Girish Bharadwaj <>")
+    (color-theme-kingsajz "Green Kingsajz" "Olgierd `Kingsajz' Ziolko <>")
+    (color-theme-greiner "Greiner" "Kevin Greiner <>")
+    (color-theme-gtk-ide "GTK IDE" "Gordon Messmer <>")
+    (color-theme-high-contrast "High Contrast" "Alex Schroeder <>")
+    (color-theme-hober "Hober" "Edward O'Connor <>")
+    (color-theme-infodoc "Infodoc" "Frederic Giroud <>")
+    (color-theme-jb-simple "JB Simple" "")
+    (color-theme-jedit-grey "Jedit Grey" "Gordon Messmer <>")
+    (color-theme-jonadabian "Jonadab" "Jonadab <>")
+    (color-theme-jonadabian-slate "Jonadabian Slate" "Jonadab <>")
+    (color-theme-katester "Katester" "")
+    (color-theme-late-night "Late Night" "Alex Schroeder <>")
+    (color-theme-lawrence "Lawrence" "lawrence mitchell <>")
+    (color-theme-lethe "Lethe" "Ivica Loncar <>")
+    (color-theme-ld-dark "Linh Dang Dark" "Linh Dang <>")
+    (color-theme-marine "Marine" "Girish Bharadwaj <>")
+    (color-theme-matrix "Matrix" "Walter Higgins <>")
+    (color-theme-marquardt "Marquardt" "Colin Marquardt <>")
+    (color-theme-midnight "Midnight" "Gordon Messmer <>")
+    (color-theme-mistyday "Misty Day" "Hari Kumar <>")
+    (color-theme-montz "Montz" "Brady Montz <>")
+    (color-theme-oswald "Oswald" "Tom Oswald <>")
+    (color-theme-parus "Parus" "Jon K Hellan <>")
+    (color-theme-pierson "Pierson" "Dan L. Pierson <>")
+    (color-theme-ramangalahy "Ramangalahy" "Solofo Ramangalahy <>")
+    (color-theme-raspopovic "Raspopovic" "Pedja Raspopovic <>")
+    (color-theme-renegade "Renegade" "Dave Benjamin <>")