Commit 7ea54757 authored by Paul Eggert's avatar Paul Eggert
Browse files

Merge from mainline.

parents e8c53d3a 529ee9ed
;;; bzrmerge.el ---
;; Copyright (C) 2010 Stefan Monnier
;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords:
;; This program is free software; you can redistribute it and/or modify
;; GNU Emacs 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,
;; GNU Emacs 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/>.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
......@@ -202,7 +202,7 @@ Does not make other difference."
"merge" "-r" (format "%s" endrevno) from)
(call-process "bzr" nil t nil "revert" ".")
(call-process "bzr" nil t nil "unshelve")))
(defvar bzrmerge-already-done nil)
(defun bzrmerge-apply (missing from)
......
2011-01-11 Stefan Monnier <monnier@iro.umontreal.ca>
* loading.texi (Hooks for Loading): Adjust doc of eval-after-load.
2011-01-02 Eli Zaretskii <eliz@gnu.org>
* modes.texi (Emulating Mode Line): Fix last change.
......@@ -8884,7 +8888,7 @@
;; End:
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2007, 2008, 2009, 2010 Free Software Foundation, Inc.
2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of GNU Emacs.
......
......@@ -1919,7 +1919,7 @@ The variable @code{directory-abbrev-alist} contains an alist of
abbreviations to use for file directories. Each element has the form
@code{(@var{from} . @var{to})}, and says to replace @var{from} with
@var{to} when it appears in a directory name. The @var{from} string is
actually a regular expression; it should always start with @samp{\`}.
actually a regular expression; it ought to always start with @samp{\`}.
The @var{to} string should be an ordinary absolute directory name. Do
not use @samp{~} to stand for a home directory in that string. The
function @code{abbreviate-file-name} performs these substitutions.
......
......@@ -962,7 +962,8 @@ example, @file{my_inst.elc} or @file{my_inst.elc.gz} in some directory
@end example
@var{library} can also be a feature (i.e.@: a symbol), in which case
@var{form} is evaluated when @code{(provide @var{library})} is called.
@var{form} is evaluated at the end of any file where
@code{(provide @var{library})} is called.
An error in @var{form} does not undo the load, but does prevent
execution of the rest of @var{form}.
......
2011-01-10 Jan Moringen <jan.moringen@uni-bielefeld.de>
* dbus.texi (Receiving Method Calls): New function
dbus-register-service. Rearrange node.
2011-01-07 Paul Eggert <eggert@cs.ucla.edu>
* texinfo.tex: Update to version 2010-12-23.17 from gnulib,
......
......@@ -1244,9 +1244,73 @@ message has been arrived, and @var{handler} is called. Example:
@cindex method calls, returning
@cindex returning method calls
Emacs can also offer own methods, which can be called by other
applications. These methods could be an implementation of an
interface of a well known service, like @samp{org.freedesktop.TextEditor}.
In order to register methods on the D-Bus, Emacs has to request a well
known name on the D-Bus under which it will be available for other
clients. Names on the D-Bus can be registered and unregistered using
the following functions:
@defun dbus-register-service bus service &rest flags
Register the known name @var{service} on D-Bus @var{bus}.
@var{bus} is either the symbol @code{:system} or the symbol
@code{:session}.
@var{service} is the service name to be registered on the D-Bus. It
must be a known name.
@var{flags} is a subset of the following keywords:
@itemize
@item @code{:allow-replacement}: Allow another service to become the primary
owner if requested.
@item @code{:replace-existing}: Request to replace the current primary owner.
@item @code{:do-not-queue}: If we can not become the primary owner do not
place us in the queue.
@end itemize
One of the following keywords is returned:
@itemize
@item @code{:primary-owner}: We have become the primary owner of the name
@var{service}.
@item @code{:in-queue}: We could not become the primary owner and
have been placed in the queue.
@item @code{:exists}: We already are in the queue.
@item @code{:already-owner}: We already are the primary
owner.
@end itemize
@end defun
@defun dbus-unregister-service bus service
Unregister all objects from D-Bus @var{bus}, registered by Emacs for
@var{service}.
@var{bus} is either the symbol @code{:system} or the symbol
@code{:session}.
@var{service} is the D-Bus service name of the D-Bus. It must be a
known name. Emacs releases its association to @var{service} from
D-Bus.
One of the following keywords is returned:
@itemize
@item @code{:released}: We successfully released the name @var{service}.
@item @code{:non-existent}: The name @var{service} does not exist on the bus.
@item @code{:not-owner}: We are not an owner of the name @var{service}.
@end itemize
@end defun
When a name has been chosen, Emacs can offer own methods, which can be
called by other applications. These methods could be an
implementation of an interface of a well known service, like
@samp{org.freedesktop.TextEditor}.
It could be also an implementation of an own interface. In this case,
the service name must be @samp{org.gnu.Emacs}. The object path shall
......@@ -1300,7 +1364,7 @@ When @var{dont-register-service} is non-@code{nil}, the known name
@var{service} is not registered. This means that other D-Bus clients
have no way of noticing the newly registered method. When interfaces
are constructed incrementally by adding single methods or properties
at a time, @var{dont-register-service} can be use to prevent other
at a time, @var{dont-register-service} can be used to prevent other
clients from discovering the still incomplete interface.
The default D-Bus timeout when waiting for a message reply is 25
......@@ -1414,7 +1478,7 @@ When @var{dont-register-service} is non-@code{nil}, the known name
@var{service} is not registered. This means that other D-Bus clients
have no way of noticing the newly registered method. When interfaces
are constructed incrementally by adding single methods or properties
at a time, @var{dont-register-service} can be use to prevent other
at a time, @var{dont-register-service} can be used to prevent other
clients from discovering the still incomplete interface.
@noindent Example:
......@@ -1491,18 +1555,6 @@ registered for the respective service, Emacs releases its association
to the service from D-Bus.
@end defun
@defun dbus-unregister-service bus service
Unregister all objects from D-Bus @var{bus}, registered by Emacs for
@var{service}.
@var{bus} is either the symbol @code{:system} or the symbol
@code{:session}.
@var{service} is the D-Bus service name of the D-Bus. It must be a
known name. Emacs releases its association to @var{service} from
D-Bus.
@end defun
@node Signals
@chapter Sending and receiving signals.
......
2011-01-10 Jan Moringen <jan.moringen@uni-bielefeld.de>
* NEWS: Add new function dbus-register-service.
2011-01-09 Chong Yidong <cyd@stupidchicken.com>
* themes/tango-theme.el, themes/tango-dark-theme.el: Let-bind
tango palette colors. Only define faces for color displays.
Customize the ansi-color-names-vector variable. Add Ediff,
Flyspell, and Semantic faces as suggested by Jan Moringen.
2011-01-08 Andreas Schwab <schwab@linux-m68k.org>
* compilation.txt: Add column to gcc-include sample.
......
......@@ -219,9 +219,10 @@ Emacs no longer looks for custom themes in `load-path'. The default
is to search in `custom-theme-directory', followed by a built-in theme
directory named "themes/" in `data-directory'.
*** New option `custom-safe-theme-files' lists known-safe theme files.
If a theme is not in this list, Emacs queries before loading it.
The default value treats all themes included in Emacs as safe.
*** New option `custom-safe-themes' records known-safe theme files.
If a theme is not in this list, Emacs queries before loading it, and
offers to save the theme to `custom-safe-themes' automatically. By
default, all themes included in Emacs are treated as safe.
** The user option `remote-file-name-inhibit-cache' controls whether
the remote file-name cache is used for read access.
......@@ -322,6 +323,10 @@ prompts for a number to count from and for a format string.
* Changes in Specialized Modes and Packages in Emacs 24.1
** Prolog mode has been completely revamped, with lots of additional
functionality such as more intelligent indentation, electricty, support for
more variants, including Mercury, and a lot more.
** shell-mode can track your cwd by reading it from your prompt.
Just set shell-dir-cookie-re to an appropriate regexp.
......@@ -564,7 +569,12 @@ threads simultaneously.
*** It is possible now, to access alternative buses than the default
system or session bus.
*** dbus-register-{method,property} do not necessarily register names anymore.
*** dbus-register-{service,method,property}
The -method and -property functions do not automatically register
names anymore.
The new function dbus-register-service registers a service known name
on a D-Bus without simultaneously registering a property or a method.
** Tramp
......
;;; tango-dark-theme.el --- Tango-based custom theme for faces
;; Copyright (C) 2010 Free Software Foundation, Inc.
;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
;; Authors: Chong Yidong <cyd@stupidchicken>
;; Jan Moringen <jan.moringen@uni-bielefeld.de>
;; This file is part of GNU Emacs.
......@@ -25,63 +28,124 @@
;;; Code:
(deftheme tango-dark
"Theme for faces, based on the Tango palette on a dark background.
Basic, Font Lock, Isearch, Gnus, and Message faces are included.")
(custom-theme-set-faces
'tango-dark
'(default ((t (:foreground "#eeeeec" :background "#2e3436"))))
'(cursor ((t (:foreground "#2e3436" :background "#fce94f"))))
'(highlight ((t (:foreground "#2e3436" :background "#edd400"))))
'(region ((t (:background "#555753"))))
'(font-lock-builtin-face ((t (:foreground "#ad7fa8"))))
'(font-lock-comment-face ((t (:foreground "#73d216"))))
'(font-lock-constant-face ((t (:foreground "#e6a8df"))))
'(font-lock-function-name-face ((t (:foreground "#fce94f"))))
'(font-lock-keyword-face ((t (:foreground "#8cc4ff"))))
'(font-lock-string-face ((t (:foreground "#e9b96e"))))
'(font-lock-type-face ((t (:foreground "#a5ff4d"))))
'(font-lock-variable-name-face ((t (:foreground "#fcaf3e"))))
'(font-lock-warning-face ((t (:foreground "#ef2929"))))
'(button ((t (:underline t :foreground "#729fcf"))))
'(link ((t (:underline t :foreground "#729fcf"))))
'(link-visited ((t (:underline t :foreground "#3465a4"))))
'(mode-line ((t (:box (:line-width -1 :style released-button)
:background "#d3d7cf" :foreground "black"))))
'(mode-line-inactive ((t (:box (:line-width -1 :style released-button)
:background "#555753" :foreground "white"))))
'(isearch ((t (:foreground "#ffffff" :background "#ce5c00"))))
'(lazy-highlight ((t (:background "#8f5902"))))
'(gnus-group-news-1 ((t (:foreground "#ad7fa8"))))
'(gnus-group-news-1-low ((t (:foreground "#75507b"))))
'(gnus-group-news-2 ((t (:foreground "#729fcf"))))
'(gnus-group-news-2-low ((t (:foreground "#3465a4"))))
'(gnus-group-news-3 ((t (:foreground "#8ae234"))))
'(gnus-group-news-3-low ((t (:foreground "#73d216"))))
'(gnus-group-news-4 ((t (:foreground "#e9b9e6"))))
'(gnus-group-news-4-low ((t (:foreground "#c17d11"))))
'(gnus-group-news-5 ((t (:foreground "#fcaf3e"))))
'(gnus-group-news-5-low ((t (:foreground "#f57900"))))
'(gnus-group-news-low ((t (:foreground "#edd400"))))
'(gnus-group-mail-1 ((t (:foreground "#ad7fa8"))))
'(gnus-group-mail-1-low ((t (:foreground "#75507b"))))
'(gnus-group-mail-2 ((t (:foreground "#729fcf"))))
'(gnus-group-mail-2-low ((t (:foreground "#3465a4"))))
'(gnus-group-mail-3 ((t (:foreground "#8ae234"))))
'(gnus-group-mail-3-low ((t (:foreground "#73d216"))))
'(gnus-group-mail-low ((t (:foreground "#edd400"))))
'(gnus-header-content ((t (:weight normal :foreground "#c4a000"))))
'(gnus-header-from ((t (:foreground "#edd400"))))
'(gnus-header-subject ((t (:foreground "#8ae234"))))
'(gnus-header-name ((t (:foreground "#729fcf"))))
'(gnus-header-newsgroups ((t (:foreground "#c17d11"))))
'(message-header-name ((t (:foreground "#729fcf"))))
'(message-header-cc ((t (:foreground "#c4a000"))))
'(message-header-other ((t (:foreground "#c17d11"))))
'(message-header-subject ((t (:foreground "#8ae234"))))
'(message-header-to ((t (:foreground "#edd400"))))
'(message-cited-text ((t (:foreground "#8ae234"))))
'(message-separator ((t (:foreground "#ad7fa8")))))
"Theme for faces, based on the Tango palette with a dark background.
Basic, Font Lock, Isearch, Gnus, Message, Ediff, Flyspell,
Semantic, and Ansi-Color faces are included.")
(let ((class '((class color) (min-colors 89)))
;; Tango palette colors.
(butter-1 "#fce94f") (butter-2 "#edd400") (butter-3 "#c4a000")
(orange-1 "#fcaf3e") (orange-2 "#f57900") (orange-3 "#ce5c00")
(choc-1 "#e9b96e") (choc-2 "#c17d11") (choc-3 "#8f5902")
(cham-1 "#8ae234") (cham-2 "#73d216") (cham-3 "#4e9a06")
(blue-1 "#729fcf") (blue-2 "#3465a4") (blue-3 "#204a87")
(plum-1 "#ad7fa8") (plum-2 "#75507b") (plum-3 "#5c3566")
(red-1 "#ef2929") (red-2 "#cc0000") (red-3 "#a40000")
(alum-1 "#eeeeec") (alum-2 "#d3d7cf") (alum-3 "#babdb6")
(alum-4 "#888a85") (alum-5 "#555753") (alum-6 "#2e3436")
;; Not in Tango palette; used for better contrast.
(cham-0 "#b4fa70") (blue-0 "#8cc4ff") (plum-0 "#e6a8df")
(red-0 "#ff4b4b") (alum-5.5 "#41423f") (alum-7 "#212526"))
(custom-theme-set-faces
'tango-dark
`(default ((,class (:foreground ,alum-1 :background ,alum-6))))
`(cursor ((,class (:foreground ,alum-6 :background ,butter-1))))
;; Highlighting faces
`(fringe ((,class (:background ,alum-7))))
`(highlight ((,class (:foreground ,alum-6 :background ,butter-2))))
`(region ((,class (:background ,alum-5))))
`(secondary-selection ((,class (:background ,blue-3))))
`(isearch ((,class (:foreground ,alum-1 :background ,orange-3))))
`(lazy-highlight ((,class (:background ,choc-3))))
`(trailing-whitespace ((,class (:background ,red-3))))
;; Mode line faces
`(mode-line ((,class
(:box (:line-width -1 :style released-button)
:background ,alum-2 :foreground ,alum-6))))
`(mode-line-inactive ((,class
(:box (:line-width -1 :style released-button)
:background ,alum-5 :foreground ,alum-1))))
;; Escape and prompt faces
`(minibuffer-prompt ((,class (:foreground ,cham-0))))
`(escape-glyph ((,class (:foreground ,butter-3))))
;; Font lock faces
`(font-lock-builtin-face ((,class (:foreground ,plum-1))))
`(font-lock-comment-face ((,class (:foreground ,cham-2))))
`(font-lock-constant-face ((,class (:foreground ,plum-0))))
`(font-lock-function-name-face ((,class (:foreground ,butter-1))))
`(font-lock-keyword-face ((,class (:foreground ,cham-0))))
`(font-lock-string-face ((,class (:foreground ,choc-1))))
`(font-lock-type-face ((,class (:foreground ,blue-0))))
`(font-lock-variable-name-face ((,class (:foreground ,orange-1))))
`(font-lock-warning-face ((,class (:foreground ,red-0))))
;; Button and link faces
`(button ((,class (:underline t :foreground ,blue-1))))
`(link ((,class (:underline t :foreground ,blue-1))))
`(link-visited ((,class (:underline t :foreground ,blue-2))))
;; Gnus faces
`(gnus-group-news-1 ((,class (:foreground ,plum-1))))
`(gnus-group-news-1-low ((,class (:foreground ,plum-2))))
`(gnus-group-news-2 ((,class (:foreground ,blue-1))))
`(gnus-group-news-2-low ((,class (:foreground ,blue-2))))
`(gnus-group-news-3 ((,class (:foreground ,cham-1))))
`(gnus-group-news-3-low ((,class (:foreground ,cham-2))))
`(gnus-group-news-4 ((,class (:foreground ,plum-0))))
`(gnus-group-news-4-low ((,class (:foreground ,choc-2))))
`(gnus-group-news-5 ((,class (:foreground ,orange-1))))
`(gnus-group-news-5-low ((,class (:foreground ,orange-2))))
`(gnus-group-news-low ((,class (:foreground ,butter-2))))
`(gnus-group-mail-1 ((,class (:foreground ,plum-1))))
`(gnus-group-mail-1-low ((,class (:foreground ,plum-2))))
`(gnus-group-mail-2 ((,class (:foreground ,blue-1))))
`(gnus-group-mail-2-low ((,class (:foreground ,blue-2))))
`(gnus-group-mail-3 ((,class (:foreground ,cham-1))))
`(gnus-group-mail-3-low ((,class (:foreground ,cham-2))))
`(gnus-group-mail-low ((,class (:foreground ,butter-2))))
`(gnus-header-content ((,class (:weight normal :foreground ,butter-3))))
`(gnus-header-from ((,class (:foreground ,butter-2))))
`(gnus-header-subject ((,class (:foreground ,cham-1))))
`(gnus-header-name ((,class (:foreground ,blue-1))))
`(gnus-header-newsgroups ((,class (:foreground ,choc-2))))
;; Message faces
`(message-header-name ((,class (:foreground ,blue-1))))
`(message-header-cc ((,class (:foreground ,butter-3))))
`(message-header-other ((,class (:foreground ,choc-2))))
`(message-header-subject ((,class (:foreground ,cham-1))))
`(message-header-to ((,class (:foreground ,butter-2))))
`(message-cited-text ((,class (:foreground ,cham-1))))
`(message-separator ((,class (:foreground ,plum-1))))
;; SMerge faces
`(smerge-refined-change ((,class (:background ,blue-3))))
;; Ediff faces
`(ediff-current-diff-A ((,class (:background ,alum-5))))
`(ediff-fine-diff-A ((,class (:background ,blue-3))))
`(ediff-even-diff-A ((,class (:background ,alum-5.5))))
`(ediff-odd-diff-A ((,class (:background ,alum-5.5))))
`(ediff-current-diff-B ((,class (:background ,alum-5))))
`(ediff-fine-diff-B ((,class (:background ,choc-3))))
`(ediff-even-diff-B ((,class (:background ,alum-5.5))))
`(ediff-odd-diff-B ((,class (:background ,alum-5.5))))
;; Flyspell faces
`(flyspell-duplicate ((,class (:underline ,orange-1))))
`(flyspell-incorrect ((,class (:underline ,red-1))))
;; Semantic faces
`(semantic-decoration-on-includes ((,class (:underline ,alum-4))))
`(semantic-decoration-on-private-members-face
((,class (:background ,plum-3))))
`(semantic-decoration-on-protected-members-face
((,class (:background ,choc-3))))
`(semantic-decoration-on-unknown-includes
((,class (:background ,red-3))))
`(semantic-decoration-on-unparsed-includes
((,class (:background ,alum-5.5))))
`(semantic-tag-boundary-face ((,class (:overline ,blue-1))))
`(semantic-unmatched-syntax-face ((,class (:underline ,red-1)))))
(custom-theme-set-variables
'tango-dark
`(ansi-color-names-vector [,alum-7 ,red-0 ,cham-0 ,butter-1
,blue-1 ,plum-1 ,blue-0 ,alum-1])))
(provide-theme 'tango-dark)
......
;;; tango-theme.el --- Tango-based custom theme for faces
;; Copyright (C) 2010 Free Software Foundation, Inc.
;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
;; Authors: Chong Yidong <cyd@stupidchicken>
;; Jan Moringen <jan.moringen@uni-bielefeld.de>
;; This file is part of GNU Emacs.
......@@ -25,63 +28,117 @@
;;; Code:
(deftheme tango
"Theme for faces, based on the Tango palette on a light background.
Basic, Font Lock, Isearch, Gnus, and Message faces are included.")
(custom-theme-set-faces
'tango
'(default ((t (:foreground "#16191a" :background "#eeeeec"))))
'(cursor ((t (:foreground "#eeeeec" :background "#204a87"))))
'(highlight ((t (:background "#babdb6"))))
'(region ((t (:background "#babdb6"))))
'(font-lock-builtin-face ((t (:weight bold :foreground "#204a87"))))
'(font-lock-comment-face ((t (:foreground "#204a87"))))
'(font-lock-constant-face ((t (:weight bold :foreground "#5c3566"))))
'(font-lock-function-name-face ((t (:weight bold :foreground "#ce5c00"))))
'(font-lock-keyword-face ((t (:foreground "#a40000"))))
'(font-lock-string-face ((t (:foreground "#5c3566"))))
'(font-lock-type-face ((t (:weight bold :foreground "#4e9a06"))))
'(font-lock-variable-name-face ((t (:weight bold :foreground "#c17d11"))))
'(font-lock-warning-face ((t (:foreground "#cc0000"))))
'(button ((t (:underline t :foreground "#204a87"))))
'(link ((t (:underline t :foreground "#204a87"))))
'(link-visited ((t (:underline t :foreground "#3465a4"))))
'(mode-line ((t (:box (:line-width -1 :style released-button)
:background "#d3d7cf" :foreground "black"))))
'(mode-line-inactive ((t (:box (:line-width -1 :style released-button)
:background "#babdb6" :foreground "black"))))
'(isearch ((t (:foreground "#ffffff" :background "#ce5c00"))))
'(lazy-highlight ((t (:background "#e9b96e"))))
'(gnus-group-news-1 ((t (:weight bold :foreground "#5c3566"))))
'(gnus-group-news-1-low ((t (:foreground "#5c3566"))))
'(gnus-group-news-2 ((t (:weight bold :foreground "#204a87"))))
'(gnus-group-news-2-low ((t (:foreground "#204a87"))))
'(gnus-group-news-3 ((t (:weight bold :foreground "#4e0a06"))))
'(gnus-group-news-3-low ((t (:foreground "#4e0a06"))))
'(gnus-group-news-4 ((t (:weight bold :foreground "#7a4c02"))))
'(gnus-group-news-4-low ((t (:foreground "#7a4c02"))))
'(gnus-group-news-5 ((t (:weight bold :foreground "#ce5c00"))))
'(gnus-group-news-5-low ((t (:foreground "#ce5c00"))))
'(gnus-group-news-low ((t (:foreground "#888a85"))))
'(gnus-group-mail-1 ((t (:weight bold :foreground "#5c3566"))))
'(gnus-group-mail-1-low ((t (:foreground "#5c3566"))))
'(gnus-group-mail-2 ((t (:weight bold :foreground "#204a87"))))
'(gnus-group-mail-2-low ((t (:foreground "#204a87"))))
'(gnus-group-mail-3 ((t (:weight bold :foreground "#4e0a06"))))
'(gnus-group-mail-3-low ((t (:foreground "#4e0a06"))))
'(gnus-group-mail-low ((t (:foreground "#888a85"))))
'(gnus-header-content ((t (:foreground "#4e9a06"))))
'(gnus-header-from ((t (:weight bold :foreground "#c4a000"))))
'(gnus-header-subject ((t (:foreground "#4e0a06"))))
'(gnus-header-name ((t (:foreground "#204a87"))))
'(gnus-header-newsgroups ((t (:foreground "#888a85"))))
'(message-header-name ((t (:foreground "#204a87"))))
'(message-header-cc ((t (:foreground "#c4a000"))))
'(message-header-other ((t (:foreground "#c17d11"))))
'(message-header-subject ((t (:foreground "#4e0a06"))))
'(message-header-to ((t (:weight bold :foreground "#c4a000"))))
'(message-cited-text ((t (:foreground "#888a85"))))
'(message-separator ((t (:weight bold :foreground "#4e9a06")))))
"Theme for faces, based on the Tango palette with a light background.
Basic, Font Lock, Isearch, Gnus, Message, Ediff, Flyspell,
Semantic, and Ansi-Color faces are included.")
(let ((class '((class color) (min-colors 89)))
;; Tango palette colors.
(butter-1 "#fce94f") (butter-2 "#edd400") (butter-3 "#c4a000")
(orange-1 "#fcaf3e") (orange-2 "#f57900") (orange-3 "#ce5c00")
(choc-1 "#e9b96e") (choc-2 "#c17d11") (choc-3 "#8f5902")
(cham-1 "#8ae234") (cham-2 "#73d216") (cham-3 "#4e9a06")
(blue-1 "#729fcf") (blue-2 "#3465a4") (blue-3 "#204a87")
(plum-1 "#ad7fa8") (plum-2 "#75507b") (plum-3 "#5c3566")
(red-1 "#ef2929") (red-2 "#cc0000") (red-3 "#a40000")
(alum-1 "#eeeeec") (alum-2 "#d3d7cf") (alum-3 "#babdb6")
(alum-4 "#888a85") (alum-5 "#555753") (alum-6 "#2e3436")
;; Not in Tango palette; used for better contrast.
(cham-4 "#346604") (blue-0 "#8cc4ff"))
(custom-theme-set-faces
'tango
`(default ((,class (:foreground ,"#16191a" :background ,alum-1))))
`(cursor ((,class (:foreground ,alum-1 :background ,blue-3))))
;; Highlighting faces
`(fringe ((,class (:background ,alum-2))))
`(highlight ((,class (:background ,alum-3))))
`(region ((,class (:background ,alum-3))))
`(secondary-selection ((,class (:background ,blue-0))))
`(isearch ((,class (:foreground ,"#ffffff" :background ,orange-3))))
`(lazy-highlight ((,class (:background ,choc-1))))
`(trailing-whitespace ((,class (:background ,red-1))))
;; Mode line faces
`(mode-line ((,class (:box (:line-width -1 :style released-button)
:background ,alum-2 :foreground ,alum-6))))
`(mode-line-inactive ((,class (:box (:line-width -1 :style released-button)
:background ,alum-4 :foreground ,alum-6))))
;; Escape and prompt faces
`(minibuffer-prompt ((,class (:weight bold :foreground ,blue-3))))
`(escape-glyph ((,class (:foreground ,red-3))))
;; Font lock faces
`(font-lock-builtin-face ((,class (:weight bold :foreground ,plum-3))))
`(font-lock-comment-face ((,class (:foreground ,cham-4))))
`(font-lock-constant-face ((,class (:weight bold :foreground ,blue-3))))
`(font-lock-function-name-face ((,class (:foreground ,red-3))))
`(font-lock-keyword-face ((,class (:weight bold :foreground ,choc-2))))
`(font-lock-string-face ((,class (:foreground ,plum-3))))
`(font-lock-type-face ((,class (:foreground ,blue-3))))
`(font-lock-variable-name-face ((,class (:weight bold :foreground ,orange-3))))
`(font-lock-warning-face ((,class (:foreground ,red-2))))
;; Button and link faces
`(button ((,class (:underline t :foreground ,blue-3))))
`(link ((,class (:underline t :foreground ,blue-3))))
`(link-visited ((,class (:underline t :foreground ,blue-2))))
;; Gnus faces
`(gnus-group-news-1 ((,class (:weight bold :foreground ,plum-3))))
`(gnus-group-news-1-low ((,class (:foreground ,plum-3))))
`(gnus-group-news-2 ((,class (:weight bold :foreground ,blue-3))))
`(gnus-group-news-2-low ((,class (:foreground ,blue-3))))
`(gnus-group-news-3 ((,class (:weight bold :foreground ,"#4e0a06"))))
`(gnus-group-news-3-low ((,class (:foreground ,"#4e0a06"))))
`(gnus-group-news-4 ((,class (:weight bold :foreground ,"#7a4c02"))))
`(gnus-group-news-4-low ((,class (:foreground ,"#7a4c02"))))
`(gnus-group-news-5 ((,class (:weight bold :foreground ,orange-3))))
`(gnus-group-news-5-low ((,class (:foreground ,orange-3))))
`(gnus-group-news-low ((,class (:foreground ,"#888a85"))))
`(gnus-group-mail-1 ((,class (:weight bold :foreground ,plum-3))))
`(gnus-group-mail-1-low ((,class (:foreground ,plum-3))))
`(gnus-group-mail-2 ((,class (:weight bold :foreground ,blue-3))))
`(gnus-group-mail-2-low ((,class (:foreground ,blue-3))))
`(gnus-group-mail-3 ((,class (:weight bold :foreground ,"#4e0a06"))))
`(gnus-group-mail-3-low ((,class (:foreground ,"#4e0a06"))))
`(gnus-group-mail-low ((,class (:foreground ,"#888a85"))))
`(gnus-header-content ((,class (:foreground ,cham-3))))
`(gnus-header-from ((,class (:weight bold :foreground ,butter-3))))
`(gnus-header-subject ((,class (:foreground ,"#4e0a06"))))
`(gnus-header-name ((,class (:foreground ,blue-3))))
`(gnus-header-newsgroups ((,class (:foreground ,"#888a85"))))
;; Message faces
`(message-header-name ((,class (:foreground ,blue-3))))
`(message-header-cc ((,class (:foreground ,butter-3))))
`(message-header-other ((,class (:foreground ,choc-2))))
`(message-header-subject ((,class (:foreground ,"#4e0a06"))))
`(message-header-to ((,class (:weight bold :foreground ,butter-3))))
`(message-cited-text ((,class (:foreground ,"#888a85"))))