Patches applied:

 * emacs@sv.gnu.org/emacs--devo--0--patch-173
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-174
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-175
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-176
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-177
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-178
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-179
   Update from erc--emacs--0

 * emacs@sv.gnu.org/emacs--devo--0--patch-180
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-181
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-182
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-183
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-184
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-185
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-186
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-187
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-65
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-66
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-67
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-68
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-69
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-70
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-71
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-72
   Update from CVS

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-542
This commit is contained in:
Karoly Lorentey 2006-04-01 13:24:42 +00:00
commit 10a0e6fe87
157 changed files with 4858 additions and 2524 deletions

2
FTP
View file

@ -214,7 +214,7 @@ directory for more information.
* GNU Software for VMS
- ftp.vms.stacken.kth.se/MIRRORS/GNU-VMS/- lots of GNU ports to VMS,
- http://www.lp.se/gnu-vms/- lots of GNU ports to VMS,
including Emacs 19, GCC, Bison, Make, RCS.
* If You Like The Software

12
INSTALL
View file

@ -132,14 +132,14 @@ can be found:
. libxpm for XPM: ftp://ftp.x.org/contrib/libraries/
Get version 3.4k or later, which lets Emacs
use its own color allocation functions.
. libpng for PNG: ftp://www.libpng.org/pub/png/
. libz (for PNG): http://www.info-zip.org/pub/infozip/zlib/
. libpng for PNG: ftp://ftp.simplesystems.org/pub/libpng/png/
. libz (for PNG): http://www.zlib.net/
. libjpeg for JPEG: ftp://ftp.uu.net/graphics/jpeg/
Get version 6b -- 6a is reported to fail in
Emacs.
. libtiff for TIFF: http://www.libtiff.org/
. libungif for GIF:
http://prtr-13.ucsc.edu/~badger/software/libungif/index.shtml
http://sourceforge.net/projects/libungif
Ensure you get version 4.1.0b1 or higher of libungif -- a bug in
4.1.0 can crash Emacs.
@ -157,7 +157,7 @@ must do this yourself.
To take proper advantage of Emacs 21's mule-unicode charsets, you need
a suitable font. For `Unicode' (ISO 10646) fonts for X, see
<URL:http://dvdeug.dhis.org/unifont.html> (packaged in Debian),
<URL:http://czyborra.com/unifont/> (packaged in Debian),
<URL:http://openlab.ring.gr.jp/efont/> (packaged in Debian). (In
recent Debian versions, there is an extensive `misc-fixed' iso10646-1
in the default X installation.) Perhaps also see
@ -166,7 +166,7 @@ in the default X installation.) Perhaps also see
<URL:http://czyborra.com/charsets/> has basic fonts for Emacs's
ISO-8859 charsets.
XFree86 release 4 (from <URL:ftp://ftp.xfree86.org/> and mirrors)
XFree86 release 4 (from <URL:ftp://ftp.xfree86.org/pub/XFree86/> and mirrors)
contains font support for most, if not all, of the charsets that Emacs
currently supports, including iso10646-1 encoded fonts for use with
the mule-unicode charsets. The font files should also be usable with
@ -176,7 +176,7 @@ etc/PROBLEMS.
BDF fonts etl-unicode.tar.gz used by ps-print and ps-mule to print
Unicode characters are available from <URL:ftp://ftp.x.org/contrib/fonts/>
and <URL:ftp://ftp.xfree86.org/pub/X.Org/contrib/fonts/>.
and <URL:ftp://ftp.xfree86.org/pub/mirror/X.Org/contrib/fonts/>.
* GNU/Linux development packages

2
README
View file

@ -95,7 +95,7 @@ version of Emacs (currently based on version 19.28, but soon moving to
19.34 and then 20.1) that compiles and works on OpenVMS 5.5 and above
on both VAX and Alpha architectures. For more information see
http://vms.gnu.org/software/released1/emacs.html#get_emacs_1928_kit
http://www.lp.se/gnu-vms/software/released1/emacs.html
There is also some effort going on with Emacs 21. Source code is
available at ftp://ftp.nvg.ntnu.no/pub/vms/emacs/. Look for most

View file

@ -30,6 +30,7 @@ if [ "$answer" ]; then newtag=$answer; fi
exec > $outfile
cat <<EOF
There is a new pretest available in
<ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-$NEW.tar.gz>

View file

@ -69,7 +69,7 @@ For each step, check for possible errors.
ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, at
ftp://ftp.gnu.org/gnu/emacs/ for a release.
14. For a pretest, let Richard Stallman know about the new pretest and
14. For a pretest, let Richard Stallman <rms@gnu.org> know about the new pretest and
tell him to announce it using the announcement you prepared. Remind
him to set a Reply-to header to <emacs-pretest-bug@gnu.org>.
For a release, Richard should prepare the announcement himself,

View file

@ -5,7 +5,7 @@ Emacs for Windows NT/2000/XP and Windows 95/98/Me. This distribution
supplements the standard dumped precompiled distribution of Emacs, which
you can download from:
ftp://ftp.gnu.org/gnu/windows/emacs/
ftp://ftp.gnu.org/gnu/emacs/windows/
If you do not have the "bin" distribution, then you will need to
download it before you can use this undumped version. Also note that

View file

@ -118,7 +118,7 @@
Programs for handling the distribution file formats can be found in
the utilities directory:
ftp://ftp.gnu.org/gnu/windows/emacs/utilities
http://mirrors.sunsite.dk/gnu/windows/emacs/utilities/
For gzipped tar files, you will need either gunzip.exe and tar.exe
together, or djtarnt.exe. djtarnt.exe can also unpack .zip files. I
@ -226,7 +226,7 @@
related to the Windows port of Emacs. For information about the
list, see this Web page:
http://mail.gnu.org/mailman/listinfo/help-emacs-windows
http://lists.gnu.org/mailman/listinfo/help-emacs-windows
To ask questions on the mailing list, send email to
help-emacs-windows@gnu.org. (You don't need to subscribe for that.)

View file

@ -4,7 +4,7 @@
of GNU Emacs for Windows NT/2000/XP and Windows 95/98/Me. This
distribution can be found on the ftp.gnu.org server and its mirrors:
ftp://ftp.gnu.org/gnu/windows/emacs/
ftp://ftp.gnu.org/gnu/emacs/windows/
This server contains other distributions, including the full Emacs
source distribution and the lisp source distribution, as well as older
@ -12,10 +12,9 @@
Answers to frequently asked questions, and further information about
this port of GNU Emacs and related software packages can be found via
http or ftp:
http:
http://www.gnu.org/software/emacs/windows/ntemacs.html
ftp://ftp.gnu.org/gnu/windows/emacs/docs/ntemacs.html
* Preliminaries
@ -138,12 +137,12 @@
related to the Windows port of Emacs. For information about the
list, see this Web page:
http://mail.gnu.org/mailman/listinfo/help-emacs-windows
http://lists.gnu.org/mailman/listinfo/help-emacs-windows
To ask questions on the mailing list, send email to
help-emacs-windows@gnu.org. (You don't need to subscribe for that.)
To subscribe to the list or unsubscribe from it, fill the form you
find at http://mail.gnu.org/mailman/listinfo/help-emacs-windows as
find at http://lists.gnu.org/mailman/listinfo/help-emacs-windows as
explained there.
Another valuable source of information and help which should not be

View file

@ -82,7 +82,6 @@ Look in their Web site http://www.vtw.org/ for background information
and political action recommendations. Censorship won in February, but
we can beat it in November.
Copyright 1996 Richard Stallman
Verbatim copying and distribution is permitted in any medium
provided this notice is preserved.

View file

@ -1,3 +1,48 @@
2006-03-28 Bill Wohler <wohler@newt.com>
* images/README: Update with following information.
* images/data-save.xpm, images/mail/flag-for-followup.xpm:
* images/zoom-in.xpm, images/zoom-out.xpm: New images from GNOME
2.12.
* images/contact.pbm, images/data-save.pbm, images/delete.pbm:
* images/mail/flag-for-followup.pbm, images/mail/inbox.pbm:
* images/mail/move.pbm, images/next-page.pbm, images/zoom-out.pbm:
New bitmaps for new images.
* images/refresh.xpm, images/sort-ascending.xpm,
* images/sort-descending.xpm: Update with GTK 2.x images. Note
that the default GTK icons are not overridden by the GNOME theme
due to a bug which was fixed in GNOME 2.15. Once GNOME 2.16 is in
wide circulation, then the GTK icons should be replaced with the
equivalent GNOME icons. Until then, we should be consistent with
GTK first, then GNOME.
* images/mail/repack.xpm, images/mail/reply-from.xpm:
* images/mail/reply-to.xpm, images/search-replace.xpm:
* images/separator.xpm, images/show.xpm: Update custom icons to be
closer to their GNOME counterparts.
* images/attach.pbm, images/exit.pbm, images/mail/compose.pbm:
* images/mail/repack.pbm, images/mail/reply-all.pbm:
* images/mail/reply-from.pbm, images/mail/reply-to.pbm:
* images/mail/reply.pbm, images/mail/send.pbm, images/show.pbm:
* images/search-replace.pbm: Update bitmaps.
* images/execute.pbm, images/execute.xpm, images/fld-open.pbm:
* images/fld-open.xpm, images/highlight.pbm, images/highlight.xpm:
* images/mail.pbm, images/mail.xpm, images/mail/alias.pbm:
* images/mail/alias.xpm, images/mail/refile.pbm:
* images/mail/refile.xpm, images/page-down.pbm:
* images/page-down.xpm, images/widen.pbm, images/widen.xpm: Remove
custom MH-E icons since MH-E is now using the equivalent GTK/GNOME
icons.
2006-03-23 Romain Francoise <romain@orebokech.com>
* NEWS: Misc. fixes.
2006-03-15 Carsten Dominik <dominik@science.uva.nl>
* orgcard.tex: Version number change only.

View file

@ -357,7 +357,11 @@ format=flowed was present but not documented in earlier versions.
** The option `mm-fill-flowed' can be used to disable treatment of
format=flowed messages. Also, flowed text is disabled when sending
inline PGP signed messages. (New in Gnus 5.10.7)
inline PGP signed messages. (New in Gnus 5.10.8)
** The tool bar icons are now (de)activated correctly in the group
buffer, see the variable `gnus-group-update-tool-bar'. It's default
value depends on your Emacs version. (New in Gnus 5.10.8)
** Gnus supports the generation of RFC 2298 Disposition Notification requests.

View file

@ -1470,4 +1470,5 @@ mode: indented-text
fill-prefix: " "
End:
arch-tag: 7d2e93c7-e982-40ec-9055-3cd064042473

View file

@ -36,7 +36,7 @@ You might find bug-fixes or enhancements in these places.
* Ada-mode: <URL:http://libre.act-europe.fr/adamode>
* Battery and Info Look: <URL:ftp://ftp.ul.bawue.de/pub/purple/emacs>
* Battery and Info Look: <URL:http://www-cdf.fnal.gov/~sthrlnd/emacs/>
* BibTeX:
<URL:http://www.ida.ing.tu-bs.de/people/dirk/bibtex/index.html>
@ -69,7 +69,7 @@ You might find bug-fixes or enhancements in these places.
* Hideshow: <URL:http://www.glug.org/people/ttn/software/hideshow/>
* Ispell: <URL:http://www.kdstevens.com/%7Estevens/ispell-page.html>
* Ispell: <URL:http://www.eng.utah.edu/~kstevens/ispell-page.html>
* PC Selection: <URL:ftp://ftp.thp.uni-duisburg.de/pub/source/elisp/>
@ -99,7 +99,7 @@ You might find bug-fixes or enhancements in these places.
* Scheme: <URL:ftp://ftp-swiss.ai.mit.edu/pub/scm/r5rs.info.tar.gz>
* LaTeX: <URL:ftp://ctan.tug.org/tex-archive/info/latex2e-help-texinfo/
latex2e.texi> (or CTAN mirrors)
* Perl: <URL:ftp://ftp.cpan.org/pub/CPAN/doc/manual/texinfo/perl5/>
* Perl: <URL:ftp://ftp.cpan.org/pub/CPAN/doc/manual/texinfo/>
(or CPAN mirrors)
* Packages and add-ons not bundled with Emacs
@ -170,7 +170,7 @@ Several are for Debian GNU/Linux in particular.
<URL:http://www.emacswiki.org/cgi-bin/wiki?EmacsIRCClient>
* Gnuserv:
<URL:http://meltin.net/hacks/emacs/>
<URL:http://www.hpl.hp.com/personal/ange/gnuserv/home.html>
Enhanced emacsclient/emacsserver. Also available from this Web
page: eiffel-mode.el.
@ -180,11 +180,11 @@ Several are for Debian GNU/Linux in particular.
<URL:http://www.gnu.org/software/gnugo/gnugo.html>
* hm--html-menus:
<URL:ftp://ftp.tnt.uni-hannover.de/pub/editors/xemacs/contrib>
<URL:ftp://sunsite.unc.edu/pub/Linux/apps/editors/emacs/>
HTML-specific editing. Can work with PSGML.
* Hyperbole:
<URL:http://ftp.gnu.org/pub/gnu/hyperbole/hyperbole-4.01.tar.gz>
<URL:http://ftp.gnu.org/pub/gnu/hyperbole/>
Hyperbole is an open, efficient, programmable information
management and hypertext system.
@ -249,20 +249,19 @@ Several are for Debian GNU/Linux in particular.
* VM (View Mail): <URL:http://www.wonderworks.com/vm/> Alternative
mail reader. There is a VM newsgroup: <URL:news:gnu.emacs.vm.info>
* W3: <URL:http://www.cs.indiana.edu/elisp/w3/docs.html>
* W3: <URL:http://savannah.gnu.org/projects/w3/>
Web browser. There's a W3 mail list/newsgroup
<URL:news://sunsite.auc.dk/emacs.w3> and a W3 development mail
list/newsgroup <URL:news://sunsite.auc.dk/emacs.w3.dev>.
<URL:http://savannah.gnu.org/mail/?group=w3>.
* Wanderlust: <URL:http://www.gohome.org/wl/>
Yet Another Message Interface on Emacsen. Wanderlust is a mail/news
reader supporting IMAP4rev1 for emacsen.
* WhizzyTex: <URL:http://pauillac.inria.fr/whizzytex/>
* WhizzyTex: <URL:http://cristal.inria.fr/whizzytex/>
WhizzyTeX provides a minor mode for Emacs or XEmacs, a (bash)
shell-script daemon and some LaTeX macros.
* X-Symbol: <URL:http://x-symbol.sf.net/>
* X-Symbol: <URL:http://x-symbol.sourceforge.net/>
Quasi-WYSIWYG editing of TeX & al. (It will be improved to take
better advantage of Emacs 21 features.)

View file

@ -1192,7 +1192,7 @@ fontset appropriately.
*** Custom themes are collections of customize options. Create a
custom theme with M-x customize-create-theme. Use M-x load-theme to
load and enable a theme, and M-x disable-theme to disable it. Use M-x
enable-theme to renable a disabled theme.
enable-theme to enable a disabled theme.
+++
*** The commands M-x customize-face and M-x customize-face-other-window
@ -1265,7 +1265,7 @@ of marked files with the value entered in the minibuffer.
control substitution of the file names only when they are surrounded
by whitespace. This means you can now use them as shell wildcards
too. If you want to use just plain `*' as a wildcard, type `*""'; the
doublequotes make no difference in the shell, but they prevent
double quotes make no difference in the shell, but they prevent
special treatment in `dired-do-shell-command'.
+++
@ -1420,7 +1420,7 @@ people knowing `find-grep-dired' would probably expect it.
settings, for grep commands only.
+++
*** New option `grep-highlight-matches' highlightes matches in *grep*
*** New option `grep-highlight-matches' highlights matches in *grep*
buffer. It uses a special feature of some grep programs which accept
--color option to output markers around matches. When going to the next
match with `next-error' the exact match is highlighted in the source
@ -1664,7 +1664,7 @@ to increment the SOA serial.
filenames being entered by the user in the minibuffer are displayed, so
that it's clear when part of the entered filename will be ignored due to
emacs' filename parsing rules. The ignored portion can be made dim,
invisible, or otherwise less visually noticable. The display method can
invisible, or otherwise less visually noticeable. The display method can
be displayed by customizing the variable `file-name-shadow-properties'.
+++
@ -1853,12 +1853,15 @@ boundaries during scrolling.
* Changes in Specialized Modes and Packages in Emacs 22.1:
** Changes in Dired
+++
*** Bindings for Tumme added
Several new keybindings, all starting with the C-t prefix, have been
added to Dired. They are all bound to commands in Tumme. As a starting
point, mark some image files in a dired buffer and do C-t d to display
thumbnails of them in a separate buffer.
** Changes in Hi Lock:
** Changes in Hi Lock
+++
*** hi-lock-mode now only affects a single buffer, and a new function
@ -1991,7 +1994,7 @@ with the number appended to the `*info*' buffer name (e.g. "*info*<2>").
Before leaving the initial Info node isearch fails once with the error
message [initial node], and with subsequent C-s/C-r continues through
other nodes. When isearch fails for the rest of the manual, it wraps
aroung the whole manual to the top/final node. The user option
around the whole manual to the top/final node. The user option
`Info-isearch-search' controls whether to use Info-search for isearch,
or the default isearch search function that wraps around the current
Info node.
@ -2777,7 +2780,7 @@ idle).
---
*** New customizable variables:
- desktop-save. Determins whether the desktop should be saved when it is
- desktop-save. Determines whether the desktop should be saved when it is
killed.
- desktop-file-name-format. Format in which desktop file names should be saved.
- desktop-path. List of directories in which to lookup the desktop file.
@ -2903,7 +2906,7 @@ specified to etags, variables are tags also.
The new keywords are def, newcommand, renewcommand, newenvironment and
renewenvironment.
*** Honour #line directives.
*** Honor #line directives.
When Etags parses an input file that contains C preprocessor's #line
directives, it creates tags using the file name and line number
@ -3126,7 +3129,7 @@ obsolete; use `dframe-update-speed' instead.
---
** sql changes.
*** The variable `sql-product' controls the highlightng of different
*** The variable `sql-product' controls the highlighting of different
SQL dialects. This variable can be set globally via Customize, on a
buffer-specific basis via local variable settings, or for the current
session using the new SQL->Product submenu. (This menu replaces the
@ -3187,7 +3190,7 @@ Keyword highlighting of Postgres 7.3 is implemented. Prompting for
the username and the pgsql `-U' option is added.
*** MySQL support is enhanced.
Keyword higlighting of MySql 4.0 is implemented.
Keyword highlighting of MySql 4.0 is implemented.
*** Imenu support has been enhanced to locate tables, views, indexes,
packages, procedures, functions, triggers, sequences, rules, and
@ -3323,7 +3326,7 @@ automatically. The game uses faces for better visual feedback.
To enable this, set `calculator-output-radix' non-nil. In this mode a
separator character is used every few digits, making it easier to see
byte boundries etc. For more info, see the documentation of the
byte boundaries etc. For more info, see the documentation of the
variable `calculator-radix-grouping-mode'.
---
@ -3430,7 +3433,7 @@ any customizations.
Previous versions of Emacs erred on the side of having a usable Emacs
through telnet, even though that was inconvenient if you use Emacs in
a local console window with a scrollback buffer. The default value of
w32-use-full-screen-buffer is now nil, which favours local console
w32-use-full-screen-buffer is now nil, which favors local console
windows. Recent versions of Windows telnet also work well with this
setting. If you are using an older telnet server then Emacs detects
that the console window dimensions that are reported are not sane, and
@ -3584,7 +3587,7 @@ names. Usually that default is right, but not always.
A quit inside the body of `with-local-quit' is caught by the
`with-local-quit' form itself, but another quit will happen later once
the code that has inhibitted quitting exits.
the code that has inhibited quitting exits.
This is for use around potentially blocking or long-running code
inside timer functions and `post-command-hook' functions.
@ -3773,7 +3776,7 @@ give up and return LIMIT.
+++
*** Function `pos-visible-in-window-p' now returns the pixel coordinates
and partial visiblity state of the corresponding row, if the PARTIALLY
and partial visibility state of the corresponding row, if the PARTIALLY
arg is non-nil.
+++
@ -4093,7 +4096,7 @@ of text properties as well as the character code.
by `syntax-after').
+++
*** The new function `syntax-ppss' rovides an efficient way to find the
*** The new function `syntax-ppss' provides an efficient way to find the
current syntactic context at point.
** File operation changes:
@ -4226,7 +4229,7 @@ saying to put all inputs in the history list, even empty ones.
+++
*** The `read-file-name' function now takes an additional argument which
specifies a predicate which the file name read must satify. The
specifies a predicate which the file name read must satisfy. The
new variable `read-file-name-predicate' contains the predicate argument
while reading the file name from the minibuffer; the predicate in this
variable is used by read-file-name-internal to filter the completion list.
@ -4618,14 +4621,14 @@ or bottom edge of a window. It does not move other window edges.
`fringe-cursor-alist' maps between logical (internal) fringe indicator
and cursor symbols and the actual fringe bitmaps to be displayed.
This decouples the logical meaning of the fringe indicators from the
physical appearence, as well as allowing different fringe bitmaps to
physical appearance, as well as allowing different fringe bitmaps to
be used in different windows showing different buffers.
*** New function `define-fringe-bitmap' can now be used to create new
fringe bitmaps, as well as change the built-in fringe bitmaps.
To change a built-in bitmap, do (require 'fringe) and use the symbol
identifing the bitmap such as `left-truncation' or `continued-line'.
identifying the bitmap such as `left-truncation' or `continued-line'.
*** New function `destroy-fringe-bitmap' deletes a fringe bitmap
or restores a built-in one to its default value.
@ -4726,7 +4729,7 @@ does that, this value cannot be accurate.
*** You can define multiple overlay arrows via the new
variable `overlay-arrow-variable-list'.
It contains a list of varibles which contain overlay arrow position
It contains a list of variables which contain overlay arrow position
markers, including the original `overlay-arrow-position' variable.
Each variable on this list can have individual `overlay-arrow-string'
@ -4820,7 +4823,7 @@ of the text area. One of the above window elements (except `text')
can also be used with :align-to to specify that the position is
relative to the left edge of the given area. Once the base offset for
a relative position has been set (by the first occurrence of one of
these symbols), further occurences of these symbols are interpreted as
these symbols), further occurrences of these symbols are interpreted as
the width of the area.
For example, to align to the center of the left-margin, use
@ -4923,7 +4926,7 @@ is to use the `arrow' (non-text) pointer. Other choices are `text'
+++
*** The mouse pointer shape over ordinary text or images can now be
controlled/overriden via the `pointer' text property.
controlled/overridden via the `pointer' text property.
** Mouse event enhancements:

View file

@ -1,17 +1,43 @@
All of the following icons are not part of Emacs, but distributed and
used by Emacs.
The following icons are from GTK+ 2.x:
* The following icons are from GTK+ 2.x:
close.xpm copy.xpm cut.xpm help.xpm home.xpm
index.xpm jump-to.xpm left-arrow.xpm new.xpm open.xpm
paste.xpm preferences.xpm print.xpm right-arrow.xpm save.xpm
saveas.xpm search.xpm spell.xpm undo.xpm up-arrow.xpm
close.xpm copy.xpm cut.xpm find-replace.xpm help.xpm home.xpm
index.xpm jump-to.xpm left-arrow.xpm new.xpm open.xpm paste.xpm
preferences.xpm print.xpm refresh.xpm right-arrow.xpm save.xpm
saveas.xpm search.xpm sort-ascending.xpm sort-descending.xpm
spell.xpm undo.xpm up-arrow.xpm
back-arrow.xpm and fwd-arrow.xpm are slightly modified undo and redo.
diropen.xpm is file-manager.png from Gnome hicolor theme.
The following icons are from GNOME 2.10:
* The following icons are from GNOME 2.x:
attach.xpm connect.xpm contact.xpm data-save.xpm delete.xpm
describe.xpm disconnect.xpm exit.xpm gnus/toggle-subscription.xpm
lock-broken.xpm lock-ok.xpm lock.xpm mail/compose.xpm
mail/copy.xpm mail/flag-for-followup.xpm mail/forward.xpm
mail/inbox.xpm mail/move.xpm mail/not-spam.xpm mail/outbox.xpm
mail/preview.xpm mail/reply-all.xpm mail/reply.xpm
mail/save-draft.xpm mail/save.xpm mail/send.xpm mail/spam.xpm
next-page.xpm refresh.xpm separator.xpm sort-ascending.xpm
sort-column-ascending.xpm sort-criteria.xpm sort-descending.xpm
sort-row-ascending.xpm zoom-in.xpm zoom-out.xpm
* Note that the default GTK icons were not overridden by the GNOME theme
due to a bug which was fixed in GNOME 2.15. Once GNOME 2.16 is in wide
circulation, then the GTK icons should be replaced with the equivalent
GNOME icons.
* Recipe for Creating PBM Versions
1. Edit .xpm image in GIMP.
2. Image > Mode > Indexed. Check Use Black/White Palette and No
Color Dithering.
3. File > Save As file.xbm.
4. Run xbmtopbm < file.xbm > file.pbm.
Thanks to jan.h.d@swipnet.se for the help.
refresh.pbm, refresh.xpm

Binary file not shown.

BIN
etc/images/contact.pbm Normal file

Binary file not shown.

BIN
etc/images/data-save.pbm Normal file

Binary file not shown.

238
etc/images/data-save.xpm Normal file
View file

@ -0,0 +1,238 @@
/* XPM */
static char * data_save_xpm[] = {
"24 24 211 2",
" c None",
". c #000000",
"+ c #C3D7F4",
"@ c #A9CDE5",
"# c #75757A",
"$ c #EFC5BB",
"% c #F1C8BE",
"& c #F0C6BC",
"* c #EEBCB2",
"= c #EEBEB5",
"- c #EEC1B8",
"; c #EDBFB6",
"> c #E9B7AD",
", c #E9B8AF",
"' c #E9B9B1",
") c #E5BFBA",
"! c #737277",
"~ c #B3CDE3",
"{ c #A1BED6",
"] c #BBD6E8",
"^ c #8AAAC5",
"/ c #605F68",
"( c #E08D7E",
"_ c #E0826E",
": c #E0806E",
"< c #DC7A68",
"[ c #DC8171",
"} c #DA7868",
"| c #D48173",
"1 c #D47D6E",
"2 c #CE7265",
"3 c #CF7264",
"4 c #CE7567",
"5 c #C4675B",
"6 c #C36558",
"7 c #626169",
"8 c #87A3B7",
"9 c #567187",
"0 c #BAD5E9",
"a c #88A7C3",
"b c #686670",
"c c #C8817B",
"d c #CB7C74",
"e c #CB7A73",
"f c #CB7B73",
"g c #CC7C72",
"h c #CB7D73",
"i c #BF6B64",
"j c #CC7A70",
"k c #C16A62",
"l c #CC7C73",
"m c #C2655B",
"n c #C36459",
"o c #BA6C6A",
"p c #819EB6",
"q c #547086",
"r c #B6D3E7",
"s c #87ABC1",
"t c #737373",
"u c #FFFFFF",
"v c #83A0B8",
"w c #526C80",
"x c #B9D3E7",
"y c #585858",
"z c #4F697C",
"A c #B9D3E6",
"B c #9E9E9E",
"C c #CDCDCD",
"D c #BFBFBF",
"E c #88A4BB",
"F c #486276",
"G c #B7D2E7",
"H c #C4C4C4",
"I c #465E70",
"J c #B5CAE5",
"K c #87A3BA",
"L c #455C6D",
"M c #AECCE5",
"N c #ACACAC",
"O c #C5C5C5",
"P c #546069",
"Q c #B0D1E4",
"R c #515C64",
"S c #AACEE3",
"T c #6B6F72",
"U c #6F6F6F",
"V c #696969",
"W c #6F777E",
"X c #86A2B9",
"Y c #3A515D",
"Z c #A9C9E2",
"` c #647A8D",
" . c #829FB7",
".. c #7F9DB6",
"+. c #7E9CB5",
"@. c #7998B2",
"#. c #85A1B8",
"$. c #8CA7BD",
"%. c #8AA5BB",
"&. c #364A59",
"*. c #ABC4E2",
"=. c #556E84",
"-. c #7192AE",
";. c #414A4E",
">. c #424A51",
",. c #525B63",
"'. c #626F79",
"). c #5F6C76",
"!. c #5C6971",
"~. c #5A666F",
"{. c #58636B",
"]. c #57636A",
"^. c #3B5360",
"/. c #39424B",
"(. c #7897B3",
"_. c #A4B9CB",
":. c #364853",
"<. c #AAC9E2",
"[. c #7091AA",
"}. c #6F8FA7",
"|. c #4A5359",
"1. c #97938C",
"2. c #DFDDDA",
"3. c #E3E1DE",
"4. c #EBEAE8",
"5. c #EAE9E7",
"6. c #CFCEC9",
"7. c #C9C6C0",
"8. c #9B968E",
"9. c #566168",
"0. c #4B657A",
"a. c #54738C",
"b. c #AAC6DD",
"c. c #34464E",
"d. c #AAC9E1",
"e. c #6C8EA6",
"f. c #6C8CA4",
"g. c #40474D",
"h. c #DAD8D3",
"i. c #E7E6E2",
"j. c #67655E",
"k. c #524F47",
"l. c #D9D7D4",
"m. c #C7C5BF",
"n. c #C0BCB5",
"o. c #B8B3AB",
"p. c #434C54",
"q. c #4D697F",
"r. c #4F6F84",
"s. c #B3CADC",
"t. c #313E49",
"u. c #A8C8E1",
"v. c #6B8DA6",
"w. c #728FA4",
"x. c #E2E1DD",
"y. c #F0EFEC",
"z. c #CDCAC6",
"A. c #C2BFB9",
"B. c #CAC6C0",
"C. c #DCDAD7",
"D. c #4B555D",
"E. c #4E697F",
"F. c #BACCDC",
"G. c #A4C4DE",
"H. c #698BA3",
"I. c #708AA1",
"J. c #383E43",
"K. c #E0DEDA",
"L. c #514E46",
"M. c #4F4C44",
"N. c #C7C4BE",
"O. c #CBC8C2",
"P. c #E1E0DC",
"Q. c #E9E8E6",
"R. c #475158",
"S. c #4E6879",
"T. c #4D6C80",
"U. c #A3C3DB",
"V. c #383F43",
"W. c #778999",
"X. c #6E899E",
"Y. c #65859C",
"Z. c #33383C",
"`. c #D7D4D0",
" + c #D6D4D0",
".+ c #4E4A43",
"++ c #4D4942",
"@+ c #D1CEC9",
"#+ c #E6E5E2",
"$+ c #EDECEA",
"%+ c #454F55",
"&+ c #486173",
"*+ c #4D6678",
"=+ c #A1C1DA",
"-+ c #373C40",
";+ c #0C0D0F",
">+ c #4E5E6A",
",+ c #5B6E7C",
"'+ c #4F5B62",
")+ c #A4A099",
"!+ c #CCC9C3",
"~+ c #D7D5D1",
"{+ c #E4E2E0",
"]+ c #DDDBD7",
"^+ c #B8B5B0",
"/+ c #3E474D",
"(+ c #4A6176",
"_+ c #4A6070",
":+ c #9BC3D8",
"<+ c #363C41",
"[+ c #28323E",
" ",
" . . . . . . . . . . . . . . . . . . . ",
" . + @ # $ % & * = - ; > , > , ' ) ! ~ { . ",
" . ] ^ / ( _ : < [ } | 1 2 3 4 5 6 7 8 9 . ",
" . 0 a b c d e f g h i j k l m n o b p q . ",
" . r s t u u u u u u u u u u u u u t v w . ",
" . x . y u u u u u u u u u u u u u t v z . ",
" . A . . B C C C C C C C C C C C D t E F . ",
" . G . . . H u u u u u u u u u u u t E I . ",
" . J . . . . H u u u u u u u u u u t K L . ",
" . M . . . . . N C C C C C C C C O t K P . ",
" . Q . . . . H u u u u u u u u u u t v R . ",
" . S . . . y t t t t T U t t t t V W X Y . ",
" . Z . . ` X ...+. .@.X #.#.K .$.v %.&.. ",
" . *.. =.-.;.>.,.'.).!.~.{.].,.^./.(._.:.. ",
" . <.[.}.|.1.2.3.4.4.5.2.6.7.8.9.0.a.b.c.. ",
" . d.e.f.g.h.i.j.k.k.l.m.n.o.6.p.q.r.s.t.. ",
" . u.v.w.g.x.y.j.k.k.z.A.n.B.C.D.E.r.F.t.. ",
" . G.H.I.J.K.4.L.M.M.N.n.O.P.Q.R.S.T.U.V.. ",
" . W.X.Y.Z.`. +.+++++n.@+#+$+#+%+&+*+=+-+. ",
" ;+>+,+'+)+n.o.!+!+~+{+5.]+^+/+(+_+:+<+. ",
" . . . . . . . . . . . . . . . . [+. ",
" ",
" "};

BIN
etc/images/delete.pbm Normal file

Binary file not shown.

Binary file not shown.

View file

@ -1,35 +0,0 @@
/* XPM */
static char * mail_exec_xpm[] = {
/* columns rows colors chars-per-pixel */
"24 24 6 1",
" c None",
". c black",
"X c #a5d8a5d89550",
"o c #d305d305bc3c",
"O c #ea03ea03d271",
"+ c white",
/* pixels */
" ",
" ",
" ",
" .. ",
" XX .. ",
" oo XX .. ",
" OO oo XX .. ",
" OO oo XX .. ",
" OO oo XX .. ",
" OO oo XX .. ",
" OO oo XX .. ",
" OO oo XX .. ",
" OO oo XX .. ",
" OO oo XX ",
" OO oo ",
" OO + .. ",
" XX .. ",
" oo XX ",
" OO oo ",
" OO ",
" ",
" ",
" ",
" "};

Binary file not shown.

Binary file not shown.

View file

@ -1,34 +0,0 @@
/* XPM */
static char *magick[] = {
/* columns rows colors chars-per-pixel */
"24 24 4 1",
" c Gray0",
". c #909090909090",
"X c #fefefefefefe",
"o c None",
/* pixels */
"oooooooooooooooooooooooo",
"oooooooooooooooooooooooo",
"oooooooooooooooooooooooo",
"oooooooooooooooooooooooo",
"oooooooooooooooooooooooo",
"oooooooooooooo oooooooo",
"ooooooooooo .. ooooooo",
"oooo oo ....XXo ooo",
"ooo .. ....XXXX .. ooo",
"ooo .....XXXXX .... ooo",
"oooo ..XXXXX ...... ooo",
"oooo ..XXX ........ ooo",
"ooooo .XX .......... ooo",
"ooooo ..X .......... ooo",
"oooooo .X .......... ooo",
"oooooo .. ........ oooo",
"ooooooo . ...... oooooo",
"ooooooo . ..... oooooooo",
"oooooooo ... ooooooooo",
"oooooooo . ooooooooooo",
"ooooooooo ooooooooooooo",
"oooooooooooooooooooooooo",
"oooooooooooooooooooooooo",
"oooooooooooooooooooooooo"
};

Binary file not shown.

View file

@ -1,33 +0,0 @@
/* XPM */
static char * highlight_xpm[] = {
/* columns rows colors chars-per-pixel */
"24 24 4 1",
" c None",
". c black",
"X c #828282827474",
"o c #dd00df007e00",
/* pixels */
" ..... ",
" ..XXX.. ",
" .XXXXX. ",
" .XXXXX.. ",
" .XXXXX. ",
" .XXXXX. ",
" .XXXXX. ",
" .ooXX. ",
" ..ooo. ",
" oooo .... ",
"oo.ooo....oo ... ",
"o.o.ooo.oo.o.ooo.o ",
".ooo.oo.oo.o.ooooo ",
".ooo.oo.oo.o.ooooo ",
".ooo.oo...oo.ooooo ",
".....oo.oo.o.ooooo ",
".ooo.oo.oo.o.ooooo ",
".ooo.oo.oo.o.ooo.o ",
". oo.o....ooo...o ",
" oo oooo ",
" ",
" ",
" ",
" "};

Binary file not shown.

View file

@ -1,35 +0,0 @@
/* XPM */
static char *magick[] = {
/* columns rows colors chars-per-pixel */
"24 24 5 1",
" c Gray0",
". c #673e666663d4",
"X c #a852a7bea3d2",
"o c #eb46ea1de471",
"O c None",
/* pixels */
"OOOOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOO OOOOOO",
"OOOOOOOOO .ooX OOOOO",
"OOOO .XooooooX OOOOO",
"OOO .Xoooooooooo.XX OOOO",
"OOO o..ooooooooX.Xo OOOO",
"OOO XoX..oooooo.Xoo OOOO",
"OOOO oooXX.Xoo...ooX OOO",
"OOOO oooooXX..XoX.Xo OOO",
"OOOO Xoooo.ooooooo.X OOO",
"OOOOO oooXXoooooooo.X OO",
"OOOOO ooo.oooooooooX OO",
"OOOOO XoXXooooooX OOOO",
"OOOOOO o.ooooX OOOOOOO",
"OOOOOO .XoX OOOOOOOOOO",
"OOOOOO .. OOOOOOOOOOOOO",
"OOOOOOO OOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOOOO",
"OOOOOOOOOOOOOOOOOOOOOOOO"
};

Binary file not shown.

View file

@ -1,33 +0,0 @@
/* XPM */
static char * alias_xpm[] = {
/* columns rows colors chars-per-pixel */
"24 24 4 1",
" c None",
". c #61b761b7600a",
"X c #a5d8a5d89550",
"o c black",
/* pixels */
" ",
" ",
" ",
" ...... ",
" ...XXXX..XX ",
" o..ooooooo... ",
" ooo oooo..X ",
" o.X ooo... ",
" o.X ooo.XX ",
" o.X oo.. ",
" o.X oo. ",
" o... oo.. ",
" o.X o.. ",
" o.XX oX. ",
" o.... oo. ",
" o..XX oooo ",
" o...XXX XXoooo ",
" ooo........ooooo ",
" oooooXXooooo.oo ",
" ooo o..oo",
" o...",
" ooo",
" oo",
" "};

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,187 @@
/* XPM */
static char * flag_for_followup_xpm[] = {
"24 24 160 2",
" c None",
". c #5B5457",
"+ c #322D2E",
"@ c #463B3F",
"# c #63555A",
"$ c #53484B",
"% c #726166",
"& c #98868C",
"* c #8A727A",
"= c #211619",
"- c #847B7D",
"; c #CDBAC0",
"> c #A58791",
", c #82646D",
"' c #6B515A",
") c #6A5058",
"! c #684C56",
"~ c #6A424F",
"{ c #3A2A2F",
"] c #000000",
"^ c #5C5457",
"/ c #D1BEC4",
"( c #C3ACB4",
"_ c #B59AA2",
": c #997E87",
"< c #80666E",
"[ c #745A62",
"} c #64464F",
"| c #603946",
"1 c #764D5A",
"2 c #886771",
"3 c #45373B",
"4 c #A9979C",
"5 c #B798A2",
"6 c #BCA0A9",
"7 c #BEA4AC",
"8 c #B89FA7",
"9 c #9E848C",
"0 c #8F767E",
"a c #785F67",
"b c #6A4E57",
"c c #6E4F59",
"d c #7C5A65",
"e c #8E6873",
"f c #8C6974",
"g c #413337",
"h c #251F21",
"i c #99717D",
"j c #8F606E",
"k c #946875",
"l c #9E7582",
"m c #B08F9A",
"n c #AC8C96",
"o c #AE929A",
"p c #9C8089",
"q c #8B7179",
"r c #765C65",
"s c #745660",
"t c #7E5A66",
"u c #865E6A",
"v c #855D69",
"w c #7F5F69",
"x c #3B2D32",
"y c #40332D",
"z c #6F3B4A",
"A c #774252",
"B c #7D4858",
"C c #82505F",
"D c #926674",
"E c #906572",
"F c #966D7A",
"G c #A17E89",
"H c #A0828B",
"I c #90767D",
"J c #927780",
"K c #8B6E77",
"L c #8A6A74",
"M c #86626C",
"N c #845B68",
"O c #8E6673",
"P c #6A535A",
"Q c #B2997B",
"R c #3C2824",
"S c #693343",
"T c #723A4B",
"U c #845261",
"V c #8C5E6C",
"W c #946A78",
"X c #9A737E",
"Y c #A1828C",
"Z c #947C84",
"` c #846B73",
" . c #755B64",
".. c #57464B",
"+. c #59454C",
"@. c #5B484E",
"#. c #31282B",
"$. c #392F23",
"%. c #B59C7D",
"&. c #372622",
"*. c #643040",
"=. c #7E4D5B",
"-. c #814E5D",
";. c #845262",
">. c #936876",
",. c #976E7B",
"'. c #9D7C87",
"). c #82666F",
"!. c #5C4B50",
"~. c #3D3326",
"{. c #34251F",
"]. c #7E4C5B",
"^. c #8C606E",
"/. c #9C7581",
"(. c #9B7380",
"_. c #997682",
":. c #7F656D",
"<. c #3A2F22",
"[. c #33241F",
"}. c #683444",
"|. c #875766",
"1. c #A17C87",
"2. c #A27C88",
"3. c #8B6773",
"4. c #574249",
"5. c #392E21",
"6. c #B69C7E",
"7. c #30241D",
"8. c #64303F",
"9. c #804F5E",
"0. c #976D7A",
"a. c #886670",
"b. c #2E2025",
"c. c #362C1F",
"d. c #2B221A",
"e. c #5A2837",
"f. c #6E394A",
"g. c #73515C",
"h. c #0C0809",
"i. c #342B1F",
"j. c #B69E7F",
"k. c #512432",
"l. c #683E4B",
"m. c #332A1E",
"n. c #2D261E",
"o. c #4E2330",
"p. c #282118",
"q. c #32291D",
"r. c #B79E80",
"s. c #2D261D",
"t. c #352B1F",
"u. c #B49A7D",
"v. c #2E271F",
"w. c #352C1F",
"x. c #2A221A",
"y. c #B49C7E",
"z. c #2A241C",
"A. c #28221B",
"B. c #AE9C88",
"C. c #060606",
" ",
" . + ",
" @ # $ % & * = ",
" - ; > , ' ) ! ~ { ] ",
" ^ / ( _ : < [ } | 1 2 3 ] ",
" 4 5 6 7 8 9 0 a b c d e f g ] ",
" h i j k l m n o p q r s t u v w x ] ",
" y z A B C D E F G H I J K L M N O P ",
" ] Q R S T U V V W X Y Z ` ...+.@.#. ",
" $.%.&.*.=.-.;.>.,.'.).!. ",
" ~.Q {.*.].^./.(._.:. ",
" <.%.[.}.|.1.2.3.4. ",
" 5.6.7.8.9.0.a.b. ",
" c.%.d.e.f.g.h. ",
" i.j.d.k.l.] ",
" m.%.n.o.] ",
" m.%.p. ",
" q.r.s. ",
" t.u.v. ",
" w.u.x. ",
" c.y.z. ",
" t.u.A. ",
" c.B.] ",
" C. "};

BIN
etc/images/mail/inbox.pbm Normal file

Binary file not shown.

BIN
etc/images/mail/move.pbm Normal file

Binary file not shown.

Binary file not shown.

View file

@ -1,36 +0,0 @@
/* XPM */
static char * refile_xpm[] = {
/* columns rows colors chars-per-pixel */
"24 24 7 1",
" c None",
". c black",
"X c #a5d8a5d89550",
"o c #d305d305bc3c",
"O c #ea03ea03d271",
"+ c #828282827474",
"@ c #61b761b7600a",
/* pixels */
" . ",
" ..X. ",
" ..XoO.... ",
" ..XooooO.+. ",
" ..XooooooOX.. .. ",
" .@@ooooooOOO@. ... ",
" .O@oooooOOOOO..@@. ",
" .OO@oooOOOOOO..@@. ",
" ...OO@XooOOOOO...@@. ",
" ..+.O@XooOOOO..@@@@@. ",
" .++..XooOOOO..@@@@@@. ",
" .++.@oooOO...@@@@@@@. ",
" ..+.XooOOO..@@@@@@@. ",
" .++.OOOO.@@@@@@@@. ",
" .+.oOO..@@@@@@@. ",
" .++.OO.@@@@@@@. ",
" .++.O.@@@@@.. ",
" ..+.O.@@@@@. ",
" .++..@@@@. ",
" ..++.@@@. ",
" .+.@@. ",
" ...@. ",
" ... ",
" . "};

Binary file not shown.

View file

@ -1,35 +1,67 @@
/* XPM */
static char * mail_repack_xpm[] = {
/* columns rows colors chars-per-pixel */
"24 24 6 1",
static char * repack_xpm[] = {
"24 24 40 1",
" c None",
". c black",
"X c #a5d8a5d89550",
"o c #d305d305bc3c",
"O c #ea03ea03d271",
"+ c #828282827474",
/* pixels */
". c #000000",
"+ c #DBD99B",
"@ c #3A3824",
"# c #5E5B3A",
"$ c #12120B",
"% c #7E7A4E",
"& c #222114",
"* c #A29E6A",
"= c #595741",
"- c #43412B",
"; c #5A573B",
"> c #89865A",
", c #8C895C",
"' c #CDCBB0",
") c #4B4A37",
"! c #D1CFB6",
"~ c #D3D3BC",
"{ c #1D1C12",
"] c #373624",
"^ c #1F1E13",
"/ c #928E5F",
"( c #413E2A",
"_ c #79764F",
": c #817E54",
"< c #B2B097",
"[ c #17160E",
"} c #888458",
"| c #4D4A32",
"1 c #747047",
"2 c #A6A272",
"3 c #A9A576",
"4 c #A7A374",
"5 c #ABA779",
"6 c #65623E",
"7 c #AFAC80",
"8 c #666443",
"9 c #E1E1D1",
"0 c #EBEAE1",
"a c #ADA97C",
" ",
" ",
" .............. ",
" .XXXXXXXXXXXX.. ",
" .XXXXXXXXXXXX.X. ",
" .XXXXXXXXXXXX.oo. ",
" ..............ooo. ",
" .OOOOOOOOOOOO.oo. ",
" .O++++++++++O.oo. ",
" .O+XXXXXXXX+O.o. ",
" .+XXXXXXXX+.o.. ",
" .+XX...XXX+.... ",
" ....o.......oo. ",
" ....o.....Oooo. ",
" .OOO...OOOO.oooo. ",
" .++++++++++.oooo. ",
" .+XXXXXXXX+.oooo. ",
" .O+XXXXXXXX+O.ooX. ",
" .O+XXXXXXXX+O.oo.. ",
" .O++++++++++O.o.. ",
" ..OOOOOOOOOOOO... ",
" .++++++++++++.. ",
" .++++++++++++.@. ",
" .++++++++++++.@#$ ",
" ..............@#%& ",
" .************.#%$ ",
" .**=------;**.%#. ",
" .**->>>>>,'**$%. ",
" .*-,*****'*$%$. ",
" .*)*...**!*...$ ",
" ....~.......{#. ",
" ....~.....]^#%. ",
" ./(_...::<:.#%%#[ ",
" .*(*/::}*!*.%%%%. ",
" .*|******!*$#%%1. ",
" .**|234533!**$%%6. ",
" .**|557777!**.%6.. ",
" .**8999999043.6.. ",
" .**********4a... ",
" ................ ",
" ",
" "};

Binary file not shown.

Binary file not shown.

View file

@ -1,38 +1,103 @@
/* XPM */
static char * reply_from_xpm[] = {
/* columns rows colors chars-per-pixel */
"24 24 9 1",
"24 24 76 1",
" c None",
". c black",
"X c #673e666663d4",
"o c #eb46ea1de471",
"O c #a852a7bea3d2",
"+ c #ae51c17b9b26",
"@ c #8d4d97577838",
"# c #7c7c8b8b6e6e",
"$ c #5e0868be52d3",
/* pixels */
". c #000000",
"+ c #535353",
"@ c #FFFFFF",
"# c #FEFEFE",
"$ c #FDFDFD",
"% c #FCFCFC",
"& c #FBFBFB",
"* c #F9F9F9",
"= c #F8F8F8",
"- c #F7F7F7",
"; c #F6F6F6",
"> c #F5F5F5",
", c #F4F4F4",
"' c #E3E3E3",
") c #EEEEEE",
"! c #4F4F4F",
"~ c #F3F3F3",
"{ c #F2F2F2",
"] c #F1F1F1",
"^ c #F0F0F0",
"/ c #EFEFEF",
"( c #EDEDED",
"_ c #AEAEAE",
": c #E4E4E4",
"< c #434343",
"[ c #ACACAC",
"} c #C8C8C8",
"| c #A0A0A0",
"1 c #D4D4D4",
"2 c #ECECEC",
"3 c #959595",
"4 c #3E3E3E",
"5 c #4D4D4D",
"6 c #818181",
"7 c #C6C6C6",
"8 c #3D1A13",
"9 c #6A6A6A",
"0 c #636363",
"a c #B9B9B9",
"b c #737373",
"c c #EAC0BA",
"d c #7C7C7C",
"e c #6E6E6E",
"f c #DF9E95",
"g c #3F3F3F",
"h c #FFE3E0",
"i c #FFD5CF",
"j c #FFD7D2",
"k c #FFD9D3",
"l c #E3ABA3",
"m c #E2A79E",
"n c #E3AAA2",
"o c #CC6253",
"p c #DD968C",
"q c #DE9A90",
"r c #DD948A",
"s c #B14334",
"t c #FFEAE7",
"u c #FFDDD7",
"v c #FFDCD6",
"w c #FFDCD7",
"x c #FFDBD6",
"y c #FFDDD8",
"z c #FFC2BA",
"A c #FFD0C8",
"B c #FFD0C9",
"C c #FFD1CA",
"D c #2A2221",
"E c #080606",
"F c #060404",
"G c #1D1716",
"H c #FFD1CB",
"I c #362927",
"J c #201817",
"K c #473734",
" ",
" ",
" .... ",
" .....XooO. ",
" .....XOooooooO. ",
" .XOooooooooooXOO. ",
" .oXXooooooooOXOo. ",
" .OoOXXooooooXOoo. ",
" .oooOOXOooXXXooO. ",
" ........XXOoOXOo. ",
" ..++++@.ooooooXO. ",
" ..+@@@.oooooooXO. ",
" ..+@@@#.oooooooO.. ",
" ..++@@@#$.ooooO... ",
" #.$.oO... ",
" ...O . .... ",
" ...O ",
" .O ",
" ...O ..O .... .O O. ",
" ...O ..O .OO. ..... ",
" .O .O . . . . . ",
" .O .O .OO. . . . ",
" .O .O .... . O . ",
" ",
" ................. ",
" .+@@@@#$%&*=-;>,'+. ",
" .)!@>,~{{]^^/)('!_. ",
" .@:<$~{{]^/))('![}. ",
" .@>:!&]^^/)(('<|1}. ",
" .@&>:<=^/)(2'!31:}. ",
" .@>>>:4>)(2'567::}. ",
" .@&8>:9<~2'!977>:}. ",
" .@..:0@a!^!37b7>:}. ",
" ..c.0@>:1![7::d::}. ",
" ecfegg....:>>>:d:}. ",
" hijklmnfo.::::::d}. ",
" .....ppqrs.###$$$$ . ",
" t.uvwxuuyyz ",
" .ABC.DEFCG.. . .. .. ",
" ...H.I JK .. .. .. . ",
" . H. . . . . . ",
" . . . . . . . ",
" . . .. .. . . . ",
" . . ... . . . ",
" "};

Binary file not shown.

View file

@ -1,38 +1,206 @@
/* XPM */
static char * reply_to_xpm[] = {
/* columns rows colors chars-per-pixel */
"24 24 9 1",
" c None",
". c black",
"X c #673e666663d4",
"o c #eb46ea1de471",
"O c #a852a7bea3d2",
"+ c #ae51c17b9b26",
"@ c #8d4d97577838",
"# c #7c7c8b8b6e6e",
"$ c #5e0868be52d3",
/* pixels */
" ",
" ",
" .... ",
" .....XooO. ",
" .....XOooooooO. ",
" .XOooooooooooXOO. ",
" .oXXooooooooOXOo. ",
" .OoOXXooooooXOoo. ",
" .oooOOXOooXXXooO. ",
" ........XXOoOXOo. ",
" ..++++@.ooooooXO. ",
" ..+@@@.oooooooXO. ",
" ..+@@@#.oooooooO.. ",
" ..++@@@#$.ooooO... ",
" .++++@@#.$ ",
" .+@@@#.o ...... ",
" .+@#$. OO.OOO ",
" .#$. .O ",
" .$. .O .... ",
" . .O .OO. ",
" .O . . ",
" .O .OO. ",
" .O .... ",
" "};
"24 24 179 2",
" c None",
". c #000000",
"+ c #ADA99C",
"@ c #E6E1D0",
"# c #F0EAD9",
"$ c #A9A598",
"% c #141416",
"& c #161618",
"* c #080809",
"= c #DBD6C7",
"- c #1B1B1C",
"; c #050505",
"> c #5A5A5A",
", c #676767",
"' c #020202",
") c #807D76",
"! c #D49A3E",
"~ c #D2973B",
"{ c #040402",
"] c #6D6B6B",
"^ c #7A7979",
"/ c #030100",
"( c #040100",
"_ c #282724",
": c #DD9831",
"< c #DA962F",
"[ c #1A0E01",
"} c #BC6D1B",
"| c #BE6E13",
"1 c #BE6D13",
"2 c #BD6C13",
"3 c #3E3C36",
"4 c #D69029",
"5 c #D18D27",
"6 c #737067",
"7 c #110900",
"8 c #CF791C",
"9 c #CE791C",
"0 c #CD761A",
"a c #C47013",
"b c #4A4136",
"c c #A0731E",
"d c #96691A",
"e c #000100",
"f c #291703",
"g c #BA6613",
"h c #8C4E0D",
"i c #844A0D",
"j c #BF6D13",
"k c #1F2A0D",
"l c #306220",
"m c #4F7242",
"n c #448D44",
"o c #2E802E",
"p c #3A6F3A",
"q c #FFFFFF",
"r c #535353",
"s c #171009",
"t c #AC600C",
"u c #713F0A",
"v c #693A0A",
"w c #AA5F0A",
"x c #192B10",
"y c #275926",
"z c #68A769",
"A c #358A36",
"B c #2D812D",
"C c #FBFBFB",
"D c #F7F7F7",
"E c #FAFAFA",
"F c #F5F5F5",
"G c #4F4F4F",
"H c #AEAEAE",
"I c #141517",
"J c #6F767C",
"K c #534C46",
"L c #241609",
"M c #23180E",
"N c #484644",
"O c #354A4D",
"P c #050B07",
"Q c #4F7E4F",
"R c #399239",
"S c #2D852D",
"T c #297F29",
"U c #ACACAC",
"V c #C8C8C8",
"W c #151618",
"X c #6C7C8B",
"Y c #728EA9",
"Z c #5D6B78",
"` c #C8CBCD",
" . c #C3C7CD",
".. c #8090A2",
"+. c #5A728B",
"@. c #4E6479",
"#. c #111714",
"$. c #328732",
"%. c #2B7F2C",
"&. c #2B772C",
"*. c #434343",
"=. c #A0A0A0",
"-. c #D4D4D4",
";. c #25282A",
">. c #8A9EB4",
",. c #6A86A1",
"'. c #596A7C",
"). c #DDE1E4",
"!. c #DCE2E7",
"~. c #899CAC",
"{. c #687E96",
"]. c #546D88",
"^. c #11171E",
"/. c #949494",
"(. c #F6F6F6",
"_. c #575757",
":. c #9F9F9F",
"<. c #DADADA",
"[. c #E8E8E8",
"}. c #D1D1D1",
"|. c #23282D",
"1. c #8096AB",
"2. c #5D7996",
"3. c #53687D",
"4. c #CDD3D9",
"5. c #CBD2DC",
"6. c #899BAB",
"7. c #CCD4DC",
"8. c #5E7790",
"9. c #17212C",
"0. c #F9F9F9",
"a. c #C7C7C7",
"b. c #D7D7D7",
"c. c #E9E9E9",
"d. c #F8F8F8",
"e. c #F0F0F0",
"f. c #1F252B",
"g. c #6B8197",
"h. c #536D89",
"i. c #4A5D6F",
"j. c #81919F",
"k. c #8293A4",
"l. c #5A7087",
"m. c #496481",
"n. c #47617E",
"o. c #3F4951",
"p. c #DEDEDE",
"q. c #E6E6E6",
"r. c #F1F1F1",
"s. c #FDFDFD",
"t. c #0E141A",
"u. c #0D1319",
"v. c #0E141B",
"w. c #0E131A",
"x. c #161B22",
"y. c #DDDDDD",
"z. c #636363",
"A. c #C6C6C6",
"B. c #EDEDED",
"C. c #E3E3E3",
"D. c #FCFCFC",
"E. c #737373",
"F. c #FEFEFE",
"G. c #313131",
"H. c #030303",
"I. c #7C7C7C",
"J. c #E4E4E4",
"K. c #E7E7E7",
"L. c #F3F3F3",
"M. c #404040",
"N. c #4D4D4D",
"O. c #F2F2F2",
"P. c #BCBCBC",
"Q. c #C3C3C3",
"R. c #E0E0E0",
"S. c #ECECEC",
"T. c #EFEFEF",
"U. c #060606",
"V. c #E5E5E5",
" ",
" . . ",
" + @ # $ . ",
" % & * = # # # . ",
" - ; > , ' ) ! ~ # . ",
" { ] ^ / ( _ : < # . ",
" [ } | 1 2 3 4 5 # 6 ",
" 7 8 9 0 a b c d # # . e . . . . . . ",
" f g h i j k l m n o p . q q q q q r . ",
" s t u v w x y z A o B . C D E F G H . ",
" I J K L M N O P Q R S T . F F F G U V . ",
" W X Y Z ` ...+.@.#.$.%.&.. F F *.=.-.V . ",
" ;.>.,.'.).!.~.{.].^.. . . /.(._.:.<.[.}.. ",
" |.1.2.3.4.5.6.7.8.9.0.E E E a.b.c.D d.e. ",
" f.g.h.i.j.k.l.m.n.o.E C C p.q.r.0.s.C D ",
" t.u.v.v.v.t.w.x.U y.. . . . . . . C 0. ",
" . q C F z.A.(.r.B.C.c.e.. s.d.C D.E ",
" . q F E.-.F (.E C (.d.s.. s.F.-.G.H.. ",
" . q I.-.J.J.K.L.(.D d.0.. C D.M.N.O.. . ",
" . E.P.P.P.P.Q.R.c.S.T.r.. (.d.U.V. . ",
" . . . . . . . . . ",
" . . . . . ",
" . . . . ",
" "};

Binary file not shown.

Binary file not shown.

BIN
etc/images/next-page.pbm Normal file

Binary file not shown.

Binary file not shown.

View file

@ -1,34 +0,0 @@
/* XPM */
static char * mail_page_xpm[] = {
/* columns rows colors chars-per-pixel */
"24 24 5 1",
" c None",
". c black",
"X c #ea03ea03d271",
"o c #a5d8a5d89550",
"O c #d305d305bc3c",
/* pixels */
" ",
" ",
" .................. ",
" .XXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .XoooooooooooooXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .Xoooooooooo..oXX. ",
" .XXXXXXXXXXX..XXX. ",
" .XXXXXXXXXXX..XXX. ",
" .XooooooXXXX..XXX. ",
" .XXXXXXXXXXX..XXX. ",
" .XXXXXXXXX.O..O.X. ",
" .Xoooooooo.....XX. ",
" .XXXXXXXXXX....XX. ",
" .XXXXXXXXXXX..XXX. ",
" .XXXXXXXXXXXooXXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .................. ",
" ",
" ",
" "};

View file

@ -1,113 +1,153 @@
/* XPM */
static char * stock_refresh_xpm[] = {
"24 24 86 1",
" c None",
". c #000000",
"+ c #F3F6F8",
"@ c #C8D4DF",
"# c #F7F9FA",
"$ c #0D110C",
"% c #6286A5",
"& c #A0B6C9",
"* c #C9D5E0",
"= c #F2F5F7",
"- c #172116",
"; c #819EB6",
"> c #CAD6E1",
", c #CCD7E1",
"' c #CED9E3",
") c #F6F8F9",
"! c #7192AE",
"~ c #587B99",
"{ c #CDD8E2",
"] c #CFDAE4",
"^ c #D3DDE6",
"/ c #D5DEE6",
"( c #ADC0D0",
"_ c #90A9BF",
": c #537490",
"< c #23323E",
"[ c #85A1B8",
"} c #5E83A3",
"| c #6084A3",
"1 c #6689A7",
"2 c #678AA8",
"3 c #48657D",
"4 c #A8BCCD",
"5 c #7393AE",
"6 c #6B8DAA",
"7 c #5C81A1",
"8 c #5D82A2",
"9 c #6588A6",
"0 c #435F76",
"a c #B1C3D2",
"b c #50718D",
"c c #9FB5C8",
"d c #94ACC1",
"e c #425D73",
"f c #435E74",
"g c #B4C5D3",
"h c #6C8EAB",
"i c #C4D2DD",
"j c #5B80A0",
"k c #456178",
"l c #7595B0",
"m c #BFCEDA",
"n c #597D9C",
"o c #A3B8CA",
"p c #B0C2D1",
"q c #86A2B9",
"r c #6E8FAB",
"s c #E1E8EE",
"t c #B9C9D6",
"u c #6387A6",
"v c #4C6B85",
"w c #7F9DB6",
"x c #BCCCD9",
"y c #DDE5EC",
"z c #E4EAEF",
"A c #D8E1E9",
"B c #D1DBE4",
"C c #C7D3DE",
"D c #B7C8D6",
"E c #7091AD",
"F c #537592",
"G c #9DB3C6",
"H c #8CA7BD",
"I c #304353",
"J c #4E6E89",
"K c #829FB7",
"L c #92ABC0",
"M c #C5D3DE",
"N c #7C9AB3",
"O c #5A7E9D",
"P c #47647C",
"Q c #6185A4",
"R c #5B7F9E",
"S c #4F6F8A",
"T c #405A71",
"U c #283926",
" . ",
" .. ",
" .+. ",
" ....@#. ",
" $%&@@**=. .. ",
" -;@@**>,'). .!~. ",
" .%@**>,{]^/(. ._:. ",
" <&@[}}|%123. .4. ",
".5@678|%920. .ab. ",
".cd7e...1f. . .gh. ",
".ijb. .k. .. .al. ",
".mn. .. .'. .op5. ",
".qr. . .*s...at4u. ",
".vw. .xyzyABCDEF. ",
" .G. .p'B,@ixaH2I. ",
" .JK. .LM@,>>MmNOP. ",
" .F9. .9|%Q|}7RS.. ",
" .. .|R~~nJT.. ",
" .j~.... ",
" UO. ",
" .. ",
" . ",
" ",
" "};
static char * refresh_xpm[] = {
"24 24 126 2",
" c None",
". c #000000",
"+ c #F0FFEE",
"@ c #CAE3C6",
"# c #F5FFF4",
"$ c #0D110C",
"% c #729C6C",
"& c #A6CAA1",
"* c #CBE4C7",
"= c #EFFDEE",
"- c #172116",
"; c #88B583",
"> c #CCE5C8",
", c #CDE6C9",
"' c #CFE7CB",
") c #F3FFF2",
"! c #7FA879",
"~ c #689063",
"{ c #CDE5C9",
"] c #CFE7CA",
"^ c #D0E9CC",
"/ c #D4EAD0",
"( c #D5ECD1",
"_ c #AED5A9",
": c #9ABC95",
"< c #63865F",
"[ c #2B3A29",
"} c #8CB887",
"| c #70986A",
"1 c #71986B",
"2 c #729A6B",
"3 c #759C6D",
"4 c #759F6F",
"5 c #76A170",
"6 c #567453",
"7 c #AFCBAC",
"8 c #7EAB77",
"9 c #78A472",
"0 c #6F9669",
"a c #70976A",
"b c #71996B",
"c c #739B6D",
"d c #759F6E",
"e c #77A170",
"f c #526F4C",
"g c #B7D2B2",
"h c #60835B",
"i c #A5C9A0",
"j c #9AC195",
"k c #4F6B4C",
"l c #769F70",
"m c #516D4C",
"n c #B9D5B4",
"o c #7BA574",
"p c #C7E0C3",
"q c #6D9568",
"r c #51714E",
"s c #B6D3B2",
"t c #81AB7C",
"u c #C3DBBF",
"v c #6B9265",
"w c #C8EFC3",
"x c #A7CCA2",
"y c #B5D2B1",
"z c #80A87A",
"A c #90B68B",
"B c #79A674",
"C c #C6EAC1",
"D c #DEF7D9",
"E c #B3D7AE",
"F c #BBD9B8",
"G c #AFCCAB",
"H c #749E6D",
"I c #5B7B57",
"J c #8CB087",
"K c #BBE1B6",
"L c #DAF5D6",
"M c #E1F7DD",
"N c #DCF4D6",
"O c #D7F0D3",
"P c #CFECCB",
"Q c #C6E3C3",
"R c #BCD6B9",
"S c #7EA778",
"T c #64885F",
"U c #A6C1A3",
"V c #B3D5AE",
"W c #CDEAC9",
"X c #D0EBCB",
"Y c #CAE9C5",
"Z c #C7E6C3",
"` c #C3E3BF",
" . c #BDDCBA",
".. c #B5D2B2",
"+. c #96B991",
"@. c #76A071",
"#. c #3A4E37",
"$. c #5E7F5A",
"%. c #8FAF8B",
"&. c #9CBE97",
"*. c #C7E0C4",
"=. c #CBE3C6",
"-. c #CDE4C9",
";. c #CBE4C8",
">. c #C7E1C4",
",. c #C2DBBF",
"'. c #88AF82",
"). c #6B9266",
"!. c #557451",
"~. c #63885E",
"{. c #759C70",
"]. c #749E6F",
"^. c #72996B",
"/. c #739A6D",
"(. c #71996C",
"_. c #6E9668",
":. c #6C9367",
"<. c #5F815A",
"[. c #70996B",
"}. c #6E9467",
"|. c #698F63",
"1. c #6B9166",
"2. c #5D8059",
"3. c #4D6A49",
"4. c #6A8F64",
"5. c #283926",
" . ",
" . . ",
" . + . ",
" . . . . @ # . ",
" $ % & @ @ * * = . . . ",
" - ; @ @ * * > , ' ) . . ! ~ . ",
" . % @ * * > { ] ^ / ( _ . . : < . ",
" [ & @ } | 1 2 3 4 5 6 . . 7 . ",
". 8 @ 9 0 a b c d e f . . g h . ",
". i j 0 k . . . l m . . . n o . ",
". p q h . . r . . . . s t . ",
". u v . . . . w . . x y z . ",
". A B . . . C D . . . E F G H . ",
". I J . . K L M N O P Q R S T . ",
" . U . . V W X Y Z ` ...+.@.#.. ",
" . $.%.. . &.*.=., -.;.>.,.'.).!.. ",
" . ~.{.. . ].^.c /.(.| _.:.<.. . ",
" . . . [.}.|.~ 1.2.3.. . ",
" . q 4.. . . . ",
" 5.).. ",
" . . ",
" . ",
" ",
" "};

Binary file not shown.

View file

@ -1,38 +1,270 @@
/* XPM */
static char *magick[] = {
/* columns rows colors chars-per-pixel */
"24 24 8 1",
" c #01260126010f",
". c #56004ef93434",
"X c #5c9c5c9c57c7",
"o c #8e8e7d7d4545",
"O c #a72aa72a95e6",
"+ c #d015d015b9c5",
"@ c #e90de90dd2e3",
"# c None",
/* pixels */
"########################",
"################ ######",
"############### o #####",
"########### ## o ######",
"######### O o #######",
"####### O@@ o ########",
"##### O+++ o #########",
"### O++++ o #########",
"## XX++++ . @.#########",
"## @.O+++ @@@@ ########",
"## @@.++++@@@@@O #######",
"## @@.O+O. .O@@ #######",
"## @XO+O.O++O.+@@ ######",
"## O++.O@@+OX.@@O #####",
"## X+++ +#+OOO @@@+ ####",
"## O++@ +@OOOO @@@O ####",
"### +@@.OOOOOX.@@ #####",
"### +@@O.OOOX + #######",
"####X@@@O. .X ########",
"#### @@@@@@@+ #######",
"##### @@@@@O ## ######",
"##### O@@+. #### #####",
"###### @O ####### #####",
"####### ###############"
};
static char * search_replace_xpm[] = {
"24 24 243 2",
" c None",
". c #000000",
"+ c #D3D3D3",
"@ c #F6F6F6",
"# c #FFFFFF",
"$ c #F9F9F9",
"% c #DADADA",
"& c #585858",
"* c #C7C7C7",
"= c #D1D1D1",
"- c #D6D6D6",
"; c #BBBBBB",
"> c #4B4B43",
", c #0A0A09",
"' c #47473F",
") c #B9B9B9",
"! c #FDFDFD",
"~ c #C0C0C0",
"{ c #E1E1E1",
"] c #F0F0F0",
"^ c #9B9B9B",
"/ c #353530",
"( c #8D8D7F",
"_ c #C4C4AF",
": c #CFCFB9",
"< c #9D9D8D",
"[ c #34342E",
"} c #A3A3A2",
"| c #F8F8F8",
"1 c #AFAFAE",
"2 c #E9E9E9",
"3 c #DFDFDF",
"4 c #8F8F8F",
"5 c #4C4C44",
"6 c #828274",
"7 c #B2B29F",
"8 c #C0C0AC",
"9 c #EDEDE7",
"0 c #E2E2D0",
"a c #9C9C8C",
"b c #46463F",
"c c #EAEAE9",
"d c #A2A2A1",
"e c #F4F4F4",
"f c #CFCFCF",
"g c #A2A2A2",
"h c #080807",
"i c #9C9C8F",
"j c #A6A695",
"k c #B5B5A2",
"l c #C3C3AE",
"m c #FBFBFA",
"n c #D5D5BF",
"o c #090908",
"p c #D5D5D4",
"q c #979797",
"r c #FAFAF9",
"s c #AEAEA3",
"t c #9B9B8B",
"u c #AAAA98",
"v c #B7B7A4",
"w c #DDDDD0",
"x c #CACAB5",
"y c #090909",
"z c #C1C1C0",
"A c #E1E0DF",
"B c #DCDBDA",
"C c #D3D2D0",
"D c #B7B7B5",
"E c #9E9D9C",
"F c #FBE73B",
"G c #F2B64D",
"H c #F7F7F6",
"I c #4C4C45",
"J c #CFCFCB",
"K c #ACACA1",
"L c #9F9F8E",
"M c #ADAD9B",
"N c #BABAA7",
"O c #929283",
"P c #474740",
"Q c #B9B8B8",
"R c #DCDCDA",
"S c #E1E1DF",
"T c #DAD9D7",
"U c #D7D7D5",
"V c #FCEB3D",
"W c #F7B544",
"X c #5D502C",
"Y c #F5F5F4",
"Z c #010101",
"` c #C3C3BE",
" . c #AEAEA2",
".. c #A0A090",
"+. c #878779",
"@. c #34342F",
"#. c #6D6D6D",
"$. c #B8B8B6",
"%. c #D9D9D7",
"&. c #EBEAE8",
"*. c #ECEBE9",
"=. c #FCE93B",
"-. c #F7B545",
";. c #6C5F34",
">. c #CACACA",
",. c #868585",
"'. c #414141",
"). c #757574",
"!. c #A7A7A5",
"~. c #BDBDBB",
"{. c #DCDBD9",
"]. c #E9E8E6",
"^. c #FAE43A",
"/. c #F4B244",
"(. c #605737",
"_. c #B5B5B3",
":. c #A9A9A8",
"<. c #A4A4A2",
"[. c #A2A1A0",
"}. c #A1A19F",
"|. c #A7A6A5",
"1. c #B5B4B3",
"2. c #CECDCB",
"3. c #E0DFDD",
"4. c #F9DF39",
"5. c #F3AF42",
"6. c #625637",
"7. c #66635C",
"8. c #787878",
"9. c #BCBCBA",
"0. c #B9B9B8",
"a. c #B7B6B5",
"b. c #B6B5B4",
"c. c #CFCECC",
"d. c #DFDFDD",
"e. c #F9DC38",
"f. c #EFB44D",
"g. c #665A32",
"h. c #9B9997",
"i. c #7C786F",
"j. c #6F6F6F",
"k. c #ACACAB",
"l. c #BABAB8",
"m. c #D2D2D0",
"n. c #D9D8D6",
"o. c #D7D6D4",
"p. c #DBDAD8",
"q. c #E1E0DE",
"r. c #F8D837",
"s. c #F0A93F",
"t. c #655930",
"u. c #9B9A97",
"v. c #ADACA9",
"w. c #8D897E",
"x. c #AAAAA8",
"y. c #B3B2B1",
"z. c #C9C8C7",
"A. c #E8E7E5",
"B. c #E6E5E2",
"C. c #F6D236",
"D. c #EDA43E",
"E. c #5C5130",
"F. c #989794",
"G. c #AAA9A6",
"H. c #C3C2BE",
"I. c #9A948A",
"J. c #BABABA",
"K. c #B1B1AF",
"L. c #C5C4C2",
"M. c #E4E3E1",
"N. c #E8E7E4",
"O. c #E0DFDC",
"P. c #D7AE74",
"Q. c #61562F",
"R. c #989895",
"S. c #A9A9A5",
"T. c #C2C1BD",
"U. c #D3D2CE",
"V. c #9F998E",
"W. c #CCCCCC",
"X. c #C7C6C3",
"Y. c #D7D6D3",
"Z. c #E2E1DE",
"`. c #E5E4E1",
" + c #E6E4E1",
".+ c #E2E1DD",
"++ c #4F4115",
"@+ c #C1C0BC",
"#+ c #D2D0CC",
"$+ c #D7D5D1",
"%+ c #9F998D",
"&+ c #E7E7E7",
"*+ c #DAD9D6",
"=+ c #E3E2DE",
"-+ c #E4E2DF",
";+ c #E4E3DF",
">+ c #E1E0DC",
",+ c #DADAD6",
"'+ c #969592",
")+ c #9A9996",
"!+ c #C2C0BC",
"~+ c #D3D1CD",
"{+ c #D8D6D2",
"]+ c #9E988D",
"^+ c #EBEBEB",
"/+ c #E1DFDC",
"(+ c #E0DFDB",
"_+ c #DEDDD9",
":+ c #D1D0CC",
"<+ c #B2B1AE",
"[+ c #A09F9D",
"}+ c #A1A19E",
"|+ c #AFAEAA",
"1+ c #C3C1BD",
"2+ c #D8D6D1",
"3+ c #9D978B",
"4+ c #E1DFDB",
"5+ c #E0DEDA",
"6+ c #DFDEDA",
"7+ c #DCDBD7",
"8+ c #D1CFCB",
"9+ c #B6B6B2",
"0+ c #B2B0AD",
"a+ c #BFBDBA",
"b+ c #CBC9C6",
"c+ c #D5D3CF",
"d+ c #DBD9D5",
"e+ c #D7D6D1",
"f+ c #D5D3CE",
"g+ c #9B958A",
"h+ c #999891",
"i+ c #A39E92",
"j+ c #A49E93",
"k+ c #A39D92",
"l+ c #A39D91",
"m+ c #A09B8F",
"n+ c #9D978C",
"o+ c #969186",
"p+ c #969085",
"q+ c #9B9589",
"r+ c #9E988C",
"s+ c #9B968A",
"t+ c #676359",
" ",
" . . . . . . . . . . . . . ",
" . + @ # # # # # # # # $ % & . ",
" . @ # # # # # # # # # # * = - . ",
" . # # # ; > , , ' ) ! ! ~ { ] ^ . ",
" . # # ; / ( _ : < [ } | 1 2 # 3 4 . ",
" . # # 5 6 7 8 9 0 a b c d ] # e f g . ",
" . # ! h i j k l m n o p q . . . . . . . ",
" . # r , s t u v w x y z A B C D E . F G . ",
" . # H I J K L M N O P Q R S T U . V W X . ",
" . # Y Z Z ` ...+.@.#.$.%.&.*.. =.-.;.. ",
" . >.Z Z ,.'., , > ).!.~.{.].. ^./.(.. . ",
" . Z Z Z _.:.<.[.}.|.1.2.3.. 4.5.6.. 7.. ",
" Z Z . 8._.9.0.a.b.~.c.d.. e.f.g.. h.i.. ",
" Z Z Z j.k.l.m.n.o.o.p.q.. r.s.t.. u.v.w.. ",
" Z Z 4 x.y.z.d.A.A.B.A.. C.D.E.. F.G.H.I.. ",
" . J.K.L.T M.N.N.B.O.. P.Q.. R.S.T.U.V.. ",
" . W.X.Y.Z.B.`. +.+. ++. . R.S.@+#+$+%+. ",
" . &+*+O.=+-+;+>+,+. . '+)+S.!+~+$+{+]+. ",
" . ^+O./+>+(+.+_+:+<+[+}+|+1+~+$+2+$+3+. ",
" . = 4+5+6+_+(+7+8+9+0+a+b+c+d+{+e+f+g+. ",
" . h+i+j+k+l+k+m+n+o+p+q+V.r+%+n+n+s+t+. ",
" . . . . . . . . . . . . . . . . . . ",
" "};

View file

@ -1,29 +1,30 @@
/* XPM */
static char * sep_xpm[] = {
"1 24 2 1",
" c None s backgroundToolBarColor",
". c #776758",
" ",
" ",
" ",
".",
".",
".",
".",
".",
".",
".",
".",
".",
".",
".",
".",
".",
".",
".",
".",
".",
".",
" ",
" ",
" "};
static char * separator_xpm[] = {
"2 24 3 1",
" c None",
". c #DBD3CB",
"+ c #FCFBFA",
" ",
" ",
" ",
".+",
".+",
".+",
".+",
".+",
".+",
".+",
".+",
".+",
".+",
".+",
".+",
".+",
".+",
".+",
".+",
".+",
".+",
" ",
" ",
" "};

Binary file not shown.

View file

@ -1,33 +1,180 @@
/* XPM */
static char * mail_show_xpm[] = {
/* columns rows colors chars-per-pixel */
"24 24 4 1",
" c None",
". c black",
"X c #ea03ea03d271",
"o c #a5d8a5d89550",
/* pixels */
" ",
" ",
" .................. ",
" .XXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .XoooooooooooooXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .XoooooooooooooXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .XooooooXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .XoooooooooXXXXXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXX. ",
" .................. ",
" ",
" ",
" "};
static char * show_xpm[] = {
"24 24 153 2",
" c None",
". c #000000",
"+ c #0E0E0E",
"@ c #282828",
"# c #616161",
"$ c #D3D3D3",
"% c #F6F6F6",
"& c #FFFFFF",
"* c #F9F9F9",
"= c #F9F9F8",
"- c #E7E7E7",
"; c #E4E4E4",
"> c #CDCDCD",
", c #1F1F1F",
"' c #EFEFEE",
") c #AFAFAE",
"! c #E9E9E9",
"~ c #B3B3B3",
"{ c #383838",
"] c #C1C1C1",
"^ c #B4B4B4",
"/ c #A4A4A3",
"( c #F0F0F0",
"_ c #F4F4F4",
": c #ABABAB",
"< c #050505",
"[ c #FEFEFE",
"} c #FDFDFD",
"| c #FCFCFB",
"1 c #FBFBFB",
"2 c #F2F2F2",
"3 c #9E9E9E",
"4 c #C0C0C0",
"5 c #BFBFBF",
"6 c #BFBFBE",
"7 c #BEBEBE",
"8 c #BDBDBC",
"9 c #BCBCBC",
"0 c #B9B9B9",
"a c #A0A0A0",
"b c #B9B7B6",
"c c #838381",
"d c #848381",
"e c #6A6763",
"f c #FAFAF9",
"g c #F8F8F7",
"h c #F8F7F6",
"i c #F3F2F1",
"j c #E0E0DF",
"k c #DCDAD8",
"l c #CACAC8",
"m c #B6B6B4",
"n c #72706C",
"o c #BCBCBB",
"p c #BCBBBA",
"q c #BBBAB9",
"r c #BABAB9",
"s c #B9B8B7",
"t c #B6B6B5",
"u c #B6B5B3",
"v c #E5E4E2",
"w c #C4C3C0",
"x c #817D74",
"y c #F7F6F5",
"z c #F6F6F4",
"A c #F5F4F3",
"B c #F4F3F2",
"C c #EBEAE8",
"D c #E1DFDC",
"E c #8B867D",
"F c #B9B9B8",
"G c #B8B8B6",
"H c #B7B7B6",
"I c #B5B5B3",
"J c #B4B3B2",
"K c #B3B3B2",
"L c #ADADAB",
"M c #A49E93",
"N c #F6F5F4",
"O c #F5F5F3",
"P c #F3F3F1",
"Q c #F2F2F0",
"R c #F1F1EF",
"S c #F1F0EE",
"T c #EEEDEB",
"U c #ECEBE9",
"V c #E7E6E3",
"W c #E2E1DF",
"X c #E4E3E0",
"Y c #B8B7B6",
"Z c #B5B4B3",
"` c #B3B2B0",
" . c #B0AFAD",
".. c #ADADAA",
"+. c #ADACAA",
"@. c #E2E1DE",
"#. c #F0F0EE",
"$. c #EFEFED",
"%. c #F0EFED",
"&. c #EFEEEC",
"*. c #E8E7E5",
"=. c #E5E4E1",
"-. c #B3B3B1",
";. c #AFAEAC",
">. c #E1E0DC",
",. c #E0DFDB",
"'. c #A19C90",
"). c #EDEDEB",
"!. c #EDECEA",
"~. c #E9E8E5",
"{. c #E6E4E1",
"]. c #E3E2DE",
"^. c #DFDEDA",
"/. c #DEDDD9",
"(. c #DDDCD8",
"_. c #A19B90",
":. c #B0B0AE",
"<. c #AFADAB",
"[. c #E4E2DF",
"}. c #E2E1DD",
"|. c #DCDBD7",
"1. c #E6E5E2",
"2. c #E5E4E0",
"3. c #E4E3DF",
"4. c #DBD9D5",
"5. c #D9D7D3",
"6. c #9F998D",
"7. c #E3E2DF",
"8. c #DDDBD7",
"9. c #DCDAD6",
"0. c #D8D6D2",
"a. c #9E988D",
"b. c #EDEDED",
"c. c #E1E0DD",
"d. c #E0DEDA",
"e. c #D8D6D1",
"f. c #D7D5D1",
"g. c #9D978B",
"h. c #D1D1D1",
"i. c #E1DFDB",
"j. c #DEDCD8",
"k. c #D7D6D1",
"l. c #D5D3CE",
"m. c #9B958A",
"n. c #999891",
"o. c #A39E92",
"p. c #A39D92",
"q. c #A39D91",
"r. c #A29C90",
"s. c #A19B8F",
"t. c #9D978C",
"u. c #9B968A",
"v. c #676359",
" ",
" . . . . . . . . . . . . . + @ # ",
" . $ % & & & & & & & & * = = - ; > , ",
" . % & & & & & & & & & & = ' ) ! & ~ { ",
" . & & ] ] ] ] ] ] ] ] ] ] ^ / ( & _ : < ",
" . & & & & & [ } | } | 1 = 2 3 . . . . . ",
" . & & ] 4 5 6 7 8 7 8 9 9 0 a b c d e . ",
" . & [ } | 1 f = g = g h = i j k l m n . ",
" . & | 7 8 9 o p q p q r s t u u v w x . ",
" . & f = g h y z A z A B B B B C D D E . ",
" . & g p q r F s G s G H I J K L D D M . ",
" . & N O B B P Q R Q R S T U V W X D M . ",
" . & B Y H m I m u m u Z ` ...+.@.D M . ",
" . & B i Q #.$.S %.S %.&.U *.=.X @.D M . ",
" . & #.I I Z J -.-.-.-.` .;.W >.>.,.'.. ",
" . & ).!.U U U C ~.C ~.~.=.{.].^./.(._.. ",
" . & C :.:. . . .;. .;.<.[.}.,.(.(.|._.. ",
" . & V 1.1.1.=.{.2.{.2.3.}.,./.|.4.5.6.. ",
" . * X 7.].[.3.}.].}.].>.>./.8.9.5.0.a.. ",
" . b.c.D >.,.}.,.>.,.>.^.d.8.9.5.e.f.g.. ",
" . h.i.d.^./.,./.d./.d.j.j.9.9.0.k.l.m.. ",
" . n.o.M p.q.p.'.r.'.r.s._.6.6.t.t.u.v.. ",
" . . . . . . . . . . . . . . . . . . ",
" "};

View file

@ -1,33 +1,61 @@
/* XPM */
static char * stock_sort_ascending_xpm[] = {
"23 23 7 1",
static char * sort_ascending_xpm[] = {
"24 24 34 1",
" c None",
". c #314E6C",
"+ c #000000",
"@ c #D1DECF",
"# c #7DA377",
"$ c #E4ECE3",
"% c #B3C9AF",
" ",
" .... ",
" .. .. ",
" .. .. ",
" ...... ",
" .. .. ",
" .. .. ",
" ",
" + ",
" ",
" + ",
" ",
" + + ",
" +@+ + ",
" +@##+ ++ ++++++ ",
" +###+$+ +++ ",
" +##%#+ +++ ",
" +%##+ +++ ",
" +$###+ +++ ",
" +++++++ ++++++ ",
" ",
" ",
" "};
". c #000000",
"+ c #FAFAFA",
"@ c #DDDFD2",
"# c #8B8E7C",
"$ c #E5E7DD",
"% c #84A77E",
"& c #586546",
"* c #81A57C",
"= c #EDEEE8",
"- c #81A57B",
"; c #ECEDE6",
"> c #7EA379",
", c #7DA377",
"' c #DDDFD3",
") c #7DA378",
"! c #C9D5C4",
"~ c #7EA378",
"{ c #7C7E73",
"] c #DFE7DE",
"^ c #CCDACA",
"/ c #90B08C",
"( c #76986D",
"_ c #6C855E",
": c #22231E",
"< c #3F443B",
"[ c #C8D8C7",
"} c #9DB89A",
"| c #76966B",
"1 c #3D4237",
"2 c #565B4E",
"3 c #9EBA9A",
"4 c #3C4237",
"5 c #5E6154",
" ",
" ",
" ",
" .... ",
" ..... .. .. ",
" .+@#. .. .. ",
" .$%&. ...... ",
" .$*&. .. .. ",
" .=-&. .. .. ",
" .;-&. ",
" .$*&. .. ",
" .$*&. .. ",
" .$>&. ",
" .$,&. .. ",
" .')&. .. ",
" ...!~&... ",
" .{]^/(_:. ...... ",
" .<[}|1. ... ",
" .234. ... ",
" .5. ... ",
" . ... ",
" ...... ",
" ",
" "};

View file

@ -1,33 +1,62 @@
/* XPM */
static char * stock_sort_descending_xpm[] = {
"24 23 7 1",
static char * sort_descending_xpm[] = {
"24 24 35 1",
" c None",
". c #000000",
"+ c #D1DECF",
"@ c #7DA377",
"# c #314E6C",
"$ c #E4ECE3",
"% c #B3C9AF",
"+ c #F8F0EE",
"@ c #E5B9BB",
"# c #895F63",
"$ c #E7BDBC",
"% c #C14B35",
"& c #922B34",
"* c #C24F3C",
"= c #942B32",
"- c #E8BFBE",
"; c #E8C2BF",
"> c #C34E3B",
", c #C24F3A",
"' c #C24D38",
") c #E5B8B9",
"! c #C24F38",
"~ c #E2B1AA",
"{ c #CC6B5A",
"] c #643C3E",
"^ c #E3B5AC",
"/ c #E3B3A9",
"( c #D07868",
"_ c #982E19",
": c #7E261F",
"< c #120C0F",
"[ c #2B1D1F",
"} c #DFAA9E",
"| c #D28575",
"1 c #7D2617",
"2 c #321C23",
"3 c #3B262E",
"4 c #D68A7A",
"5 c #321C21",
"6 c #3F2A35",
" ",
" ",
" ...... ",
" ... ",
" ... ",
" ... ",
" ... ",
" ...... ",
" . ",
" ",
" . ",
" ",
" . . ",
" .+. . ",
" .+@@. .. #### ",
" .@@@.$. ## ## ",
" .@@%@. ## ## ",
" .%@@. ###### ",
" .$@@@. ## ## ",
" ....... ## ## ",
" ",
" ...... ",
" ..... ... ",
" .+@#. ... ",
" .$%&. ... ",
" .$*=. ... ",
" .-*=. ...... ",
" .;>=. ",
" .$*=. .. ",
" .$*=. .. ",
" .$,=. ",
" .$'=. .. ",
" .)!=. .. ",
" ...~{=... ",
" .]^/(_:<. .... ",
" .[}|12. .. .. ",
" .345. .. .. ",
" .6. ...... ",
" . .. .. ",
" .. .. ",
" ",
" "};

Binary file not shown.

View file

@ -1,32 +0,0 @@
/* XPM */
static char * widen_xpm[] = {
/* columns rows colors chars-per-pixel */
"24 24 3 1",
" c None",
". c #8d4d97577838",
"X c black",
/* pixels */
" ",
" ",
" ",
" . . ",
" . . ",
" . . ",
" . . ",
" . . ",
" . XX XX . ",
" . XX XX . ",
" . XX XX . ",
" .XXXXXXXX XXXXXXXX. ",
" .XXXXXXXX XXXXXXXX. ",
" . XX XX . ",
" . XX XX . ",
" . XX XX . ",
" . . ",
" . . ",
" . . ",
" . . ",
" . . ",
" ",
" ",
" "};

159
etc/images/zoom-in.xpm Normal file
View file

@ -0,0 +1,159 @@
/* XPM */
static char * zoom_in_xpm[] = {
"24 24 132 2",
" c None",
". c #343434",
"+ c #2D2D2D",
"@ c #292929",
"# c #262626",
"$ c #2E2E2E",
"% c #303030",
"& c #737373",
"* c #A1A1A1",
"= c #B4B4B4",
"- c #B2B2B2",
"; c #9D9D9D",
"> c #676767",
", c #202020",
"' c #1C1C1C",
") c #272727",
"! c #616161",
"~ c #CACACA",
"{ c #CFCFCF",
"] c #D0D0D0",
"^ c #CECECE",
"/ c #C9C9C9",
"( c #C1C1C1",
"_ c #A7A7A7",
": c #4C4C4C",
"< c #131313",
"[ c #222222",
"} c #757575",
"| c #D3D3D3",
"1 c #DBDBDB",
"2 c #E7E7E7",
"3 c #EFEFEF",
"4 c #F3F3F3",
"5 c #F1F1F1",
"6 c #E5E5E5",
"7 c #D2D2D2",
"8 c #BCBCBC",
"9 c #5E5E5E",
"0 c #101010",
"a c #212121",
"b c #5B5B5B",
"c c #CCCCCC",
"d c #D7D7D7",
"e c #F5F5F5",
"f c #FAFAFA",
"g c #FBFBFB",
"h c #F8F8F8",
"i c #F0F0F0",
"j c #E1E1E1",
"k c #C2C2C2",
"l c #434343",
"m c #0F0F0F",
"n c #1F1F1F",
"o c #B9B9B9",
"p c #D6D6D6",
"q c #F9F9F9",
"r c #FDFDFD",
"s c #454545",
"t c #F2F2F2",
"u c #ECECEC",
"v c #E4E4E4",
"w c #ABABAB",
"x c #0E0E0E",
"y c #1B1B1B",
"z c #6D6D6D",
"A c #FEFEFE",
"B c #FCFCFC",
"C c #EEEEEE",
"D c #E6E6E6",
"E c #575757",
"F c #090909",
"G c #141414",
"H c #A8A8A8",
"I c #D8D8D8",
"J c #F6F6F6",
"K c #F4F4F4",
"L c #DCDCDC",
"M c #9B9B9B",
"N c #060606",
"O c #111111",
"P c #C5C5C5",
"Q c #DFDFDF",
"R c #444444",
"S c #424242",
"T c #EDEDED",
"U c #BFBFBF",
"V c #C6C6C6",
"W c #E3E3E3",
"X c #414141",
"Y c #EAEAEA",
"Z c #E0E0E0",
"` c #BABABA",
" . c #050505",
".. c #0B0B0B",
"+. c #A5A5A5",
"@. c #D1D1D1",
"#. c #939393",
"$. c #020202",
"%. c #0A0A0A",
"&. c #5F5F5F",
"*. c #D9D9D9",
"=. c #EBEBEB",
"-. c #E9E9E9",
";. c #D4D4D4",
">. c #000000",
",. c #E2E2E2",
"'. c #3F3F3F",
"). c #DADADA",
"!. c #CBCBCB",
"~. c #3B3B3B",
"{. c #D5D5D5",
"]. c #C8C8C8",
"^. c #BDBDBD",
"/. c #515151",
"(. c #C7C7C7",
"_. c #CDCDCD",
":. c #B8B8B8",
"<. c #030303",
"[. c #313131",
"}. c #999999",
"|. c #BBBBBB",
"1. c #B6B6B6",
"2. c #909090",
"3. c #2B2B2B",
"4. c #010101",
"5. c #7A7A7A",
"6. c #9A9A9A",
"7. c #777777",
"8. c #3C3C3C",
"9. c #686868",
"0. c #797979",
"a. c #3A3A3A",
" ",
" . + @ # # # ",
" $ % & * = - ; > , ' ",
" ) ! = ~ { ] ^ / ( _ : < ",
" [ } ~ | 1 2 3 4 5 6 7 8 9 0 ",
" a b c d 6 e f g f h e i j k l m ",
" n o p 2 q g r s s g h t u v w x ",
" y z 7 j e f r A s s B q e C D 1 E F ",
" G H I C J q B A s s g h K C D L M N ",
" O P Q 3 e R R s s s R l S T 6 1 U N ",
" x V W u t l R R R R l S X Y Z d ` . ",
" ..+.j 2 T 5 K J l l 4 3 u v 1 @.#.$. ",
" %.&.*.j D =.C 3 X X T -.v 1 ;.~ : >. ",
" %.= I L ,.6 D '.'.W Q ).;.!.* $. ",
" N ~.c 7 ;.).1 ).1 I {.] ].^.$ >. ",
" ./.k (.!.c _.!.!.].k :.s >. ",
" <.[.}.|.^.8 8 8 1.2.3.>.>.>. ",
" 4.<.X 5.6.6.7.8.>.>. >.>.>.>. ",
" >.>.>.>.>.>. , , >.>. ",
" >.9.. >.>. ",
" >.0.a.>.>. ",
" >.9.n >. ",
" >.>. ",
" "};

BIN
etc/images/zoom-out.pbm Normal file

Binary file not shown.

158
etc/images/zoom-out.xpm Normal file
View file

@ -0,0 +1,158 @@
/* XPM */
static char * zoom_out_xpm[] = {
"24 24 131 2",
" c None",
". c #343434",
"+ c #2D2D2D",
"@ c #292929",
"# c #262626",
"$ c #2E2E2E",
"% c #303030",
"& c #737373",
"* c #A1A1A1",
"= c #B4B4B4",
"- c #B2B2B2",
"; c #9D9D9D",
"> c #676767",
", c #202020",
"' c #1C1C1C",
") c #272727",
"! c #616161",
"~ c #CACACA",
"{ c #CFCFCF",
"] c #D0D0D0",
"^ c #CECECE",
"/ c #C9C9C9",
"( c #C1C1C1",
"_ c #A7A7A7",
": c #4C4C4C",
"< c #131313",
"[ c #222222",
"} c #757575",
"| c #D3D3D3",
"1 c #DBDBDB",
"2 c #E7E7E7",
"3 c #EFEFEF",
"4 c #F3F3F3",
"5 c #F1F1F1",
"6 c #E5E5E5",
"7 c #D2D2D2",
"8 c #BCBCBC",
"9 c #5E5E5E",
"0 c #101010",
"a c #212121",
"b c #5B5B5B",
"c c #CCCCCC",
"d c #D7D7D7",
"e c #F5F5F5",
"f c #FAFAFA",
"g c #FBFBFB",
"h c #F8F8F8",
"i c #F0F0F0",
"j c #E1E1E1",
"k c #C2C2C2",
"l c #434343",
"m c #0F0F0F",
"n c #1F1F1F",
"o c #B9B9B9",
"p c #D6D6D6",
"q c #F9F9F9",
"r c #FDFDFD",
"s c #FCFCFC",
"t c #F2F2F2",
"u c #ECECEC",
"v c #E4E4E4",
"w c #ABABAB",
"x c #0E0E0E",
"y c #1B1B1B",
"z c #6D6D6D",
"A c #FEFEFE",
"B c #EEEEEE",
"C c #E6E6E6",
"D c #575757",
"E c #090909",
"F c #141414",
"G c #A8A8A8",
"H c #D8D8D8",
"I c #F6F6F6",
"J c #F4F4F4",
"K c #DCDCDC",
"L c #9B9B9B",
"M c #060606",
"N c #111111",
"O c #C5C5C5",
"P c #DFDFDF",
"Q c #444444",
"R c #454545",
"S c #424242",
"T c #EDEDED",
"U c #BFBFBF",
"V c #C6C6C6",
"W c #E3E3E3",
"X c #414141",
"Y c #EAEAEA",
"Z c #E0E0E0",
"` c #BABABA",
" . c #050505",
".. c #0B0B0B",
"+. c #A5A5A5",
"@. c #D1D1D1",
"#. c #939393",
"$. c #020202",
"%. c #0A0A0A",
"&. c #5F5F5F",
"*. c #D9D9D9",
"=. c #EBEBEB",
"-. c #E9E9E9",
";. c #D4D4D4",
">. c #000000",
",. c #E2E2E2",
"'. c #DADADA",
"). c #CBCBCB",
"!. c #3B3B3B",
"~. c #D5D5D5",
"{. c #C8C8C8",
"]. c #BDBDBD",
"^. c #515151",
"/. c #C7C7C7",
"(. c #CDCDCD",
"_. c #B8B8B8",
":. c #030303",
"<. c #313131",
"[. c #999999",
"}. c #BBBBBB",
"|. c #B6B6B6",
"1. c #909090",
"2. c #2B2B2B",
"3. c #010101",
"4. c #7A7A7A",
"5. c #9A9A9A",
"6. c #777777",
"7. c #3C3C3C",
"8. c #686868",
"9. c #797979",
"0. c #3A3A3A",
" ",
" . + @ # # # ",
" $ % & * = - ; > , ' ",
" ) ! = ~ { ] ^ / ( _ : < ",
" [ } ~ | 1 2 3 4 5 6 7 8 9 0 ",
" a b c d 6 e f g f h e i j k l m ",
" n o p 2 q g r r s g h t u v w x ",
" y z 7 j e f r A A r s q e B C 1 D E ",
" F G H B I q s A A r g h J B C K L M ",
" N O P 3 e Q Q R R R Q l S T 6 1 U M ",
" x V W u t l Q Q Q Q l S X Y Z d ` . ",
" ..+.j 2 T 5 J I I e 4 3 u v 1 @.#.$. ",
" %.&.*.j C =.B 3 3 B T -.v 1 ;.~ : >. ",
" %.= H K ,.6 C C 2 W P '.;.).* $. ",
" M !.c 7 ;.'.1 '.1 H ~.] {.].$ >. ",
" .^.k /.).c (.).).{.k _.R >. ",
" :.<.[.}.].8 8 8 |.1.2.>.>.>. ",
" 3.:.X 4.5.5.6.7.>.>. >.>.>.>. ",
" >.>.>.>.>.>. , , >.>. ",
" >.8.. >.>. ",
" >.9.0.>.>. ",
" >.8.n >. ",
" >.>. ",
" "};

View file

@ -18,7 +18,7 @@
#
# Please e-mail changes to terminfo@thyrsus.com; the old termcap@berkeley.edu
# address is no longer valid. The latest version can always be found at
# <http://www.tuxedo.org/terminfo>.
# <http://catb.org/esr/terminfo/termtypes.ti.gz>.
#
# PURPOSE OF THIS FILE:
#
@ -34,7 +34,7 @@
# termcap/terminfo versions.
#
# Pointers to related resources (including the ncurses distribution) may
# be found at <http://www.tuxedo.org/terminfo>.
# be found at <http://catb.org/esr/terminfo/termtypes.ti.gz>.
#
# INTERNATIONALIZATION:
#
@ -2200,7 +2200,7 @@ crt|crt-vt220|CRT 2.3 emulating VT220:\
:st=\EH:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:\
:tc=vt220:tc=ecma+color:
# PuTTY 0.51 (released 14 December 2000)
# PuTTY 0.58 (released 05 April 2005)
# http://www.chiark.greenend.org.uk/~sgtatham/putty/
#
# This emulates vt100 + vt52 (plus a few vt220 features: ech, SRM, DECTCEM, as

View file

@ -1,3 +1,10 @@
2006-03-27 Paul Eggert <eggert@cs.ucla.edu>
* b2m.c: Include <limits.h>.
(TM_YEAR_IN_ASCTIME_RANGE): New macro.
(main): Check for out-of-range time stamps.
* fakemail.c: Likewise.
2006-03-18 Andre Spiegel <spiegel@gnu.org>
* vcdiff: Use "echo" as a default for $echo, otherwise we'll

View file

@ -26,6 +26,7 @@
#undef static
#endif
#include <limits.h>
#include <stdio.h>
#include <time.h>
#include <sys/types.h>
@ -44,6 +45,17 @@
typedef int logical;
/* True if TM_YEAR is a struct tm's tm_year value that is acceptable
to asctime. Glibc asctime returns a useful string unless TM_YEAR
is nearly INT_MAX, but the C Standard lets C libraries overrun a
buffer if TM_YEAR needs more than 4 bytes. */
#ifdef __GLIBC__
# define TM_YEAR_IN_ASCTIME_RANGE(tm_year) ((tm_year) <= INT_MAX - 1900)
#else
# define TM_YEAR_IN_ASCTIME_RANGE(tm_year) \
(-999 - 1900 <= (tm_year) && (tm_year) <= 9999 - 1900)
#endif
/*
* A `struct linebuffer' is a structure which holds a line of text.
* `readline' reads a line from a stream into a linebuffer and works
@ -87,6 +99,7 @@ main (argc, argv)
{
logical labels_saved, printing, header;
time_t ltoday;
struct tm *tm;
char *labels, *p, *today;
struct linebuffer data;
@ -131,7 +144,13 @@ main (argc, argv)
labels_saved = printing = header = FALSE;
ltoday = time (0);
today = ctime (&ltoday);
/* Convert to a string, checking for out-of-range time stamps.
Don't use 'ctime', as that might dump core if the hardware clock
is set to a bizarre value. */
tm = localtime (&ltoday);
if (! (tm && TM_YEAR_IN_ASCTIME_RANGE (tm->tm_year)))
fatal ("current time is out of range");
today = asctime (tm);
data.size = 200;
data.buffer = xnew (200, char);

View file

@ -53,6 +53,7 @@ main ()
#include "ntlib.h"
#endif
#include <limits.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
@ -70,6 +71,17 @@ main ()
#define true 1
#define false 0
/* True if TM_YEAR is a struct tm's tm_year value that is acceptable
to asctime. Glibc asctime returns a useful string unless TM_YEAR
is nearly INT_MAX, but the C Standard lets C libraries overrun a
buffer if TM_YEAR needs more than 4 bytes. */
#ifdef __GLIBC__
# define TM_YEAR_IN_ASCTIME_RANGE(tm_year) ((tm_year) <= INT_MAX - 1900)
#else
# define TM_YEAR_IN_ASCTIME_RANGE(tm_year) \
(-999 - 1900 <= (tm_year) && (tm_year) <= 9999 - 1900)
#endif
/* Various lists */
struct line_record
@ -354,6 +366,7 @@ make_file_preface ()
{
char *the_string, *temp;
long idiotic_interface;
struct tm *tm;
long prefix_length;
long user_length;
long date_length;
@ -361,7 +374,13 @@ make_file_preface ()
prefix_length = strlen (FROM_PREFIX);
time (&idiotic_interface);
the_date = ctime (&idiotic_interface);
/* Convert to a string, checking for out-of-range time stamps.
Don't use 'ctime', as that might dump core if the hardware clock
is set to a bizarre value. */
tm = localtime (&idiotic_interface);
if (! (tm && TM_YEAR_IN_ASCTIME_RANGE (tm->tm_year)))
fatal ("current time is out of range", 0);
the_date = asctime (tm);
/* the_date has an unwanted newline at the end */
date_length = strlen (the_date) - 1;
the_date[date_length] = '\0';

View file

@ -1,3 +1,134 @@
2006-03-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* term/mac-win.el (mac-system-coding-system): Define and use after
Mac-specific coding systems are ready.
2006-03-27 Romain Francoise <romain@orebokech.com>
* net/rcirc.el (rcirc-connect): Add autoload cookie.
* ldefs-boot.el: Update.
2006-03-27 Daiki Ueno <ueno@unixuser.org>
* pgg-gpg.el: Invoke gpg asynchronous, to avoid querying for
passphrases when it is not needed.
(pgg-gpg-use-agent): Add, to hard code that pgg shouldn't wait for
passphrase stuff from gpg, should only be necessary when you use
gpg with a smartcard.
2006-03-27 Nick Roberts <nickrob@snap.net.nz>
* comint.el (comint-dynamic-list-completions): Allow user to
select *Completions* buffer.
2006-03-27 Carsten Dominik <dominik@science.uva.nl>
* textmodes/org.el (org-get-level-face): Fix bug with level
counting.
2006-03-26 Andreas Schwab <schwab@suse.de>
* progmodes/gud.el (gdb): Only complain about multiple debugging
when the gdb process is still running.
2006-03-25 Eli Zaretskii <eliz@gnu.org>
* mail/rmail.el (tool-bar-map): Defvar it.
(rmail-tool-bar-map): Tool-bar buttons for Rmail.
(rmail-perm-variables): Make rmail-tool-bar-map a local variable.
2006-03-25 Sven Joachim <svenjoac@gmx.de> (tiny change)
* help.el (print-help-return-message): Suggest to use
display-buffer instead of switch-to-buffer-other-window to restore
the previous window without selecting it.
2006-03-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* frame.el (select-frame-by-name): Call x-focus-frame also when
window-system is mac.
* term/mac-win.el: Adjust Courier font specifications in
x-fixed-font-alist.
(mac-select-convert-to-string): Use utf-16be-mac or utf-16le-mac
when directly encoding to UTF-16 in native byte order, no BOM.
2006-03-25 Kim F. Storm <storm@cua.dk>
* emulation/cua-base.el (cua-rectangle-mark-key): New defcustom.
(cua--init-keymaps): Use it instead of fixed C-return.
(cua-mode): Set after it.
* emulation/cua-rect.el (cua--init-rectangles): Use
cua-rectangle-mark-key instead of fixed C-return.
2006-03-25 Nick Roberts <nickrob@snap.net.nz>
* progmodes/gdb-ui.el (gdba): Revert 2006-03-10 change for case of
"run" in .gdbinit.
(gdb-var-create-regexp): Remove "^done" prefix for gdb-mi.el.
2006-03-24 Romain Francoise <romain@orebokech.com>
* files.el (ctl-x-5-map): Really bind C-x 5 C-o to
`display-buffer-other-frame'.
2006-03-24 Kim F. Storm <storm@cua.dk>
* apropos.el (apropos-synonyms): Add selection => region.
2006-03-24 Nick Roberts <nickrob@snap.net.nz>
* progmodes/gdb-ui.el (gdb-var-create-regexp)
(gdb-var-list-children-regexp, gdb-var-update-regexp)
(gdb-var-list-children-regexp-1, gdb-var-update-regexp-1)
(gdb-data-list-register-values-regexp)
(gdb-stack-list-locals-regexp, gdb-stack-list-locals-handler):
Future proof against new fields being added to MI output.
(gdb-send): Don't treat backslashes for program input as
continuations.
(gdb-assembler-handler): Don't use window-start for this handler.
(gdb-frame-handler): Don't change to hollow arrow if overlay
arrow doesn't move to new frame.
2006-03-24 Nick Roberts <nickrob@snap.net.nz>
* progmodes/gdb-ui.el (gdb-continuation): Declare earlier to
prevent compiler warnings.
(gdb-stopped): Check for gud-last-last-frame (case: signal).
(breakpoint-disabled): Make lighter for contrast with overlay
arrow.
(gdb-assembler-custom): Use hollow-right-triangle for assembler
buffer too.
2006-03-23 Reiner Steib <reinersteib+gmane@imap.cc>
* pgg-gpg.el (pgg-gpg-update-agent): Check for
make-network-process, so we can use the same code in Gnus v5-10
too and have this file fully synchronized with that release.
2006-03-23 Romain Francoise <romain@orebokech.com>
* ibuf-ext.el (ibuffer-read-filter-group-name):
Use `ibuffer-generate-filter-groups' to make completion list match
the filter groups that are really displayed in the Ibuffer buffer.
(ibuffer-generate-filter-groups): Add new args noempty, nodefault.
2006-03-23 Kenichi Handa <handa@m17n.org>
* international/mule-cmds.el (sort-coding-systems): Describe that
the argument is modified in docstring.
2006-03-22 Sascha Wilde <wilde@sha-bang.de>
* pgg-gpg.el (pgg-gpg-use-agent): Disable by default.
(pgg-gpg-update-agent): New function.
(pgg-gpg-use-agent-p): New function.
(pgg-gpg-process-region, pgg-gpg-encrypt-region)
(pgg-gpg-encrypt-symmetric-region, pgg-gpg-decrypt-region)
(pgg-gpg-sign-region): Use it.
2006-03-21 Chong Yidong <cyd@stupidchicken.com>
* cus-edit.el (custom-face-set): Call custom-push-theme before
@ -22,7 +153,7 @@
2006-03-21 Carsten Dominik <dominik@science.uva.nl>
* textmodes/org.el: (org-open-at-point): Fixed bug in wiki-style
* textmodes/org.el (org-open-at-point): Fix bug in wiki-style
bracket links.
2006-03-21 Kim F. Storm <storm@cua.dk>
@ -187,7 +318,7 @@
(gdb-force-mode-line-update): New function.
(gdb-resync, gdb-starting, gdb-signal, gdb-exited, gdb-stopped)
(gdb-exited): Use them.
(gdb-signal): New fuction.
(gdb-signal): New function.
(gdb-annotation-rules): Provide a rule for it.
2006-03-16 Kenichi Handa <handa@m17n.org>
@ -223,7 +354,7 @@
2006-03-15 Bill Wohler <wohler@newt.com>
* image.el (image-load-path-for-library): Fix example by not
recommending that one binds image-load-path. Just defvar it to
recommending that one binds image-load-path. Just defvar it to
placate compiler and only use it if previously defined.
2006-03-15 Carsten Dominik <dominik@science.uva.nl>

View file

@ -168,7 +168,8 @@ If value is `verbose', the computed score is shown for each match."
(defvar apropos-synonyms '(
("find" "open" "edit")
("kill" "cut")
("yank" "paste"))
("yank" "paste")
("region" "selection"))
"List of synonyms known by apropos.
Each element is a list of words where the first word is the standard emacs
term, and the rest of the words are alternative terms.")

View file

@ -2942,10 +2942,9 @@ Typing SPC flushes the help buffer."
(progn
(mouse-choose-completion first)
(set-window-configuration comint-dynamic-list-completions-config))
(unless (eq first ?\s)
(setq unread-command-events (listify-key-sequence key)))
(unless (eq first ?\t)
(set-window-configuration comint-dynamic-list-completions-config))))))
(if (eq first ?\s)
(set-window-configuration comint-dynamic-list-completions-config)
(setq unread-command-events (listify-key-sequence key)))))))
(defun comint-get-next-from-history ()

View file

@ -51,7 +51,8 @@ files.")
"<Daniel.Pfeiffer@Informatik.START.dbp.de>")
("David Gillespie" "Dave Gillespie")
("David K,Ae(Bgedal" "David K..edal")
("David M. Koppelman" "David M. Koppelman, Koppel@Ee.Lsu.Edu")
("David M. Koppelman" "David M. Koppelman, Koppel@Ee.Lsu.Edu"
"David Koppelman")
("David M. Smith" "David Smith" "David M Smith")
("Ed L. Cashin" "Ed L Cashin")
("Edward M. Reingold" "Ed Reingold" "Edward M Reingold"
@ -79,6 +80,7 @@ files.")
("Jay K. Adams" "jka@ece.cmu.edu" "Jay Adams")
("J,Ai(Br,At(Bme Marant" "J,bi(Br,bt(Bme Marant" "Jerome Marant")
("Jens-Ulrik Holger Petersen" "Jens-Ulrik Petersen")
("Jeremy Bertram Maitin-Shepard" "Jeremy Maitin-Shepard")
("Johan Bockg,Ae(Brd" "Johan Bockgard")
("John W. Eaton" "John Eaton")
("Jonathan I. Kamens" "Jonathan Kamens")
@ -163,7 +165,7 @@ listed.")
'("external-lisp"
"lock" "share-lib" "local-lisp"
"noleim-Makefile.in"
"NEWS" "PROBLEMS" "FAQ")
"NEWS" "PROBLEMS" "FAQ" "AUTHORS")
"List of files and directories to ignore.
Changes to files in this list are not listed.")

View file

@ -370,6 +370,22 @@ and after the region marked by the rectangle to search."
(other :tag "Enabled" t))
:group 'cua)
(defcustom cua-rectangle-mark-key [(control return)]
"Global key used to toggle the cua rectangle mark."
:set #'(lambda (symbol value)
(set symbol value)
(when (and (boundp 'cua--keymaps-initalized)
cua--keymaps-initalized)
(define-key cua-global-keymap value
'cua-set-rectangle-mark)
(when (boundp 'cua--rectangle-keymap)
(define-key cua--rectangle-keymap value
'cua-clear-rectangle-mark)
(define-key cua--region-keymap value
'cua-toggle-rectangle-mark))))
:type 'key-sequence
:group 'cua)
(defcustom cua-rectangle-modifier-key 'meta
"*Modifier key used for rectangle commands bindings.
On non-window systems, always use the meta modifier.
@ -1275,7 +1291,7 @@ If ARG is the atom `-', scroll upward by nearly full screen."
cua-rectangle-modifier-key
'meta))
;; C-return always toggles rectangle mark
(define-key cua-global-keymap [(control return)] 'cua-set-rectangle-mark)
(define-key cua-global-keymap cua-rectangle-mark-key 'cua-set-rectangle-mark)
(unless (eq cua--rectangle-modifier-key 'meta)
(cua--M/H-key cua-global-keymap ?\s 'cua-set-rectangle-mark)
(define-key cua-global-keymap
@ -1401,7 +1417,8 @@ only want to highlight the region when it is selected using a
shifted movement key, set `cua-highlight-region-shift-only'."
:global t
:group 'cua
:set-after '(cua-enable-modeline-indications cua-rectangle-modifier-key)
:set-after '(cua-enable-modeline-indications
cua-rectangle-mark-key cua-rectangle-modifier-key)
:require 'cua-base
:link '(emacs-commentary-link "cua-base.el")
(setq mark-even-if-inactive t)

View file

@ -1413,8 +1413,8 @@ With prefix arg, indent to that column."
(cua--M/H-key cua--rectangle-keymap key cmd))
(defun cua--init-rectangles ()
(define-key cua--rectangle-keymap [(control return)] 'cua-clear-rectangle-mark)
(define-key cua--region-keymap [(control return)] 'cua-toggle-rectangle-mark)
(define-key cua--rectangle-keymap cua-rectangle-mark-key 'cua-clear-rectangle-mark)
(define-key cua--region-keymap cua-rectangle-mark-key 'cua-toggle-rectangle-mark)
(unless (eq cua--rectangle-modifier-key 'meta)
(cua--rect-M/H-key ?\s 'cua-clear-rectangle-mark)
(cua--M/H-key cua--region-keymap ?\s 'cua-toggle-rectangle-mark))

View file

@ -1,8 +1,37 @@
2006-02-19 Michael Olson <mwolson@gnu.org>
2006-03-26 Michael Olson <mwolson@gnu.org>
* erc-capab.el (erc-capab-send-identify-messages): Make sure some
parameters are strings before using them. Thanks to Alejandro
Benitez for the report.
* erc.el (erc-header-line): New face that will be used to colorize
the text of the header-line, provided that
`erc-header-line-face-method' is non-nil.
(erc-prompt-face): Fix formatting.
(erc-header-line-face-method): New option that determines the
method used for colorizing header-line text. This may be a
function, nil, or non-nil.
(erc-update-mode-line-buffer): Use the aforementioned option and
face to colorize the header-line text, if that is what the user
wants.
(erc-send-input): If flood control is not activated, don't split
the input line.
2006-03-25 Michael Olson <mwolson@gnu.org>
* erc.el (erc-cmd-QUOTE): Install patch from Aravind Gottipati
that fixes the case where there is no leading whitespace. Only
remove the first space character, though.
* erc-identd.el (erc-identd-start): Fix a bug by making sure that
erc-identd-process is set properly.
(erc-identd-start, erc-identd-stop): Add autoload cookies.
(erc-identd-start): Pass :host parameter so this works with Emacs
22.
2006-03-09 Diane Murray <disumu@x3y2z1.net>
* erc-button.el (erc-button-keymap): Use <backtab> rather than
<C-tab> for `erc-button-previous' as it is a more standard key
binding for this type of function.
2006-02-19 Michael Olson <mwolson@gnu.org>
* erc.el (erc-version-string): Release ERC 5.1.2.

View file

@ -216,7 +216,7 @@ PAR is a number of a regexp grouping whose text will be passed to
(define-key map (kbd "<button2>") 'erc-button-click-button)
(define-key map (kbd "<mouse-2>") 'erc-button-click-button))
(define-key map (kbd "TAB") 'erc-button-next)
(define-key map (kbd "<C-tab>") 'erc-button-previous)
(define-key map (kbd "<backtab>") 'erc-button-previous)
(set-keymap-parent map erc-mode-map)
map)
"Local keymap for ERC buttons.")

View file

@ -46,6 +46,7 @@
system-type (user-login-name)))
(process-send-eof erc-identd-process)))))
;;;###autoload
(defun erc-identd-start (&optional port)
"Start an identd server listening to port 8113.
Port 113 (auth) will need to be redirected to port 8113 on your
@ -60,15 +61,14 @@ system."
(setq port (string-to-number port))))
(if erc-identd-process
(delete-process erc-identd-process))
(if (fboundp 'make-network-process)
(setq erc-identd-process
(make-network-process :name "identd"
:buffer (generate-new-buffer "identd")
:service port :server t :noquery t
:filter 'erc-identd-filter))
(open-network-stream-server "identd" (generate-new-buffer "identd")
port nil 'erc-identd-filter)))
(setq erc-identd-process
(make-network-process :name "identd"
:buffer (generate-new-buffer "identd")
:host 'local :service port
:server t :noquery t
:filter 'erc-identd-filter)))
;;;###autoload
(defun erc-identd-stop (&rest ignore)
(interactive)
(when erc-identd-process

View file

@ -1116,12 +1116,19 @@ which the local user typed."
"ERC face used for messages you receive in the main erc buffer."
:group 'erc-faces)
(defface erc-header-line
'((t (:foreground "grey20" :background "grey90")))
"ERC face used for the header line.
This will only be used if `erc-header-line-face-method' is non-nil."
:group 'erc-faces)
(defface erc-input-face '((t (:foreground "brown")))
"ERC face used for your input."
:group 'erc-faces)
(defface erc-prompt-face
'((t (:bold t :foreground "Black" :background"lightBlue2")))
'((t (:bold t :foreground "Black" :background "lightBlue2")))
"ERC face for the prompt."
:group 'erc-faces)
@ -2996,7 +3003,7 @@ Otherwise leave the channel indicated by LINE."
All the text given as argument is sent to the sever as unmodified,
just as you provided it. Use this command with care!"
(cond
((string-match "^\\s-\\(.+\\)$" line)
((string-match "^ ?\\(.+\\)$" line)
(erc-server-send (match-string 1 line)))
(t nil)))
(put 'erc-cmd-QUOTE 'do-not-parse-args t)
@ -4850,7 +4857,8 @@ This returns non-nil only iff we actually send anything."
(erc-display-msg line)
(erc-process-input-line (concat line "\n")
(null erc-flood-protect) t))
(erc-split-line line)))
(or (and erc-flood-protect (erc-split-line line))
(list line))))
(split-string str "\n"))
;; Insert the prompt along with the command.
(erc-display-command str)
@ -5616,6 +5624,17 @@ when you move point into the header line."
:group 'erc-mode-line-and-header
:type 'boolean)
(defcustom erc-header-line-face-method nil
"Determine what method to use when colorizing the header line text.
If nil, don't colorize the header text.
If given a function, call it and use the resulting face name.
Otherwise, use the `erc-header-line' face."
:group 'erc-mode-line-and-header
:type '(choice (const :tag "Don't colorize" nil)
(const :tag "Use the erc-header-line face" t)
(function :tag "Call a function")))
(defcustom erc-show-channel-key-p t
"Show the the channel key in the header line."
:group 'erc-paranoia
@ -5722,7 +5741,13 @@ if `erc-away' is non-nil."
((erc-server-process-alive)
"")
(t
": CLOSED"))))
": CLOSED")))
(face (cond ((eq erc-header-line-face-method nil)
nil)
((functionp erc-header-line-face-method)
(funcall erc-header-line-face-method))
(t
erc-header-line))))
(cond ((featurep 'xemacs)
(setq modeline-buffer-identification
(list (format-spec erc-mode-line-format spec)))
@ -5746,7 +5771,10 @@ if `erc-away' is non-nil."
(erc-replace-regexp-in-string
"%"
"%%"
(erc-propertize header 'help-echo help-echo)))))
(if face
(erc-propertize header 'help-echo help-echo
'face face)
(erc-propertize header 'help-echo help-echo))))))
(t (setq header-line-format header))))))
(if (featurep 'xemacs)
(redraw-modeline)

View file

@ -5168,7 +5168,7 @@ only these files will be asked to be saved."
(define-key ctl-x-5-map "f" 'find-file-other-frame)
(define-key ctl-x-5-map "\C-f" 'find-file-other-frame)
(define-key ctl-x-5-map "r" 'find-file-read-only-other-frame)
(define-key ctl-x-4-map "\C-o" 'display-buffer-other-frame)
(define-key ctl-x-5-map "\C-o" 'display-buffer-other-frame)
;; arch-tag: bc68d3ea-19ca-468b-aac6-3a4a7766101f
;;; files.el ends here

View file

@ -1,3 +1,28 @@
2006-03-23 Katsumi Yamaoka <yamaoka@jpl.org>
* mml.el (mml-insert-mime): Ignore cached contents of
message/external-body part.
* mm-decode.el (mm-get-part): Add optional 'no-cache' argument.
(mm-insert-part): Ditto.
2006-03-22 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-sum.el (gnus-map-articles): Don't funcall symbol macro.
Reported by Ralf Wachinger <rwachinger@gmx.de>.
2006-03-23 Kenichi Handa <handa@m17n.org>
* rfc2231.el (rfc2231-encode-string): Use mm-disable-multibyte
instead of set-buffer-multibyte.
2006-03-23 Kenichi Handa <handa@m17n.org>
* rfc2231.el (rfc2231-decode-encoded-string): Work on unibyte
buffer and then decode the buffer text if necessary.
(rfc2231-encode-string): Be sure to work on multibyte buffer at
first, and after mm-encode-body, change the buffer to unibyte.
2006-03-21 Daniel Pittman <daniel@rimspace.net>
* nnimap.el (nnimap-request-update-info-internal): Optimize.

View file

@ -10619,7 +10619,9 @@ Returns nil if no thread was there to be shown."
(defun gnus-map-articles (predicate articles)
"Map PREDICATE over ARTICLES and return non-nil if any predicate is non-nil."
(apply 'gnus-or (mapcar predicate
(mapcar 'gnus-summary-article-header articles))))
(mapcar (lambda (number)
(gnus-summary-article-header number))
articles))))
(defun gnus-summary-hide-all-threads (&optional predicate)
"Hide all thread subtrees.

View file

@ -1103,9 +1103,12 @@ external if displayed external."
(put 'mm-with-part 'lisp-indent-function 1)
(put 'mm-with-part 'edebug-form-spec '(body))
(defun mm-get-part (handle)
"Return the contents of HANDLE as a string."
(if (equal (mm-handle-media-type handle) "message/external-body")
(defun mm-get-part (handle &optional no-cache)
"Return the contents of HANDLE as a string.
If NO-CACHE is non-nil, cached contents of a message/external-body part
are ignored."
(if (and (not no-cache)
(equal (mm-handle-media-type handle) "message/external-body"))
(progn
(unless (mm-handle-cache handle)
(mm-extern-cache-contents handle))
@ -1114,8 +1117,10 @@ external if displayed external."
(mm-with-part handle
(buffer-string))))
(defun mm-insert-part (handle)
"Insert the contents of HANDLE in the current buffer."
(defun mm-insert-part (handle &optional no-cache)
"Insert the contents of HANDLE in the current buffer.
If NO-CACHE is non-nil, cached contents of a message/external-body part
are ignored."
(save-excursion
(insert
(cond ((eq (mail-content-type-get (mm-handle-type handle) 'charset)
@ -1123,9 +1128,9 @@ external if displayed external."
(with-current-buffer (mm-handle-buffer handle)
(buffer-string)))
((mm-multibyte-p)
(mm-string-as-multibyte (mm-get-part handle)))
(mm-string-as-multibyte (mm-get-part handle no-cache)))
(t
(mm-get-part handle))))))
(mm-get-part handle no-cache))))))
(defun mm-file-name-delete-whitespace (file-name)
"Remove all whitespace characters from FILE-NAME."

View file

@ -793,7 +793,7 @@ If HANDLES is non-nil, use it instead reparsing the buffer."
(unless (setq textp (equal (mm-handle-media-supertype handle) "text"))
(save-excursion
(set-buffer (setq buffer (mml-generate-new-buffer " *mml*")))
(mm-insert-part handle)
(mm-insert-part handle 'no-cache)
(if (setq mmlp (equal (mm-handle-media-type handle)
"message/rfc822"))
(mime-to-mml)))))

View file

@ -227,7 +227,7 @@ These look like:
(let ((coding-system (mm-charset-to-coding-system (match-string 2 string)))
;;(language (match-string 3 string))
(value (match-string 4 string)))
(mm-with-multibyte-buffer
(mm-with-unibyte-buffer
(insert value)
(goto-char (point-min))
(while (search-forward "%" nil t)
@ -236,9 +236,9 @@ These look like:
(string-to-number (buffer-substring (point) (+ (point) 2)) 16)
(delete-region (1- (point)) (+ (point) 2)))))
;; Decode using the charset, if any.
(unless (memq coding-system '(nil ascii))
(mm-decode-coding-region (point-min) (point-max) coding-system))
(buffer-string))))
(if (memq coding-system '(nil ascii))
(buffer-string)
(mm-decode-coding-string (buffer-string) coding-system)))))
(defun rfc2231-encode-string (param value)
"Return and PARAM=VALUE string encoded according to RFC2231.
@ -252,7 +252,7 @@ the result of this function."
;; Don't make lines exceeding 76 column.
(limit (- 74 (length param)))
spacep encodep charsetp charset broken)
(with-temp-buffer
(mm-with-multibyte-buffer
(insert value)
(goto-char (point-min))
(while (not (eobp))
@ -268,6 +268,7 @@ the result of this function."
(forward-char 1))
(when charsetp
(setq charset (mm-encode-body)))
(mm-disable-multibyte)
(cond
((or encodep charsetp
(progn

View file

@ -143,7 +143,7 @@ specifies what to do when the user exits the help buffer."
((not (one-window-p t))
(setq help-return-method
(cons (selected-window) 'quit-window))
"Type \\[switch-to-buffer-other-window] RET to restore the other window.")
"Type \\[display-buffer] RET to restore the other window.")
(pop-up-windows
(setq help-return-method (cons (selected-window) t))
"Type \\[delete-other-windows] to remove help window.")

View file

@ -511,9 +511,11 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
buf
(cdr filter))))))))))
(defun ibuffer-generate-filter-groups (bmarklist)
(let ((filter-group-alist (append ibuffer-filter-groups
(list (cons "Default" nil)))))
(defun ibuffer-generate-filter-groups (bmarklist &optional noempty nodefault)
(let ((filter-group-alist (if nodefault
ibuffer-filter-groups
(append ibuffer-filter-groups
(list (cons "Default" nil))))))
;; (dolist (hidden ibuffer-hidden-filter-groups)
;; (setq filter-group-alist (ibuffer-delete-alist
;; hidden filter-group-alist)))
@ -529,11 +531,13 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
(aset vec i hip-crowd)
(incf i)
(setq bmarklist lamers))))
(let ((ret nil))
(let (ret)
(dotimes (j i ret)
(push (cons (car (nth j filter-group-alist))
(aref vec j))
ret))))))
(let ((bufs (aref vec j)))
(unless (and noempty (null bufs))
(push (cons (car (nth j filter-group-alist))
bufs)
ret))))))))
;;;###autoload
(defun ibuffer-filters-to-filter-group (name)
@ -575,11 +579,19 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
(defun ibuffer-read-filter-group-name (msg &optional nodefault noerror)
(when (and (not noerror) (null ibuffer-filter-groups))
(error "No filter groups active"))
(let ((groups (mapcar #'car ibuffer-filter-groups)))
(completing-read msg (if nodefault
groups
(cons "Default" groups))
nil t)))
;; `ibuffer-generate-filter-groups' returns all non-hidden filter
;; groups, possibly excluding empty groups or Default.
;; We add `ibuffer-hidden-filter-groups' to the list, excluding
;; Default if necessary.
(completing-read msg (nconc
(ibuffer-generate-filter-groups
(ibuffer-current-state-list)
(not ibuffer-show-empty-filter-groups)
nodefault)
(if nodefault
(remove "Default" ibuffer-hidden-filter-groups)
ibuffer-hidden-filter-groups))
nil t))
;;;###autoload
(defun ibuffer-decompose-filter-group (group)

View file

@ -419,6 +419,7 @@ The function `sort-coding-systems' use it.")
(defun sort-coding-systems (codings)
"Sort coding system list CODINGS by a priority of each coding system.
Returns the sorted list. CODINGS is modified by side effects.
If a coding system is most preferred, it has the highest priority.
Otherwise, a coding system corresponds to some MIME charset has higher

File diff suppressed because it is too large Load diff

View file

@ -51,6 +51,7 @@
(defvar rsf-beep)
(defvar rsf-sleep-after-message)
(defvar total-messages)
(defvar tool-bar-map)
; These variables now declared in paths.el.
;(defvar rmail-spool-directory "/usr/spool/mail/"
@ -1127,6 +1128,38 @@ Note: it means the file has no messages in it.\n\^_")))
(define-key rmail-mode-map [menu-bar move next]
'("Next" . rmail-next-message))
;; Rmail toolbar
(defvar rmail-tool-bar-map
(if (display-graphic-p)
(let ((map (make-sparse-keymap)))
(tool-bar-local-item-from-menu 'rmail-get-new-mail "mail/inbox"
map rmail-mode-map)
(tool-bar-local-item-from-menu 'rmail-next-undeleted-message "right-arrow"
map rmail-mode-map)
(tool-bar-local-item-from-menu 'rmail-previous-undeleted-message "left-arrow"
map rmail-mode-map)
(tool-bar-local-item-from-menu 'rmail-search "search"
map rmail-mode-map)
(tool-bar-local-item-from-menu 'rmail-input "open"
map rmail-mode-map)
(tool-bar-local-item-from-menu 'rmail-mail "mail/compose"
map rmail-mode-map)
(tool-bar-local-item-from-menu 'rmail-reply "mail/reply-all"
map rmail-mode-map)
(tool-bar-local-item-from-menu 'rmail-forward "mail/forward"
map rmail-mode-map)
(tool-bar-local-item-from-menu 'rmail-delete-forward "close"
map rmail-mode-map)
(tool-bar-local-item-from-menu 'rmail-output "mail/move"
map rmail-mode-map)
(tool-bar-local-item-from-menu 'rmail-output-body-to-file "mail/save"
map rmail-mode-map)
(tool-bar-local-item-from-menu 'rmail-expunge "delete"
map rmail-mode-map)
map)))
;; Rmail mode is suitable only for specially formatted data.
(put 'rmail-mode 'mode-class 'special)
@ -1254,6 +1287,7 @@ Instead, these commands are available:
(concat rmail-spool-directory
(user-login-name)))))))
(make-local-variable 'rmail-keywords)
(set (make-local-variable 'tool-bar-map) rmail-tool-bar-map)
;; this gets generated as needed
(setq rmail-keywords nil))

View file

@ -1,3 +1,112 @@
2006-03-30 Bill Wohler <wohler@newt.com>
* mh-e.el (mh-defcustom, mh-defface, mh-defgroup): Macros to
remove new :package-version keyword in older settings.
(customize-package-emacs-version-alist): Add MH-E version to Emacs
version mappings.
(mh-e, mh-alias, mh-folder, mh-folder-selection)
(mh-identity, mh-inc, mh-junk, mh-letter, mh-ranges)
(mh-scan-line-formats, mh-search, mh-sending-mail)
(mh-sequences, mh-show, mh-speedbar, mh-thread, mh-tool-bar)
(mh-hooks, mh-faces): Add :package-version keyword to these
groups.
(mh-alias-completion-ignore-case-flag)
(mh-alias-expand-aliases-flag, mh-alias-flash-on-comma)
(mh-alias-insert-file, mh-alias-insertion-location)
(mh-alias-local-users, mh-alias-local-users-prefix)
(mh-alias-passwd-gecos-comma-separator-flag)
(mh-new-messages-folders, mh-ticked-messages-folders)
(mh-large-folder, mh-recenter-summary-flag)
(mh-recursive-folders-flag, mh-sortm-args)
(mh-default-folder-for-message-function)
(mh-default-folder-list, mh-default-folder-must-exist-flag)
(mh-default-folder-prefix, mh-identity-list)
(mh-auto-fields-list, mh-auto-fields-prompt-flag)
(mh-identity-default, mh-identity-handlers, mh-inc-prog)
(mh-inc-spool-list, mh-junk-background, mh-junk-disposition)
(mh-junk-program, mh-compose-insertion)
(mh-compose-skipped-header-fields)
(mh-compose-space-does-completion-flag)
(mh-delete-yanked-msg-window-flag)
(mh-extract-from-attribution-verb, mh-ins-buf-prefix)
(mh-letter-complete-function, mh-letter-fill-column)
(mh-mml-method-default, mh-signature-file-name)
(mh-signature-separator-flag, mh-x-face-file)
(mh-yank-behavior, mh-interpret-number-as-range-flag)
(mh-adaptive-cmd-note-flag, mh-scan-format-file, mh-scan-prog)
(mh-search-program, mh-compose-forward-as-mime-flag)
(mh-compose-letter-function, mh-compose-prompt-flag)
(mh-forward-subject-format, mh-insert-x-mailer-flag)
(mh-redist-full-contents-flag, mh-reply-default-reply-to)
(mh-reply-show-message-flag)
(mh-refile-preserves-sequences-flag, mh-tick-seq)
(mh-update-sequences-after-mh-show-flag)
(mh-bury-show-buffer-flag, mh-clean-message-header-flag)
(mh-decode-mime-flag)
(mh-display-buttons-for-alternatives-flag)
(mh-display-buttons-for-inline-parts-flag)
(mh-do-not-confirm-flag, mh-fetch-x-image-url)
(mh-graphical-smileys-flag, mh-graphical-emphasis-flag)
(mh-highlight-citation-style, mh-invisible-header-fields)
(mh-invisible-header-fields-default, mh-lpr-command-format)
(mh-max-inline-image-height, mh-max-inline-image-width)
(mh-mhl-format-file, mh-mime-save-parts-default-directory)
(mh-print-background-flag, mh-show-maximum-size)
(mh-show-use-xface-flag, mh-store-default-directory)
(mh-summary-height, mh-speed-update-interval)
(mh-show-threads-flag, mh-tool-bar-search-function): Add
:package-version keyword to these options.
(mh-after-commands-processed-hook)
(mh-alias-reloaded-hook, mh-before-commands-processed-hook)
(mh-before-quit-hook, mh-before-send-letter-hook)
(mh-delete-msg-hook, mh-find-path-hook, mh-folder-mode-hook)
(mh-forward-hook, mh-inc-folder-hook)
(mh-insert-signature-hook)
(mh-kill-folder-suppress-prompt-hooks, mh-letter-mode-hook)
(mh-mh-to-mime-hook, mh-search-mode-hook, mh-quit-hook)
(mh-refile-msg-hook, mh-show-hook, mh-show-mode-hook)
(mh-unseen-updated-hook): Add :package-version keyword to these
hooks.
(mh-min-colors-defined-flag)
(mh-folder-address, mh-folder-body, mh-folder-cur-msg-number)
(mh-folder-date, mh-folder-deleted, mh-folder-followup)
(mh-folder-msg-number, mh-folder-refiled)
(mh-folder-sent-to-me-hint, mh-folder-sent-to-me-sender)
(mh-folder-subject, mh-folder-tick, mh-folder-to)
(mh-letter-header-field, mh-search-folder, mh-show-cc)
(mh-show-date, mh-show-from, mh-show-header, mh-show-pgg-bad)
(mh-show-pgg-good, mh-show-pgg-unknown, mh-show-signature)
(mh-show-subject, mh-show-to, mh-show-xface)
(mh-speedbar-folder, mh-speedbar-folder-with-unseen-messages)
(mh-speedbar-selected-folder)
(mh-speedbar-selected-folder-with-unseen-messages): : Add
:package-version keyword to these faces.
* mh-tool-bar.el (mh-tool-bar-define): Added commented-out
:package-version keywords.
2006-03-28 Bill Wohler <wohler@newt.com>
* mh-tool-bar.el: Use clipboard-kill-region,
clipboard-kill-ring-save, and clipboard-yank instead of undo,
kill-region, and menu-bar-kill-ring-save respectively. In
MH-Letter mode, move save-buffer and mh-fully-kill-draft icons in
front of mh-compose-insertion to be consistent with other mailers,
such as Evolution. In MH-Folder mode, move vanilla reply icon to
the left of the other reply icons. Use mail/inbox icon instead of
mail, next-page instead of page-down, delete instead of close,
mail/move instead of mail/refile, data-save instead of execute,
mail/flag-for-followup instead of highlight, contact instead of
mail/alias, open instead of fld-open, zoom-out instead of widen.
* mh-folder.el (mh-execute-commands, mh-rescan-folder):
* mh-funcs.el (mh-pack-folder): Sync docstrings with manual.
2006-03-27 Eric Ding <ericding@alum.mit.edu>
* mh-e.el (mh-invisible-header-fields-internal): Add entries
"X-AOL-IP:" and "X-MB-Message-" (AOL WebMail)
2006-03-19 Bill Wohler <wohler@newt.com>
* mh-comp.el (mh-reply): Sync docstring with manual.

File diff suppressed because it is too large Load diff

View file

@ -722,7 +722,7 @@ Many MH-E commands that may affect the numbering of the
messages (such as \\[mh-rescan-folder] or \\[mh-pack-folder])
will ask if you want to process refiles or deletes first and then
either run this command for you or undo the pending refiles and
deletes, which are lost.
deletes.
This function runs `mh-before-commands-processed-hook' before the
commands are processed and `mh-after-commands-processed-hook'
@ -1130,7 +1130,7 @@ interactive use.
This command will ask if you want to process refiles or deletes first
and then either run \\[mh-execute-commands] for you or undo the
pending refiles and deletes, which are lost.
pending refiles and deletes.
In a program, the processing of outstanding commands is not performed
if DONT-EXEC-PENDING is non-nil."

View file

@ -170,7 +170,7 @@ in interactive use.
This command will ask if you want to process refiles or deletes
first and then either run \\[mh-execute-commands] for you or undo
the pending refiles and deletes, which are lost."
the pending refiles and deletes."
(interactive (list (if current-prefix-arg
(mh-read-range "Scan" mh-current-folder t nil t
mh-interpret-number-as-range-flag)

View file

@ -321,7 +321,9 @@ where,
:group 'mh-tool-bar :set 'mh-tool-bar-folder-buttons-set
:type '(set ,@(loop for x in folder-buttons
for y in folder-docs
collect `(const :tag ,y ,x))))
collect `(const :tag ,y ,x)))
;;:package-version '(MH-E "7.1")
)
(custom-declare-variable
'mh-tool-bar-letter-buttons
'(list ,@(mapcar (lambda (x) `(quote ,x)) letter-defaults))
@ -329,20 +331,26 @@ where,
:group 'mh-tool-bar :set 'mh-tool-bar-letter-buttons-set
:type '(set ,@(loop for x in letter-buttons
for y in letter-docs
collect `(const :tag ,y ,x)))))))
collect `(const :tag ,y ,x)))
;;:package-version '(MH-E "7.1")
))))
(mh-tool-bar-define
((:folder mh-inc-folder mh-mime-save-parts mh-previous-undeleted-msg
mh-page-msg mh-next-undeleted-msg mh-delete-msg mh-refile-msg
((:folder mh-inc-folder mh-mime-save-parts
mh-previous-undeleted-msg mh-page-msg
mh-next-undeleted-msg mh-delete-msg mh-refile-msg
mh-undo mh-execute-commands mh-toggle-tick mh-reply
mh-alias-grab-from-field mh-send mh-rescan-folder
mh-tool-bar-search mh-visit-folder
mh-tool-bar-customize mh-tool-bar-folder-help mh-widen)
(:letter mh-send-letter mh-compose-insertion ispell-message save-buffer
undo kill-region menu-bar-kill-ring-save yank mh-fully-kill-draft
mh-tool-bar-customize mh-tool-bar-letter-help))
mh-tool-bar-customize mh-tool-bar-folder-help
mh-widen)
(:letter mh-send-letter save-buffer mh-fully-kill-draft
mh-compose-insertion ispell-message undo
clipboard-kill-region clipboard-kill-ring-save
clipboard-yank mh-tool-bar-customize
mh-tool-bar-letter-help))
;; Folder/Show buffer buttons
(mh-inc-folder (folder) "mail" "Incorporate new mail in Inbox
(mh-inc-folder (folder) "mail/inbox" "Incorporate new mail in Inbox
This button runs `mh-inc-folder' which drags any
new mail into your Inbox folder")
(mh-mime-save-parts (folder) "attach" "Save MIME parts from this message
@ -351,30 +359,30 @@ different parts into separate files")
(mh-previous-undeleted-msg (folder) "left-arrow"
"Go to the previous undeleted message
This button runs `mh-previous-undeleted-msg'")
(mh-page-msg (folder) "page-down" "Page the current message forwards
(mh-page-msg (folder) "next-page" "Page the current message forwards
This button runs `mh-page-msg'")
(mh-next-undeleted-msg (folder) "right-arrow" "Go to the next undeleted message
The button runs `mh-next-undeleted-msg'")
(mh-delete-msg (folder) "close" "Mark this message for deletion
(mh-delete-msg (folder) "delete" "Mark this message for deletion
This button runs `mh-delete-msg'")
(mh-refile-msg (folder) "mail/refile" "Refile this message
(mh-refile-msg (folder) "mail/move" "Refile this message
This button runs `mh-refile-msg'")
(mh-undo (folder) "undo" "Undo last operation
This button runs `undo'"
(mh-outstanding-commands-p))
(mh-execute-commands (folder) "execute" "Perform moves and deletes
(mh-execute-commands (folder) "data-save" "Perform moves and deletes
This button runs `mh-execute-commands'"
(mh-outstanding-commands-p))
(mh-toggle-tick (folder) "highlight" "Toggle tick mark
(mh-toggle-tick (folder) "mail/flag-for-followup" "Toggle tick mark
This button runs `mh-toggle-tick'")
(mh-toggle-showing (folder) "show" "Toggle showing message
This button runs `mh-toggle-showing'")
(mh-reply (folder) "mail/reply" "Reply to this message
This button runs `mh-reply'")
(mh-tool-bar-reply-from (folder) "mail/reply-from" "Reply to \"from\"")
(mh-tool-bar-reply-to (folder) "mail/reply-to" "Reply to \"to\"")
(mh-tool-bar-reply-all (folder) "mail/reply-all" "Reply to \"all\"")
(mh-reply (folder) "mail/reply" "Reply to this message
This button runs `mh-reply'")
(mh-alias-grab-from-field (folder) "mail/alias" "Grab From alias
(mh-alias-grab-from-field (folder) "contact" "Create alias for sender
This button runs `mh-alias-grab-from-field'"
(and (mh-extract-from-header-value)
(not (mh-alias-for-from-p))))
@ -386,19 +394,22 @@ This button runs `mh-rescan-folder'")
This button runs `mh-pack-folder'")
(mh-tool-bar-search (folder) "search" "Search
This button runs `mh-tool-bar-search-function'")
(mh-visit-folder (folder) "fld-open" "Visit other folder
(mh-visit-folder (folder) "open" "Visit other folder
This button runs `mh-visit-folder'")
;; Letter buffer buttons
(mh-send-letter (letter) "mail/send" "Send this letter")
(mh-compose-insertion (letter) "attach" "Insert attachment")
(ispell-message (letter) "spell" "Check spelling")
(save-buffer (letter) "save" "Save current buffer to its file"
(buffer-modified-p))
(mh-fully-kill-draft (letter) "delete" "Kill this draft")
(mh-compose-insertion (letter) "attach" "Insert attachment")
(ispell-message (letter) "spell" "Check spelling")
(undo (letter) "undo" "Undo last operation")
(kill-region (letter) "cut" "Cut (kill) text in region")
(menu-bar-kill-ring-save (letter) "copy" "Copy text in region")
(yank (letter) "paste" "Paste (yank) text cut or copied earlier")
(mh-fully-kill-draft (letter) "close" "Kill this draft")
(clipboard-kill-region (letter) "cut"
"Cut (kill) text in region")
(clipboard-kill-ring-save (letter) "copy"
"Copy text in region")
(clipboard-yank (letter) "paste"
"Paste (yank) text cut or copied earlier")
;; Common buttons
(mh-tool-bar-customize (folder letter) "preferences" "MH-E Preferences")
(mh-tool-bar-folder-help (folder) "help" "Help! (general help)
@ -406,7 +417,7 @@ This button runs `info'")
(mh-tool-bar-letter-help (letter) "help" "Help! (general help)
This button runs `info'")
;; Folder narrowed to sequence buttons
(mh-widen (sequence) "widen" "Widen from the sequence
(mh-widen (sequence) "zoom-out" "Widen from the sequence
This button runs `mh-widen'"))
(provide 'mh-tool-bar)

View file

@ -290,6 +290,8 @@ If ARG is non-nil, prompt for a server to connect to."
(defvar rcirc-topic nil)
(defvar rcirc-keepalive-timer nil)
(defvar rcirc-last-server-message-time nil)
;;;###autoload
(defun rcirc-connect (&optional server port nick user-name full-name startup-channels)
(add-hook 'window-configuration-change-hook
'rcirc-window-configuration-change)

View file

@ -4,7 +4,7 @@
;; 2005, 2006 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Symmetric encryption added by: Sascha Wilde <wilde@sha-bang.de>
;; Symmetric encryption support added by: Sascha Wilde <wilde@sha-bang.de>
;; Created: 1999/10/28
;; Keywords: PGP, OpenPGP, GnuPG
@ -28,7 +28,6 @@
;;; Code:
(eval-when-compile
(require 'cl) ; for gpg macros
(require 'pgg))
(defgroup pgg-gpg ()
@ -51,94 +50,191 @@
:type '(choice (const :tag "New `--recipient' option" "--recipient")
(const :tag "Old `--remote-user' option" "--remote-user")))
(defcustom pgg-gpg-use-agent (if (getenv "GPG_AGENT_INFO") t nil)
"Whether to use gnupg agent for key caching.
By default, it will be enabled iff the environment variable
\"GPG_AGENT_INFO\" is set."
(defcustom pgg-gpg-use-agent nil
"Whether to use gnupg agent for key caching."
:group 'pgg-gpg
:type 'boolean)
(defvar pgg-gpg-user-id nil
"GnuPG ID of your default identity.")
(defun pgg-gpg-process-region (start end passphrase program args)
(defvar pgg-gpg-user-id-alist nil
"An alist mapping from key ID to user ID.")
(defvar pgg-gpg-read-point nil)
(defvar pgg-gpg-output-file-name nil)
(defvar pgg-gpg-pending-status-list nil)
(defvar pgg-gpg-key-id nil)
(defvar pgg-gpg-passphrase nil)
(defvar pgg-gpg-debug nil)
(defun pgg-gpg-start-process (args)
(let* ((output-file-name (pgg-make-temp-file "pgg-output"))
(args
`("--status-fd" "2"
,@(if pgg-gpg-use-agent '("--use-agent")
(if passphrase '("--passphrase-fd" "0")))
"--yes" ; overwrite
"--output" ,output-file-name
,@pgg-gpg-extra-args ,@args))
(output-buffer pgg-output-buffer)
(errors-buffer pgg-errors-buffer)
(orig-mode (default-file-modes))
(append (list "--no-tty"
"--status-fd" "1"
"--command-fd" "0"
"--yes" ; overwrite
"--output" output-file-name)
(if pgg-gpg-use-agent '("--use-agent"))
pgg-gpg-extra-args
args))
(coding-system-for-write 'binary)
(process-connection-type nil)
exit-status)
(with-current-buffer (get-buffer-create errors-buffer)
(buffer-disable-undo)
(erase-buffer))
(orig-mode (default-file-modes))
default-enable-multibyte-characters
(buffer (generate-new-buffer " *pgg-gpg*"))
process)
(with-current-buffer buffer
(make-local-variable 'pgg-gpg-read-point)
(setq pgg-gpg-read-point (point-min))
(make-local-variable 'pgg-gpg-output-file-name)
(setq pgg-gpg-output-file-name output-file-name)
(make-local-variable 'pgg-gpg-pending-status-list)
(setq pgg-gpg-pending-status-list nil)
(make-local-variable 'pgg-gpg-key-id)
(setq pgg-gpg-key-id nil)
(make-local-variable 'pgg-gpg-passphrase)
(setq pgg-gpg-passphrase nil))
(unwind-protect
(progn
(set-default-file-modes 448)
(let ((coding-system-for-write 'binary)
(input (buffer-substring-no-properties start end))
(default-enable-multibyte-characters nil))
(with-temp-buffer
(when passphrase
(insert passphrase "\n"))
(insert input)
(setq exit-status
(apply #'call-process-region (point-min) (point-max) program
nil errors-buffer nil args))))
(with-current-buffer (get-buffer-create output-buffer)
(buffer-disable-undo)
(erase-buffer)
(if (file-exists-p output-file-name)
(let ((coding-system-for-read (if pgg-text-mode
'raw-text
'binary)))
(insert-file-contents output-file-name)))
(set-buffer errors-buffer)
(if (not (equal exit-status 0))
(insert (format "\n%s exited abnormally: '%s'\n"
program exit-status)))))
(if (file-exists-p output-file-name)
(delete-file output-file-name))
(set-default-file-modes orig-mode))))
(setq process
(apply #'start-process "pgg-gpg" buffer pgg-gpg-program args)))
(set-default-file-modes orig-mode))
(set-process-filter process #'pgg-gpg-process-filter)
(set-process-sentinel process #'pgg-gpg-process-sentinel)
process))
(defun pgg-gpg-possibly-cache-passphrase (passphrase &optional key notruncate)
(if (and passphrase
pgg-cache-passphrase
(progn
(goto-char (point-min))
(re-search-forward "^\\[GNUPG:] \\(GOOD_PASSPHRASE\\>\\)\\|\\(SIG_CREATED\\)" nil t)))
(pgg-add-passphrase-to-cache
(or key
(progn
(goto-char (point-min))
(if (re-search-forward
"^\\[GNUPG:] NEED_PASSPHRASE\\(_PIN\\)? \\w+ ?\\w*" nil t)
(substring (match-string 0) -8))))
passphrase
notruncate)))
(defun pgg-gpg-process-filter (process input)
(save-excursion
(if pgg-gpg-debug
(save-excursion
(set-buffer (get-buffer-create " *pgg-gpg-debug*"))
(goto-char (point-max))
(insert input)))
(set-buffer (process-buffer process))
(goto-char (point-max))
(insert input)
(goto-char pgg-gpg-read-point)
(beginning-of-line)
(while (looking-at ".*\n") ;the input line is finished
(save-excursion
(if (looking-at "\\[GNUPG:] \\([A-Z_]+\\)\\>.*")
(let* ((status (match-string 1))
(symbol (intern-soft (concat "pgg-gpg-status-" status)))
(entry (member status pgg-gpg-pending-status-list)))
(if entry
(setq pgg-gpg-pending-status-list
(delq (car entry)
pgg-gpg-pending-status-list)))
(if (and symbol
(fboundp symbol))
(funcall symbol process (buffer-substring (match-beginning 1)
(match-end 0)))))))
(forward-line))
(setq pgg-gpg-read-point (point))))
(defvar pgg-gpg-all-secret-keys 'unknown)
(defun pgg-gpg-process-sentinel (process status)
(set-process-filter process nil)
(save-excursion
;; Copy the contents of process-buffer to pgg-errors-buffer.
(set-buffer (get-buffer-create pgg-errors-buffer))
(buffer-disable-undo)
(erase-buffer)
(when (buffer-live-p (process-buffer process))
(insert-buffer-substring (process-buffer process))
(goto-char (point-min))
(delete-matching-lines "^\\[GNUPG:] ")
(goto-char (point-min))
(while (re-search-forward "^gpg: " nil t)
(replace-match "")))
;; Read the contents of the output file to pgg-output-buffer.
(set-buffer (get-buffer-create pgg-output-buffer))
(buffer-disable-undo)
(erase-buffer)
(if (and (equal status "finished\n")
(buffer-live-p (process-buffer process)))
(let ((output-file-name (with-current-buffer (process-buffer process)
pgg-gpg-output-file-name)))
(when (file-exists-p output-file-name)
(let ((coding-system-for-read (if pgg-text-mode
'raw-text
'binary)))
(insert-file-contents output-file-name))
(delete-file output-file-name))))))
(defun pgg-gpg-lookup-all-secret-keys ()
"Return all secret keys present in secret key ring."
(when (eq pgg-gpg-all-secret-keys 'unknown)
(setq pgg-gpg-all-secret-keys '())
(let ((args (list "--with-colons" "--no-greeting" "--batch"
"--list-secret-keys")))
(with-temp-buffer
(apply #'call-process pgg-gpg-program nil t nil args)
(defun pgg-gpg-wait-for-status (process status-list)
(with-current-buffer (process-buffer process)
(setq pgg-gpg-pending-status-list status-list)
(while (and (eq (process-status process) 'run)
pgg-gpg-pending-status-list)
(accept-process-output process 1))))
(defun pgg-gpg-wait-for-completion (process &optional status-list)
(process-send-eof process)
(while (eq (process-status process) 'run)
(sit-for 0.1))
(save-excursion
(set-buffer (process-buffer process))
(setq status-list (copy-sequence status-list))
(let ((pointer status-list))
(while pointer
(goto-char (point-min))
(while (re-search-forward
"^\\(sec\\|pub\\):[^:]*:[^:]*:[^:]*:\\([^:]*\\)" nil t)
(push (substring (match-string 2) 8)
pgg-gpg-all-secret-keys)))))
pgg-gpg-all-secret-keys)
(unless (re-search-forward
(concat "^\\[GNUPG:] " (car pointer) "\\>")
nil t)
(setq status-list (delq (car pointer) status-list)))
(setq pointer (cdr pointer))))
(kill-buffer (process-buffer process))
status-list))
(defun pgg-gpg-status-USERID_HINT (process line)
(if (string-match "\\`USERID_HINT \\([^ ]+\\) \\(.*\\)" line)
(let* ((key-id (match-string 1 line))
(user-id (match-string 2 line))
(entry (assoc key-id pgg-gpg-user-id-alist)))
(if entry
(setcdr entry user-id)
(setq pgg-gpg-user-id-alist (cons (cons key-id user-id)
pgg-gpg-user-id-alist))))))
(defun pgg-gpg-status-NEED_PASSPHRASE (process line)
(if (string-match "\\`NEED_PASSPHRASE \\([^ ]+\\)" line)
(setq pgg-gpg-key-id (match-string 1 line))))
(defun pgg-gpg-status-NEED_PASSPHRASE_SYM (process line)
(setq pgg-gpg-key-id 'SYM))
(defun pgg-gpg-status-NEED_PASSPHRASE_PIN (process line)
(setq pgg-gpg-key-id 'PIN))
(defun pgg-gpg-status-GET_HIDDEN (process line)
(let ((entry (assoc pgg-gpg-key-id pgg-gpg-user-id-alist)))
(if (setq pgg-gpg-passphrase
(if (eq pgg-gpg-key-id 'SYM)
(pgg-read-passphrase
"GnuPG passphrase for symmetric encryption: ")
(pgg-read-passphrase
(format "GnuPG passphrase for %s: "
(if entry
(cdr entry)
pgg-gpg-key-id))
(if (eq pgg-gpg-key-id 'PIN)
"PIN"
pgg-gpg-key-id))))
(process-send-string process (concat pgg-gpg-passphrase "\n")))))
(defun pgg-gpg-status-GOOD_PASSPHRASE (process line)
(when (and pgg-gpg-passphrase
(stringp pgg-gpg-key-id))
(pgg-add-passphrase-to-cache pgg-gpg-key-id pgg-gpg-passphrase)
(setq pgg-gpg-passphrase nil)))
(defun pgg-gpg-status-BAD_PASSPHRASE (process line)
(when pgg-gpg-passphrase
(fillarray pgg-gpg-passphrase 0)
(setq pgg-gpg-passphrase nil)))
(defun pgg-gpg-lookup-key (string &optional type)
"Search keys associated with STRING."
@ -152,52 +248,15 @@ By default, it will be enabled iff the environment variable
nil t)
(substring (match-string 2) 8)))))
(defun pgg-gpg-lookup-key-owner (string &optional all)
"Search keys associated with STRING and return owner of identified key.
The value may be just the bare key id, or it may be a combination of the
user name associated with the key and the key id, with the key id enclosed
in \"<...>\" angle brackets.
Optional ALL non-nil means search all keys, including secret keys."
(let ((args (list "--with-colons" "--no-greeting" "--batch"
(if all "--list-secret-keys" "--list-keys")
string))
(key-regexp (concat "^\\(sec\\|pub\\)"
":[^:]*:[^:]*:[^:]*:\\([^:]*\\):[^:]*"
":[^:]*:[^:]*:[^:]*:\\([^:]*\\):")))
(with-temp-buffer
(apply #'call-process pgg-gpg-program nil t nil args)
(goto-char (point-min))
(if (re-search-forward key-regexp
nil t)
(match-string 3)))))
(defun pgg-gpg-key-id-from-key-owner (key-owner)
(cond ((not key-owner) nil)
;; Extract bare key id from outermost paired angle brackets, if any:
((string-match "[^<]*<\\(.+\\)>[^>]*" key-owner)
(substring key-owner (match-beginning 1)(match-end 1)))
(key-owner)))
(defun pgg-gpg-encrypt-region (start end recipients &optional sign passphrase)
"Encrypt the current region between START and END.
If optional argument SIGN is non-nil, do a combined sign and encrypt.
If optional PASSPHRASE is not specified, it will be obtained from the
passphrase cache or user."
If optional argument SIGN is non-nil, do a combined sign and encrypt."
(let* ((pgg-gpg-user-id (or pgg-gpg-user-id pgg-default-user-id))
(passphrase (or passphrase
(when (and sign (not pgg-gpg-use-agent))
(pgg-read-passphrase
(format "GnuPG passphrase for %s: "
pgg-gpg-user-id)
pgg-gpg-user-id))))
(args
(append
(list "--batch" "--armor" "--always-trust" "--encrypt")
(if pgg-text-mode (list "--textmode"))
'("--armor" "--always-trust" "--encrypt")
(if pgg-text-mode '("--textmode"))
(if sign (list "--sign" "--local-user" pgg-gpg-user-id))
(if recipients
(apply #'nconc
@ -205,156 +264,71 @@ passphrase cache or user."
(list pgg-gpg-recipient-argument rcpt))
(append recipients
(if pgg-encrypt-for-me
(list pgg-gpg-user-id)))))))))
(pgg-gpg-process-region start end passphrase pgg-gpg-program args)
(when sign
(with-current-buffer pgg-errors-buffer
;; Possibly cache passphrase under, e.g. "jas", for future sign.
(pgg-gpg-possibly-cache-passphrase passphrase pgg-gpg-user-id)
;; Possibly cache passphrase under, e.g. B565716F, for future decrypt.
(pgg-gpg-possibly-cache-passphrase passphrase)))
(pgg-process-when-success)))
(list pgg-gpg-user-id))))))))
(process (pgg-gpg-start-process args)))
(if (and sign (not pgg-gpg-use-agent))
(pgg-gpg-wait-for-status process '("GOOD_PASSPHRASE")))
(process-send-region process start end)
(pgg-gpg-wait-for-completion process '("SIG_CREATED" "END_ENCRYPTION"))))
(defun pgg-gpg-encrypt-symmetric-region (start end &optional passphrase)
"Encrypt the current region between START and END with symmetric cipher.
If optional PASSPHRASE is not specified, it will be obtained from the
passphrase cache or user."
(let* ((passphrase (or passphrase
(when (not pgg-gpg-use-agent)
(pgg-read-passphrase
"GnuPG passphrase for symmetric encryption: "))))
(args
(append (list "--batch" "--armor" "--symmetric" )
(if pgg-text-mode (list "--textmode")))))
(pgg-gpg-process-region start end passphrase pgg-gpg-program args)
(pgg-process-when-success)))
"Encrypt the current region between START and END with symmetric cipher."
(let* ((args
(append '("--armor" "--symmetric")
(if pgg-text-mode '("--textmode"))))
(process (pgg-gpg-start-process args)))
(pgg-gpg-wait-for-status process '("BEGIN_ENCRYPTION"))
(process-send-region process start end)
(pgg-gpg-wait-for-completion process '("END_ENCRYPTION"))))
(defun pgg-gpg-decrypt-region (start end &optional passphrase)
"Decrypt the current region between START and END.
If optional PASSPHRASE is not specified, it will be obtained from the
passphrase cache or user."
(let* ((current-buffer (current-buffer))
(message-keys (with-temp-buffer
(insert-buffer-substring current-buffer)
(pgg-decode-armor-region (point-min) (point-max))))
(secret-keys (pgg-gpg-lookup-all-secret-keys))
;; XXX the user is stuck if they need to use the passphrase for
;; any but the first secret key for which the message is
;; encrypted. ideally, we would incrementally give them a
;; chance with subsequent keys each time they fail with one.
(key (pgg-gpg-select-matching-key message-keys secret-keys))
(key-owner (and key (pgg-gpg-lookup-key-owner key t)))
(key-id (pgg-gpg-key-id-from-key-owner key-owner))
(pgg-gpg-user-id (or key-id key
pgg-gpg-user-id pgg-default-user-id))
(passphrase (or passphrase
(when (not pgg-gpg-use-agent)
(pgg-read-passphrase
(format (if (pgg-gpg-symmetric-key-p message-keys)
"Passphrase for symmetric decryption: "
"GnuPG passphrase for %s: ")
(or key-owner "??"))
pgg-gpg-user-id))))
(args '("--batch" "--decrypt")))
(pgg-gpg-process-region start end passphrase pgg-gpg-program args)
(with-current-buffer pgg-errors-buffer
(pgg-gpg-possibly-cache-passphrase passphrase pgg-gpg-user-id)
(goto-char (point-min))
(re-search-forward "^\\[GNUPG:] DECRYPTION_OKAY\\>" nil t))))
;;;###autoload
(defun pgg-gpg-symmetric-key-p (message-keys)
"True if decoded armor MESSAGE-KEYS has symmetric encryption indicator."
(let (result)
(dolist (key message-keys result)
(when (and (eq (car key) 3)
(member '(symmetric-key-algorithm) key))
(setq result key)))))
(defun pgg-gpg-select-matching-key (message-keys secret-keys)
"Choose a key from MESSAGE-KEYS that matches one of the keys in SECRET-KEYS."
(loop for message-key in message-keys
for message-key-id = (and (equal (car message-key) 1)
(cdr (assq 'key-identifier
(cdr message-key))))
for key = (and message-key-id (pgg-lookup-key message-key-id 'encrypt))
when (and key (member key secret-keys)) return key))
"Decrypt the current region between START and END."
(let* ((args '("--decrypt"))
(process (pgg-gpg-start-process args)))
(process-send-region process start end)
(pgg-gpg-wait-for-status process '("BEGIN_DECRYPTION"))
(pgg-gpg-wait-for-completion process '("GOODSIG" "DECRYPTION_OKAY"))))
(defun pgg-gpg-sign-region (start end &optional cleartext passphrase)
"Make detached signature from text between START and END."
(let* ((pgg-gpg-user-id (or pgg-gpg-user-id pgg-default-user-id))
(passphrase (or passphrase
(when (not pgg-gpg-use-agent)
(pgg-read-passphrase
(format "GnuPG passphrase for %s: "
pgg-gpg-user-id)
pgg-gpg-user-id))))
(args
(append (list (if cleartext "--clearsign" "--detach-sign")
"--armor" "--batch" "--verbose"
"--armor" "--verbose"
"--local-user" pgg-gpg-user-id)
(if pgg-text-mode (list "--textmode"))))
(inhibit-read-only t)
buffer-read-only)
(pgg-gpg-process-region start end passphrase pgg-gpg-program args)
(with-current-buffer pgg-errors-buffer
;; Possibly cache passphrase under, e.g. "jas", for future sign.
(pgg-gpg-possibly-cache-passphrase passphrase pgg-gpg-user-id)
;; Possibly cache passphrase under, e.g. B565716F, for future decrypt.
(pgg-gpg-possibly-cache-passphrase passphrase))
(pgg-process-when-success)))
(if pgg-text-mode '("--textmode"))))
(process (pgg-gpg-start-process args)))
(unless pgg-gpg-use-agent
(pgg-gpg-wait-for-status process '("GOOD_PASSPHRASE")))
(process-send-region process start end)
(pgg-gpg-wait-for-completion process '("SIG_CREATED"))))
(defun pgg-gpg-verify-region (start end &optional signature)
"Verify region between START and END as the detached signature SIGNATURE."
(let ((args '("--batch" "--verify")))
(let ((args '("--verify"))
process)
(when (stringp signature)
(setq args (append args (list signature))))
(setq args (append args '("-")))
(pgg-gpg-process-region start end nil pgg-gpg-program args)
(with-current-buffer pgg-errors-buffer
(goto-char (point-min))
(while (re-search-forward "^gpg: \\(.*\\)\n" nil t)
(with-current-buffer pgg-output-buffer
(insert-buffer-substring pgg-errors-buffer
(match-beginning 1) (match-end 0)))
(delete-region (match-beginning 0) (match-end 0)))
(goto-char (point-min))
(re-search-forward "^\\[GNUPG:] GOODSIG\\>" nil t))))
(setq process (pgg-gpg-start-process (append args '("-"))))
(process-send-region process start end)
(pgg-gpg-wait-for-completion process '("GOODSIG"))))
(defun pgg-gpg-insert-key ()
"Insert public key at point."
(let* ((pgg-gpg-user-id (or pgg-gpg-user-id pgg-default-user-id))
(args (list "--batch" "--export" "--armor"
pgg-gpg-user-id)))
(pgg-gpg-process-region (point)(point) nil pgg-gpg-program args)
(args (list "--export" "--armor"
pgg-gpg-user-id))
(process (pgg-gpg-start-process args)))
(pgg-gpg-wait-for-completion process)
(insert-buffer-substring pgg-output-buffer)))
(defun pgg-gpg-snarf-keys-region (start end)
"Add all public keys in region between START and END to the keyring."
(let ((args '("--import" "--batch" "-")) status)
(pgg-gpg-process-region start end nil pgg-gpg-program args)
(set-buffer pgg-errors-buffer)
(goto-char (point-min))
(when (re-search-forward "^\\[GNUPG:] IMPORT_RES\\>" nil t)
(setq status (buffer-substring (match-end 0)
(progn (end-of-line)(point)))
status (vconcat (mapcar #'string-to-number (split-string status))))
(erase-buffer)
(insert (format "Imported %d key(s).
\tArmor contains %d key(s) [%d bad, %d old].\n"
(+ (aref status 2)
(aref status 10))
(aref status 0)
(aref status 1)
(+ (aref status 4)
(aref status 11)))
(if (zerop (aref status 9))
""
"\tSecret keys are imported.\n")))
(append-to-buffer pgg-output-buffer (point-min)(point-max))
(pgg-process-when-success)))
(let* ((args '("--import" "-"))
(process (pgg-gpg-start-process args))
status)
(process-send-region process start end)
(pgg-gpg-wait-for-completion process '("IMPORT_RES"))))
(provide 'pgg-gpg)

View file

@ -78,13 +78,15 @@
;; gdb-assembler-custom with a lisp debugger it does!).
;;; Problems with watch expressions, GDB/MI:
;; 1) They go out of scope when the inferior is re-run.
;; 2) -stack-list-locals has a type field but also prints type in values field.
;; 3) VARNUM increments even when variable object is not created (maybe trivial).
;; 3) VARNUM increments even when variable object is not created
;; (maybe trivial).
;; Known Bugs:
;; 1) M-x gdb doesn't work with "run" command in .gdbinit, use M-x gdba instead.
;;; TODO:
;; 1) Use MI command -data-read-memory for memory window.
;; 2) Use tree-widget.el instead of the speedbar for watch-expressions?
;; 3) Mark breakpoint locations on scroll-bar of source buffer?
@ -126,6 +128,7 @@ and #define directives otherwise.")
(defvar gdb-signalled nil)
(defvar gdb-source-window nil)
(defvar gdb-inferior-status nil)
(defvar gdb-continuation nil)
(defvar gdb-buffer-type nil
"One of the symbols bound in `gdb-buffer-rules'.")
@ -258,7 +261,8 @@ detailed description of this mode.
(interactive (list (gud-query-cmdline 'gdba)))
;;
;; Let's start with a basic gud-gdb buffer and then modify it a bit.
(gdb command-line))
(gdb command-line)
(gdb-init-1))
(defcustom gdb-debug-ring-max 128
"Maximum size of `gdb-debug-ring'."
@ -702,7 +706,7 @@ With arg, enter name of variable to be watched in the minibuffer."
(message "gud-watch is a no-op in this mode."))))
(defconst gdb-var-create-regexp
"name=\"\\(.*?\\)\",numchild=\"\\(.*?\\)\",type=\"\\(.*?\\)\"")
"name=\"\\(.*?\\)\",.*numchild=\"\\(.*?\\)\",.*type=\"\\(.*?\\)\"")
(defun gdb-var-create-handler (expr)
(goto-char (point-min))
@ -747,8 +751,8 @@ With arg, enter name of variable to be watched in the minibuffer."
`(lambda () (gdb-var-list-children-handler ,varnum)))))
(defconst gdb-var-list-children-regexp
"name=\"\\(.*?\\)\",exp=\"\\(.*?\\)\",numchild=\"\\(.*?\\)\",\
type=\"\\(.*?\\)\"")
"child={.*?name=\"\\(.*?\\)\",.*?exp=\"\\(.*?\\)\",.*?\
numchild=\"\\(.*?\\)\",.*?type=\"\\(.*?\\)\".*?}")
(defun gdb-var-list-children-handler (varnum)
(goto-char (point-min))
@ -784,7 +788,9 @@ type=\"\\(.*?\\)\"")
'gdb-var-update-handler))
(push 'gdb-var-update gdb-pending-triggers)))
(defconst gdb-var-update-regexp "name=\"\\(.*?\\)\",in_scope=\"\\(.*?\\)\"")
(defconst gdb-var-update-regexp
"{.*?name=\"\\(.*?\\)\",.*?in_scope=\"\\(.*?\\)\",.*?\
type_changed=\".*?\".*?}")
(defun gdb-var-update-handler ()
(dolist (var gdb-var-list)
@ -1078,7 +1084,6 @@ The key should be one of the cars in `gdb-buffer-rules-assoc'."
;;
;; These lists are consumed tail first.
;;
(defvar gdb-continuation nil)
(defun gdb-send (proc string)
"A comint send filter for gdb.
@ -1086,15 +1091,16 @@ This filter may simply queue input for a later time."
(with-current-buffer gud-comint-buffer
(let ((inhibit-read-only t))
(remove-text-properties (point-min) (point-max) '(face))))
(if (string-match "\\\\$" string)
(setq gdb-continuation (concat gdb-continuation string "\n"))
(let ((item (concat gdb-continuation string "\n")))
(if gud-running
(progn
(if gud-running
(progn
(let ((item (concat string "\n")))
(if gdb-enable-debug (push (cons 'send item) gdb-debug-ring))
(process-send-string proc item))
(gdb-enqueue-input item)))
(setq gdb-continuation nil)))
(process-send-string proc item)))
(if (string-match "\\\\$" string)
(setq gdb-continuation (concat gdb-continuation string "\n"))
(let ((item (concat gdb-continuation string "\n")))
(gdb-enqueue-input item)
(setq gdb-continuation nil)))))
;; Note: Stuff enqueued here will be sent to the next prompt, even if it
;; is a query, or other non-top-level prompt.
@ -1318,7 +1324,8 @@ directives."
It is just like `gdb-stopping', except that if we already set the output
sink to `user' in `gdb-stopping', that is fine."
(setq gud-running nil)
(unless (or gud-overlay-arrow-position gud-last-frame)
(unless (or gud-overlay-arrow-position gud-last-frame
(not gud-last-last-frame))
(gud-display-line (car gud-last-last-frame) (cdr gud-last-last-frame)))
(unless (member gdb-inferior-status '("exited" "signal"))
(setq gdb-inferior-status "stopped")
@ -1680,8 +1687,7 @@ static char *magick[] = {
;; We use different values of grey for different background types,
;; so that on low-color displays it will end up as something visible
;; if it has to be approximated.
'((((background dark)) :foreground "grey60")
(((background light)) :foreground "grey40"))
'((t :foreground "grey70"))
"Face for disabled breakpoint icon in fringe."
:group 'gud)
@ -2969,10 +2975,24 @@ BUFFER nil or omitted means use the current buffer."
'gdb-assembler-buffer-name
'gdb-assembler-mode)
(def-gdb-auto-update-handler gdb-assembler-handler
gdb-invalidate-assembler
gdb-assembler-buffer
gdb-assembler-custom)
;; We can't use def-gdb-auto-update-handler because we don't want to use
;; window-start but keep the overlay arrow/current line visible.
(defun gdb-assembler-handler ()
(setq gdb-pending-triggers
(delq 'gdb-invalidate-assembler
gdb-pending-triggers))
(let ((buf (gdb-get-buffer 'gdb-assembler-buffer)))
(and buf
(with-current-buffer buf
(let* ((window (get-buffer-window buf 0))
(p (window-point window))
(buffer-read-only nil))
(erase-buffer)
(insert-buffer-substring (gdb-get-buffer-create
'gdb-partial-output-buffer))
(set-window-point window p)))))
;; put customisation here
(gdb-assembler-custom))
(defun gdb-assembler-custom ()
(let ((buffer (gdb-get-buffer 'gdb-assembler-buffer))
@ -2987,6 +3007,10 @@ BUFFER nil or omitted means use the current buffer."
(progn
(setq pos (point))
(beginning-of-line)
(setq fringe-indicator-alist
(if (string-equal gdb-frame-number "0")
nil
'((overlay-arrow . hollow-right-triangle))))
(or gdb-overlay-arrow-position
(setq gdb-overlay-arrow-position (make-marker)))
(set-marker gdb-overlay-arrow-position
@ -3114,20 +3138,10 @@ BUFFER nil or omitted means use the current buffer."
(goto-char (point-min))
(if (re-search-forward "Stack level \\([0-9]+\\)" nil t)
(setq gdb-frame-number (match-string 1)))
(if gud-overlay-arrow-position
(let ((buffer (marker-buffer gud-overlay-arrow-position))
(position (marker-position gud-overlay-arrow-position)))
(when buffer
(with-current-buffer buffer
(setq fringe-indicator-alist
(if (string-equal gdb-frame-number "0")
nil
'((overlay-arrow . hollow-right-triangle))))
(setq gud-overlay-arrow-position (make-marker))
(set-marker gud-overlay-arrow-position position)))))
(goto-char (point-min))
(if (re-search-forward
".*=\\s-+0x0*\\(\\S-*\\)\\s-+in\\s-+\\(\\S-*?\\);? " nil t)
".*=\\s-+0x0*\\(\\S-*\\)\\s-+in\\s-+\\(\\S-*?\\) (\\(\\S-*?\\):[0-9]+?);? "
nil t)
(progn
(setq gdb-selected-frame (match-string 2))
(if (gdb-get-buffer 'gdb-locals-buffer)
@ -3137,6 +3151,16 @@ BUFFER nil or omitted means use the current buffer."
(with-current-buffer (gdb-get-buffer 'gdb-assembler-buffer)
(setq mode-name (concat "Machine:" gdb-selected-frame))))
(setq gdb-frame-address (match-string 1))))
(if gud-overlay-arrow-position
(let ((buffer (marker-buffer gud-overlay-arrow-position))
(position (marker-position gud-overlay-arrow-position)))
(when (and buffer (string-equal (buffer-name buffer) (match-string 3)))
(with-current-buffer buffer
(setq fringe-indicator-alist
(if (string-equal gdb-frame-number "0")
nil
'((overlay-arrow . hollow-right-triangle))))
(set-marker gud-overlay-arrow-position position)))))
(goto-char (point-min))
(if (re-search-forward " source language \\(\\S-*\\)\." nil t)
(setq gdb-current-language (match-string 1)))
@ -3175,8 +3199,8 @@ is set in them."
`(lambda () (gdb-var-list-children-handler-1 ,varnum)))))
(defconst gdb-var-list-children-regexp-1
"name=\"\\(.+?\\)\",exp=\"\\(.+?\\)\",numchild=\"\\(.+?\\)\",\
value=\\(\".*?\"\\),type=\"\\(.+?\\)\"}")
"child={.*?name=\"\\(.+?\\)\",.*?exp=\"\\(.+?\\)\",.*?\
numchild=\"\\(.+?\\)\",.*?value=\\(\".*?\"\\),.*?type=\"\\(.+?\\)\".*?}")
(defun gdb-var-list-children-handler-1 (varnum)
(goto-char (point-min))
@ -3212,7 +3236,8 @@ value=\\(\".*?\"\\),type=\"\\(.+?\\)\"}")
(push 'gdb-var-update gdb-pending-triggers))))
(defconst gdb-var-update-regexp-1
"name=\"\\(.*?\\)\",\\(?:value=\\(\".*?\"\\),\\)?in_scope=\"\\(.*?\\)\"")
"{.*?name=\"\\(.*?\\)\",.*?\\(?:value=\\(\".*?\"\\),\\)?.*?\
in_scope=\"\\(.*?\\)\".*?}")
(defun gdb-var-update-handler-1 ()
(dolist (var gdb-var-list)
@ -3249,7 +3274,7 @@ value=\\(\".*?\"\\),type=\"\\(.+?\\)\"}")
gdb-data-list-register-values-handler)
(defconst gdb-data-list-register-values-regexp
"number=\"\\(.*?\\)\",value=\"\\(.*?\\)\"")
"{.*?number=\"\\(.*?\\)\",.*?value=\"\\(.*?\\)\".*?}")
(defun gdb-data-list-register-values-handler ()
(setq gdb-pending-triggers (delq 'gdb-invalidate-registers-1
@ -3342,7 +3367,7 @@ value=\\(\".*?\"\\),type=\"\\(.+?\\)\"}")
gdb-stack-list-locals-handler)
(defconst gdb-stack-list-locals-regexp
"name=\"\\(.*?\\)\",type=\"\\(.*?\\)\"")
"{.*?name=\"\\(.*?\\)\",.*?type=\"\\(.*?\\)\"")
(defvar gdb-locals-watch-map-1
(let ((map (make-sparse-keymap)))
@ -3361,7 +3386,7 @@ value=\\(\".*?\"\\),type=\"\\(.+?\\)\"}")
(let ((local (list (match-string 1)
(match-string 2)
nil)))
(if (looking-at ",value=\\(\".*\"\\)}")
(if (looking-at ",value=\\(\".*\"\\).*?}")
(setcar (nthcdr 2 local) (read (match-string 1))))
(push local locals-list)))
(let ((buf (gdb-get-buffer 'gdb-locals-buffer)))

View file

@ -683,6 +683,7 @@ To run GDB in text command mode, set `gud-gdb-command-name' to
(if (and gud-comint-buffer
(buffer-name gud-comint-buffer)
(get-buffer-process gud-comint-buffer)
(with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)))
(error "Multiple debugging is only supported with \"gdb --fullname\""))

View file

@ -1103,15 +1103,6 @@ XConsortium: rgb.txt,v 10.41 94/02/20 18:39:36 rws Exp")
)
"Alist of Mac script codes vs Emacs coding systems.")
(defconst mac-system-coding-system
(let ((base (or (cdr (assq mac-system-script-code
mac-script-code-coding-systems))
'mac-roman)))
(if (eq system-type 'darwin)
base
(coding-system-change-eol-conversion base 'mac)))
"Coding system derived from the system script code.")
(defun mac-add-charset-info (xlfd-charset mac-text-encoding)
"Add a character set to display with Mac fonts.
Create an entry in `mac-charset-info-alist'.
@ -1153,9 +1144,6 @@ correspoinding TextEncodingBase value."
;;;; Selections
;; Setup to use the Mac clipboard.
(set-selection-coding-system mac-system-coding-system)
;;; We keep track of the last text selected here, so we can check the
;;; current selection against it, and avoid passing back our own text
;;; from x-get-selection-value.
@ -1336,7 +1324,8 @@ in `selection-converter-alist', which see."
(setq str (or s
(encode-coding-string str
(if (eq (byteorder) ?B)
'utf-16be 'utf-16le))))))
'utf-16be-mac
'utf-16le-mac))))))
((eq type 'com.apple.traditional-mac-plain-text)
(let ((encodables (find-coding-systems-string str))
(rest mac-script-code-coding-systems))
@ -1896,6 +1885,22 @@ It returns a name of the created fontset."
(fontset-add-mac-fonts fontset t)
fontset))
;; Adjust Courier font specifications in x-fixed-font-alist.
(let ((courier-fonts (assoc "Courier" x-fixed-font-alist)))
(if courier-fonts
(dolist (label-fonts (cdr courier-fonts))
(setcdr label-fonts
(mapcar
(lambda (font)
(if (string-match "\\`-adobe-courier-\\([^-]*\\)-\\(.\\)-\\(.*\\)-iso8859-1\\'" font)
(replace-match
(if (string= (match-string 2 font) "o")
"-*-courier-\\1-i-\\3-*-*"
"-*-courier-\\1-\\2-\\3-*-*")
t nil font)
font))
(cdr label-fonts))))))
;; Setup the default fontset.
(setup-default-fontset)
(cond ((x-list-fonts "*-iso10646-1")
@ -2007,6 +2012,17 @@ ascii:-*-Monaco-*-*-*-*-12-*-*-*-*-*-mac-roman")
;; Enable CLIPBOARD copy/paste through menu bar commands.
(menu-bar-enable-clipboard)
(defconst mac-system-coding-system
(let ((base (or (cdr (assq mac-system-script-code
mac-script-code-coding-systems))
'mac-roman)))
(if (eq system-type 'darwin)
base
(coding-system-change-eol-conversion base 'mac)))
"Coding system derived from the system script code.")
(set-selection-coding-system mac-system-coding-system)
(defun mac-drag-n-drop (event)
"Edit the files listed in the drag-n-drop EVENT.
Switch to a buffer editing the last file dropped."

View file

@ -2383,7 +2383,7 @@ between words."
"Get the right face for match N in font-lock matching of healdines."
(setq org-l (- (match-end 2) (match-beginning 1)))
(if org-odd-levels-only (setq org-l (1+ (/ org-l 2))))
(setq org-f (nth (1- (% org-l org-n-levels)) org-level-faces))
(setq org-f (nth (% (1- org-l) org-n-levels) org-level-faces))
(cond
((eq n 1) (if org-hide-leading-stars 'org-hide org-f))
((eq n 2) org-f)

View file

@ -1,3 +1,14 @@
2006-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
* url-handlers.el (url-handler-directory-file-name): New handler.
(url-file-local-copy): Plug race condition security hole.
2006-03-27 Romain Francoise <romain@orebokech.com>
* url-irc.el (url-irc-rcirc, url-irc-erc): New functions.
(url-irc-function): Add rcirc and ERC to the list of IRC clients.
Default to rcirc, since ZenIRC isn't part of Emacs.
2006-03-07 Stefan Monnier <monnier@iro.umontreal.ca>
* url-http.el (url-http-find-free-connection): Fix braino in last fix.

Some files were not shown because too many files have changed in this diff Show more