aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorMiles Bader2006-02-11 00:11:19 +0000
committerMiles Bader2006-02-11 00:11:19 +0000
commit0b125475295ac24db12b28e67d349a0ec0020bd3 (patch)
tree100578c3b6eb01151eb5c51f0bbe11ca941bd0d5 /lisp
parent380874900ca183ec2fdce91949d841328852d7a8 (diff)
parent9d64cd1339707277e541b6c54f847240464f65ec (diff)
downloademacs-0b125475295ac24db12b28e67d349a0ec0020bd3.tar.gz
emacs-0b125475295ac24db12b28e67d349a0ec0020bd3.zip
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-14
Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 58-65) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 22-28) - Update from CVS - Merge from emacs--devo--0 - Update from CVS: lisp/gnus.el: Remove bogus comment.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog108
-rw-r--r--lisp/Makefile.in4
-rw-r--r--lisp/calendar/appt.el4
-rw-r--r--lisp/calendar/cal-bahai.el3
-rw-r--r--lisp/calendar/cal-china.el2
-rw-r--r--lisp/calendar/cal-coptic.el2
-rw-r--r--lisp/calendar/cal-dst.el4
-rw-r--r--lisp/calendar/cal-french.el2
-rw-r--r--lisp/calendar/cal-hebrew.el2
-rw-r--r--lisp/calendar/cal-islam.el2
-rw-r--r--lisp/calendar/cal-iso.el2
-rw-r--r--lisp/calendar/cal-julian.el2
-rw-r--r--lisp/calendar/cal-mayan.el4
-rw-r--r--lisp/calendar/cal-move.el2
-rw-r--r--lisp/calendar/cal-persia.el2
-rw-r--r--lisp/calendar/cal-tex.el2
-rw-r--r--lisp/calendar/cal-x.el2
-rw-r--r--lisp/calendar/diary-lib.el2
-rw-r--r--lisp/calendar/holidays.el2
-rw-r--r--lisp/calendar/icalendar.el2
-rw-r--r--lisp/calendar/lunar.el4
-rw-r--r--lisp/calendar/parse-time.el2
-rw-r--r--lisp/calendar/solar.el4
-rw-r--r--lisp/calendar/time-date.el2
-rw-r--r--lisp/calendar/timeclock.el2
-rw-r--r--lisp/calendar/todo-mode.el2
-rw-r--r--lisp/desktop.el13
-rw-r--r--lisp/dired-x.el4
-rw-r--r--lisp/frame.el2
-rw-r--r--lisp/gnus/ChangeLog136
-rw-r--r--lisp/gnus/gnus.el3
-rw-r--r--lisp/gnus/mm-view.el3
-rw-r--r--lisp/gnus/mml1991.el6
-rw-r--r--lisp/gnus/mml2015.el2
-rw-r--r--lisp/gnus/nnfolder.el2
-rw-r--r--lisp/gnus/rfc2231.el98
-rw-r--r--lisp/hilit-chg.el20
-rw-r--r--lisp/image-mode.el3
-rw-r--r--lisp/mh-e/ChangeLog19
-rw-r--r--lisp/mh-e/mh-compat.el2
-rw-r--r--lisp/mh-e/mh-e.el3
-rw-r--r--lisp/mh-e/mh-search.el184
-rw-r--r--lisp/mh-e/mh-utils.el12
-rw-r--r--lisp/mouse.el4
-rw-r--r--lisp/net/rcirc.el522
-rw-r--r--lisp/net/tramp.el3
-rw-r--r--lisp/pgg-def.el3
-rw-r--r--lisp/pgg-gpg.el26
-rw-r--r--lisp/progmodes/ada-mode.el2
-rw-r--r--lisp/progmodes/ada-prj.el2
-rw-r--r--lisp/progmodes/ada-stmt.el2
-rw-r--r--lisp/progmodes/ada-xref.el2
-rw-r--r--lisp/progmodes/antlr-mode.el2
-rw-r--r--lisp/progmodes/asm-mode.el2
-rw-r--r--lisp/progmodes/autoconf.el4
-rw-r--r--lisp/progmodes/cc-align.el3
-rw-r--r--lisp/progmodes/cc-awk.el4
-rw-r--r--lisp/progmodes/cc-bytecomp.el4
-rw-r--r--lisp/progmodes/cc-cmds.el4
-rw-r--r--lisp/progmodes/cc-compat.el4
-rw-r--r--lisp/progmodes/cc-defs.el4
-rw-r--r--lisp/progmodes/cc-engine.el4
-rw-r--r--lisp/progmodes/cc-fonts.el2
-rw-r--r--lisp/progmodes/cc-langs.el13
-rw-r--r--lisp/progmodes/cc-menus.el4
-rw-r--r--lisp/progmodes/cc-mode.el4
-rw-r--r--lisp/progmodes/cc-styles.el4
-rw-r--r--lisp/progmodes/cc-subword.el2
-rw-r--r--lisp/progmodes/cc-vars.el4
-rw-r--r--lisp/progmodes/cfengine.el3
-rw-r--r--lisp/progmodes/cmacexp.el2
-rw-r--r--lisp/progmodes/compile.el2
-rw-r--r--lisp/progmodes/cperl-mode.el2
-rw-r--r--lisp/progmodes/cpp.el2
-rw-r--r--lisp/progmodes/cwarn.el2
-rw-r--r--lisp/progmodes/dcl-mode.el2
-rw-r--r--lisp/progmodes/delphi.el2
-rw-r--r--lisp/progmodes/ebnf-abn.el3
-rw-r--r--lisp/progmodes/ebnf-bnf.el2
-rw-r--r--lisp/progmodes/ebnf-dtd.el3
-rw-r--r--lisp/progmodes/ebnf-ebx.el3
-rw-r--r--lisp/progmodes/ebnf-iso.el2
-rw-r--r--lisp/progmodes/ebnf-otz.el2
-rw-r--r--lisp/progmodes/ebnf-yac.el2
-rw-r--r--lisp/progmodes/ebnf2ps.el2
-rw-r--r--lisp/progmodes/ebrowse.el2
-rw-r--r--lisp/progmodes/etags.el2
-rw-r--r--lisp/progmodes/executable.el2
-rw-r--r--lisp/progmodes/f90.el4
-rw-r--r--lisp/progmodes/gdb-ui.el32
-rw-r--r--lisp/progmodes/glasses.el2
-rw-r--r--lisp/progmodes/grep.el2
-rw-r--r--lisp/progmodes/gud.el2
-rw-r--r--lisp/progmodes/hideif.el2
-rw-r--r--lisp/progmodes/hideshow.el2
-rw-r--r--lisp/progmodes/icon.el2
-rw-r--r--lisp/progmodes/idlw-complete-structtag.el3
-rw-r--r--lisp/progmodes/idlw-help.el2
-rw-r--r--lisp/progmodes/idlw-rinfo.el4
-rw-r--r--lisp/progmodes/idlw-shell.el4
-rw-r--r--lisp/progmodes/idlw-toolbar.el4
-rw-r--r--lisp/progmodes/idlwave.el4
-rw-r--r--lisp/progmodes/inf-lisp.el2
-rw-r--r--lisp/progmodes/ld-script.el3
-rw-r--r--lisp/progmodes/m4-mode.el2
-rw-r--r--lisp/progmodes/make-mode.el2
-rw-r--r--lisp/progmodes/mantemp.el2
-rw-r--r--lisp/progmodes/meta-mode.el2
-rw-r--r--lisp/progmodes/mixal-mode.el2
-rw-r--r--lisp/progmodes/octave-hlp.el2
-rw-r--r--lisp/progmodes/octave-inf.el2
-rw-r--r--lisp/progmodes/octave-mod.el2
-rw-r--r--lisp/progmodes/pascal.el2
-rw-r--r--lisp/progmodes/perl-mode.el2
-rw-r--r--lisp/progmodes/prolog.el2
-rw-r--r--lisp/progmodes/ps-mode.el2
-rw-r--r--lisp/progmodes/python.el2
-rw-r--r--lisp/progmodes/scheme.el4
-rw-r--r--lisp/progmodes/sh-script.el4
-rw-r--r--lisp/progmodes/simula.el2
-rw-r--r--lisp/progmodes/sql.el2
-rw-r--r--lisp/progmodes/vhdl-mode.el2
-rw-r--r--lisp/progmodes/which-func.el2
-rw-r--r--lisp/progmodes/xscheme.el2
-rw-r--r--lisp/subr.el5
-rw-r--r--lisp/term/mac-win.el2
-rw-r--r--lisp/tumme.el44
-rw-r--r--lisp/vc-svn.el6
128 files changed, 942 insertions, 592 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 75802219b4e..be2fdb32c6e 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,109 @@
12006-02-10 Juanma Barranquero <lekktu@gmail.com>
2
3 * desktop.el (desktop-outvar): Fix typo.
4 (desktop-save-buffer-p): Doc fix.
5
6 * subr.el (substitute-key-definition): Fix typo.
7
82006-02-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9
10 * frame.el (select-frame-set-input-focus): Call x-focus-frame also
11 when window-system is mac.
12
13 * term/mac-win.el (fontset-standard): Rename from "fontset-mac".
14
152006-02-10 Kim F. Storm <storm@cua.dk>
16
17 * subr.el (substitute-key-definition-key): Pass t for NOERROR to
18 indirect-function instead of using condition-case.
19
202006-02-10 Mathias Dahl <mathias.dahl@gmail.com>
21
22 * tumme.el (tumme-copy-with-exif-file-name): Tried to make
23 docstring less `colloquial'...
24
252006-02-09 Mathias Dahl <mathias.dahl@gmail.com>
26
27 * tumme.el: Added a couple of todo items.
28
292006-02-09 Lars Hansen <larsh@soem.dk>
30
31 * hilit-chg.el: Add highlight-changes-mode to desktop-locals-to-save.
32 (highlight-changes-mode): Don't change desktop-locals-to-save.
33
342006-02-09 Chong Yidong <cyd@stupidchicken.com>
35
36 * image-mode.el (image-toggle-display): Clear image cache if using
37 filename.
38
392006-02-09 Masatake YAMATO <jet@gyve.org>
40
41 * dired-x.el (dired-guess-shell-alist-default): Add .man as
42 a `dired-man' target.
43
44 * progmodes/autoconf.el (autoconf-font-lock-keywords): Check start
45 boundary of symbols.
46
472006-02-08 Peter Doornbosch <peter.doornbosch@luminis.nl> (tiny change)
48
49 * vc-svn.el (vc-svn-print-log): Show recent commits as well.
50
512006-02-09 Juanma Barranquero <lekktu@gmail.com>
52
53 * hilit-chg.el (hilit-chg-update-all-buffers): Use `mapc' instead of
54 `mapcar'; return nil.
55
562006-02-08 Chong Yidong <cyd@stupidchicken.com>
57
58 * mouse.el (mouse-drag-track): Don't change window if we rebind to
59 some other event.
60
612006-02-08 Ryan Yeske <rcyeske@gmail.com>
62
63 * net/rcirc.el (rcirc-startup-channels-alist):
64 Add irc.freenode.net and #emacs as defaults.
65 (rcirc-ignore-all-activity-flag): Remove variable.
66 (rcirc-authinfo): New variable.
67 (rcirc-authinfo-filename): Remove variable.
68 (rcirc-always-use-server-buffer-flag): New flag.
69 (rcirc): M-x rcirc will automatically connect without prompting.
70 C-u M-x rcirc will prompt. Use rcirc-connect to create a
71 connection in lisp.
72 (rcirc-process-server-response-1): Remove everything but the nick
73 portion of the sender so it doesn't need to be done everywhere
74 else. Update related code.
75 (global-map): Remove global keybindings.
76 (rcirc-get-buffer-create): Make sure rcirc-topic is set.
77 (rcirc-send-input): Split into several functions.
78 (rcirc-process-input-line, rcirc-process-message)
79 (rcirc-process-command): New functions.
80 (rcirc-target-buffer): New function to determine where to route
81 messages.
82 (rcirc-user-nick): Save match data.
83 (rcirc-toggle-ignore-buffer-activity)
84 (rcirc-update-activity-string): Remove global ignore functionality,
85 which can be done now by toggling rcirc-track-minor-mode.
86 (rcirc-track-minor-mode-map): New keymap.
87 (rcirc-track-minor-mode): New minor-mode.
88 (ignore): Make the ignore output nicer. Always print it when
89 adding or removing nicks.
90 (rcirc-url-regexp): Improve.
91 (rcirc-mangle-text): Remove properties before using text in the
92 modeline.
93 (rcirc-authenticate): Authentication data comes from
94 rcirc-authinfo, not the file pointed to by rcirc-authinfo-file.
95 (rcirc-server-prefix): Inherit from rcirc-server.
96
972006-02-08 Mathias Megyei <Mathias.Megyei@micronas.com> (tiny change)
98
99 * Makefile.in (compile): Append "|| true" to the end of the `find'
100 command, like compile-always does.
101
1022006-02-08 Sam Steingold <sds@gnu.org>
103
104 * net/tramp.el (tramp-maybe-open-connection): Do not wait for
105 output from a dead connection.
106
12006-02-07 Mathias Dahl <brakjoller@hotmail.com> 1072006-02-07 Mathias Dahl <brakjoller@hotmail.com>
2 108
3 * dired.el (dired-mode-map): Add more bindings for tumme. 109 * dired.el (dired-mode-map): Add more bindings for tumme.
@@ -351,7 +457,7 @@
351 * international/latexenc.el: Add a suitable `coding:' tag. 457 * international/latexenc.el: Add a suitable `coding:' tag.
352 (latexenc-find-file-coding-system): Undo last change. 458 (latexenc-find-file-coding-system): Undo last change.
353 459
3542006-01-27 Arne J,bx(Brgensen <arne@arnested.dk> 4602006-01-27 Arne J,Ax(Brgensen <arne@arnested.dk>
355 461
356 * international/latexenc.el (latexenc-find-file-coding-system): 462 * international/latexenc.el (latexenc-find-file-coding-system):
357 Make sure latexenc-main-file is a regular file and is readable. 463 Make sure latexenc-main-file is a regular file and is readable.
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index 4f92816e4eb..196a4b5c0a2 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -155,8 +155,10 @@ TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2)
155# subdirectories, to make sure require's and load's in the files being 155# subdirectories, to make sure require's and load's in the files being
156# compiled find the right files. 156# compiled find the right files.
157 157
158# `|| true' below prevents old Bash versions from getting confused
159# by an error.
158compile: $(lisp)/subdirs.el mh-autoloads doit 160compile: $(lisp)/subdirs.el mh-autoloads doit
159 find $(lisp) -name "*.elc" -print | xargs chmod +w >/dev/null 2>&1; \ 161 find $(lisp) -name "*.elc" -print | xargs chmod +w >/dev/null 2>&1 || true; \
160 wd=$(lisp); $(setwins); \ 162 wd=$(lisp); $(setwins); \
161 els=`echo $$wins | tr ' \011' '\012\012' | \ 163 els=`echo $$wins | tr ' \011' '\012\012' | \
162 sed -e 's|\(.\)$$|\1/|' -e 's|^\./||' -e 's|$$|*.el|'`; \ 164 sed -e 's|\(.\)$$|\1/|' -e 's|^\./||' -e 's|$$|*.el|'`; \
diff --git a/lisp/calendar/appt.el b/lisp/calendar/appt.el
index 40c6bfc2c86..571b4ec132a 100644
--- a/lisp/calendar/appt.el
+++ b/lisp/calendar/appt.el
@@ -1,7 +1,7 @@
1;;; appt.el --- appointment notification functions 1;;; appt.el --- appointment notification functions
2 2
3;; Copyright (C) 1989, 1990, 1994, 1998, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1989, 1990, 1994, 1998, 2001, 2002, 2003, 2004, 2005,
4;; Free Software Foundation, Inc. 4;; 2006 Free Software Foundation, Inc.
5 5
6;; Author: Neil Mager <neilm@juliet.ll.mit.edu> 6;; Author: Neil Mager <neilm@juliet.ll.mit.edu>
7;; Maintainer: Glenn Morris <rgm@gnu.org> 7;; Maintainer: Glenn Morris <rgm@gnu.org>
diff --git a/lisp/calendar/cal-bahai.el b/lisp/calendar/cal-bahai.el
index 91d4d3636df..f6419cf9a82 100644
--- a/lisp/calendar/cal-bahai.el
+++ b/lisp/calendar/cal-bahai.el
@@ -1,6 +1,7 @@
1;;; cal-bahai.el --- calendar functions for the Baha'i calendar. 1;;; cal-bahai.el --- calendar functions for the Baha'i calendar.
2 2
3;; Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc.
4 5
5;; Author: John Wiegley <johnw@gnu.org> 6;; Author: John Wiegley <johnw@gnu.org>
6;; Keywords: calendar 7;; Keywords: calendar
diff --git a/lisp/calendar/cal-china.el b/lisp/calendar/cal-china.el
index a4b83b87b15..5cdaa5092aa 100644
--- a/lisp/calendar/cal-china.el
+++ b/lisp/calendar/cal-china.el
@@ -1,6 +1,6 @@
1;;; cal-china.el --- calendar functions for the Chinese calendar 1;;; cal-china.el --- calendar functions for the Chinese calendar
2 2
3;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
diff --git a/lisp/calendar/cal-coptic.el b/lisp/calendar/cal-coptic.el
index 4673053246f..c37ab17567f 100644
--- a/lisp/calendar/cal-coptic.el
+++ b/lisp/calendar/cal-coptic.el
@@ -1,6 +1,6 @@
1;;; cal-coptic.el --- calendar functions for the Coptic/Ethiopic calendars 1;;; cal-coptic.el --- calendar functions for the Coptic/Ethiopic calendars
2 2
3;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
diff --git a/lisp/calendar/cal-dst.el b/lisp/calendar/cal-dst.el
index 1f3859d8bf1..62327a99c65 100644
--- a/lisp/calendar/cal-dst.el
+++ b/lisp/calendar/cal-dst.el
@@ -1,7 +1,7 @@
1;;; cal-dst.el --- calendar functions for daylight savings rules 1;;; cal-dst.el --- calendar functions for daylight savings rules
2 2
3;; Copyright (C) 1993, 1994, 1995, 1996, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1993, 1994, 1995, 1996, 2001, 2002, 2003, 2004, 2005,
4;; Free Software Foundation, Inc. 4;; 2006 Free Software Foundation, Inc.
5 5
6;; Author: Paul Eggert <eggert@twinsun.com> 6;; Author: Paul Eggert <eggert@twinsun.com>
7;; Edward M. Reingold <reingold@cs.uiuc.edu> 7;; Edward M. Reingold <reingold@cs.uiuc.edu>
diff --git a/lisp/calendar/cal-french.el b/lisp/calendar/cal-french.el
index ed974d312bb..0d88f161a03 100644
--- a/lisp/calendar/cal-french.el
+++ b/lisp/calendar/cal-french.el
@@ -1,7 +1,7 @@
1;;; cal-french.el --- calendar functions for the French Revolutionary calendar 1;;; cal-french.el --- calendar functions for the French Revolutionary calendar
2 2
3;; Copyright (C) 1988, 1989, 1992, 1994, 1995, 1997, 2001, 2002, 2003, 3;; Copyright (C) 1988, 1989, 1992, 1994, 1995, 1997, 2001, 2002, 2003,
4;; 2004, 2005 Free Software Foundation, Inc. 4;; 2004, 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
7;; Maintainer: Glenn Morris <rgm@gnu.org> 7;; Maintainer: Glenn Morris <rgm@gnu.org>
diff --git a/lisp/calendar/cal-hebrew.el b/lisp/calendar/cal-hebrew.el
index 99823db8215..1272e9966d4 100644
--- a/lisp/calendar/cal-hebrew.el
+++ b/lisp/calendar/cal-hebrew.el
@@ -1,6 +1,6 @@
1;;; cal-hebrew.el --- calendar functions for the Hebrew calendar 1;;; cal-hebrew.el --- calendar functions for the Hebrew calendar
2 2
3;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Nachum Dershowitz <nachum@cs.uiuc.edu> 6;; Author: Nachum Dershowitz <nachum@cs.uiuc.edu>
diff --git a/lisp/calendar/cal-islam.el b/lisp/calendar/cal-islam.el
index 52801600157..105bb288eb0 100644
--- a/lisp/calendar/cal-islam.el
+++ b/lisp/calendar/cal-islam.el
@@ -1,6 +1,6 @@
1;;; cal-islam.el --- calendar functions for the Islamic calendar 1;;; cal-islam.el --- calendar functions for the Islamic calendar
2 2
3;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
diff --git a/lisp/calendar/cal-iso.el b/lisp/calendar/cal-iso.el
index 41a3713d3ea..c11968e8421 100644
--- a/lisp/calendar/cal-iso.el
+++ b/lisp/calendar/cal-iso.el
@@ -1,6 +1,6 @@
1;;; cal-iso.el --- calendar functions for the ISO calendar 1;;; cal-iso.el --- calendar functions for the ISO calendar
2 2
3;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
diff --git a/lisp/calendar/cal-julian.el b/lisp/calendar/cal-julian.el
index 068e705410a..8f7af039d94 100644
--- a/lisp/calendar/cal-julian.el
+++ b/lisp/calendar/cal-julian.el
@@ -1,6 +1,6 @@
1;;; cal-julian.el --- calendar functions for the Julian calendar 1;;; cal-julian.el --- calendar functions for the Julian calendar
2 2
3;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
diff --git a/lisp/calendar/cal-mayan.el b/lisp/calendar/cal-mayan.el
index ce4f42e3328..b2d111a4b18 100644
--- a/lisp/calendar/cal-mayan.el
+++ b/lisp/calendar/cal-mayan.el
@@ -1,7 +1,7 @@
1;;; cal-mayan.el --- calendar functions for the Mayan calendars 1;;; cal-mayan.el --- calendar functions for the Mayan calendars
2 2
3;; Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005,
4;; Free Software Foundation, Inc. 4;; 2006 Free Software Foundation, Inc.
5 5
6;; Author: Stewart M. Clamen <clamen@cs.cmu.edu> 6;; Author: Stewart M. Clamen <clamen@cs.cmu.edu>
7;; Edward M. Reingold <reingold@cs.uiuc.edu> 7;; Edward M. Reingold <reingold@cs.uiuc.edu>
diff --git a/lisp/calendar/cal-move.el b/lisp/calendar/cal-move.el
index 70275017bfd..f7c8b284f1b 100644
--- a/lisp/calendar/cal-move.el
+++ b/lisp/calendar/cal-move.el
@@ -1,6 +1,6 @@
1;;; cal-move.el --- calendar functions for movement in the calendar 1;;; cal-move.el --- calendar functions for movement in the calendar
2 2
3;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
diff --git a/lisp/calendar/cal-persia.el b/lisp/calendar/cal-persia.el
index e9583a3f00d..33c296a7730 100644
--- a/lisp/calendar/cal-persia.el
+++ b/lisp/calendar/cal-persia.el
@@ -1,6 +1,6 @@
1;;; cal-persia.el --- calendar functions for the Persian calendar 1;;; cal-persia.el --- calendar functions for the Persian calendar
2 2
3;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
diff --git a/lisp/calendar/cal-tex.el b/lisp/calendar/cal-tex.el
index 7b029bc93c5..a67d90c832e 100644
--- a/lisp/calendar/cal-tex.el
+++ b/lisp/calendar/cal-tex.el
@@ -1,6 +1,6 @@
1;;; cal-tex.el --- calendar functions for printing calendars with LaTeX 1;;; cal-tex.el --- calendar functions for printing calendars with LaTeX
2 2
3;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Steve Fisk <fisk@bowdoin.edu> 6;; Author: Steve Fisk <fisk@bowdoin.edu>
diff --git a/lisp/calendar/cal-x.el b/lisp/calendar/cal-x.el
index a512c7c1e20..2e465e1093b 100644
--- a/lisp/calendar/cal-x.el
+++ b/lisp/calendar/cal-x.el
@@ -1,6 +1,6 @@
1;;; cal-x.el --- calendar windows in dedicated frames in X 1;;; cal-x.el --- calendar windows in dedicated frames in X
2 2
3;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Michael Kifer <kifer@cs.sunysb.edu> 6;; Author: Michael Kifer <kifer@cs.sunysb.edu>
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el
index 91c396f7bf5..a8eeebae8fc 100644
--- a/lisp/calendar/diary-lib.el
+++ b/lisp/calendar/diary-lib.el
@@ -1,7 +1,7 @@
1;;; diary-lib.el --- diary functions 1;;; diary-lib.el --- diary functions
2 2
3;; Copyright (C) 1989, 1990, 1992, 1993, 1994, 1995, 2001, 2002, 2003, 3;; Copyright (C) 1989, 1990, 1992, 1993, 1994, 1995, 2001, 2002, 2003,
4;; 2004, 2005 Free Software Foundation, Inc. 4;; 2004, 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
7;; Maintainer: Glenn Morris <rgm@gnu.org> 7;; Maintainer: Glenn Morris <rgm@gnu.org>
diff --git a/lisp/calendar/holidays.el b/lisp/calendar/holidays.el
index b18844c18d9..c9a1a0f17e5 100644
--- a/lisp/calendar/holidays.el
+++ b/lisp/calendar/holidays.el
@@ -1,7 +1,7 @@
1;;; holidays.el --- holiday functions for the calendar package 1;;; holidays.el --- holiday functions for the calendar package
2 2
3;; Copyright (C) 1989, 1990, 1992, 1993, 1994, 1997, 2001, 2002, 2003, 3;; Copyright (C) 1989, 1990, 1992, 1993, 1994, 1997, 2001, 2002, 2003,
4;; 2004, 2005 Free Software Foundation, Inc. 4;; 2004, 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
7;; Maintainer: Glenn Morris <rgm@gnu.org> 7;; Maintainer: Glenn Morris <rgm@gnu.org>
diff --git a/lisp/calendar/icalendar.el b/lisp/calendar/icalendar.el
index 33f89474504..e1d513ce680 100644
--- a/lisp/calendar/icalendar.el
+++ b/lisp/calendar/icalendar.el
@@ -1,6 +1,6 @@
1;;; icalendar.el --- iCalendar implementation -*-coding: utf-8 -*- 1;;; icalendar.el --- iCalendar implementation -*-coding: utf-8 -*-
2 2
3;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Ulf Jasper <ulf.jasper@web.de> 5;; Author: Ulf Jasper <ulf.jasper@web.de>
6;; Created: August 2002 6;; Created: August 2002
diff --git a/lisp/calendar/lunar.el b/lisp/calendar/lunar.el
index ed54bc88394..dd2f546fc37 100644
--- a/lisp/calendar/lunar.el
+++ b/lisp/calendar/lunar.el
@@ -1,7 +1,7 @@
1;;; lunar.el --- calendar functions for phases of the moon 1;;; lunar.el --- calendar functions for phases of the moon
2 2
3;; Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005,
4;; Free Software Foundation, Inc. 4;; 2006 Free Software Foundation, Inc.
5 5
6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
7;; Maintainer: Glenn Morris <rgm@gnu.org> 7;; Maintainer: Glenn Morris <rgm@gnu.org>
diff --git a/lisp/calendar/parse-time.el b/lisp/calendar/parse-time.el
index 3e09e7b1fb6..9587eb57a9f 100644
--- a/lisp/calendar/parse-time.el
+++ b/lisp/calendar/parse-time.el
@@ -1,6 +1,6 @@
1;;; parse-time.el --- parsing time strings 1;;; parse-time.el --- parsing time strings
2 2
3;; Copyright (C) 1996, 2000, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1996, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Erik Naggum <erik@naggum.no> 6;; Author: Erik Naggum <erik@naggum.no>
diff --git a/lisp/calendar/solar.el b/lisp/calendar/solar.el
index 5b58b739dba..660abb14f88 100644
--- a/lisp/calendar/solar.el
+++ b/lisp/calendar/solar.el
@@ -1,7 +1,7 @@
1;;; solar.el --- calendar functions for solar events 1;;; solar.el --- calendar functions for solar events
2 2
3;; Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005,
4;; Free Software Foundation, Inc. 4;; 2006 Free Software Foundation, Inc.
5 5
6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
7;; Denis B. Roegel <Denis.Roegel@loria.fr> 7;; Denis B. Roegel <Denis.Roegel@loria.fr>
diff --git a/lisp/calendar/time-date.el b/lisp/calendar/time-date.el
index fd74e5a6251..0de9806d2bb 100644
--- a/lisp/calendar/time-date.el
+++ b/lisp/calendar/time-date.el
@@ -1,6 +1,6 @@
1;;; time-date.el --- Date and time handling functions 1;;; time-date.el --- Date and time handling functions
2 2
3;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> 6;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
diff --git a/lisp/calendar/timeclock.el b/lisp/calendar/timeclock.el
index f46ec4eba23..3f2697509f3 100644
--- a/lisp/calendar/timeclock.el
+++ b/lisp/calendar/timeclock.el
@@ -1,6 +1,6 @@
1;;; timeclock.el --- mode for keeping track of how much you work 1;;; timeclock.el --- mode for keeping track of how much you work
2 2
3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: John Wiegley <johnw@gnu.org> 6;; Author: John Wiegley <johnw@gnu.org>
diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el
index b6871a38ab9..6f96ec1cdb2 100644
--- a/lisp/calendar/todo-mode.el
+++ b/lisp/calendar/todo-mode.el
@@ -1,6 +1,6 @@
1;;; todo-mode.el --- major mode for editing TODO list files 1;;; todo-mode.el --- major mode for editing TODO list files
2 2
3;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Oliver Seidel <os10000@seidel-space.de> 6;; Author: Oliver Seidel <os10000@seidel-space.de>
diff --git a/lisp/desktop.el b/lisp/desktop.el
index 355f8d9394c..cfde6237cd9 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -57,17 +57,17 @@
57;; are supplied to handle special major and minor modes respectively. 57;; are supplied to handle special major and minor modes respectively.
58;; `desktop-buffer-mode-handlers' is an alist of major mode specific functions 58;; `desktop-buffer-mode-handlers' is an alist of major mode specific functions
59;; to restore a desktop buffer. Elements must have the form 59;; to restore a desktop buffer. Elements must have the form
60;; 60;;
61;; (MAJOR-MODE . RESTORE-BUFFER-FUNCTION). 61;; (MAJOR-MODE . RESTORE-BUFFER-FUNCTION).
62;; 62;;
63;; Functions listed are called by `desktop-create-buffer' when `desktop-read' 63;; Functions listed are called by `desktop-create-buffer' when `desktop-read'
64;; evaluates the desktop file. Buffers with a major mode not specified here, 64;; evaluates the desktop file. Buffers with a major mode not specified here,
65;; are restored by the default handler `desktop-restore-file-buffer'. 65;; are restored by the default handler `desktop-restore-file-buffer'.
66;; `desktop-minor-mode-handlers' is an alist of functions to restore 66;; `desktop-minor-mode-handlers' is an alist of functions to restore
67;; non-standard minor modes. Elements must have the form 67;; non-standard minor modes. Elements must have the form
68;; 68;;
69;; (MINOR-MODE . RESTORE-FUNCTION). 69;; (MINOR-MODE . RESTORE-FUNCTION).
70;; 70;;
71;; Functions are called by `desktop-create-buffer' to restore minor modes. 71;; Functions are called by `desktop-create-buffer' to restore minor modes.
72;; Minor modes not specified here, are restored by the standard minor mode 72;; Minor modes not specified here, are restored by the standard minor mode
73;; function. If you write a module that defines a major or minor mode that 73;; function. If you write a module that defines a major or minor mode that
@@ -661,7 +661,7 @@ Not all types of values are supported."
661(defun desktop-outvar (varspec) 661(defun desktop-outvar (varspec)
662 "Output a setq statement for variable VAR to the desktop file. 662 "Output a setq statement for variable VAR to the desktop file.
663The argument VARSPEC may be the variable name VAR (a symbol), 663The argument VARSPEC may be the variable name VAR (a symbol),
664or a cons cell of the form (VAR . MAX-SIZE), 664or a cons cell of the form (VAR . MAX-SIZE),
665which means to truncate VAR's value to at most MAX-SIZE elements 665which means to truncate VAR's value to at most MAX-SIZE elements
666\(if the value is a list) before saving the value." 666\(if the value is a list) before saving the value."
667 (let (var size) 667 (let (var size)
@@ -684,7 +684,8 @@ which means to truncate VAR's value to at most MAX-SIZE elements
684(defun desktop-save-buffer-p (filename bufname mode &rest dummy) 684(defun desktop-save-buffer-p (filename bufname mode &rest dummy)
685 "Return t if buffer should have its state saved in the desktop file. 685 "Return t if buffer should have its state saved in the desktop file.
686FILENAME is the visited file name, BUFNAME is the buffer name, and 686FILENAME is the visited file name, BUFNAME is the buffer name, and
687MODE is the major mode." 687MODE is the major mode.
688\n\(fn FILENAME BUFNAME MODE)"
688 (let ((case-fold-search nil)) 689 (let ((case-fold-search nil))
689 (and (not (string-match desktop-buffers-not-to-save bufname)) 690 (and (not (string-match desktop-buffers-not-to-save bufname))
690 (not (memq mode desktop-modes-not-to-save)) 691 (not (memq mode desktop-modes-not-to-save))
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index da9fc284801..e207c60502d 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -1027,11 +1027,11 @@ dired."
1027 " " dired-guess-shell-znew-switches)) 1027 " " dired-guess-shell-znew-switches))
1028 1028
1029 ;; The following four extensions are useful with dired-man ("N" key) 1029 ;; The following four extensions are useful with dired-man ("N" key)
1030 (list "\\.[0-9]$" '(progn (require 'man) 1030 (list "\\.\\(?:[0-9]\\|man\\)$" '(progn (require 'man)
1031 (if (Man-support-local-filenames) 1031 (if (Man-support-local-filenames)
1032 "man -l" 1032 "man -l"
1033 "cat * | tbl | nroff -man -h"))) 1033 "cat * | tbl | nroff -man -h")))
1034 (list "\\.[0-9]\\.g?z$" '(progn (require 'man) 1034 (list "\\.\\(?:[0-9]\\|man\\)\\.g?z$" '(progn (require 'man)
1035 (if (Man-support-local-filenames) 1035 (if (Man-support-local-filenames)
1036 "man -l" 1036 "man -l"
1037 "gunzip -qc * | tbl | nroff -man -h")) 1037 "gunzip -qc * | tbl | nroff -man -h"))
diff --git a/lisp/frame.el b/lisp/frame.el
index 5e6451dccac..8437475dfd6 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -695,7 +695,7 @@ automatically."
695 (select-frame frame) 695 (select-frame frame)
696 (raise-frame frame) 696 (raise-frame frame)
697 ;; Ensure, if possible, that frame gets input focus. 697 ;; Ensure, if possible, that frame gets input focus.
698 (cond ((eq window-system 'x) 698 (cond ((memq window-system '(x mac))
699 (x-focus-frame frame)) 699 (x-focus-frame frame))
700 ((eq window-system 'w32) 700 ((eq window-system 'w32)
701 (w32-focus-frame frame))) 701 (w32-focus-frame frame)))
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 168280e8e24..be9436d350c 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,41 @@
12006-02-10 Reiner Steib <Reiner.Steib@gmx.de>
2
3 * gnus.el: Remove bogus comment.
4
52006-02-09 Daiki Ueno <ueno@unixuser.org>
6
7 * pgg-gpg.el (pgg-gpg-encrypt-region): Don't convert line-endings
8 in elisp.
9 (pgg-gpg-encrypt-symmetric-region): Ditto.
10 (pgg-gpg-sign-region): Ditto.
11
12 * pgg-def.el (pgg-text-mode): New variable.
13
14 * mml2015.el (mml2015-pgg-sign): Enable pgg-text-mode.
15 (mml2015-pgg-encrypt): Ditto.
16
17 * mml1991.el (mml1991-pgg-sign): Enable pgg-text-mode.
18 (mml1991-pgg-encrypt): Ditto.
19
202006-02-08 Katsumi Yamaoka <yamaoka@jpl.org>
21
22 * nnfolder.el (nnfolder-insert-newsgroup-line): Use
23 message-make-date instead of current-time-string.
24
25 * mm-view.el (mm-inline-message): Don't set gnus-newsgroup-charset
26 to gnus-decoded which mm-uu might set.
27
282006-02-08 Katsumi Yamaoka <yamaoka@jpl.org>
29
30 * rfc2231.el (rfc2231-parse-string): Sort segmented parameters;
31 don't decode quoted parameters; remove misimported Emacs code.
32 Suggested by ARISAWA Akihiro <ari@mbf.ocn.ne.jp>.
33 (rfc2231-decode-encoded-string): Don't use split-string which
34 behaves differently according to Emacs version; use
35 mm-decode-coding-region to convert charset to coding-system.
36 Suggested by ARISAWA Akihiro <ari@mbf.ocn.ne.jp>.
37 (rfc2231-encode-string): Remove misimported Emacs code.
38
12006-02-07 Katsumi Yamaoka <yamaoka@jpl.org> 392006-02-07 Katsumi Yamaoka <yamaoka@jpl.org>
2 40
3 * gnus-art.el (article-decode-charset): Don't use ignore-errors 41 * gnus-art.el (article-decode-charset): Don't use ignore-errors
@@ -50,7 +88,7 @@
50 88
51 * gnus-util.el (gnus-error): Describe `args'. 89 * gnus-util.el (gnus-error): Describe `args'.
52 90
532006-02-03 Andreas Seltenreich <uwi7@stud.uni-karlsruhe.de> 912006-02-03 Andreas Seltenreich <uwi7@stud.uni-karlsruhe.de>
54 92
55 * nnweb.el (nnweb-request-group): Avoid growing overview files. 93 * nnweb.el (nnweb-request-group): Avoid growing overview files.
56 94
@@ -67,7 +105,7 @@
67 * mml.el (mml-generate-mime-1): Correct the order of inline signed 105 * mml.el (mml-generate-mime-1): Correct the order of inline signed
68 parts. 106 parts.
69 107
702006-01-31 Andreas Seltenreich <uwi7@stud.uni-karlsruhe.de> 1082006-01-31 Andreas Seltenreich <uwi7@stud.uni-karlsruhe.de>
71 109
72 * nnweb.el (nnweb-group-alist): Use defvar instead of defvoo, 110 * nnweb.el (nnweb-group-alist): Use defvar instead of defvoo,
73 there's only one active file for all servers. 111 there's only one active file for all servers.
@@ -108,7 +146,7 @@
108 146
109 * nnweb.el (nnweb-google-parse-1): Clarify some comments. 147 * nnweb.el (nnweb-google-parse-1): Clarify some comments.
110 148
1112006-01-30 Andreas Seltenreich <uwi7@stud.uni-karlsruhe.de> 1492006-01-30 Andreas Seltenreich <uwi7@stud.uni-karlsruhe.de>
112 150
113 * nnweb.el (nnweb-type-definition, nnweb-google-parse-1) 151 * nnweb.el (nnweb-type-definition, nnweb-google-parse-1)
114 (nnweb-google-create-mapping, nnweb-google-search): Adapt to 152 (nnweb-google-create-mapping, nnweb-google-search): Adapt to
@@ -466,6 +504,98 @@
466 as a buffer-local variable. This avoids creating truncated 504 as a buffer-local variable. This avoids creating truncated
467 dribble files as a result of a hang up, eg. 505 dribble files as a result of a hang up, eg.
468 506
5072005-11-04 Ken Manheimer <ken.manheimer@gmail.com>
508
509 * pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region)
510 (pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
511 (pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
512 (pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
513 argument to all these routines, so the passphrase can be managed
514 externally and passed in to the system.
515 (pgg-pgp-decrypt-region, pgg-pgp-sign-region): Use new name for
516 pgg-add-passphrase-to-cache function.
517
518 * pgg-pgp5.el (pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region)
519 (pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric)
520 (pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt)
521 (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase'
522 argument to all these routines, so the passphrase can be managed
523 externally and passed in to the system.
524 (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache
525 function.
526
5272005-10-29 Ken Manheimer <ken.manheimer@gmail.com>
528
529 * pgg-gpg.el (pgg-gpg-select-matching-key): Fix: look at the right
530 part of the decoded armor to find the key-identifier.
531 (pgg-gpg-lookup-key-owner): New function to return the
532 human-readable identifier of a key owner.
533 (pgg-gpg-lookup-id-from-key-owner): Make it easy to identify the
534 key itself.
535 (pgg-gpg-decrypt-region): Prompt with the key owner (rather than
536 the key value) if we have a key and can match it against a secret
537 key. Also, added a note pointing out fact that the prompt only
538 indicates the first matching key.
539
540 * pgg.el (pgg-decrypt): Passing along 'passphrase' in call to
541 pgg-decrypt-region.
542 (pgg-pending-timers): A new hash for tracking the passphrase cache
543 timers, so that new ones supercede old ones.
544 (pgg-add-passphrase-to-cache): Rename from
545 `pgg-add-passphrase-cache' to reduce confusion (all callers
546 changed). Modified to cancel old timers when new ones are added.
547 (pgg-remove-passphrase-from-cache): Rename from
548 `pgg-remove-passphrase-cache' to reduce confusion (all callers
549 changed). Modified to cancel old timers when their keys are
550 removed from the cache.
551 (pgg-cancel-timer): In Emacs, an alias for cancel-timer; in
552 XEmacs, an indirection to delete-itimer.
553 (pgg-read-passphrase-from-cache, pgg-read-passphrase):
554 Extract pgg-read-passphrase-from-cache from pgg-read-passphrase so
555 users can only check cache without risk of prompting. Correct bug in
556 notruncate behavior.
557 (pgg-read-passphrase-from-cache, pgg-read-passphrase)
558 (pgg-add-passphrase-cache, pgg-remove-passphrase-cache):
559 Add informative docstrings.
560 (pgg-decrypt): Convey provided passphrase in subordinate call to
561 pgg-decrypt-region.
562
5632005-10-20 Ken Manheimer <ken.manheimer+emacs@gmail.com>
564
565 * pgg.el (pgg-encrypt-region, pgg-encrypt-symmetric-region)
566 (pgg-encrypt-symmetric, pgg-encrypt, pgg-decrypt-region)
567 (pgg-decrypt, pgg-sign-region, pgg-sign): Add optional
568 'passphrase' argument, so the passphrase can be managed externally
569 and then passed in to the system.
570
571 * pgg.el (pgg-read-passphrase, pgg-add-passphrase-cache)
572 (pgg-remove-passphrase-cache): Add optional 'notruncate' argument,
573 so the passphrase cache can be used reliably with identifiers
574 besides a pgp packet's key id.
575
576 * pgg-gpg.el (pgg-pgp-encrypt-region)
577 (pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
578 (pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
579 (pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
580 argument to all these routines, so the passphrase can be managed
581 externally and passed in to the system.
582
583 * pgg-gpg.el (pgg-gpg-possibly-cache-passphrase): Add optional
584 'notruncate' argument, so the passphrase cache can be used
585 reliably with identifiers besides a pgp packet's key id.
586
5872005-10-29 Sascha Wilde <swilde@sha-bang.de>
588
589 * pgg-gpg.el (pgg-gpg-encrypt-symmetric-region): New function for
590 symmetric encryption.
591 (pgg-gpg-symmetric-key-p): New function to check for an symmetric
592 encrypted session key.
593 (pgg-gpg-decrypt-region): When decrypting a symmetric encrypted
594 message ask for the passphrase in a proper way.
595
596 * pgg.el (pgg-encrypt-symmetric, pgg-encrypt-symmetric-region):
597 New user commands for symmetric encryption.
598
4692005-11-30 Stefan Monnier <monnier@iro.umontreal.ca> 5992005-11-30 Stefan Monnier <monnier@iro.umontreal.ca>
470 600
471 * gnus-delay.el (gnus-delay-group): Don't autoload. 601 * gnus-delay.el (gnus-delay-group): Don't autoload.
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
index 359e48cb701..2caccc0b70e 100644
--- a/lisp/gnus/gnus.el
+++ b/lisp/gnus/gnus.el
@@ -4257,9 +4257,6 @@ current display is used."
4257 (delete-frame gnus-other-frame-object)) 4257 (delete-frame gnus-other-frame-object))
4258 (setq gnus-other-frame-object nil))))))) 4258 (setq gnus-other-frame-object nil)))))))
4259 4259
4260;;(setq thing ? ; this is a comment
4261;; more 'yes)
4262
4263;;;###autoload 4260;;;###autoload
4264(defun gnus (&optional arg dont-connect slave) 4261(defun gnus (&optional arg dont-connect slave)
4265 "Read network news. 4262 "Read network news.
diff --git a/lisp/gnus/mm-view.el b/lisp/gnus/mm-view.el
index 73cab0a5676..43d6bddf194 100644
--- a/lisp/gnus/mm-view.el
+++ b/lisp/gnus/mm-view.el
@@ -486,7 +486,8 @@
486 ;; disable prepare hook 486 ;; disable prepare hook
487 gnus-article-prepare-hook 487 gnus-article-prepare-hook
488 (gnus-newsgroup-charset 488 (gnus-newsgroup-charset
489 (or charset gnus-newsgroup-charset))) 489 (unless (eq charset 'gnus-decoded) ;; mm-uu might set it.
490 (or charset gnus-newsgroup-charset))))
490 (let ((gnus-original-article-buffer (mm-handle-buffer handle))) 491 (let ((gnus-original-article-buffer (mm-handle-buffer handle)))
491 (run-hooks 'gnus-article-decode-hook)) 492 (run-hooks 'gnus-article-decode-hook))
492 (gnus-article-prepare-display) 493 (gnus-article-prepare-display)
diff --git a/lisp/gnus/mml1991.el b/lisp/gnus/mml1991.el
index 761ce4f0af4..0c6bb675388 100644
--- a/lisp/gnus/mml1991.el
+++ b/lisp/gnus/mml1991.el
@@ -229,7 +229,8 @@
229 (defvar pgg-output-buffer)) 229 (defvar pgg-output-buffer))
230 230
231(defun mml1991-pgg-sign (cont) 231(defun mml1991-pgg-sign (cont)
232 (let (headers cte) 232 (let ((pgg-text-mode t)
233 headers cte)
233 ;; Don't sign headers. 234 ;; Don't sign headers.
234 (goto-char (point-min)) 235 (goto-char (point-min))
235 (while (not (looking-at "^$")) 236 (while (not (looking-at "^$"))
@@ -261,7 +262,8 @@
261 t)) 262 t))
262 263
263(defun mml1991-pgg-encrypt (cont &optional sign) 264(defun mml1991-pgg-encrypt (cont &optional sign)
264 (let (cte) 265 (let ((pgg-text-mode t)
266 cte)
265 ;; Strip MIME Content[^ ]: headers since it will be ASCII ARMOURED 267 ;; Strip MIME Content[^ ]: headers since it will be ASCII ARMOURED
266 (goto-char (point-min)) 268 (goto-char (point-min))
267 (while (looking-at "^Content[^ ]+:") 269 (while (looking-at "^Content[^ ]+:")
diff --git a/lisp/gnus/mml2015.el b/lisp/gnus/mml2015.el
index cb9e77983d3..80dd5b26597 100644
--- a/lisp/gnus/mml2015.el
+++ b/lisp/gnus/mml2015.el
@@ -814,6 +814,7 @@
814 (boundary (mml-compute-boundary cont)) 814 (boundary (mml-compute-boundary cont))
815 (pgg-default-user-id (or (message-options-get 'mml-sender) 815 (pgg-default-user-id (or (message-options-get 'mml-sender)
816 pgg-default-user-id)) 816 pgg-default-user-id))
817 (pgg-text-mode t)
817 entry) 818 entry)
818 (unless (pgg-sign-region (point-min) (point-max)) 819 (unless (pgg-sign-region (point-min) (point-max))
819 (pop-to-buffer mml2015-result-buffer) 820 (pop-to-buffer mml2015-result-buffer)
@@ -841,6 +842,7 @@
841 842
842(defun mml2015-pgg-encrypt (cont &optional sign) 843(defun mml2015-pgg-encrypt (cont &optional sign)
843 (let ((pgg-errors-buffer mml2015-result-buffer) 844 (let ((pgg-errors-buffer mml2015-result-buffer)
845 (pgg-text-mode t)
844 (boundary (mml-compute-boundary cont))) 846 (boundary (mml-compute-boundary cont)))
845 (unless (pgg-encrypt-region (point-min) (point-max) 847 (unless (pgg-encrypt-region (point-min) (point-max)
846 (split-string 848 (split-string
diff --git a/lisp/gnus/nnfolder.el b/lisp/gnus/nnfolder.el
index c7043011fa2..bd9957283f4 100644
--- a/lisp/gnus/nnfolder.el
+++ b/lisp/gnus/nnfolder.el
@@ -826,7 +826,7 @@ deleted. Point is left where the deleted region was."
826 (insert "\n")) 826 (insert "\n"))
827 (forward-char -1) 827 (forward-char -1)
828 (insert (format (concat nnfolder-article-marker "%d %s\n") 828 (insert (format (concat nnfolder-article-marker "%d %s\n")
829 (cdr group-art) (current-time-string))))) 829 (cdr group-art) (message-make-date)))))
830 830
831(defun nnfolder-active-number (group) 831(defun nnfolder-active-number (group)
832 ;; Find the next article number in GROUP. 832 ;; Find the next article number in GROUP.
diff --git a/lisp/gnus/rfc2231.el b/lisp/gnus/rfc2231.el
index 31c9f1ade94..7b4cf2447f4 100644
--- a/lisp/gnus/rfc2231.el
+++ b/lisp/gnus/rfc2231.el
@@ -52,14 +52,8 @@ function fails in parsing of parameters."
52 (let ((ttoken (ietf-drums-token-to-list ietf-drums-text-token)) 52 (let ((ttoken (ietf-drums-token-to-list ietf-drums-text-token))
53 (stoken (ietf-drums-token-to-list ietf-drums-tspecials)) 53 (stoken (ietf-drums-token-to-list ietf-drums-tspecials))
54 (ntoken (ietf-drums-token-to-list "0-9")) 54 (ntoken (ietf-drums-token-to-list "0-9"))
55 (prev-value "") 55 c type attribute encoded number prev-attribute vals
56 display-name mailbox c display-string parameters 56 prev-encoded parameters value)
57 attribute value type subtype number encoded
58 prev-attribute prev-encoded)
59 ;; Some mailer (e.g. Thunderbird 1.5) doesn't terminate each
60 ;; line with semicolon when folding a long parameter value.
61 (while (string-match "\\([^\t\n\r ;]\\)[\t ]*\r?\n[\t ]+" string)
62 (setq string (replace-match "\\1;\n " nil nil string)))
63 (ietf-drums-init (mail-header-remove-whitespace 57 (ietf-drums-init (mail-header-remove-whitespace
64 (mail-header-remove-comments string))) 58 (mail-header-remove-comments string)))
65 (let ((table (copy-syntax-table ietf-drums-syntax-table))) 59 (let ((table (copy-syntax-table ietf-drums-syntax-table)))
@@ -97,31 +91,36 @@ function fails in parsing of parameters."
97 (point) (progn (forward-sexp 1) (point)))))) 91 (point) (progn (forward-sexp 1) (point))))))
98 (error "Invalid header: %s" string)) 92 (error "Invalid header: %s" string))
99 (setq c (char-after)) 93 (setq c (char-after))
100 (when (eq c ?*) 94 (if (eq c ?*)
101 (forward-char 1) 95 (progn
102 (setq c (char-after))
103 (if (not (memq c ntoken))
104 (setq encoded t
105 number nil)
106 (setq number
107 (string-to-number
108 (buffer-substring
109 (point) (progn (forward-sexp 1) (point)))))
110 (setq c (char-after))
111 (when (eq c ?*)
112 (setq encoded t)
113 (forward-char 1) 96 (forward-char 1)
114 (setq c (char-after))))) 97 (setq c (char-after))
98 (if (not (memq c ntoken))
99 (setq encoded t
100 number nil)
101 (setq number
102 (string-to-number
103 (buffer-substring
104 (point) (progn (forward-sexp 1) (point)))))
105 (setq c (char-after))
106 (when (eq c ?*)
107 (setq encoded t)
108 (forward-char 1)
109 (setq c (char-after)))))
110 (setq number nil
111 encoded nil))
115 ;; See if we have any previous continuations. 112 ;; See if we have any previous continuations.
116 (when (and prev-attribute 113 (when (and prev-attribute
117 (not (eq prev-attribute attribute))) 114 (not (eq prev-attribute attribute)))
115 (setq vals
116 (mapconcat 'cdr (sort vals 'car-less-than-car) ""))
118 (push (cons prev-attribute 117 (push (cons prev-attribute
119 (if prev-encoded 118 (if prev-encoded
120 (rfc2231-decode-encoded-string prev-value) 119 (rfc2231-decode-encoded-string vals)
121 prev-value)) 120 vals))
122 parameters) 121 parameters)
123 (setq prev-attribute nil 122 (setq prev-attribute nil
124 prev-value "" 123 vals nil
125 prev-encoded nil)) 124 prev-encoded nil))
126 (unless (eq c ?=) 125 (unless (eq c ?=)
127 (error "Invalid header: %s" string)) 126 (error "Invalid header: %s" string))
@@ -132,7 +131,10 @@ function fails in parsing of parameters."
132 (setq value (buffer-substring (1+ (point)) 131 (setq value (buffer-substring (1+ (point))
133 (progn 132 (progn
134 (forward-sexp 1) 133 (forward-sexp 1)
135 (1- (point)))))) 134 (1- (point)))))
135 (when encoded
136 (setq value (mapconcat (lambda (c) (format "%%%02x" c))
137 value ""))))
136 ((and (or (memq c ttoken) 138 ((and (or (memq c ttoken)
137 ;; EXTENSION: Support non-ascii chars. 139 ;; EXTENSION: Support non-ascii chars.
138 (> c ?\177)) 140 (> c ?\177))
@@ -153,9 +155,10 @@ function fails in parsing of parameters."
153 (t 155 (t
154 (error "Invalid header: %s" string))) 156 (error "Invalid header: %s" string)))
155 (if number 157 (if number
156 (setq prev-attribute attribute 158 (progn
157 prev-value (concat prev-value value) 159 (push (cons number value) vals)
158 prev-encoded encoded) 160 (setq prev-attribute attribute
161 prev-encoded encoded))
159 (push (cons attribute 162 (push (cons attribute
160 (if encoded 163 (if encoded
161 (rfc2231-decode-encoded-string value) 164 (rfc2231-decode-encoded-string value)
@@ -164,10 +167,11 @@ function fails in parsing of parameters."
164 167
165 ;; Take care of any final continuations. 168 ;; Take care of any final continuations.
166 (when prev-attribute 169 (when prev-attribute
170 (setq vals (mapconcat 'cdr (sort vals 'car-less-than-car) ""))
167 (push (cons prev-attribute 171 (push (cons prev-attribute
168 (if prev-encoded 172 (if prev-encoded
169 (rfc2231-decode-encoded-string prev-value) 173 (rfc2231-decode-encoded-string vals)
170 prev-value)) 174 vals))
171 parameters))) 175 parameters)))
172 (error 176 (error
173 (setq parameters nil) 177 (setq parameters nil)
@@ -181,25 +185,27 @@ function fails in parsing of parameters."
181 185
182(defun rfc2231-decode-encoded-string (string) 186(defun rfc2231-decode-encoded-string (string)
183 "Decode an RFC2231-encoded string. 187 "Decode an RFC2231-encoded string.
184These look like \"us-ascii'en-us'This%20is%20%2A%2A%2Afun%2A%2A%2A\"." 188These look like:
185 (with-temp-buffer 189 \"us-ascii'en-us'This%20is%20%2A%2A%2Afun%2A%2A%2A\",
186 (let ((elems (split-string string "'"))) 190 \"us-ascii''This%20is%20%2A%2A%2Afun%2A%2A%2A\",
187 ;; The encoded string may contain zero to two single-quote 191 \"'en-us'This%20is%20%2A%2A%2Afun%2A%2A%2A\",
188 ;; marks. This should give us the encoded word stripped 192 \"''This%20is%20%2A%2A%2Afun%2A%2A%2A\", or
189 ;; of any preceding values. 193 \"This is ***fun***\"."
190 (insert (car (last elems))) 194 (string-match "\\`\\(\\([^']+\\)?'\\([^']+\\)?'\\)?\\(.+\\)" string)
195 (let ((coding-system (mm-charset-to-coding-system (match-string 2 string)))
196 ;;(language (match-string 3 string))
197 (value (match-string 4 string)))
198 (mm-with-multibyte-buffer
199 (insert value)
191 (goto-char (point-min)) 200 (goto-char (point-min))
192 (while (search-forward "%" nil t) 201 (while (search-forward "%" nil t)
193 (insert 202 (insert
194 (prog1 203 (prog1
195 (string-to-number (buffer-substring (point) (+ (point) 2)) 16) 204 (string-to-number (buffer-substring (point) (+ (point) 2)) 16)
196 (delete-region (1- (point)) (+ (point) 2))))) 205 (delete-region (1- (point)) (+ (point) 2)))))
197 ;; Encode using the charset, if any. 206 ;; Decode using the charset, if any.
198 (when (and (mm-multibyte-p) 207 (unless (memq coding-system '(nil ascii))
199 (> (length elems) 1) 208 (mm-decode-coding-region (point-min) (point-max) coding-system))
200 (not (equal (intern (downcase (car elems))) 'us-ascii)))
201 (mm-decode-coding-region (point-min) (point-max)
202 (intern (downcase (car elems)))))
203 (buffer-string)))) 209 (buffer-string))))
204 210
205(defun rfc2231-encode-string (param value) 211(defun rfc2231-encode-string (param value)
@@ -263,12 +269,12 @@ the result of this function."
263 (forward-line 1)))) 269 (forward-line 1))))
264 (spacep 270 (spacep
265 (goto-char (point-min)) 271 (goto-char (point-min))
266 (insert "\n " param "=\"") 272 (insert param "=\"")
267 (goto-char (point-max)) 273 (goto-char (point-max))
268 (insert "\"")) 274 (insert "\""))
269 (t 275 (t
270 (goto-char (point-min)) 276 (goto-char (point-min))
271 (insert "\n " param "="))) 277 (insert param "=")))
272 (buffer-string)))) 278 (buffer-string))))
273 279
274(provide 'rfc2231) 280(provide 'rfc2231)
diff --git a/lisp/hilit-chg.el b/lisp/hilit-chg.el
index a68e20cf6de..d6408412c0b 100644
--- a/lisp/hilit-chg.el
+++ b/lisp/hilit-chg.el
@@ -521,7 +521,7 @@ the text properties of type `hilit-chg'."
521This allows you to manually remove highlighting from uninteresting changes." 521This allows you to manually remove highlighting from uninteresting changes."
522 (interactive "r") 522 (interactive "r")
523 (let ((after-change-functions nil)) 523 (let ((after-change-functions nil))
524 (remove-text-properties beg end '(hilit-chg nil)) 524 (remove-text-properties beg end '(hilit-chg nil))
525 (hilit-chg-fixup beg end))) 525 (hilit-chg-fixup beg end)))
526 526
527(defun hilit-chg-set-face-on-change (beg end leng-before 527(defun hilit-chg-set-face-on-change (beg end leng-before
@@ -662,7 +662,7 @@ Hook variables:
662 ;; an argument is given 662 ;; an argument is given
663 ((eq arg 'active) 663 ((eq arg 'active)
664 'active) 664 'active)
665 ((eq arg 'passive) 665 ((eq arg 'passive)
666 'passive) 666 'passive)
667 ((> (prefix-numeric-value arg) 0) 667 ((> (prefix-numeric-value arg) 0)
668 'active) 668 'active)
@@ -673,7 +673,6 @@ Hook variables:
673 (if new-highlight-changes-mode 673 (if new-highlight-changes-mode
674 ;; mode is turned on -- but may be passive 674 ;; mode is turned on -- but may be passive
675 (progn 675 (progn
676 (add-to-list 'desktop-locals-to-save 'highlight-changes-mode)
677 (hilit-chg-set new-highlight-changes-mode) 676 (hilit-chg-set new-highlight-changes-mode)
678 (or was-on 677 (or was-on
679 ;; run highlight-changes-enable-hook once 678 ;; run highlight-changes-enable-hook once
@@ -960,9 +959,9 @@ changes are made, so \\[highlight-changes-next-change] and
960 ;; which calls this function as a hook 959 ;; which calls this function as a hook
961 (defvar x) ;; placate the byte-compiler 960 (defvar x) ;; placate the byte-compiler
962 (defvar y) 961 (defvar y)
963 (setq e (current-buffer)) 962 (setq e (current-buffer))
964 (let ((n 0) extent p va vb a b) 963 (let ((n 0) extent p va vb a b)
965 (setq x nil y nil) ;; x and y are bound by hilit-chg-get-diff-info 964 (setq x nil y nil) ;; x and y are bound by hilit-chg-get-diff-info
966 (while (< n ediff-number-of-differences) 965 (while (< n ediff-number-of-differences)
967 (ediff-make-fine-diffs n) 966 (ediff-make-fine-diffs n)
968 (setq va (ediff-get-fine-diff-vector n 'A)) 967 (setq va (ediff-get-fine-diff-vector n 'A))
@@ -1085,7 +1084,7 @@ variable `highlight-changes-global-changes-existing-buffers' is non-nil).
1085 (progn 1084 (progn
1086 (if (eq arg 'active) 1085 (if (eq arg 'active)
1087 (setq highlight-changes-global-initial-state 'active) 1086 (setq highlight-changes-global-initial-state 'active)
1088 (if (eq arg 'passive) 1087 (if (eq arg 'passive)
1089 (setq highlight-changes-global-initial-state 'passive))) 1088 (setq highlight-changes-global-initial-state 'passive)))
1090 (setq global-highlight-changes t) 1089 (setq global-highlight-changes t)
1091 (message "Turning ON Global Highlight Changes mode in %s state" 1090 (message "Turning ON Global Highlight Changes mode in %s state"
@@ -1131,7 +1130,7 @@ from `global-highlight-changes' when turning on global Highlight Changes mode."
1131 (memq major-mode highlight-changes-global-modes))) 1130 (memq major-mode highlight-changes-global-modes)))
1132 (t 1131 (t
1133 (and 1132 (and
1134 (not (string-match "^[ *]" (buffer-name))) 1133 (not (string-match "^[ *]" (buffer-name)))
1135 (buffer-file-name)))) 1134 (buffer-file-name))))
1136 (progn 1135 (progn
1137 (hilit-chg-set value) 1136 (hilit-chg-set value)
@@ -1146,14 +1145,15 @@ from `global-highlight-changes' when turning on global Highlight Changes mode."
1146 1145
1147 1146
1148(defun hilit-chg-update-all-buffers (value) 1147(defun hilit-chg-update-all-buffers (value)
1149 (mapcar 1148 (mapc
1150 (function (lambda (buffer) 1149 (function (lambda (buffer)
1151 (with-current-buffer buffer 1150 (with-current-buffer buffer
1152 (if value 1151 (if value
1153 (hilit-chg-turn-on-maybe value) 1152 (hilit-chg-turn-on-maybe value)
1154 (hilit-chg-turn-off-maybe)) 1153 (hilit-chg-turn-off-maybe))
1155 ))) 1154 )))
1156 (buffer-list))) 1155 (buffer-list))
1156 nil)
1157 1157
1158;;;; Desktop support. 1158;;;; Desktop support.
1159 1159
@@ -1165,6 +1165,8 @@ from `global-highlight-changes' when turning on global Highlight Changes mode."
1165(add-to-list 'desktop-minor-mode-handlers 1165(add-to-list 'desktop-minor-mode-handlers
1166 '(highlight-changes-mode . hilit-chg-desktop-restore)) 1166 '(highlight-changes-mode . hilit-chg-desktop-restore))
1167 1167
1168(add-to-list 'desktop-locals-to-save 'highlight-changes-mode)
1169
1168;; ===================== debug ================== 1170;; ===================== debug ==================
1169;; For debug & test use: 1171;; For debug & test use:
1170;; 1172;;
diff --git a/lisp/image-mode.el b/lisp/image-mode.el
index e49ca27db72..258f852a4d6 100644
--- a/lisp/image-mode.el
+++ b/lisp/image-mode.el
@@ -140,7 +140,8 @@ and showing the image as an image."
140 (let* ((image 140 (let* ((image
141 (if (and (buffer-file-name) 141 (if (and (buffer-file-name)
142 (not (buffer-modified-p))) 142 (not (buffer-modified-p)))
143 (create-image (buffer-file-name)) 143 (progn (clear-image-cache)
144 (create-image (buffer-file-name)))
144 (create-image 145 (create-image
145 (string-make-unibyte 146 (string-make-unibyte
146 (buffer-substring-no-properties (point-min) (point-max))) 147 (buffer-substring-no-properties (point-min) (point-max)))
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog
index 47c7808f192..349bae9f072 100644
--- a/lisp/mh-e/ChangeLog
+++ b/lisp/mh-e/ChangeLog
@@ -1,3 +1,22 @@
12006-02-10 Bill Wohler <wohler@newt.com>
2
3 * mh-search.el (mh-search): Wrap code in (block mh-search ...)
4 rather than use defun*. XEmacs cannot create a proper autoload for
5 a defun*.
6
72006-02-09 Bill Wohler <wohler@newt.com>
8
9 * mh-utils.el (mh-folder-list): Don't replace "/*$" with "/" since
10 that causes an infinite loop on XEmacs.
11
12 * mh-compat.el(mh-replace-regexp-in-string): Add missing regexp
13 argument.
14
152006-02-08 Peter S Galbraith <psg@debian.org>
16
17 * mh-e.el (mh-invisible-header-fields-internal): Added entries
18 "X-BrightmailFiltered:", "X-Brightmail-Tracker:" and "X-Hashcash"
19
12006-02-04 Bill Wohler <wohler@newt.com> 202006-02-04 Bill Wohler <wohler@newt.com>
2 21
3 * mh-e.el (mh-inc-spool-list): Update example for Emacs 22 which 22 * mh-e.el (mh-inc-spool-list): Update example for Emacs 22 which
diff --git a/lisp/mh-e/mh-compat.el b/lisp/mh-e/mh-compat.el
index 1d7f1c90e79..090ee51c5fc 100644
--- a/lisp/mh-e/mh-compat.el
+++ b/lisp/mh-e/mh-compat.el
@@ -144,7 +144,7 @@ The argument STRING is ignored."
144 (match-beginning num) (match-end num))) 144 (match-beginning num) (match-end num)))
145 145
146(mh-defun-compat mh-replace-regexp-in-string replace-regexp-in-string 146(mh-defun-compat mh-replace-regexp-in-string replace-regexp-in-string
147 (rep string &optional fixedcase literal subexp start) 147 (regexp rep string &optional fixedcase literal subexp start)
148 "Replace REGEXP with REP everywhere in STRING and return result. 148 "Replace REGEXP with REP everywhere in STRING and return result.
149This function is used by XEmacs that lacks `replace-regexp-in-string'. 149This function is used by XEmacs that lacks `replace-regexp-in-string'.
150The function `replace-in-string' is used instead. 150The function `replace-in-string' is used instead.
diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el
index 8012eab5c8a..ab0143c0c85 100644
--- a/lisp/mh-e/mh-e.el
+++ b/lisp/mh-e/mh-e.el
@@ -2306,6 +2306,8 @@ of citations entirely, choose \"None\"."
2306 "X-Authentication-Warning:" ; sendmail 2306 "X-Authentication-Warning:" ; sendmail
2307 "X-Beenthere:" ; Mailman mailing list manager 2307 "X-Beenthere:" ; Mailman mailing list manager
2308 "X-Bogosity:" ; bogofilter 2308 "X-Bogosity:" ; bogofilter
2309 "X-BrightmailFiltered:" ; Brightmail
2310 "X-Brightmail-Tracker:" ; Brightmail
2309 "X-Bugzilla-*" ; Bugzilla 2311 "X-Bugzilla-*" ; Bugzilla
2310 "X-Complaints-To:" 2312 "X-Complaints-To:"
2311 "X-ContentStamp:" ; NetZero 2313 "X-ContentStamp:" ; NetZero
@@ -2333,6 +2335,7 @@ of citations entirely, choose \"None\"."
2333 "X-Habeas-SWE-7:" ; Spam 2335 "X-Habeas-SWE-7:" ; Spam
2334 "X-Habeas-SWE-8:" ; Spam 2336 "X-Habeas-SWE-8:" ; Spam
2335 "X-Habeas-SWE-9:" ; Spam 2337 "X-Habeas-SWE-9:" ; Spam
2338 "X-Hashcash:" ; hashcash
2336 "X-Info:" ; NTMail 2339 "X-Info:" ; NTMail
2337 "X-Juno-" ; Juno 2340 "X-Juno-" ; Juno
2338 "X-List-Host:" ; Unknown mailing list managers 2341 "X-List-Host:" ; Unknown mailing list managers
diff --git a/lisp/mh-e/mh-search.el b/lisp/mh-e/mh-search.el
index f1292dd8e1e..9980b6a9b68 100644
--- a/lisp/mh-e/mh-search.el
+++ b/lisp/mh-e/mh-search.el
@@ -81,8 +81,8 @@ message number, and optionally the match.")
81;;; MH-Folder Commands 81;;; MH-Folder Commands
82 82
83;;;###mh-autoload 83;;;###mh-autoload
84(defun* mh-search (folder search-regexp 84(defun mh-search (folder search-regexp
85 &optional redo-search-flag window-config) 85 &optional redo-search-flag window-config)
86 "Search your MH mail. 86 "Search your MH mail.
87 87
88This command helps you find messages in your entire corpus of 88This command helps you find messages in your entire corpus of
@@ -230,96 +230,98 @@ folder containing the index search results."
230 mh-search-regexp-builder) 230 mh-search-regexp-builder)
231 (current-window-configuration) 231 (current-window-configuration)
232 nil))) 232 nil)))
233 ;; Redoing a sequence search? 233 (block mh-search
234 (when (and redo-search-flag mh-index-data mh-index-sequence-search-flag 234 ;; Redoing a sequence search?
235 (not mh-flists-called-flag)) 235 (when (and redo-search-flag mh-index-data mh-index-sequence-search-flag
236 (let ((mh-flists-called-flag t)) 236 (not mh-flists-called-flag))
237 (apply #'mh-index-sequenced-messages mh-index-previous-search)) 237 (let ((mh-flists-called-flag t))
238 (return-from mh-search)) 238 (apply #'mh-index-sequenced-messages mh-index-previous-search))
239 ;; We have fancy query parsing. 239 (return-from mh-search))
240 (when (symbolp search-regexp) 240 ;; We have fancy query parsing.
241 (mh-search-folder folder window-config) 241 (when (symbolp search-regexp)
242 (return-from mh-search)) 242 (mh-search-folder folder window-config)
243 ;; Begin search proper. 243 (return-from mh-search))
244 (mh-checksum-choose) 244 ;; Begin search proper.
245 (let ((result-count 0) 245 (mh-checksum-choose)
246 (old-window-config (or window-config mh-previous-window-config)) 246 (let ((result-count 0)
247 (previous-search mh-index-previous-search) 247 (old-window-config (or window-config mh-previous-window-config))
248 (index-folder (format "%s/%s" mh-index-folder 248 (previous-search mh-index-previous-search)
249 (mh-index-generate-pretty-name search-regexp)))) 249 (index-folder (format "%s/%s" mh-index-folder
250 ;; Create a new folder for the search results or recreate the old one... 250 (mh-index-generate-pretty-name search-regexp))))
251 (if (and redo-search-flag mh-index-previous-search) 251 ;; Create a new folder for the search results or recreate the old one...
252 (let ((buffer-name (buffer-name (current-buffer)))) 252 (if (and redo-search-flag mh-index-previous-search)
253 (mh-process-or-undo-commands buffer-name) 253 (let ((buffer-name (buffer-name (current-buffer))))
254 (save-excursion (mh-exec-cmd-quiet nil "rmf" buffer-name)) 254 (mh-process-or-undo-commands buffer-name)
255 (mh-exec-cmd-quiet nil "folder" "-create" "-fast" buffer-name) 255 (save-excursion (mh-exec-cmd-quiet nil "rmf" buffer-name))
256 (setq index-folder buffer-name)) 256 (mh-exec-cmd-quiet nil "folder" "-create" "-fast" buffer-name)
257 (setq index-folder (mh-index-new-folder index-folder search-regexp))) 257 (setq index-folder buffer-name))
258 258 (setq index-folder (mh-index-new-folder index-folder search-regexp)))
259 (let ((folder-path (format "%s%s" mh-user-path (substring folder 1))) 259
260 (folder-results-map (make-hash-table :test #'equal)) 260 (let ((folder-path (format "%s%s" mh-user-path (substring folder 1)))
261 (origin-map (make-hash-table :test #'equal))) 261 (folder-results-map (make-hash-table :test #'equal))
262 ;; Run search program... 262 (origin-map (make-hash-table :test #'equal)))
263 (message "Executing %s... " mh-searcher) 263 ;; Run search program...
264 (funcall mh-search-function folder-path search-regexp) 264 (message "Executing %s... " mh-searcher)
265 265 (funcall mh-search-function folder-path search-regexp)
266 ;; Parse searcher output. 266
267 (message "Processing %s output... " mh-searcher) 267 ;; Parse searcher output.
268 (goto-char (point-min)) 268 (message "Processing %s output... " mh-searcher)
269 (loop for next-result = (funcall mh-search-next-result-function) 269 (goto-char (point-min))
270 while next-result 270 (loop for next-result = (funcall mh-search-next-result-function)
271 do (unless (eq next-result 'error) 271 while next-result
272 (unless (gethash (car next-result) folder-results-map) 272 do (unless (eq next-result 'error)
273 (setf (gethash (car next-result) folder-results-map) 273 (unless (gethash (car next-result) folder-results-map)
274 (make-hash-table :test #'equal))) 274 (setf (gethash (car next-result) folder-results-map)
275 (setf (gethash (cadr next-result) 275 (make-hash-table :test #'equal)))
276 (gethash (car next-result) folder-results-map)) 276 (setf (gethash (cadr next-result)
277 t))) 277 (gethash (car next-result) folder-results-map))
278 278 t)))
279 ;; Copy the search results over. 279
280 (maphash #'(lambda (folder msgs) 280 ;; Copy the search results over.
281 (let ((cur (car (mh-translate-range folder "cur"))) 281 (maphash #'(lambda (folder msgs)
282 (msgs (sort (loop for msg being the hash-keys of msgs 282 (let ((cur (car (mh-translate-range folder "cur")))
283 collect msg) 283 (msgs (sort (loop for msg being the hash-keys of msgs
284 #'<))) 284 collect msg)
285 (mh-exec-cmd "refile" msgs "-src" folder 285 #'<)))
286 "-link" index-folder) 286 (mh-exec-cmd "refile" msgs "-src" folder
287 ;; Restore cur to old value, that refile changed 287 "-link" index-folder)
288 (when cur 288 ;; Restore cur to old value, that refile changed
289 (mh-exec-cmd-quiet nil "mark" folder "-add" "-zero" 289 (when cur
290 "-sequence" "cur" (format "%s" cur))) 290 (mh-exec-cmd-quiet nil "mark" folder "-add" "-zero"
291 (loop for msg in msgs 291 "-sequence"
292 do (incf result-count) 292 "cur" (format "%s" cur)))
293 (setf (gethash result-count origin-map) 293 (loop for msg in msgs
294 (cons folder msg))))) 294 do (incf result-count)
295 folder-results-map) 295 (setf (gethash result-count origin-map)
296 296 (cons folder msg)))))
297 ;; Vist the results folder. 297 folder-results-map)
298 (mh-visit-folder index-folder () (list folder-results-map origin-map)) 298
299 ;; Vist the results folder.
300 (mh-visit-folder index-folder () (list folder-results-map origin-map))
299 301
300 (goto-char (point-min)) 302 (goto-char (point-min))
301 (forward-line) 303 (forward-line)
302 (mh-update-sequences) 304 (mh-update-sequences)
303 (mh-recenter nil) 305 (mh-recenter nil)
304 306
305 ;; Update the speedbar, if needed. 307 ;; Update the speedbar, if needed.
306 (when (mh-speed-flists-active-p) 308 (when (mh-speed-flists-active-p)
307 (mh-speed-flists t mh-current-folder)) 309 (mh-speed-flists t mh-current-folder))
308 310
309 ;; Maintain history. 311 ;; Maintain history.
310 (when (or (and redo-search-flag previous-search) window-config) 312 (when (or (and redo-search-flag previous-search) window-config)
311 (setq mh-previous-window-config old-window-config)) 313 (setq mh-previous-window-config old-window-config))
312 (setq mh-index-previous-search (list folder mh-searcher search-regexp)) 314 (setq mh-index-previous-search (list folder mh-searcher search-regexp))
313 315
314 ;; Write out data to disk. 316 ;; Write out data to disk.
315 (unless mh-flists-called-flag (mh-index-write-data)) 317 (unless mh-flists-called-flag (mh-index-write-data))
316 318
317 (message "%s found %s matches in %s folders" 319 (message "%s found %s matches in %s folders"
318 (upcase-initials (symbol-name mh-searcher)) 320 (upcase-initials (symbol-name mh-searcher))
319 (loop for msg-hash being hash-values of mh-index-data 321 (loop for msg-hash being hash-values of mh-index-data
320 sum (hash-table-count msg-hash)) 322 sum (hash-table-count msg-hash))
321 (loop for msg-hash being hash-values of mh-index-data 323 (loop for msg-hash being hash-values of mh-index-data
322 count (> (hash-table-count msg-hash) 0)))))) 324 count (> (hash-table-count msg-hash) 0)))))))
323 325
324;; Shush compiler. 326;; Shush compiler.
325(eval-when-compile (mh-do-in-xemacs (defvar pick-folder))) 327(eval-when-compile (mh-do-in-xemacs (defvar pick-folder)))
diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el
index 42f11376262..dc86d19ae77 100644
--- a/lisp/mh-e/mh-utils.el
+++ b/lisp/mh-e/mh-utils.el
@@ -516,13 +516,15 @@ value of `mh-recursive-folders-flag'. If this flag is nil, and
516the sub-folders have not been explicitly viewed, then they will 516the sub-folders have not been explicitly viewed, then they will
517not be returned." 517not be returned."
518 (let ((folder-list)) 518 (let ((folder-list))
519 ;; Normalize folder. Strip leading +. Add trailing slash. If no 519 ;; Normalize folder. Strip leading +. Add trailing slash (done in
520 ;; folder is specified, ensure it is nil to ensure we get the 520 ;; two steps to avoid infinite loops when replacing "/*$" with "/"
521 ;; top-level folders; otherwise mh-sub-folders returns all the 521 ;; in XEmacs). If no folder is specified, ensure it is nil to
522 ;; files in / if given an empty string or +. 522 ;; ensure we get the top-level folders; otherwise mh-sub-folders
523 ;; returns all the files in / if given an empty string or +.
523 (when folder 524 (when folder
524 (setq folder (mh-replace-regexp-in-string "^\+" "" folder)) 525 (setq folder (mh-replace-regexp-in-string "^\+" "" folder))
525 (setq folder (mh-replace-regexp-in-string "/*$" "/" folder)) 526 (setq folder (mh-replace-regexp-in-string "/+$" "" folder))
527 (setq folder (concat folder "/"))
526 (if (equal folder "") 528 (if (equal folder "")
527 (setq folder nil))) 529 (setq folder nil)))
528 (loop for f in (mh-sub-folders folder) do 530 (loop for f in (mh-sub-folders folder) do
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 4b3b098543c..9922b0f9aed 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -1036,13 +1036,13 @@ should only be used by mouse-drag-region."
1036 (if (> mouse-1-click-follows-link 0) 1036 (if (> mouse-1-click-follows-link 0)
1037 (<= (- t1 t0) mouse-1-click-follows-link) 1037 (<= (- t1 t0) mouse-1-click-follows-link)
1038 (< (- t0 t1) mouse-1-click-follows-link)))))))) 1038 (< (- t0 t1) mouse-1-click-follows-link))))))))
1039 ;; Reselect previous selected window, 1039 ;; If we rebind to mouse-2, reselect previous selected window,
1040 ;; so that the mouse-2 event runs in the same 1040 ;; so that the mouse-2 event runs in the same
1041 ;; situation as if user had clicked it directly. 1041 ;; situation as if user had clicked it directly.
1042 ;; Fixes the bug reported by juri@jurta.org on 2005-12-27. 1042 ;; Fixes the bug reported by juri@jurta.org on 2005-12-27.
1043 (select-window original-window)
1044 (if (or (vectorp on-link) (stringp on-link)) 1043 (if (or (vectorp on-link) (stringp on-link))
1045 (setq event (aref on-link 0)) 1044 (setq event (aref on-link 0))
1045 (select-window original-window)
1046 (setcar event 'mouse-2) 1046 (setcar event 'mouse-2)
1047 ;; If this mouse click has never been done by 1047 ;; If this mouse click has never been done by
1048 ;; the user, it doesn't have the necessary 1048 ;; the user, it doesn't have the necessary
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index fc7399ee631..29beea21a89 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -79,7 +79,7 @@
79 :type 'string 79 :type 'string
80 :group 'rcirc) 80 :group 'rcirc)
81 81
82(defcustom rcirc-startup-channels-alist nil 82(defcustom rcirc-startup-channels-alist '(("^irc.freenode.net$" "#emacs"))
83 "Alist of channels to join at startup. 83 "Alist of channels to join at startup.
84Each element looks like (SERVER-REGEXP . CHANNEL-LIST)." 84Each element looks like (SERVER-REGEXP . CHANNEL-LIST)."
85 :type '(alist :key-type string :value-type (repeat string)) 85 :type '(alist :key-type string :value-type (repeat string))
@@ -111,11 +111,6 @@ underneath each nick."
111 "If non-nil, ignore activity in this buffer.") 111 "If non-nil, ignore activity in this buffer.")
112(make-variable-buffer-local 'rcirc-ignore-buffer-activity-flag) 112(make-variable-buffer-local 'rcirc-ignore-buffer-activity-flag)
113 113
114(defcustom rcirc-ignore-all-activity-flag nil
115 "*Non-nil means do not indicate any activity in the modeline."
116 :type 'boolean
117 :group 'rcirc)
118
119(defcustom rcirc-time-format "%H:%M " 114(defcustom rcirc-time-format "%H:%M "
120 "*Describes how timestamps are printed. 115 "*Describes how timestamps are printed.
121Used as the first arg to `format-time-string'." 116Used as the first arg to `format-time-string'."
@@ -140,29 +135,42 @@ number. If zero or nil, no truncating is done."
140 (integer :tag "Number of lines")) 135 (integer :tag "Number of lines"))
141 :group 'rcirc) 136 :group 'rcirc)
142 137
143(defcustom rcirc-authinfo-file-name 138(defcustom rcirc-authinfo nil
144 "~/.rcirc-authinfo" 139 "List of authentication passwords.
145 "File containing rcirc authentication passwords. 140Each element of the list is a list with a SERVER-REGEXP string
146The file consists of a single list, with each element itself a 141and a method symbol followed by method specific arguments.
147list with a SERVER-REGEXP string, a NICK-REGEXP string, a METHOD 142
148and the remaining method specific ARGUMENTS. The valid METHOD 143The valid METHOD symbols are `nickserv', `chanserv' and
149symbols are `nickserv', `chanserv' and `bitlbee'. 144`bitlbee'.
150 145
151The required ARGUMENTS for each METHOD symbol are: 146The required ARGUMENTS for each METHOD symbol are:
152 `nickserv': PASSWORD 147 `nickserv': NICK PASSWORD
153 `chanserv': CHANNEL PASSWORD 148 `chanserv': NICK CHANNEL PASSWORD
154 `bitlbee': PASSWORD 149 `bitlbee': NICK PASSWORD
155 150
156Example: 151Example:
157 ((\"freenode\" \"bob\" nickserv \"p455w0rd\") 152 ((\"freenode\" nickserv \"bob\" \"p455w0rd\")
158 (\"freenode\" \"bob\" chanserv \"#bobland\" \"passwd99\") 153 (\"freenode\" chanserv \"bob\" \"#bobland\" \"passwd99\")
159 (\"bitlbee\" \"robert\" bitlbee \"sekrit\"))" 154 (\"bitlbee\" bitlbee \"robert\" \"sekrit\"))"
160 :type 'string 155 :type '(alist :key-type (string :tag "Server")
156 :value-type (choice (list :tag "NickServ"
157 (const nickserv)
158 (string :tag "Nick")
159 (string :tag "Password"))
160 (list :tag "ChanServ"
161 (const chanserv)
162 (string :tag "Nick")
163 (string :tag "Channel")
164 (string :tag "Password"))
165 (list :tag "BitlBee"
166 (const bitlbee)
167 (string :tag "Nick")
168 (string :tag "Password"))))
161 :group 'rcirc) 169 :group 'rcirc)
162 170
163(defcustom rcirc-auto-authenticate-flag (file-readable-p rcirc-authinfo-file-name) 171(defcustom rcirc-auto-authenticate-flag t
164 "*Non-nil means automatically send authentication string to server. 172 "*Non-nil means automatically send authentication string to server.
165See also `rcirc-authinfo-file-name'." 173See also `rcirc-authinfo'."
166 :type 'boolean 174 :type 'boolean
167 :group 'rcirc) 175 :group 'rcirc)
168 176
@@ -199,6 +207,11 @@ Called with 5 arguments, PROCESS, SENDER, RESPONSE, TARGET and TEXT."
199 :type 'hook 207 :type 'hook
200 :group 'rcirc) 208 :group 'rcirc)
201 209
210(defcustom rcirc-always-use-server-buffer-flag nil
211 "Non-nil means messages without a channel target will go to the server buffer."
212 :type 'boolean
213 :group 'rcirc)
214
202(defvar rcirc-prompt-start-marker nil) 215(defvar rcirc-prompt-start-marker nil)
203(defvar rcirc-prompt-end-marker nil) 216(defvar rcirc-prompt-end-marker nil)
204 217
@@ -238,37 +251,35 @@ Called with 5 arguments, PROCESS, SENDER, RESPONSE, TARGET and TEXT."
238 251
239(defvar rcirc-startup-channels nil) 252(defvar rcirc-startup-channels nil)
240;;;###autoload 253;;;###autoload
241(defun rcirc (&optional server port nick channels) 254(defun rcirc (arg)
242 "Connect to IRC. 255 "Connect to IRC.
243 256If ARG is non-nil, prompt for a server to connect to."
244If any of the the optional SERVER, PORT, NICK or CHANNELS are not 257 (interactive "P")
245supplied, they are taken from the variables `rcirc-server', 258 (if arg
246`rcirc-port', `rcirc-nick', and `rcirc-startup-channels-alist', 259 (let* ((server (read-string "IRC Server: " rcirc-server))
247respectively." 260 (port (read-string "IRC Port: " (number-to-string rcirc-port)))
248 (interactive (list (read-string "IRC Server: " rcirc-server) 261 (nick (read-string "IRC Nick: " rcirc-nick))
249 (read-string "IRC Port: " (number-to-string rcirc-port)) 262 (channels (split-string
250 (read-string "IRC Nick: " rcirc-nick))) 263 (read-string "IRC Channels: "
251 (or server (setq server rcirc-server)) 264 (mapconcat 'identity
252 (or port (setq port rcirc-port)) 265 (rcirc-startup-channels server)
253 (or nick (setq nick rcirc-nick)) 266 " "))
254 (or channels 267 "[, ]+" t)))
255 (setq channels 268 (rcirc-connect server port nick rcirc-user-name rcirc-user-full-name
256 (if (interactive-p) 269 channels))
257 (split-string 270 ;; make new connection using defaults unless already connected to
258 (read-string "Channels: " 271 ;; the default rcirc-server
259 (mapconcat 'identity 272 (let ((default-server (default-value 'rcirc-server))
260 (rcirc-startup-channels server) 273 connected)
261 " ")) 274 (dolist (p (rcirc-process-list))
262 "[, ]+" t) 275 (when (string= default-server (process-name p))
263 (rcirc-startup-channels server)))) 276 (setq connected p)))
264 (or global-mode-string (setq global-mode-string '(""))) 277 (if (not connected)
265 (and (not (memq 'rcirc-activity-string global-mode-string)) 278 (rcirc-connect rcirc-server rcirc-port rcirc-nick
266 (setq global-mode-string 279 rcirc-user-name rcirc-user-full-name
267 (append global-mode-string '(rcirc-activity-string)))) 280 (rcirc-startup-channels rcirc-server))
268 (add-hook 'window-configuration-change-hook 281 (switch-to-buffer (process-buffer connected))
269 'rcirc-window-configuration-change) 282 (message "Connected to %s" rcirc-server)))))
270 (rcirc-connect server port nick rcirc-user-name rcirc-user-full-name
271 channels))
272 283
273;;;###autoload 284;;;###autoload
274(defalias 'irc 'rcirc) 285(defalias 'irc 'rcirc)
@@ -279,11 +290,9 @@ respectively."
279(defvar rcirc-keepalive-timer nil) 290(defvar rcirc-keepalive-timer nil)
280(defvar rcirc-last-server-message-time nil) 291(defvar rcirc-last-server-message-time nil)
281(defun rcirc-connect (server port nick user-name full-name startup-channels) 292(defun rcirc-connect (server port nick user-name full-name startup-channels)
282 "Return a connection to SERVER on PORT. 293 (add-hook 'window-configuration-change-hook
294 'rcirc-window-configuration-change)
283 295
284User will identify using the values of NICK, USER-NAME and
285FULL-NAME. The variable list of channel names in
286STARTUP-CHANNELS will automatically be joined on startup."
287 (save-excursion 296 (save-excursion
288 (message "Connecting to %s..." server) 297 (message "Connecting to %s..." server)
289 (let* ((inhibit-eol-conversion) 298 (let* ((inhibit-eol-conversion)
@@ -377,13 +386,13 @@ Functions are called with PROCESS and SENTINEL arguments.")
377 (rcirc-debug process (format "SENTINEL: %S %S\n" process sentinel)) 386 (rcirc-debug process (format "SENTINEL: %S %S\n" process sentinel))
378 (with-rcirc-process-buffer process 387 (with-rcirc-process-buffer process
379 (dolist (buffer (cons nil (mapcar 'cdr rcirc-buffer-alist))) 388 (dolist (buffer (cons nil (mapcar 'cdr rcirc-buffer-alist)))
380 (rcirc-print process "rcirc.el" "ERROR" buffer
381 (format "%s: %s (%S)"
382 (process-name process)
383 sentinel
384 (process-status process)) t)
385 ;; remove the prompt from buffers
386 (with-current-buffer (or buffer (current-buffer)) 389 (with-current-buffer (or buffer (current-buffer))
390 (rcirc-print process "rcirc.el" "ERROR" rcirc-target
391 (format "%s: %s (%S)"
392 (process-name process)
393 sentinel
394 (process-status process)) t)
395 ;; remove the prompt from buffers
387 (let ((inhibit-read-only t)) 396 (let ((inhibit-read-only t))
388 (delete-region rcirc-prompt-start-marker 397 (delete-region rcirc-prompt-start-marker
389 rcirc-prompt-end-marker))))) 398 rcirc-prompt-end-marker)))))
@@ -428,7 +437,8 @@ Function is called with PROCESS, COMMAND, SENDER, ARGS and LINE.")
428 437
429(defun rcirc-process-server-response-1 (process text) 438(defun rcirc-process-server-response-1 (process text)
430 (if (string-match "^\\(:\\([^ ]+\\) \\)?\\([^ ]+\\) \\(.+\\)$" text) 439 (if (string-match "^\\(:\\([^ ]+\\) \\)?\\([^ ]+\\) \\(.+\\)$" text)
431 (let* ((sender (match-string 2 text)) 440 (let* ((user (match-string 2 text))
441 (sender (rcirc-user-nick user))
432 (cmd (match-string 3 text)) 442 (cmd (match-string 3 text))
433 (args (match-string 4 text)) 443 (args (match-string 4 text))
434 (handler (intern-soft (concat "rcirc-handler-" cmd)))) 444 (handler (intern-soft (concat "rcirc-handler-" cmd))))
@@ -487,12 +497,10 @@ If NOTICEP is non-nil, send a notice instead of privmsg."
487 text)) 497 text))
488 (more (if oversize 498 (more (if oversize
489 (substring message rcirc-max-message-length)))) 499 (substring message rcirc-max-message-length))))
490 (rcirc-print process (rcirc-nick process) response 500 (rcirc-get-buffer-create process target)
491 (rcirc-get-buffer-create process target) 501 (rcirc-print process (rcirc-nick process) response target text)
492 text)
493 (rcirc-send-string process (concat response " " target " :" text)) 502 (rcirc-send-string process (concat response " " target " :" text))
494 (if more 503 (when more (rcirc-send-message process target more noticep))))
495 (rcirc-send-message process target more noticep))))
496 504
497(defvar rcirc-input-ring nil) 505(defvar rcirc-input-ring nil)
498(defvar rcirc-input-ring-index 0) 506(defvar rcirc-input-ring-index 0)
@@ -582,10 +590,6 @@ If buffer is nil, return the target of the current buffer."
582(define-key rcirc-mode-map (kbd "C-c C-s") 'rcirc-switch-to-server-buffer) 590(define-key rcirc-mode-map (kbd "C-c C-s") 'rcirc-switch-to-server-buffer)
583(define-key rcirc-mode-map (kbd "C-c C-a") 'rcirc-jump-to-first-unread-line) 591(define-key rcirc-mode-map (kbd "C-c C-a") 'rcirc-jump-to-first-unread-line)
584 592
585(define-key global-map (kbd "C-c `") 'rcirc-next-active-buffer)
586(define-key global-map (kbd "C-c C-@") 'rcirc-next-active-buffer)
587(define-key global-map (kbd "C-c C-SPC") 'rcirc-next-active-buffer)
588
589(defvar rcirc-browse-url-map (make-sparse-keymap) 593(defvar rcirc-browse-url-map (make-sparse-keymap)
590 "Keymap used for browsing URLs in `rcirc-mode'.") 594 "Keymap used for browsing URLs in `rcirc-mode'.")
591 595
@@ -730,8 +734,6 @@ This is used for the initial name given to IRC buffers."
730(defun rcirc-get-buffer (process target &optional server) 734(defun rcirc-get-buffer (process target &optional server)
731 "Return the buffer associated with the PROCESS and TARGET. 735 "Return the buffer associated with the PROCESS and TARGET.
732 736
733If TARGET is nil, return the server buffer.
734
735If optional argument SERVER is non-nil, return the server buffer 737If optional argument SERVER is non-nil, return the server buffer
736if there is no existing buffer for TARGET, otherwise return nil." 738if there is no existing buffer for TARGET, otherwise return nil."
737 (with-rcirc-process-buffer process 739 (with-rcirc-process-buffer process
@@ -744,7 +746,11 @@ if there is no existing buffer for TARGET, otherwise return nil."
744 "Return the buffer associated with the PROCESS and TARGET. 746 "Return the buffer associated with the PROCESS and TARGET.
745Create the buffer if it doesn't exist." 747Create the buffer if it doesn't exist."
746 (let ((buffer (rcirc-get-buffer process target))) 748 (let ((buffer (rcirc-get-buffer process target)))
747 (or buffer 749 (if buffer
750 (progn
751 (when (not rcirc-target)
752 (setq rcirc-target target))
753 buffer)
748 ;; create the buffer 754 ;; create the buffer
749 (with-rcirc-process-buffer process 755 (with-rcirc-process-buffer process
750 (let ((new-buffer (get-buffer-create 756 (let ((new-buffer (get-buffer-create
@@ -781,36 +787,45 @@ Create the buffer if it doesn't exist."
781 (delete-backward-char 1)) 787 (delete-backward-char 1))
782 (let ((input (buffer-substring-no-properties 788 (let ((input (buffer-substring-no-properties
783 rcirc-prompt-end-marker (point)))) 789 rcirc-prompt-end-marker (point))))
784 ;; process a /cmd 790 (dolist (line (split-string input "\n"))
785 (if (string-match "^/\\([^ ]+\\) ?\\(.*\\)$" input) 791 (rcirc-process-input-line rcirc-process target line))
786 (let* ((command (match-string 1 input))
787 (fun (intern-soft (concat "rcirc-cmd-" command)))
788 (args (match-string 2 input)))
789 (newline)
790 (with-current-buffer (current-buffer)
791 (delete-region rcirc-prompt-end-marker (point))
792 (if (string= command "me")
793 (rcirc-print rcirc-process (rcirc-nick rcirc-process)
794 "ACTION" (current-buffer) args)
795 (rcirc-print rcirc-process (rcirc-nick rcirc-process)
796 "COMMAND" (current-buffer) input))
797 (set-marker rcirc-prompt-end-marker (point))
798 (if (fboundp fun)
799 (funcall fun args rcirc-process target)
800 (rcirc-send-string rcirc-process
801 (concat command " " args)))))
802 ;; send message to server
803 (if (not rcirc-target)
804 (message "Not joined")
805 (delete-region rcirc-prompt-end-marker (point))
806 (mapc (lambda (message)
807 (rcirc-send-message rcirc-process target message))
808 (split-string input "\n"))))
809 ;; add to input-ring 792 ;; add to input-ring
810 (save-excursion 793 (save-excursion
811 (ring-insert rcirc-input-ring input) 794 (ring-insert rcirc-input-ring input)
812 (setq rcirc-input-ring-index 0))))))) 795 (setq rcirc-input-ring-index 0)))))))
813 796
797(defun rcirc-process-input-line (process target line)
798 (if (string-match "^/\\([^ ]+\\) ?\\(.*\\)$" line)
799 (rcirc-process-command (match-string 1 line)
800 (match-string 2 line)
801 line)
802 (rcirc-process-message line)))
803
804(defun rcirc-process-message (line)
805 (if (not rcirc-target)
806 (message "Not joined")
807 (delete-region rcirc-prompt-end-marker (point))
808 (rcirc-send-message rcirc-process rcirc-target line)))
809
810(defun rcirc-process-command (command args line)
811 (if (eq (aref command 0) ?/)
812 ;; "//text" will send "/text" as a message
813 (rcirc-process-message (substring line 1))
814 (let* ((fun (intern-soft (concat "rcirc-cmd-" command))))
815 (newline)
816 (with-current-buffer (current-buffer)
817 (delete-region rcirc-prompt-end-marker (point))
818 (if (string= command "me")
819 (rcirc-print rcirc-process (rcirc-nick rcirc-process)
820 "ACTION" rcirc-target args)
821 (rcirc-print rcirc-process (rcirc-nick rcirc-process)
822 "COMMAND" rcirc-target line))
823 (set-marker rcirc-prompt-end-marker (point))
824 (if (fboundp fun)
825 (funcall fun args rcirc-process rcirc-target)
826 (rcirc-send-string rcirc-process
827 (concat command " " args)))))))
828
814(defvar rcirc-parent-buffer nil) 829(defvar rcirc-parent-buffer nil)
815(defvar rcirc-window-configuration nil) 830(defvar rcirc-window-configuration nil)
816(defun rcirc-edit-multiline () 831(defun rcirc-edit-multiline ()
@@ -828,7 +843,8 @@ Create the buffer if it doesn't exist."
828 (setq rcirc-parent-buffer parent) 843 (setq rcirc-parent-buffer parent)
829 (setq rcirc-process process) 844 (setq rcirc-process process)
830 (insert text) 845 (insert text)
831 (and (> pos 0) (goto-char pos))))) 846 (and (> pos 0) (goto-char pos))
847 (message "Type C-c C-c to return text to %s, or C-c C-k to cancel" parent))))
832 848
833(define-derived-mode rcirc-multiline-edit-mode 849(define-derived-mode rcirc-multiline-edit-mode
834 text-mode "rcirc multi" 850 text-mode "rcirc multi"
@@ -894,13 +910,15 @@ Create the buffer if it doesn't exist."
894 (t 910 (t
895 (setq first "[" middle " " end "]"))) 911 (setq first "[" middle " " end "]")))
896 (concat first 912 (concat first
897 (rcirc-facify (rcirc-user-nick sender) 913 (rcirc-facify (concat
914 sender
915 (when target (concat "," target)))
898 (if (string= sender 916 (if (string= sender
899 (rcirc-nick process)) 917 (rcirc-nick process))
900 'rcirc-my-nick 918 'rcirc-my-nick
901 'rcirc-other-nick)) 919 'rcirc-other-nick))
902 middle 920 middle
903 (rcirc-mangle-text process text) 921 (rcirc-mangle-text process text)
904 end))) 922 end)))
905 ((string= response "COMMAND") 923 ((string= response "COMMAND")
906 text) 924 text)
@@ -914,31 +932,41 @@ Create the buffer if it doesn't exist."
914 (rcirc-facify 932 (rcirc-facify
915 (concat 933 (concat
916 (when (not (string= sender (rcirc-server process))) 934 (when (not (string= sender (rcirc-server process)))
917 (concat (rcirc-user-nick sender) " ")) 935 (concat sender " "))
918 (when (zerop (string-to-number response)) 936 (when (zerop (string-to-number response))
919 (concat response " ")) 937 (concat response " "))
920 text) 938 text)
921 'rcirc-server))))))) 939 'rcirc-server)))))))
922 940
941(defun rcirc-target-buffer (process sender response target text)
942 "Return a buffer to print the server response."
943 (assert (not (bufferp target)))
944 (with-rcirc-process-buffer process
945 (cond ((not target)
946 (if rcirc-always-use-server-buffer-flag
947 (process-buffer process)
948 (rcirc-get-any-buffer process)))
949 ((not (rcirc-channel-p target))
950 ;; message from another user
951 (if (string= response "PRIVMSG")
952 (rcirc-get-buffer-create process (if (string= sender rcirc-nick)
953 target
954 sender))
955 (rcirc-get-buffer process target t)))
956 ((or (rcirc-get-buffer process target)
957 (rcirc-get-any-buffer process))))))
958
923(defvar rcirc-activity-type nil) 959(defvar rcirc-activity-type nil)
924(make-variable-buffer-local 'rcirc-activity-type) 960(make-variable-buffer-local 'rcirc-activity-type)
925(defun rcirc-print (process sender response target text &optional activity) 961(defun rcirc-print (process sender response target text &optional activity)
926 "Print TEXT in the buffer associated with TARGET. 962 "Print TEXT in the buffer associated with TARGET.
927Format based on SENDER and RESPONSE. If ACTIVITY is non-nil, 963Format based on SENDER and RESPONSE. If ACTIVITY is non-nil,
928record activity." 964record activity."
929 (unless (or (member (rcirc-user-nick sender) rcirc-ignore-list) 965 (unless (or (member sender rcirc-ignore-list)
930 (member (with-syntax-table rcirc-nick-syntax-table 966 (member (with-syntax-table rcirc-nick-syntax-table
931 (when (string-match "^\\([^/]\\w*\\)[:,]" text) 967 (when (string-match "^\\([^/]\\w*\\)[:,]" text)
932 (match-string 1 text))) rcirc-ignore-list)) 968 (match-string 1 text))) rcirc-ignore-list))
933 (let* ((buffer (cond ((bufferp target) 969 (let* ((buffer (rcirc-target-buffer process sender response target text))
934 target)
935 ((not target)
936 (rcirc-get-any-buffer process))
937 ((not (rcirc-channel-p target))
938 (rcirc-get-buffer-create process
939 (rcirc-user-nick sender)))
940 ((or (rcirc-get-buffer process target)
941 (rcirc-get-any-buffer process)))))
942 (inhibit-read-only t)) 970 (inhibit-read-only t))
943 (with-current-buffer buffer 971 (with-current-buffer buffer
944 (let ((moving (= (point) rcirc-prompt-end-marker)) 972 (let ((moving (= (point) rcirc-prompt-end-marker))
@@ -961,7 +989,7 @@ record activity."
961 (set-marker-insertion-type rcirc-prompt-start-marker t) 989 (set-marker-insertion-type rcirc-prompt-start-marker t)
962 (set-marker-insertion-type rcirc-prompt-end-marker t) 990 (set-marker-insertion-type rcirc-prompt-end-marker t)
963 (insert 991 (insert
964 (rcirc-format-response-string process sender response target text) 992 (rcirc-format-response-string process sender response nil text)
965 (propertize "\n" 'hard t)) 993 (propertize "\n" 'hard t))
966 (set-marker-insertion-type rcirc-prompt-start-marker nil) 994 (set-marker-insertion-type rcirc-prompt-start-marker nil)
967 (set-marker-insertion-type rcirc-prompt-end-marker nil) 995 (set-marker-insertion-type rcirc-prompt-end-marker nil)
@@ -978,10 +1006,10 @@ record activity."
978 0) 1006 0)
979 (cond ((or (string= response "PRIVMSG") 1007 (cond ((or (string= response "PRIVMSG")
980 (string= response "NOTICE")) 1008 (string= response "NOTICE"))
981 (+ (length (rcirc-user-nick sender)) 1009 (+ (length sender)
982 2)) ; <> 1010 2)) ; <>
983 ((string= response "ACTION") 1011 ((string= response "ACTION")
984 (+ (length (rcirc-user-nick sender)) 1012 (+ (length sender)
985 1)) ; [ 1013 1)) ; [
986 (t 3)) ; *** 1014 (t 3)) ; ***
987 1) 1015 1)
@@ -1056,17 +1084,17 @@ record activity."
1056(defun rcirc-join-channels (process channels) 1084(defun rcirc-join-channels (process channels)
1057 "Join CHANNELS." 1085 "Join CHANNELS."
1058 (save-window-excursion 1086 (save-window-excursion
1059 (mapc (lambda (channel) 1087 (dolist (channel channels)
1060 (with-rcirc-process-buffer process 1088 (with-rcirc-process-buffer process
1061 (rcirc-cmd-join channel process))) 1089 (rcirc-cmd-join channel process)))))
1062 channels)))
1063 1090
1064;;; nick management 1091;;; nick management
1065(defun rcirc-user-nick (user) 1092(defun rcirc-user-nick (user)
1066 "Return the nick from USER. Remove any non-nick junk." 1093 "Return the nick from USER. Remove any non-nick junk."
1067 (if (string-match "^[@%+]?\\([^! ]+\\)!?" (or user "")) 1094 (save-match-data
1068 (match-string 1 user) 1095 (if (string-match "^[@%+]?\\([^! ]+\\)!?" (or user ""))
1069 user)) 1096 (match-string 1 user)
1097 user)))
1070 1098
1071(defun rcirc-user-non-nick (user) 1099(defun rcirc-user-non-nick (user)
1072 "Return the non-nick portion of USER." 1100 "Return the non-nick portion of USER."
@@ -1076,17 +1104,15 @@ record activity."
1076 1104
1077(defun rcirc-nick-channels (process nick) 1105(defun rcirc-nick-channels (process nick)
1078 "Return list of channels for NICK." 1106 "Return list of channels for NICK."
1079 (let ((nick (rcirc-user-nick nick))) 1107 (with-rcirc-process-buffer process
1080 (with-rcirc-process-buffer process 1108 (mapcar (lambda (x) (car x))
1081 (mapcar (lambda (x) (car x)) 1109 (gethash nick rcirc-nick-table))))
1082 (gethash nick rcirc-nick-table)))))
1083 1110
1084(defun rcirc-put-nick-channel (process nick channel) 1111(defun rcirc-put-nick-channel (process nick channel)
1085 "Add CHANNEL to list associated with NICK." 1112 "Add CHANNEL to list associated with NICK."
1086 (with-rcirc-process-buffer process 1113 (with-rcirc-process-buffer process
1087 (let* ((nick (rcirc-user-nick nick)) 1114 (let* ((chans (gethash nick rcirc-nick-table))
1088 (chans (gethash nick rcirc-nick-table)) 1115 (record (assoc-string channel chans t)))
1089 (record (assoc-string channel chans t)))
1090 (if record 1116 (if record
1091 (setcdr record (current-time)) 1117 (setcdr record (current-time))
1092 (puthash nick (cons (cons channel (current-time)) 1118 (puthash nick (cons (cons channel (current-time))
@@ -1101,8 +1127,7 @@ record activity."
1101(defun rcirc-remove-nick-channel (process nick channel) 1127(defun rcirc-remove-nick-channel (process nick channel)
1102 "Remove the CHANNEL from list associated with NICK." 1128 "Remove the CHANNEL from list associated with NICK."
1103 (with-rcirc-process-buffer process 1129 (with-rcirc-process-buffer process
1104 (let* ((nick (rcirc-user-nick nick)) 1130 (let* ((chans (gethash nick rcirc-nick-table))
1105 (chans (gethash nick rcirc-nick-table))
1106 (newchans 1131 (newchans
1107 ;; instead of assoc-string-delete-all: 1132 ;; instead of assoc-string-delete-all:
1108 (let ((record (assoc-string channel chans t))) 1133 (let ((record (assoc-string channel chans t)))
@@ -1136,28 +1161,44 @@ if NICK is also on `rcirc-ignore-list-automatic'."
1136 (delete nick rcirc-ignore-list)))) 1161 (delete nick rcirc-ignore-list))))
1137 1162
1138;;; activity tracking 1163;;; activity tracking
1164(defvar rcirc-track-minor-mode-map (make-sparse-keymap)
1165 "Keymap for rcirc track minor mode.")
1166
1167(define-key rcirc-track-minor-mode-map (kbd "C-c `") 'rcirc-next-active-buffer)
1168(define-key rcirc-track-minor-mode-map (kbd "C-c C-@") 'rcirc-next-active-buffer)
1169(define-key rcirc-track-minor-mode-map (kbd "C-c C-SPC") 'rcirc-next-active-buffer)
1170
1171;;; FIXME: the code to insert `rcirc-activity-string' into
1172;;; `global-mode-string' isn't called when the mode is activated by
1173;;; customize. I don't know how to set that up.
1174(define-minor-mode rcirc-track-minor-mode
1175 "Global minor mode for tracking activity in rcirc buffers."
1176 :init-value nil
1177 :lighter ""
1178 :keymap rcirc-track-minor-mode-map
1179 :global t
1180 :group 'rcirc
1181 (or global-mode-string (setq global-mode-string '("")))
1182 ;; toggle the mode-line channel indicator
1183 (if rcirc-track-minor-mode
1184 (and (not (memq 'rcirc-activity-string global-mode-string))
1185 (setq global-mode-string
1186 (append global-mode-string '(rcirc-activity-string))))
1187 (setq global-mode-string
1188 (delete 'rcirc-activity-string global-mode-string))))
1189
1139(or (assq 'rcirc-ignore-buffer-activity-flag minor-mode-alist) 1190(or (assq 'rcirc-ignore-buffer-activity-flag minor-mode-alist)
1140 (setq minor-mode-alist 1191 (setq minor-mode-alist
1141 (cons '(rcirc-ignore-buffer-activity-flag " Ignore") minor-mode-alist))) 1192 (cons '(rcirc-ignore-buffer-activity-flag " Ignore") minor-mode-alist)))
1142 1193
1143(defun rcirc-toggle-ignore-buffer-activity (&optional all) 1194(defun rcirc-toggle-ignore-buffer-activity ()
1144 "Toggle the value of `rcirc-ignore-buffer-activity-flag'. 1195 "Toggle the value of `rcirc-ignore-buffer-activity-flag'."
1145If ALL is non-nil, instead toggle the value of 1196 (interactive)
1146`rcirc-ignore-all-activity-flag'." 1197 (setq rcirc-ignore-buffer-activity-flag
1147 (interactive "P") 1198 (not rcirc-ignore-buffer-activity-flag))
1148 (if all 1199 (message (if rcirc-ignore-buffer-activity-flag
1149 (progn 1200 "Ignore activity in this buffer"
1150 (setq rcirc-ignore-all-activity-flag 1201 "Notice activity in this buffer"))
1151 (not rcirc-ignore-all-activity-flag))
1152 (message (if rcirc-ignore-all-activity-flag
1153 "Hide all buffer activity"
1154 "Display buffer activity"))
1155 (rcirc-update-activity-string))
1156 (setq rcirc-ignore-buffer-activity-flag
1157 (not rcirc-ignore-buffer-activity-flag))
1158 (message (if rcirc-ignore-buffer-activity-flag
1159 "Ignore activity in this buffer"
1160 "Notice activity in this buffer")))
1161 (force-mode-line-update)) 1202 (force-mode-line-update))
1162 1203
1163(defvar rcirc-switch-to-buffer-function 'switch-to-buffer 1204(defvar rcirc-switch-to-buffer-function 'switch-to-buffer
@@ -1229,21 +1270,18 @@ activity. Only run if the buffer is not visible and
1229(defun rcirc-update-activity-string () 1270(defun rcirc-update-activity-string ()
1230 "Update mode-line string." 1271 "Update mode-line string."
1231 (setq rcirc-activity-string 1272 (setq rcirc-activity-string
1232 (cond (rcirc-ignore-all-activity-flag 1273 (if (not rcirc-activity)
1233 " DND") 1274 ""
1234 ((not rcirc-activity) 1275 (concat " ["
1235 "") 1276 (mapconcat
1236 (t 1277 (lambda (b)
1237 (concat " [" 1278 (let ((s (rcirc-short-buffer-name b)))
1238 (mapconcat 1279 (with-current-buffer b
1239 (lambda (b) 1280 (if (not (eq rcirc-activity-type 'nick))
1240 (let ((s (rcirc-short-buffer-name b))) 1281 s
1241 (with-current-buffer b 1282 (rcirc-facify s 'rcirc-mode-line-nick)))))
1242 (if (not (eq rcirc-activity-type 'nick)) 1283 rcirc-activity ",")
1243 s 1284 "]"))))
1244 (rcirc-facify s 'rcirc-mode-line-nick)))))
1245 rcirc-activity ",")
1246 "]")))))
1247 1285
1248(defun rcirc-short-buffer-name (buffer) 1286(defun rcirc-short-buffer-name (buffer)
1249 "Return a short name for BUFFER to use in the modeline indicator." 1287 "Return a short name for BUFFER to use in the modeline indicator."
@@ -1488,23 +1526,22 @@ Ignore NICK, unignore NICK if already ignored, or list ignored
1488nicks when no NICK is given. When listing ignored nicks, the 1526nicks when no NICK is given. When listing ignored nicks, the
1489ones added to the list automatically are marked with an asterisk." 1527ones added to the list automatically are marked with an asterisk."
1490 (interactive "sToggle ignoring of nick: ") 1528 (interactive "sToggle ignoring of nick: ")
1491 (if (string= "" nick) 1529 (when (not (string= "" nick))
1492 (rcirc-print process (rcirc-nick process) "NOTICE" target
1493 (mapconcat
1494 (lambda (nick)
1495 (concat nick
1496 (if (member nick rcirc-ignore-list-automatic)
1497 "*" "")))
1498 rcirc-ignore-list " "))
1499 (if (member nick rcirc-ignore-list) 1530 (if (member nick rcirc-ignore-list)
1500 (setq rcirc-ignore-list (delete nick rcirc-ignore-list)) 1531 (setq rcirc-ignore-list (delete nick rcirc-ignore-list))
1501 (setq rcirc-ignore-list (cons nick rcirc-ignore-list))))) 1532 (setq rcirc-ignore-list (cons nick rcirc-ignore-list))))
1502 1533 (rcirc-print process (rcirc-nick process) "IGNORE" target
1534 (mapconcat
1535 (lambda (nick)
1536 (concat nick
1537 (if (member nick rcirc-ignore-list-automatic)
1538 "*" "")))
1539 rcirc-ignore-list " ")))
1503 1540
1504 1541
1505(defun rcirc-message-leader (sender face) 1542(defun rcirc-message-leader (sender face)
1506 "Return a string with SENDER propertized with FACE." 1543 "Return a string with SENDER propertized with FACE."
1507 (rcirc-facify (concat "<" (rcirc-user-nick sender) "> ") face)) 1544 (rcirc-facify (concat "<" sender "> ") face))
1508 1545
1509(defun rcirc-facify (string face) 1546(defun rcirc-facify (string face)
1510 "Return a copy of STRING with FACE property added." 1547 "Return a copy of STRING with FACE property added."
@@ -1518,8 +1555,8 @@ ones added to the list automatically are marked with an asterisk."
1518 "://" 1555 "://"
1519 (1+ (char "a-zA-Z0-9_.")) 1556 (1+ (char "a-zA-Z0-9_."))
1520 (optional ":" (1+ (char "0-9"))))) 1557 (optional ":" (1+ (char "0-9")))))
1521 (1+ (char "-a-zA-Z0-9_=!?#$\@~`%&*+|\\/:;.,")) 1558 (1+ (char "-a-zA-Z0-9_=!?#$\@~`%&*+|\\/:;.,{}[]"))
1522 (char "-a-zA-Z0-9_=!?#$\@~`%&*+|\\/:;")) 1559 (char "-a-zA-Z0-9_=#$\@~`%&*+|\\/:;{}[]"))
1523 "Regexp matching URLs. Set to nil to disable URL features in rcirc.") 1560 "Regexp matching URLs. Set to nil to disable URL features in rcirc.")
1524 1561
1525(defun rcirc-browse-url (&optional arg) 1562(defun rcirc-browse-url (&optional arg)
@@ -1603,7 +1640,7 @@ FUNCTION takes 3 arguments, MATCH-START, MATCH-END, and STRING."
1603 'mouse-face 'highlight 1640 'mouse-face 'highlight
1604 'keymap rcirc-browse-url-map) 1641 'keymap rcirc-browse-url-map)
1605 string)) 1642 string))
1606 (push (substring string start end) rcirc-urls)) 1643 (push (substring-no-properties string start end) rcirc-urls))
1607 rcirc-url-regexp 1644 rcirc-url-regexp
1608 text)) 1645 text))
1609 text) 1646 text)
@@ -1627,7 +1664,7 @@ FUNCTION takes 3 arguments, MATCH-START, MATCH-END, and STRING."
1627(defun rcirc-handler-PRIVMSG (process sender args text) 1664(defun rcirc-handler-PRIVMSG (process sender args text)
1628 (let ((target (if (rcirc-channel-p (car args)) 1665 (let ((target (if (rcirc-channel-p (car args))
1629 (car args) 1666 (car args)
1630 (rcirc-user-nick sender))) 1667 sender))
1631 (message (or (cadr args) ""))) 1668 (message (or (cadr args) "")))
1632 (if (string-match "^\C-a\\(.*\\)\C-a$" message) 1669 (if (string-match "^\C-a\\(.*\\)\C-a$" message)
1633 (rcirc-handler-CTCP process target sender (match-string 1 message)) 1670 (rcirc-handler-CTCP process target sender (match-string 1 message))
@@ -1650,25 +1687,21 @@ FUNCTION takes 3 arguments, MATCH-START, MATCH-END, and STRING."
1650 (match-string 1 message)) 1687 (match-string 1 message))
1651 (sender 1688 (sender
1652 (if (string= sender (rcirc-server process)) 1689 (if (string= sender (rcirc-server process))
1653 (process-buffer process) 1690 nil ; server notice
1654 (rcirc-user-nick sender)))) 1691 sender)))
1655 message t)))) 1692 message t))))
1656 ;; do we need this:
1657 ;;(and sender (rcirc-put-nick-channel process sender target))))
1658 1693
1659(defun rcirc-handler-WALLOPS (process sender args text) 1694(defun rcirc-handler-WALLOPS (process sender args text)
1660 (let ((target (rcirc-user-nick sender))) 1695 (rcirc-print process sender "WALLOPS" sender (car args) t))
1661 (rcirc-print process sender "WALLOPS" target (car args) t)))
1662 1696
1663(defun rcirc-handler-JOIN (process sender args text) 1697(defun rcirc-handler-JOIN (process sender args text)
1664 (let ((channel (car args)) 1698 (let ((channel (car args)))
1665 (nick (rcirc-user-nick sender)))
1666 (rcirc-get-buffer-create process channel) 1699 (rcirc-get-buffer-create process channel)
1667 (rcirc-print process sender "JOIN" channel "") 1700 (rcirc-print process sender "JOIN" channel "")
1668 1701
1669 ;; print in private chat buffer if it exists 1702 ;; print in private chat buffer if it exists
1670 (when (rcirc-get-buffer rcirc-process nick) 1703 (when (rcirc-get-buffer rcirc-process sender)
1671 (rcirc-print process sender "JOIN" nick channel)) 1704 (rcirc-print process sender "JOIN" sender channel))
1672 1705
1673 (rcirc-put-nick-channel process sender channel))) 1706 (rcirc-put-nick-channel process sender channel)))
1674 1707
@@ -1695,9 +1728,9 @@ FUNCTION takes 3 arguments, MATCH-START, MATCH-END, and STRING."
1695 (setq rcirc-target nil)))))) 1728 (setq rcirc-target nil))))))
1696 1729
1697(defun rcirc-handler-PART (process sender args text) 1730(defun rcirc-handler-PART (process sender args text)
1698 (rcirc-ignore-update-automatic (rcirc-user-nick sender)) 1731 (rcirc-ignore-update-automatic sender)
1699 (rcirc-handler-PART-or-KICK process "PART" 1732 (rcirc-handler-PART-or-KICK process "PART"
1700 (car args) sender (rcirc-user-nick sender) 1733 (car args) sender sender
1701 (cadr args))) 1734 (cadr args)))
1702 1735
1703(defun rcirc-handler-KICK (process sender args text) 1736(defun rcirc-handler-KICK (process sender args text)
@@ -1705,21 +1738,19 @@ FUNCTION takes 3 arguments, MATCH-START, MATCH-END, and STRING."
1705 (caddr args))) 1738 (caddr args)))
1706 1739
1707(defun rcirc-handler-QUIT (process sender args text) 1740(defun rcirc-handler-QUIT (process sender args text)
1708 (rcirc-ignore-update-automatic (rcirc-user-nick sender)) 1741 (rcirc-ignore-update-automatic sender)
1709 (let ((nick (rcirc-user-nick sender))) 1742 (mapc (lambda (channel)
1710 (mapc (lambda (channel) 1743 (rcirc-print process sender "QUIT" channel (apply 'concat args)))
1711 (rcirc-print process sender "QUIT" channel (apply 'concat args))) 1744 (rcirc-nick-channels process sender))
1712 (rcirc-nick-channels process nick))
1713 1745
1714 ;; print in private chat buffer if it exists 1746 ;; print in private chat buffer if it exists
1715 (let ((buffer (rcirc-get-buffer rcirc-process nick))) 1747 (when (rcirc-get-buffer rcirc-process sender)
1716 (when buffer 1748 (rcirc-print process sender "QUIT" sender (apply 'concat args)))
1717 (rcirc-print process sender "QUIT" buffer (apply 'concat args))))
1718 1749
1719 (rcirc-nick-remove process nick))) 1750 (rcirc-nick-remove process sender))
1720 1751
1721(defun rcirc-handler-NICK (process sender args text) 1752(defun rcirc-handler-NICK (process sender args text)
1722 (let* ((old-nick (rcirc-user-nick sender)) 1753 (let* ((old-nick sender)
1723 (new-nick (car args)) 1754 (new-nick (car args))
1724 (channels (rcirc-nick-channels process old-nick))) 1755 (channels (rcirc-nick-channels process old-nick)))
1725 ;; update list of ignored nicks 1756 ;; update list of ignored nicks
@@ -1796,9 +1827,8 @@ FUNCTION takes 3 arguments, MATCH-START, MATCH-END, and STRING."
1796 1827
1797 ;; print in private chat buffers if they exist 1828 ;; print in private chat buffers if they exist
1798 (mapc (lambda (nick) 1829 (mapc (lambda (nick)
1799 (let ((existing-buffer (rcirc-get-buffer process nick))) 1830 (when (rcirc-get-buffer process nick)
1800 (when existing-buffer 1831 (rcirc-print process sender "MODE" nick msg)))
1801 (rcirc-print process sender "MODE" existing-buffer msg))))
1802 (cddr args)))) 1832 (cddr args))))
1803 1833
1804(defun rcirc-get-temp-buffer-create (process channel) 1834(defun rcirc-get-temp-buffer-create (process channel)
@@ -1834,40 +1864,35 @@ FUNCTION takes 3 arguments, MATCH-START, MATCH-END, and STRING."
1834 1864
1835(defun rcirc-authenticate () 1865(defun rcirc-authenticate ()
1836 "Send authentication to process associated with current buffer. 1866 "Send authentication to process associated with current buffer.
1837Passwords are read from `rcirc-authinfo-file-name' (which see)." 1867Passwords are stored in `rcirc-authinfo' (which see)."
1838 (interactive) 1868 (interactive)
1839 (let ((password-alist 1869 (with-rcirc-process-buffer rcirc-process
1840 (with-temp-buffer 1870 (dolist (i rcirc-authinfo)
1841 (insert-file-contents-literally rcirc-authinfo-file-name) 1871 (let ((server (car i))
1842 (goto-char (point-min)) 1872 (nick (caddr i))
1843 (read (current-buffer))))) 1873 (method (cadr i))
1844 (with-rcirc-process-buffer rcirc-process 1874 (args (cdddr i)))
1845 (dolist (i password-alist) 1875 (when (and (string-match server rcirc-server)
1846 (let ((server (car i)) 1876 (string-match nick rcirc-nick))
1847 (nick (cadr i)) 1877 (cond ((equal method 'nickserv)
1848 (method (caddr i)) 1878 (rcirc-send-string
1849 (args (cdddr i))) 1879 rcirc-process
1850 (when (and (string-match server rcirc-server) 1880 (concat
1851 (string-match nick rcirc-nick)) 1881 "PRIVMSG nickserv :identify "
1852 (cond ((equal method 'nickserv) 1882 (car args))))
1853 (rcirc-send-string 1883 ((equal method 'chanserv)
1854 rcirc-process 1884 (rcirc-send-string
1855 (concat 1885 rcirc-process
1856 "PRIVMSG nickserv :identify " 1886 (concat
1857 (car args)))) 1887 "PRIVMSG chanserv :identify "
1858 ((equal method 'chanserv) 1888 (cadr args) " " (car args))))
1859 (rcirc-send-string 1889 ((equal method 'bitlbee)
1860 rcirc-process 1890 (rcirc-send-string
1861 (concat 1891 rcirc-process
1862 "PRIVMSG chanserv :identify " 1892 (concat "PRIVMSG &bitlbee :identify " (car args))))
1863 (car args) " " (cadr args)))) 1893 (t
1864 ((equal method 'bitlbee) 1894 (message "No %S authentication method defined"
1865 (rcirc-send-string 1895 method))))))))
1866 rcirc-process
1867 (concat "PRIVMSG #bitlbee :identify " (car args))))
1868 (t
1869 (message "No %S authentication method defined"
1870 method)))))))))
1871 1896
1872(defun rcirc-handler-INVITE (process sender args text) 1897(defun rcirc-handler-INVITE (process sender args text)
1873 (rcirc-print process sender "INVITE" nil (mapconcat 'identity args " ") t)) 1898 (rcirc-print process sender "INVITE" nil (mapconcat 'identity args " ") t))
@@ -1879,22 +1904,19 @@ Passwords are read from `rcirc-authinfo-file-name' (which see)."
1879 (if (string-match "^\\([^ ]+\\) *\\(.*\\)$" text) 1904 (if (string-match "^\\([^ ]+\\) *\\(.*\\)$" text)
1880 (let* ((request (upcase (match-string 1 text))) 1905 (let* ((request (upcase (match-string 1 text)))
1881 (args (match-string 2 text)) 1906 (args (match-string 2 text))
1882 (nick (rcirc-user-nick sender))
1883 (handler (intern-soft (concat "rcirc-handler-ctcp-" request)))) 1907 (handler (intern-soft (concat "rcirc-handler-ctcp-" request))))
1884 (if (not (fboundp handler)) 1908 (if (not (fboundp handler))
1885 (rcirc-print process sender "ERROR" 1909 (rcirc-print process sender "ERROR" target
1886 (rcirc-get-buffer process target) 1910 (format "%s sent unsupported ctcp: %s" sender text)
1887 (format "%s sent unsupported ctcp: %s" nick text)
1888 t) 1911 t)
1889 (funcall handler process target sender args) 1912 (funcall handler process target sender args)
1890 (if (not (string= request "ACTION")) 1913 (if (not (string= request "ACTION"))
1891 (rcirc-print process sender "CTCP" 1914 (rcirc-print process sender "CTCP" target
1892 (rcirc-get-buffer process target)
1893 (format "%s" text) t)))))) 1915 (format "%s" text) t))))))
1894 1916
1895(defun rcirc-handler-ctcp-VERSION (process target sender args) 1917(defun rcirc-handler-ctcp-VERSION (process target sender args)
1896 (rcirc-send-string process 1918 (rcirc-send-string process
1897 (concat "NOTICE " (rcirc-user-nick sender) 1919 (concat "NOTICE " sender
1898 " :\C-aVERSION " rcirc-id-string 1920 " :\C-aVERSION " rcirc-id-string
1899 "\C-a"))) 1921 "\C-a")))
1900 1922
@@ -1903,7 +1925,7 @@ Passwords are read from `rcirc-authinfo-file-name' (which see)."
1903 1925
1904(defun rcirc-handler-ctcp-TIME (process target sender args) 1926(defun rcirc-handler-ctcp-TIME (process target sender args)
1905 (rcirc-send-string process 1927 (rcirc-send-string process
1906 (concat "NOTICE " (rcirc-user-nick sender) 1928 (concat "NOTICE " sender
1907 " :\C-aTIME " (current-time-string) "\C-a"))) 1929 " :\C-aTIME " (current-time-string) "\C-a")))
1908 1930
1909(defun rcirc-handler-CTCP-response (process target sender message) 1931(defun rcirc-handler-CTCP-response (process target sender message)
@@ -1960,7 +1982,7 @@ Passwords are read from `rcirc-authinfo-file-name' (which see)."
1960 :group 'rcirc-faces) 1982 :group 'rcirc-faces)
1961 1983
1962(defface rcirc-server-prefix ; font-lock-comment-delimiter-face 1984(defface rcirc-server-prefix ; font-lock-comment-delimiter-face
1963 '((default :inherit font-lock-comment-face) 1985 '((default :inherit rcirc-server)
1964 (((class grayscale))) 1986 (((class grayscale)))
1965 (((class color) (min-colors 16))) 1987 (((class color) (min-colors 16)))
1966 (((class color) (min-colors 8) (background light)) 1988 (((class color) (min-colors 8) (background light))
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 2fdf63ce351..afe5308a918 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -6482,7 +6482,8 @@ connection if a previous connection has died for some reason."
6482 p (processp p) (memq (process-status p) '(run open))) 6482 p (processp p) (memq (process-status p) '(run open)))
6483 (tramp-send-command 6483 (tramp-send-command
6484 multi-method method user host "echo are you awake" nil t) 6484 multi-method method user host "echo are you awake" nil t)
6485 (unless (tramp-wait-for-output 10) 6485 (unless (and (memq (process-status p) '(run open))
6486 (tramp-wait-for-output 10))
6486 (delete-process p) 6487 (delete-process p)
6487 (setq p nil)) 6488 (setq p nil))
6488 (erase-buffer))) 6489 (erase-buffer)))
diff --git a/lisp/pgg-def.el b/lisp/pgg-def.el
index 0b356461d6c..058dca4fa8f 100644
--- a/lisp/pgg-def.el
+++ b/lisp/pgg-def.el
@@ -83,6 +83,9 @@ Whether the passphrase is cached at all is controlled by
83(defvar pgg-scheme nil 83(defvar pgg-scheme nil
84 "Current scheme of PGP implementation.") 84 "Current scheme of PGP implementation.")
85 85
86(defvar pgg-text-mode nil
87 "If t, inform the recipient that the input is text.")
88
86(defmacro pgg-truncate-key-identifier (key) 89(defmacro pgg-truncate-key-identifier (key)
87 `(if (> (length ,key) 8) (substring ,key 8) ,key)) 90 `(if (> (length ,key) 8) (substring ,key 8) ,key))
88 91
diff --git a/lisp/pgg-gpg.el b/lisp/pgg-gpg.el
index be9b8bf9e77..0c9f45ab5b9 100644
--- a/lisp/pgg-gpg.el
+++ b/lisp/pgg-gpg.el
@@ -87,7 +87,9 @@
87 (buffer-disable-undo) 87 (buffer-disable-undo)
88 (erase-buffer) 88 (erase-buffer)
89 (if (file-exists-p output-file-name) 89 (if (file-exists-p output-file-name)
90 (let ((coding-system-for-read 'raw-text-dos)) 90 (let ((coding-system-for-read (if pgg-text-mode
91 'raw-text
92 'binary)))
91 (insert-file-contents output-file-name))) 93 (insert-file-contents output-file-name)))
92 (set-buffer errors-buffer) 94 (set-buffer errors-buffer)
93 (if (not (equal exit-status 0)) 95 (if (not (equal exit-status 0))
@@ -187,7 +189,8 @@ passphrase cache or user."
187 pgg-gpg-user-id)))) 189 pgg-gpg-user-id))))
188 (args 190 (args
189 (append 191 (append
190 (list "--batch" "--textmode" "--armor" "--always-trust" "--encrypt") 192 (list "--batch" "--armor" "--always-trust" "--encrypt")
193 (if pgg-text-mode (list "--textmode"))
191 (if sign (list "--sign" "--local-user" pgg-gpg-user-id)) 194 (if sign (list "--sign" "--local-user" pgg-gpg-user-id))
192 (if recipients 195 (if recipients
193 (apply #'nconc 196 (apply #'nconc
@@ -196,8 +199,7 @@ passphrase cache or user."
196 (append recipients 199 (append recipients
197 (if pgg-encrypt-for-me 200 (if pgg-encrypt-for-me
198 (list pgg-gpg-user-id))))))))) 201 (list pgg-gpg-user-id)))))))))
199 (pgg-as-lbt start end 'CRLF 202 (pgg-gpg-process-region start end passphrase pgg-gpg-program args)
200 (pgg-gpg-process-region start end passphrase pgg-gpg-program args))
201 (when sign 203 (when sign
202 (with-current-buffer pgg-errors-buffer 204 (with-current-buffer pgg-errors-buffer
203 ;; Possibly cache passphrase under, e.g. "jas", for future sign. 205 ;; Possibly cache passphrase under, e.g. "jas", for future sign.
@@ -215,9 +217,9 @@ passphrase cache or user."
215 (pgg-read-passphrase 217 (pgg-read-passphrase
216 "GnuPG passphrase for symmetric encryption: "))) 218 "GnuPG passphrase for symmetric encryption: ")))
217 (args 219 (args
218 (append (list "--batch" "--textmode" "--armor" "--symmetric" )))) 220 (append (list "--batch" "--armor" "--symmetric" )
219 (pgg-as-lbt start end 'CRLF 221 (if pgg-text-mode (list "--textmode")))))
220 (pgg-gpg-process-region start end passphrase pgg-gpg-program args)) 222 (pgg-gpg-process-region start end passphrase pgg-gpg-program args)
221 (pgg-process-when-success))) 223 (pgg-process-when-success)))
222 224
223(defun pgg-gpg-decrypt-region (start end &optional passphrase) 225(defun pgg-gpg-decrypt-region (start end &optional passphrase)
@@ -279,13 +281,13 @@ passphrase cache or user."
279 (format "GnuPG passphrase for %s: " pgg-gpg-user-id) 281 (format "GnuPG passphrase for %s: " pgg-gpg-user-id)
280 pgg-gpg-user-id))) 282 pgg-gpg-user-id)))
281 (args 283 (args
282 (list (if cleartext "--clearsign" "--detach-sign") 284 (append (list (if cleartext "--clearsign" "--detach-sign")
283 "--armor" "--batch" "--verbose" 285 "--armor" "--batch" "--verbose"
284 "--local-user" pgg-gpg-user-id)) 286 "--local-user" pgg-gpg-user-id)
287 (if pgg-text-mode (list "--textmode"))))
285 (inhibit-read-only t) 288 (inhibit-read-only t)
286 buffer-read-only) 289 buffer-read-only)
287 (pgg-as-lbt start end 'CRLF 290 (pgg-gpg-process-region start end passphrase pgg-gpg-program args)
288 (pgg-gpg-process-region start end passphrase pgg-gpg-program args))
289 (with-current-buffer pgg-errors-buffer 291 (with-current-buffer pgg-errors-buffer
290 ;; Possibly cache passphrase under, e.g. "jas", for future sign. 292 ;; Possibly cache passphrase under, e.g. "jas", for future sign.
291 (pgg-gpg-possibly-cache-passphrase passphrase pgg-gpg-user-id) 293 (pgg-gpg-possibly-cache-passphrase passphrase pgg-gpg-user-id)
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el
index 6442463796c..d7e1ecb67e1 100644
--- a/lisp/progmodes/ada-mode.el
+++ b/lisp/progmodes/ada-mode.el
@@ -1,7 +1,7 @@
1;;; ada-mode.el --- major-mode for editing Ada sources 1;;; ada-mode.el --- major-mode for editing Ada sources
2 2
3;; Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 3;; Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4;; 2005 Free Software Foundation, Inc. 4;; 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Rolf Ebert <ebert@inf.enst.fr> 6;; Author: Rolf Ebert <ebert@inf.enst.fr>
7;; Markus Heritsch <Markus.Heritsch@studbox.uni-stuttgart.de> 7;; Markus Heritsch <Markus.Heritsch@studbox.uni-stuttgart.de>
diff --git a/lisp/progmodes/ada-prj.el b/lisp/progmodes/ada-prj.el
index 91adf1ed187..1d42a391066 100644
--- a/lisp/progmodes/ada-prj.el
+++ b/lisp/progmodes/ada-prj.el
@@ -1,6 +1,6 @@
1;;; ada-prj.el --- easy editing of project files for the ada-mode 1;;; ada-prj.el --- easy editing of project files for the ada-mode
2 2
3;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Emmanuel Briot <briot@gnat.com> 6;; Author: Emmanuel Briot <briot@gnat.com>
diff --git a/lisp/progmodes/ada-stmt.el b/lisp/progmodes/ada-stmt.el
index 87825b1d624..525b53c2146 100644
--- a/lisp/progmodes/ada-stmt.el
+++ b/lisp/progmodes/ada-stmt.el
@@ -1,7 +1,7 @@
1;;; ada-stmt.el --- an extension to Ada mode for inserting statement templates 1;;; ada-stmt.el --- an extension to Ada mode for inserting statement templates
2 2
3;; Copyright(C) 1987, 1993, 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 3;; Copyright(C) 1987, 1993, 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4;; 2003, 2004, 2005 Free Software Foundation, Inc. 4;; 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
5 5
6;; This file is part of GNU Emacs. 6;; This file is part of GNU Emacs.
7 7
diff --git a/lisp/progmodes/ada-xref.el b/lisp/progmodes/ada-xref.el
index 241296d8f67..9e3f8e14332 100644
--- a/lisp/progmodes/ada-xref.el
+++ b/lisp/progmodes/ada-xref.el
@@ -1,7 +1,7 @@
1;;; ada-xref.el --- for lookup and completion in Ada mode 1;;; ada-xref.el --- for lookup and completion in Ada mode
2 2
3;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 3;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
4;; 2004, 2005 Free Software Foundation, Inc. 4;; 2004, 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Markus Heritsch <Markus.Heritsch@studbox.uni-stuttgart.de> 6;; Author: Markus Heritsch <Markus.Heritsch@studbox.uni-stuttgart.de>
7;; Rolf Ebert <ebert@inf.enst.fr> 7;; Rolf Ebert <ebert@inf.enst.fr>
diff --git a/lisp/progmodes/antlr-mode.el b/lisp/progmodes/antlr-mode.el
index 229bec56dd5..7ddd9212f6c 100644
--- a/lisp/progmodes/antlr-mode.el
+++ b/lisp/progmodes/antlr-mode.el
@@ -1,6 +1,6 @@
1;;; antlr-mode.el --- major mode for ANTLR grammar files 1;;; antlr-mode.el --- major mode for ANTLR grammar files
2 2
3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5;; 5;;
6;; Author: Christoph.Wedler@sap.com 6;; Author: Christoph.Wedler@sap.com
diff --git a/lisp/progmodes/asm-mode.el b/lisp/progmodes/asm-mode.el
index 44605b1fa9a..b79237adba7 100644
--- a/lisp/progmodes/asm-mode.el
+++ b/lisp/progmodes/asm-mode.el
@@ -1,6 +1,6 @@
1;;; asm-mode.el --- mode for editing assembler code 1;;; asm-mode.el --- mode for editing assembler code
2 2
3;; Copyright (C) 1991, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1991, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Eric S. Raymond <esr@snark.thyrsus.com> 6;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
diff --git a/lisp/progmodes/autoconf.el b/lisp/progmodes/autoconf.el
index 2949b2da92f..fe021d04cea 100644
--- a/lisp/progmodes/autoconf.el
+++ b/lisp/progmodes/autoconf.el
@@ -1,6 +1,6 @@
1;;; autoconf.el --- mode for editing Autoconf configure.in files 1;;; autoconf.el --- mode for editing Autoconf configure.in files
2 2
3;; Copyright (C) 2000, 2001, 2002 2003, 2004, 2005 3;; Copyright (C) 2000, 2001, 2002 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Dave Love <fx@gnu.org> 6;; Author: Dave Love <fx@gnu.org>
@@ -52,7 +52,7 @@
52 "AC_\\(SUBST\\|DEFINE\\(_UNQUOTED\\)?\\)(\\(\\sw+\\)") 52 "AC_\\(SUBST\\|DEFINE\\(_UNQUOTED\\)?\\)(\\(\\sw+\\)")
53 53
54(defvar autoconf-font-lock-keywords 54(defvar autoconf-font-lock-keywords
55 `(("A[CHMS]_\\sw+" . font-lock-keyword-face) 55 `(("\\_<A[CHMS]_\\sw+" . font-lock-keyword-face)
56 (,autoconf-definition-regexp 56 (,autoconf-definition-regexp
57 3 font-lock-function-name-face) 57 3 font-lock-function-name-face)
58 ;; Are any other M4 keywords really appropriate for configure.in, 58 ;; Are any other M4 keywords really appropriate for configure.in,
diff --git a/lisp/progmodes/cc-align.el b/lisp/progmodes/cc-align.el
index 83b4d8387d4..8420ec99636 100644
--- a/lisp/progmodes/cc-align.el
+++ b/lisp/progmodes/cc-align.el
@@ -1,6 +1,7 @@
1;;; cc-align.el --- custom indentation functions for CC Mode 1;;; cc-align.el --- custom indentation functions for CC Mode
2 2
3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc.
4 5
5;; Authors: 1998- Martin Stjernholm 6;; Authors: 1998- Martin Stjernholm
6;; 1992-1999 Barry A. Warsaw 7;; 1992-1999 Barry A. Warsaw
diff --git a/lisp/progmodes/cc-awk.el b/lisp/progmodes/cc-awk.el
index b16d571d277..9f86638696c 100644
--- a/lisp/progmodes/cc-awk.el
+++ b/lisp/progmodes/cc-awk.el
@@ -1,7 +1,7 @@
1;;; cc-awk.el --- AWK specific code within cc-mode. 1;;; cc-awk.el --- AWK specific code within cc-mode.
2 2
3;; Copyright (C) 1988,94,96,2000, 2001, 2002, 2003, 2004, 2005 Free 3;; Copyright (C) 1988,94,96,2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Alan Mackenzie <acm@muc.de> (originally based on awk-mode.el) 6;; Author: Alan Mackenzie <acm@muc.de> (originally based on awk-mode.el)
7;; Maintainer: FSF 7;; Maintainer: FSF
diff --git a/lisp/progmodes/cc-bytecomp.el b/lisp/progmodes/cc-bytecomp.el
index 6358f230e7c..f001fa60b25 100644
--- a/lisp/progmodes/cc-bytecomp.el
+++ b/lisp/progmodes/cc-bytecomp.el
@@ -1,7 +1,7 @@
1;;; cc-bytecomp.el --- compile time setup for proper compilation 1;;; cc-bytecomp.el --- compile time setup for proper compilation
2 2
3;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, 3;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Martin Stjernholm 6;; Author: Martin Stjernholm
7;; Maintainer: bug-cc-mode@gnu.org 7;; Maintainer: bug-cc-mode@gnu.org
diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el
index e17656e54dd..4c8aa1518b7 100644
--- a/lisp/progmodes/cc-cmds.el
+++ b/lisp/progmodes/cc-cmds.el
@@ -1,7 +1,7 @@
1;;; cc-cmds.el --- user level commands for CC Mode 1;;; cc-cmds.el --- user level commands for CC Mode
2 2
3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005 Free Software Foundation, 3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006
4;; Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Authors: 1998- Martin Stjernholm 6;; Authors: 1998- Martin Stjernholm
7;; 1992-1999 Barry A. Warsaw 7;; 1992-1999 Barry A. Warsaw
diff --git a/lisp/progmodes/cc-compat.el b/lisp/progmodes/cc-compat.el
index 66bf9a55d79..0cd7973857c 100644
--- a/lisp/progmodes/cc-compat.el
+++ b/lisp/progmodes/cc-compat.el
@@ -1,7 +1,7 @@
1;;; cc-compat.el --- cc-mode compatibility with c-mode.el confusion 1;;; cc-compat.el --- cc-mode compatibility with c-mode.el confusion
2 2
3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005 Free Software Foundation, 3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006
4;; Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Authors: 1998- Martin Stjernholm 6;; Authors: 1998- Martin Stjernholm
7;; 1994-1999 Barry A. Warsaw 7;; 1994-1999 Barry A. Warsaw
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el
index 9de0a24f09e..0053cfcf443 100644
--- a/lisp/progmodes/cc-defs.el
+++ b/lisp/progmodes/cc-defs.el
@@ -1,7 +1,7 @@
1;;; cc-defs.el --- compile time definitions for CC Mode 1;;; cc-defs.el --- compile time definitions for CC Mode
2 2
3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005 Free Software Foundation, 3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006
4;; Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Authors: 1998- Martin Stjernholm 6;; Authors: 1998- Martin Stjernholm
7;; 1992-1999 Barry A. Warsaw 7;; 1992-1999 Barry A. Warsaw
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 7f829bd26d5..548fc74d961 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -1,7 +1,7 @@
1;;; cc-engine.el --- core syntax guessing engine for CC mode 1;;; cc-engine.el --- core syntax guessing engine for CC mode
2 2
3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005 Free Software Foundation, 3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006
4;; Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Authors: 1998- Martin Stjernholm 6;; Authors: 1998- Martin Stjernholm
7;; 1992-1999 Barry A. Warsaw 7;; 1992-1999 Barry A. Warsaw
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el
index e5dcecf459f..75d631ac399 100644
--- a/lisp/progmodes/cc-fonts.el
+++ b/lisp/progmodes/cc-fonts.el
@@ -1,6 +1,6 @@
1;;; cc-fonts.el --- font lock support for CC Mode 1;;; cc-fonts.el --- font lock support for CC Mode
2 2
3;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
4 4
5;; Authors: 2003- Alan Mackenzie 5;; Authors: 2003- Alan Mackenzie
6;; 2002- Martin Stjernholm 6;; 2002- Martin Stjernholm
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index 3c1df93e0f9..bea3b4f7e8c 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -1,7 +1,7 @@
1;;; cc-langs.el --- language specific settings for CC Mode 1;;; cc-langs.el --- language specific settings for CC Mode
2 2
3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005 Free Software Foundation, 3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006
4;; Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Authors: 1998- Martin Stjernholm 6;; Authors: 1998- Martin Stjernholm
7;; 1992-1999 Barry A. Warsaw 7;; 1992-1999 Barry A. Warsaw
@@ -258,9 +258,12 @@ the evaluated constant value at compile time."
258 (c-fn-region-is-active-p)])) 258 (c-fn-region-is-active-p)]))
259 "----" 259 "----"
260 ("Toggle..." 260 ("Toggle..."
261 ["Syntactic indentation" c-toggle-syntactic-indentation t] 261 ["Syntactic indentation" c-toggle-syntactic-indentation
262 ["Auto newline" c-toggle-auto-newline t] 262 :style toggle :selected c-syntactic-indentation]
263 ["Hungry delete" c-toggle-hungry-state t]))) 263 ["Auto newline" c-toggle-auto-newline
264 :style toggle :selected c-auto-newline]
265 ["Hungry delete" c-toggle-hungry-state
266 :style toggle :selected c-hungry-delete-key])))
264 267
265 268
266;;; Syntax tables. 269;;; Syntax tables.
diff --git a/lisp/progmodes/cc-menus.el b/lisp/progmodes/cc-menus.el
index e11f50c581b..418823b71fa 100644
--- a/lisp/progmodes/cc-menus.el
+++ b/lisp/progmodes/cc-menus.el
@@ -1,7 +1,7 @@
1;;; cc-menus.el --- imenu support for CC Mode 1;;; cc-menus.el --- imenu support for CC Mode
2 2
3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005 Free Software Foundation, 3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006
4;; Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Authors: 1998- Martin Stjernholm 6;; Authors: 1998- Martin Stjernholm
7;; 1992-1999 Barry A. Warsaw 7;; 1992-1999 Barry A. Warsaw
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 247a4021abf..3994fe5cf09 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -1,7 +1,7 @@
1;;; cc-mode.el --- major mode for editing C and similar languages 1;;; cc-mode.el --- major mode for editing C and similar languages
2 2
3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005 Free Software Foundation, 3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006
4;; Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Authors: 2003- Alan Mackenzie 6;; Authors: 2003- Alan Mackenzie
7;; 1998- Martin Stjernholm 7;; 1998- Martin Stjernholm
diff --git a/lisp/progmodes/cc-styles.el b/lisp/progmodes/cc-styles.el
index 2377b4ce8bd..758720a3fd6 100644
--- a/lisp/progmodes/cc-styles.el
+++ b/lisp/progmodes/cc-styles.el
@@ -1,7 +1,7 @@
1;;; cc-styles.el --- support for styles in CC Mode 1;;; cc-styles.el --- support for styles in CC Mode
2 2
3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005 Free Software Foundation, 3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006
4;; Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Authors: 1998- Martin Stjernholm 6;; Authors: 1998- Martin Stjernholm
7;; 1992-1999 Barry A. Warsaw 7;; 1992-1999 Barry A. Warsaw
diff --git a/lisp/progmodes/cc-subword.el b/lisp/progmodes/cc-subword.el
index fd4ca891298..6ba76708ebf 100644
--- a/lisp/progmodes/cc-subword.el
+++ b/lisp/progmodes/cc-subword.el
@@ -1,6 +1,6 @@
1;;; cc-subword.el --- Handling capitalized subwords in a nomenclature 1;;; cc-subword.el --- Handling capitalized subwords in a nomenclature
2 2
3;; Copyright (C) 2004, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Masatake YAMATO 5;; Author: Masatake YAMATO
6 6
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index 4c5d03c6f4c..9bde0c5dbaf 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -1,7 +1,7 @@
1;;; cc-vars.el --- user customization variables for CC Mode 1;;; cc-vars.el --- user customization variables for CC Mode
2 2
3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005 Free Software 3;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006
4;; Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Authors: 1998- Martin Stjernholm 6;; Authors: 1998- Martin Stjernholm
7;; 1992-1999 Barry A. Warsaw 7;; 1992-1999 Barry A. Warsaw
diff --git a/lisp/progmodes/cfengine.el b/lisp/progmodes/cfengine.el
index a4b0389ab86..1b62774a72d 100644
--- a/lisp/progmodes/cfengine.el
+++ b/lisp/progmodes/cfengine.el
@@ -1,6 +1,7 @@
1;;; cfengine.el --- mode for editing Cfengine files 1;;; cfengine.el --- mode for editing Cfengine files
2 2
3;; Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc.
4 5
5;; Author: Dave Love <fx@gnu.org> 6;; Author: Dave Love <fx@gnu.org>
6;; Keywords: languages 7;; Keywords: languages
diff --git a/lisp/progmodes/cmacexp.el b/lisp/progmodes/cmacexp.el
index b3051f37b9d..8531a2f3133 100644
--- a/lisp/progmodes/cmacexp.el
+++ b/lisp/progmodes/cmacexp.el
@@ -1,6 +1,6 @@
1;;; cmacexp.el --- expand C macros in a region 1;;; cmacexp.el --- expand C macros in a region
2 2
3;; Copyright (C) 1992, 1994, 1996, 2000, 2001, 2002, 2003, 2004 3;; Copyright (C) 1992, 1994, 1996, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Francesco Potorti` <pot@gnu.org> 6;; Author: Francesco Potorti` <pot@gnu.org>
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index da2a3ee9d65..b1f02ed2ebf 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -1,7 +1,7 @@
1;;; compile.el --- run compiler as inferior of Emacs, parse error messages 1;;; compile.el --- run compiler as inferior of Emacs, parse error messages
2 2
3;; Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 3;; Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 4;; 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Authors: Roland McGrath <roland@gnu.org>, 6;; Authors: Roland McGrath <roland@gnu.org>,
7;; Daniel Pfeiffer <occitan@esperanto.org> 7;; Daniel Pfeiffer <occitan@esperanto.org>
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index dd1dcad3cc4..36f75b757b5 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -1,7 +1,7 @@
1;;; cperl-mode.el --- Perl code editing commands for Emacs 1;;; cperl-mode.el --- Perl code editing commands for Emacs
2 2
3;; Copyright (C) 1985, 1986, 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3;; Copyright (C) 1985, 1986, 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
4;; 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 4;; 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
5;; Free Software Foundation, Inc. 5;; Free Software Foundation, Inc.
6 6
7;; Author: Ilya Zakharevich and Bob Olson 7;; Author: Ilya Zakharevich and Bob Olson
diff --git a/lisp/progmodes/cpp.el b/lisp/progmodes/cpp.el
index 06a141016e5..62f74b41a70 100644
--- a/lisp/progmodes/cpp.el
+++ b/lisp/progmodes/cpp.el
@@ -1,6 +1,6 @@
1;;; cpp.el --- highlight or hide text according to cpp conditionals 1;;; cpp.el --- highlight or hide text according to cpp conditionals
2 2
3;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation 4;; Free Software Foundation
5 5
6;; Author: Per Abrahamsen <abraham@dina.kvl.dk> 6;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
diff --git a/lisp/progmodes/cwarn.el b/lisp/progmodes/cwarn.el
index 979913f10c0..f0933bba8cd 100644
--- a/lisp/progmodes/cwarn.el
+++ b/lisp/progmodes/cwarn.el
@@ -1,6 +1,6 @@
1;;; cwarn.el --- highlight suspicious C and C++ constructions 1;;; cwarn.el --- highlight suspicious C and C++ constructions
2 2
3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Anders Lindgren <andersl@andersl.com> 6;; Author: Anders Lindgren <andersl@andersl.com>
diff --git a/lisp/progmodes/dcl-mode.el b/lisp/progmodes/dcl-mode.el
index 16d1d7ba415..c3bc75c0d79 100644
--- a/lisp/progmodes/dcl-mode.el
+++ b/lisp/progmodes/dcl-mode.el
@@ -1,6 +1,6 @@
1;;; dcl-mode.el --- major mode for editing DCL command files 1;;; dcl-mode.el --- major mode for editing DCL command files
2 2
3;; Copyright (c) 1997, 2001, 2002, 2003, 2004, 2005 3;; Copyright (c) 1997, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Odd Gripenstam <gripenstamol@decus.se> 6;; Author: Odd Gripenstam <gripenstamol@decus.se>
diff --git a/lisp/progmodes/delphi.el b/lisp/progmodes/delphi.el
index 4c271113b72..03ab24adf47 100644
--- a/lisp/progmodes/delphi.el
+++ b/lisp/progmodes/delphi.el
@@ -1,6 +1,6 @@
1;;; delphi.el --- major mode for editing Delphi source (Object Pascal) in Emacs 1;;; delphi.el --- major mode for editing Delphi source (Object Pascal) in Emacs
2 2
3;; Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Ray Blaak <blaak@infomatch.com> 6;; Author: Ray Blaak <blaak@infomatch.com>
diff --git a/lisp/progmodes/ebnf-abn.el b/lisp/progmodes/ebnf-abn.el
index a1b3658c0b4..f393f78203b 100644
--- a/lisp/progmodes/ebnf-abn.el
+++ b/lisp/progmodes/ebnf-abn.el
@@ -1,6 +1,7 @@
1;;; ebnf-abn.el --- parser for ABNF (Augmented BNF) 1;;; ebnf-abn.el --- parser for ABNF (Augmented BNF)
2 2
3;; Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Sofware Foundation, Inc. 3;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Sofware Foundation, Inc.
4 5
5;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> 6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
6;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> 7;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/progmodes/ebnf-bnf.el b/lisp/progmodes/ebnf-bnf.el
index f0811d0ad80..fd58ec096b3 100644
--- a/lisp/progmodes/ebnf-bnf.el
+++ b/lisp/progmodes/ebnf-bnf.el
@@ -1,6 +1,6 @@
1;;; ebnf-bnf.el --- parser for EBNF 1;;; ebnf-bnf.el --- parser for EBNF
2 2
3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Sofware Foundation, Inc. 4;; Free Sofware Foundation, Inc.
5 5
6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> 6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/progmodes/ebnf-dtd.el b/lisp/progmodes/ebnf-dtd.el
index 4a596154c43..a52469966fc 100644
--- a/lisp/progmodes/ebnf-dtd.el
+++ b/lisp/progmodes/ebnf-dtd.el
@@ -1,6 +1,7 @@
1;;; ebnf-dtd.el --- parser for DTD (Data Type Description for XML) 1;;; ebnf-dtd.el --- parser for DTD (Data Type Description for XML)
2 2
3;; Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Sofware Foundation, Inc. 3;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Sofware Foundation, Inc.
4 5
5;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> 6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
6;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> 7;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/progmodes/ebnf-ebx.el b/lisp/progmodes/ebnf-ebx.el
index ada523c6c34..7e65611cedf 100644
--- a/lisp/progmodes/ebnf-ebx.el
+++ b/lisp/progmodes/ebnf-ebx.el
@@ -1,6 +1,7 @@
1;;; ebnf-ebx.el --- parser for EBNF used to specify XML (EBNFX) 1;;; ebnf-ebx.el --- parser for EBNF used to specify XML (EBNFX)
2 2
3;; Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Sofware Foundation, Inc. 3;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Sofware Foundation, Inc.
4 5
5;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> 6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
6;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> 7;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/progmodes/ebnf-iso.el b/lisp/progmodes/ebnf-iso.el
index 96ae2842863..7596d366a12 100644
--- a/lisp/progmodes/ebnf-iso.el
+++ b/lisp/progmodes/ebnf-iso.el
@@ -1,6 +1,6 @@
1;;; ebnf-iso.el --- parser for ISO EBNF 1;;; ebnf-iso.el --- parser for ISO EBNF
2 2
3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> 6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/progmodes/ebnf-otz.el b/lisp/progmodes/ebnf-otz.el
index 4beeaa8ad8f..df18beb690a 100644
--- a/lisp/progmodes/ebnf-otz.el
+++ b/lisp/progmodes/ebnf-otz.el
@@ -1,6 +1,6 @@
1;;; ebnf-otz.el --- syntactic chart OpTimiZer 1;;; ebnf-otz.el --- syntactic chart OpTimiZer
2 2
3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Sofware Foundation, Inc. 4;; Free Sofware Foundation, Inc.
5 5
6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> 6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/progmodes/ebnf-yac.el b/lisp/progmodes/ebnf-yac.el
index 49f69f857ac..6e5465f0f01 100644
--- a/lisp/progmodes/ebnf-yac.el
+++ b/lisp/progmodes/ebnf-yac.el
@@ -1,6 +1,6 @@
1;;; ebnf-yac.el --- parser for Yacc/Bison 1;;; ebnf-yac.el --- parser for Yacc/Bison
2 2
3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Sofware Foundation, Inc. 4;; Free Sofware Foundation, Inc.
5 5
6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> 6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/progmodes/ebnf2ps.el b/lisp/progmodes/ebnf2ps.el
index 18d88c92699..bce4381c614 100644
--- a/lisp/progmodes/ebnf2ps.el
+++ b/lisp/progmodes/ebnf2ps.el
@@ -1,6 +1,6 @@
1;;; ebnf2ps.el --- translate an EBNF to a syntactic chart on PostScript 1;;; ebnf2ps.el --- translate an EBNF to a syntactic chart on PostScript
2 2
3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> 6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el
index 47e9a12f235..d9060a318e5 100644
--- a/lisp/progmodes/ebrowse.el
+++ b/lisp/progmodes/ebrowse.el
@@ -1,7 +1,7 @@
1;;; ebrowse.el --- Emacs C++ class browser & tags facility 1;;; ebrowse.el --- Emacs C++ class browser & tags facility
2 2
3;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 3;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
4;; 2002, 2003, 2004, 2005 4;; 2002, 2003, 2004, 2005, 2006
5;; Free Software Foundation Inc. 5;; Free Software Foundation Inc.
6 6
7;; Author: Gerd Moellmann <gerd@gnu.org> 7;; Author: Gerd Moellmann <gerd@gnu.org>
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index d9f4698ecf7..6fe9fec3094 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -1,7 +1,7 @@
1;;; etags.el --- etags facility for Emacs 1;;; etags.el --- etags facility for Emacs
2 2
3;; Copyright (C) 1985, 1986, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1998, 3;; Copyright (C) 1985, 1986, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1998,
4;; 2000, 2001, 2002, 2003, 2004, 2005 4;; 2000, 2001, 2002, 2003, 2004, 2005, 2006
5;; Free Software Foundation, Inc. 5;; Free Software Foundation, Inc.
6 6
7;; Author: Roland McGrath <roland@gnu.org> 7;; Author: Roland McGrath <roland@gnu.org>
diff --git a/lisp/progmodes/executable.el b/lisp/progmodes/executable.el
index 615e9d0ae93..e74208431a3 100644
--- a/lisp/progmodes/executable.el
+++ b/lisp/progmodes/executable.el
@@ -1,6 +1,6 @@
1;;; executable.el --- base functionality for executable interpreter scripts -*- byte-compile-dynamic: t -*- 1;;; executable.el --- base functionality for executable interpreter scripts -*- byte-compile-dynamic: t -*-
2 2
3;; Copyright (C) 1994, 1995, 1996, 2000, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1994, 1995, 1996, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Daniel Pfeiffer <occitan@esperanto.org> 6;; Author: Daniel Pfeiffer <occitan@esperanto.org>
diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el
index 3816fc3fb43..e661552c331 100644
--- a/lisp/progmodes/f90.el
+++ b/lisp/progmodes/f90.el
@@ -1,7 +1,7 @@
1;;; f90.el --- Fortran-90 mode (free format) 1;;; f90.el --- Fortran-90 mode (free format)
2 2
3;; Copyright (C) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005,
4;; Free Software Foundation, Inc. 4;; 2006 Free Software Foundation, Inc.
5 5
6;; Author: Torbj\"orn Einarsson <Torbjorn.Einarsson@era.ericsson.se> 6;; Author: Torbj\"orn Einarsson <Torbjorn.Einarsson@era.ericsson.se>
7;; Maintainer: Glenn Morris <rgm@gnu.org> 7;; Maintainer: Glenn Morris <rgm@gnu.org>
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 5f58a3c2ec0..755e83646fc 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -4,7 +4,8 @@
4;; Maintainer: FSF 4;; Maintainer: FSF
5;; Keywords: unix, tools 5;; Keywords: unix, tools
6 6
7;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 7;; Copyright (C) 2002, 2003, 2004, 2005, 2006
8;; Free Software Foundation, Inc.
8 9
9;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
10 11
@@ -2968,6 +2969,35 @@ BUFFER nil or omitted means use the current buffer."
2968 (gdb-invalidate-assembler)) 2969 (gdb-invalidate-assembler))
2969 2970
2970 2971
2972;; For debugging Emacs only (assumes that usual stack buffer already exists).
2973(defun gdb-xbacktrace ()
2974 "Generate a full lisp level backtrace with arguments."
2975 (interactive)
2976 (setq my-frames nil)
2977 (with-current-buffer (get-buffer-create "xbacktrace")
2978 (erase-buffer))
2979 (let (frame-number gdb-frame-number)
2980 (with-current-buffer (gdb-get-buffer 'gdb-stack-buffer)
2981 (save-excursion
2982 (goto-char (point-min))
2983 (while (search-forward "in Ffuncall " nil t)
2984 (goto-char (line-beginning-position))
2985 (looking-at "^#\\([0-9]+\\)")
2986 (push (match-string-no-properties 1) my-frames)
2987 (forward-line 1))))
2988 (dolist (frame my-frames)
2989 (gdb-enqueue-input (list (concat "server frame " frame "\n")
2990 'ignore))
2991; (gdb-enqueue-input (list "server ppargs\n" 'gdb-get-arguments))
2992 (gud-basic-call "server ppargs")
2993)
2994 (gdb-enqueue-input (list (concat "server frame " frame-number "\n")
2995 'ignore))))
2996
2997(defun gdb-get-arguments ()
2998 (with-current-buffer "xbacktrace"
2999 (insert-buffer-substring (gdb-get-buffer 'gdb-partial-output-buffer))))
3000
2971;; Code specific to GDB 6.4 3001;; Code specific to GDB 6.4
2972(defconst gdb-source-file-regexp-1 "fullname=\"\\(.*?\\)\"") 3002(defconst gdb-source-file-regexp-1 "fullname=\"\\(.*?\\)\"")
2973 3003
diff --git a/lisp/progmodes/glasses.el b/lisp/progmodes/glasses.el
index d19f636ff93..6009fe7d961 100644
--- a/lisp/progmodes/glasses.el
+++ b/lisp/progmodes/glasses.el
@@ -1,6 +1,6 @@
1;;; glasses.el --- make cantReadThis readable 1;;; glasses.el --- make cantReadThis readable
2 2
3;; Copyright (C) 1999, 2000, 2001, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 1999, 2000, 2001, 2005, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Milan Zamazal <pdm@zamazal.org> 5;; Author: Milan Zamazal <pdm@zamazal.org>
6;; Maintainer: Milan Zamazal <pdm@zamazal.org> 6;; Maintainer: Milan Zamazal <pdm@zamazal.org>
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index 48d1c09d138..0e151ce9be2 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -1,7 +1,7 @@
1;;; grep.el --- run Grep as inferior of Emacs, parse match messages 1;;; grep.el --- run Grep as inferior of Emacs, parse match messages
2 2
3;; Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 3;; Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 4;; 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Roland McGrath <roland@gnu.org> 6;; Author: Roland McGrath <roland@gnu.org>
7;; Maintainer: FSF 7;; Maintainer: FSF
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 7a8745f0e9c..b927c765476 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -5,7 +5,7 @@
5;; Keywords: unix, tools 5;; Keywords: unix, tools
6 6
7;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 2000, 2001, 2002, 2003, 7;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 2000, 2001, 2002, 2003,
8;; 2004, 2005 Free Software Foundation, Inc. 8;; 2004, 2005, 2006 Free Software Foundation, Inc.
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el
index 1f843dea03c..04e44e2dac1 100644
--- a/lisp/progmodes/hideif.el
+++ b/lisp/progmodes/hideif.el
@@ -1,6 +1,6 @@
1;;; hideif.el --- hides selected code within ifdef 1;;; hideif.el --- hides selected code within ifdef
2 2
3;; Copyright (C) 1988, 1994, 2001, 2002, 2003, 2004 2005 3;; Copyright (C) 1988, 1994, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Daniel LaLiberte <liberte@holonexus.org> 6;; Author: Daniel LaLiberte <liberte@holonexus.org>
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el
index ddc0e277200..e7ed67ce61c 100644
--- a/lisp/progmodes/hideshow.el
+++ b/lisp/progmodes/hideshow.el
@@ -1,7 +1,7 @@
1;;; hideshow.el --- minor mode cmds to selectively display code/comment blocks 1;;; hideshow.el --- minor mode cmds to selectively display code/comment blocks
2 2
3;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 3;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
4;; 2004, 2005 Free Software Foundation, Inc. 4;; 2004, 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Thien-Thi Nguyen <ttn@gnu.org> 6;; Author: Thien-Thi Nguyen <ttn@gnu.org>
7;; Dan Nicolaescu <dann@ics.uci.edu> 7;; Dan Nicolaescu <dann@ics.uci.edu>
diff --git a/lisp/progmodes/icon.el b/lisp/progmodes/icon.el
index dc2cfd01683..393ba6dfb08 100644
--- a/lisp/progmodes/icon.el
+++ b/lisp/progmodes/icon.el
@@ -1,6 +1,6 @@
1;;; icon.el --- mode for editing Icon code 1;;; icon.el --- mode for editing Icon code
2 2
3;; Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Chris Smith <csmith@convex.com> 6;; Author: Chris Smith <csmith@convex.com>
diff --git a/lisp/progmodes/idlw-complete-structtag.el b/lisp/progmodes/idlw-complete-structtag.el
index bc659666a08..cec25fcc25e 100644
--- a/lisp/progmodes/idlw-complete-structtag.el
+++ b/lisp/progmodes/idlw-complete-structtag.el
@@ -1,5 +1,6 @@
1;;; idlw-complete-structtag.el --- Completion of structure tags. 1;;; idlw-complete-structtag.el --- Completion of structure tags.
2;; Copyright (c) 2001, 2002, 2003, 2004, 2005 Free Software Foundation 2;; Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006
3;; Free Software Foundation, Inc.
3 4
4;; Author: Carsten Dominik <dominik@science.uva.nl> 5;; Author: Carsten Dominik <dominik@science.uva.nl>
5;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu> 6;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
diff --git a/lisp/progmodes/idlw-help.el b/lisp/progmodes/idlw-help.el
index 0a848128032..17961fa7d9a 100644
--- a/lisp/progmodes/idlw-help.el
+++ b/lisp/progmodes/idlw-help.el
@@ -1,7 +1,7 @@
1;;; idlw-help.el --- HTML Help code for IDLWAVE 1;;; idlw-help.el --- HTML Help code for IDLWAVE
2;; Copyright (c) 2000 Carsten Dominik 2;; Copyright (c) 2000 Carsten Dominik
3;; Copyright (c) 2001, 2002 J.D. Smith 3;; Copyright (c) 2001, 2002 J.D. Smith
4;; Copyright (c) 2003, 2004, 2005, Free Software Foundation 4;; Copyright (c) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
5;; 5;;
6;; Authors: J.D. Smith <jdsmith@as.arizona.edu> 6;; Authors: J.D. Smith <jdsmith@as.arizona.edu>
7;; Carsten Dominik <dominik@science.uva.nl> 7;; Carsten Dominik <dominik@science.uva.nl>
diff --git a/lisp/progmodes/idlw-rinfo.el b/lisp/progmodes/idlw-rinfo.el
index 367de774bcf..dfb08b289a5 100644
--- a/lisp/progmodes/idlw-rinfo.el
+++ b/lisp/progmodes/idlw-rinfo.el
@@ -1,7 +1,7 @@
1;;; idlw-rinfo.el --- Routine Information for IDLWAVE 1;;; idlw-rinfo.el --- Routine Information for IDLWAVE
2;; Copyright (c) 1999 Carsten Dominik 2;; Copyright (c) 1999 Carsten Dominik
3;; Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005 3;; Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation 4;; Free Software Foundation, Inc.
5 5
6;; Author: J.D. Smith <jdsmith@as.arizona.edu> 6;; Author: J.D. Smith <jdsmith@as.arizona.edu>
7;; Version: 5.7_22 7;; Version: 5.7_22
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index 27360a54969..ff1bb7b689f 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -1,6 +1,6 @@
1;; idlw-shell.el --- run IDL as an inferior process of Emacs. 1;; idlw-shell.el --- run IDL as an inferior process of Emacs.
2;; Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005 2;; Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
3;; Free Software Foundation 3;; Free Software Foundation, Inc.
4 4
5;; Authors: J.D. Smith <jdsmith@as.arizona.edu> 5;; Authors: J.D. Smith <jdsmith@as.arizona.edu>
6;; Carsten Dominik <dominik@astro.uva.nl> 6;; Carsten Dominik <dominik@astro.uva.nl>
diff --git a/lisp/progmodes/idlw-toolbar.el b/lisp/progmodes/idlw-toolbar.el
index 08dd08335bb..af94d02ec91 100644
--- a/lisp/progmodes/idlw-toolbar.el
+++ b/lisp/progmodes/idlw-toolbar.el
@@ -1,6 +1,6 @@
1;;; idlw-toolbar.el --- a debugging toolbar for IDLWAVE 1;;; idlw-toolbar.el --- a debugging toolbar for IDLWAVE
2;; Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005 2;; Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
3;; Free Software Foundation 3;; Free Software Foundation, Inc.
4 4
5;; Author: Carsten Dominik <dominik@astro.uva.nl> 5;; Author: Carsten Dominik <dominik@astro.uva.nl>
6;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu> 6;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el
index 3ee01d07b0a..03d181da250 100644
--- a/lisp/progmodes/idlwave.el
+++ b/lisp/progmodes/idlwave.el
@@ -1,6 +1,6 @@
1;; idlwave.el --- IDL editing mode for GNU Emacs 1;; idlwave.el --- IDL editing mode for GNU Emacs
2;; Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005 2;; Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
3;; Free Software Foundation 3;; Free Software Foundation, Inc.
4 4
5;; Authors: J.D. Smith <jdsmith@as.arizona.edu> 5;; Authors: J.D. Smith <jdsmith@as.arizona.edu>
6;; Carsten Dominik <dominik@science.uva.nl> 6;; Carsten Dominik <dominik@science.uva.nl>
diff --git a/lisp/progmodes/inf-lisp.el b/lisp/progmodes/inf-lisp.el
index 64845e38aea..092c7736c27 100644
--- a/lisp/progmodes/inf-lisp.el
+++ b/lisp/progmodes/inf-lisp.el
@@ -1,6 +1,6 @@
1;;; inf-lisp.el --- an inferior-lisp mode 1;;; inf-lisp.el --- an inferior-lisp mode
2 2
3;; Copyright (C) 1988, 1993, 1994, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1988, 1993, 1994, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Olin Shivers <shivers@cs.cmu.edu> 6;; Author: Olin Shivers <shivers@cs.cmu.edu>
diff --git a/lisp/progmodes/ld-script.el b/lisp/progmodes/ld-script.el
index bdb386dc5e9..ec12468e5d9 100644
--- a/lisp/progmodes/ld-script.el
+++ b/lisp/progmodes/ld-script.el
@@ -1,6 +1,7 @@
1;;; ld-script.el --- GNU linker script editing mode for Emacs 1;;; ld-script.el --- GNU linker script editing mode for Emacs
2 2
3;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 3;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc.
4 5
5;; Author: Masatake YAMATO<jet@gyve.org> 6;; Author: Masatake YAMATO<jet@gyve.org>
6;; Keywords: languages, faces 7;; Keywords: languages, faces
diff --git a/lisp/progmodes/m4-mode.el b/lisp/progmodes/m4-mode.el
index 84174e2ca5d..af719a2854b 100644
--- a/lisp/progmodes/m4-mode.el
+++ b/lisp/progmodes/m4-mode.el
@@ -1,6 +1,6 @@
1;;; m4-mode.el --- m4 code editing commands for Emacs 1;;; m4-mode.el --- m4 code editing commands for Emacs
2 2
3;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Andrew Csillag <drew_csillag@geocities.com> 6;; Author: Andrew Csillag <drew_csillag@geocities.com>
diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el
index 42a021ec692..3bbfeaac683 100644
--- a/lisp/progmodes/make-mode.el
+++ b/lisp/progmodes/make-mode.el
@@ -1,6 +1,6 @@
1;;; make-mode.el --- makefile editing commands for Emacs 1;;; make-mode.el --- makefile editing commands for Emacs
2 2
3;; Copyright (C) 1992, 1994, 1999, 2000, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1992, 1994, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Thomas Neumann <tom@smart.bo.open.de> 6;; Author: Thomas Neumann <tom@smart.bo.open.de>
diff --git a/lisp/progmodes/mantemp.el b/lisp/progmodes/mantemp.el
index 71791ef965b..d883254fdb7 100644
--- a/lisp/progmodes/mantemp.el
+++ b/lisp/progmodes/mantemp.el
@@ -1,6 +1,6 @@
1;;; mantemp.el --- create manual template instantiations from g++ 2.7.2 output 1;;; mantemp.el --- create manual template instantiations from g++ 2.7.2 output
2 2
3;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Tom Houlder <thoulder@icor.fr> 6;; Author: Tom Houlder <thoulder@icor.fr>
diff --git a/lisp/progmodes/meta-mode.el b/lisp/progmodes/meta-mode.el
index d113f94280f..3c4fdc2330e 100644
--- a/lisp/progmodes/meta-mode.el
+++ b/lisp/progmodes/meta-mode.el
@@ -1,6 +1,6 @@
1;;; meta-mode.el --- major mode for editing Metafont or MetaPost sources 1;;; meta-mode.el --- major mode for editing Metafont or MetaPost sources
2 2
3;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Ulrik Vieth <vieth@thphy.uni-duesseldorf.de> 6;; Author: Ulrik Vieth <vieth@thphy.uni-duesseldorf.de>
diff --git a/lisp/progmodes/mixal-mode.el b/lisp/progmodes/mixal-mode.el
index 741ae8097a0..8b7084675d4 100644
--- a/lisp/progmodes/mixal-mode.el
+++ b/lisp/progmodes/mixal-mode.el
@@ -1,6 +1,6 @@
1;;; mixal-mode.el --- Major mode for the mix asm language. 1;;; mixal-mode.el --- Major mode for the mix asm language.
2 2
3;; Copyright (C) 2003, 2004, 2005 Free Software Foundation 3;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation
4 4
5;; This program is free software; you can redistribute it and/or 5;; This program is free software; you can redistribute it and/or
6;; modify it under the terms of the GNU General Public License as 6;; modify it under the terms of the GNU General Public License as
diff --git a/lisp/progmodes/octave-hlp.el b/lisp/progmodes/octave-hlp.el
index f9654ef71cb..18ea9c1f699 100644
--- a/lisp/progmodes/octave-hlp.el
+++ b/lisp/progmodes/octave-hlp.el
@@ -1,6 +1,6 @@
1;;; octave-hlp.el --- getting help on Octave symbols using info 1;;; octave-hlp.el --- getting help on Octave symbols using info
2 2
3;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at> 6;; Author: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at>
diff --git a/lisp/progmodes/octave-inf.el b/lisp/progmodes/octave-inf.el
index 67b5b108fa5..b6e6e4fc456 100644
--- a/lisp/progmodes/octave-inf.el
+++ b/lisp/progmodes/octave-inf.el
@@ -1,6 +1,6 @@
1;;; octave-inf.el --- running Octave as an inferior Emacs process 1;;; octave-inf.el --- running Octave as an inferior Emacs process
2 2
3;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at> 6;; Author: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at>
diff --git a/lisp/progmodes/octave-mod.el b/lisp/progmodes/octave-mod.el
index 56dac972472..5f52e6f4d3c 100644
--- a/lisp/progmodes/octave-mod.el
+++ b/lisp/progmodes/octave-mod.el
@@ -1,6 +1,6 @@
1;;; octave-mod.el --- editing Octave source files under Emacs 1;;; octave-mod.el --- editing Octave source files under Emacs
2 2
3;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at> 6;; Author: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at>
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el
index d462557f291..02d5c509c62 100644
--- a/lisp/progmodes/pascal.el
+++ b/lisp/progmodes/pascal.el
@@ -1,7 +1,7 @@
1;;; pascal.el --- major mode for editing pascal source in Emacs 1;;; pascal.el --- major mode for editing pascal source in Emacs
2 2
3;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 3;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
4;; 2003, 2004, 2005 Free Software Foundation, Inc. 4;; 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Espen Skoglund <esk@gnu.org> 6;; Author: Espen Skoglund <esk@gnu.org>
7;; Keywords: languages 7;; Keywords: languages
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el
index 910322804a2..d448aec47b8 100644
--- a/lisp/progmodes/perl-mode.el
+++ b/lisp/progmodes/perl-mode.el
@@ -1,6 +1,6 @@
1;;; perl-mode.el --- Perl code editing commands for GNU Emacs 1;;; perl-mode.el --- Perl code editing commands for GNU Emacs
2 2
3;; Copyright (C) 1990, 1994, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1990, 1994, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: William F. Mann 6;; Author: William F. Mann
diff --git a/lisp/progmodes/prolog.el b/lisp/progmodes/prolog.el
index 9191d5f95ee..14b47475eb1 100644
--- a/lisp/progmodes/prolog.el
+++ b/lisp/progmodes/prolog.el
@@ -1,6 +1,6 @@
1;;; prolog.el --- major mode for editing and running Prolog under Emacs 1;;; prolog.el --- major mode for editing and running Prolog under Emacs
2 2
3;; Copyright (C) 1986, 1987, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1986, 1987, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Masanobu UMEDA <umerin@mse.kyutech.ac.jp> 6;; Author: Masanobu UMEDA <umerin@mse.kyutech.ac.jp>
diff --git a/lisp/progmodes/ps-mode.el b/lisp/progmodes/ps-mode.el
index 299093b29bc..61b075b3bce 100644
--- a/lisp/progmodes/ps-mode.el
+++ b/lisp/progmodes/ps-mode.el
@@ -1,6 +1,6 @@
1;;; ps-mode.el --- PostScript mode for GNU Emacs 1;;; ps-mode.el --- PostScript mode for GNU Emacs
2 2
3;; Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Peter Kleiweg <p.c.j.kleiweg@rug.nl> 6;; Author: Peter Kleiweg <p.c.j.kleiweg@rug.nl>
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 0ed58fd558e..f110828d602 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -1,6 +1,6 @@
1;;; python.el --- silly walks for Python 1;;; python.el --- silly walks for Python
2 2
3;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Dave Love <fx@gnu.org> 5;; Author: Dave Love <fx@gnu.org>
6;; Maintainer: FSF 6;; Maintainer: FSF
diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el
index 26d6e05fc2c..ce420015326 100644
--- a/lisp/progmodes/scheme.el
+++ b/lisp/progmodes/scheme.el
@@ -1,7 +1,7 @@
1;;; scheme.el --- Scheme (and DSSSL) editing mode 1;;; scheme.el --- Scheme (and DSSSL) editing mode
2 2
3;; Copyright (C) 1986, 1987, 1988, 1997, 1998, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1986, 1987, 1988, 1997, 1998, 2001, 2002, 2003, 2004, 2005,
4;; Free Software Foundation, Inc. 4;; 2006 Free Software Foundation, Inc.
5 5
6;; Author: Bill Rozas <jinx@martigny.ai.mit.edu> 6;; Author: Bill Rozas <jinx@martigny.ai.mit.edu>
7;; Adapted-by: Dave Love <d.love@dl.ac.uk> 7;; Adapted-by: Dave Love <d.love@dl.ac.uk>
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el
index 514a5dc57a8..a70941d9d3e 100644
--- a/lisp/progmodes/sh-script.el
+++ b/lisp/progmodes/sh-script.el
@@ -1,7 +1,7 @@
1;;; sh-script.el --- shell-script editing commands for Emacs 1;;; sh-script.el --- shell-script editing commands for Emacs
2 2
3;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2001, 2003, 2004, 2005 3;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2001, 2003, 2004, 2005,
4;; Free Software Foundation, Inc. 4;; 2006 Free Software Foundation, Inc.
5 5
6;; Author: Daniel Pfeiffer <occitan@esperanto.org> 6;; Author: Daniel Pfeiffer <occitan@esperanto.org>
7;; Version: 2.0f 7;; Version: 2.0f
diff --git a/lisp/progmodes/simula.el b/lisp/progmodes/simula.el
index eba9a03b2ae..891549ac2aa 100644
--- a/lisp/progmodes/simula.el
+++ b/lisp/progmodes/simula.el
@@ -1,6 +1,6 @@
1;;; simula.el --- SIMULA 87 code editing commands for Emacs 1;;; simula.el --- SIMULA 87 code editing commands for Emacs
2 2
3;; Copyright (C) 1992, 1994, 1996 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1992, 1994, 1996 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Hans Henrik Eriksen <hhe@ifi.uio.no> 6;; Author: Hans Henrik Eriksen <hhe@ifi.uio.no>
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el
index 6d73abb1432..ff5493de364 100644
--- a/lisp/progmodes/sql.el
+++ b/lisp/progmodes/sql.el
@@ -1,6 +1,6 @@
1;;; sql.el --- specialized comint.el for SQL interpreters 1;;; sql.el --- specialized comint.el for SQL interpreters
2 2
3;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Alex Schroeder <alex@gnu.org> 6;; Author: Alex Schroeder <alex@gnu.org>
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index ed64de4c89c..d81a5fcf47b 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -1,6 +1,6 @@
1;;; vhdl-mode.el --- major mode for editing VHDL code 1;;; vhdl-mode.el --- major mode for editing VHDL code
2 2
3;; Copyright (C) 1992-2003, 2004, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 1992-2003, 2004, 2005, 2006 Free Software Foundation, Inc.
4 4
5;; Authors: Reto Zimmermann <reto@gnu.org> 5;; Authors: Reto Zimmermann <reto@gnu.org>
6;; Rodney J. Whitby <software.vhdl-mode@rwhitby.net> 6;; Rodney J. Whitby <software.vhdl-mode@rwhitby.net>
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el
index 66d91dce3da..8ca7eb188ec 100644
--- a/lisp/progmodes/which-func.el
+++ b/lisp/progmodes/which-func.el
@@ -1,6 +1,6 @@
1;;; which-func.el --- print current function in mode line 1;;; which-func.el --- print current function in mode line
2 2
3;; Copyright (C) 1994, 1997, 1998, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1994, 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Alex Rezinsky <alexr@msil.sps.mot.com> 6;; Author: Alex Rezinsky <alexr@msil.sps.mot.com>
diff --git a/lisp/progmodes/xscheme.el b/lisp/progmodes/xscheme.el
index d568bca5b75..4f1cd37a9f7 100644
--- a/lisp/progmodes/xscheme.el
+++ b/lisp/progmodes/xscheme.el
@@ -1,6 +1,6 @@
1;;; xscheme.el --- run MIT Scheme under Emacs 1;;; xscheme.el --- run MIT Scheme under Emacs
2 2
3;; Copyright (C) 1986, 1987, 1989, 1990, 2001, 2002, 2003, 2004, 2005 3;; Copyright (C) 1986, 1987, 1989, 1990, 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Maintainer: FSF 6;; Maintainer: FSF
diff --git a/lisp/subr.el b/lisp/subr.el
index 2c7b3ab9af0..04b5a69b839 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -561,7 +561,7 @@ In other words, OLDDEF is replaced with NEWDEF where ever it appears.
561Alternatively, if optional fourth argument OLDMAP is specified, we redefine 561Alternatively, if optional fourth argument OLDMAP is specified, we redefine
562in KEYMAP as NEWDEF those keys which are defined as OLDDEF in OLDMAP. 562in KEYMAP as NEWDEF those keys which are defined as OLDDEF in OLDMAP.
563 563
564For most uses, it is simpler and safer to use command remappping like this: 564For most uses, it is simpler and safer to use command remapping like this:
565 \(define-key KEYMAP [remap OLDDEF] NEWDEF)" 565 \(define-key KEYMAP [remap OLDDEF] NEWDEF)"
566 ;; Don't document PREFIX in the doc string because we don't want to 566 ;; Don't document PREFIX in the doc string because we don't want to
567 ;; advertise it. It's meant for recursive calls only. Here's its 567 ;; advertise it. It's meant for recursive calls only. Here's its
@@ -607,8 +607,7 @@ For most uses, it is simpler and safer to use command remappping like this:
607 (nconc (nreverse skipped) newdef))) 607 (nconc (nreverse skipped) newdef)))
608 ;; Look past a symbol that names a keymap. 608 ;; Look past a symbol that names a keymap.
609 (setq inner-def 609 (setq inner-def
610 (and defn 610 (or (indirect-function defn t) defn))
611 (condition-case nil (indirect-function defn) (error defn))))
612 ;; For nested keymaps, we use `inner-def' rather than `defn' so as to 611 ;; For nested keymaps, we use `inner-def' rather than `defn' so as to
613 ;; avoid autoloading a keymap. This is mostly done to preserve the 612 ;; avoid autoloading a keymap. This is mostly done to preserve the
614 ;; original non-autoloading behavior of pre-map-keymap times. 613 ;; original non-autoloading behavior of pre-map-keymap times.
diff --git a/lisp/term/mac-win.el b/lisp/term/mac-win.el
index 1917af59942..b08284731a4 100644
--- a/lisp/term/mac-win.el
+++ b/lisp/term/mac-win.el
@@ -1817,7 +1817,7 @@ It returns a name of the created fontset."
1817;; more Latin characters) are displayed by a mac-roman font. 1817;; more Latin characters) are displayed by a mac-roman font.
1818(create-fontset-from-mac-roman-font 1818(create-fontset-from-mac-roman-font
1819 "-*-Monaco-*-*-*-*-12-*-*-*-*-*-mac-roman" nil 1819 "-*-Monaco-*-*-*-*-12-*-*-*-*-*-mac-roman" nil
1820 "-apple-Monaco-normal-r-*-*-12-*-*-*-*-*-fontset-mac") 1820 "-apple-Monaco-normal-r-*-*-12-*-*-*-*-*-fontset-standard")
1821 1821
1822;; Create fontset specified in X resources "Fontset-N" (N is 0, 1, ...). 1822;; Create fontset specified in X resources "Fontset-N" (N is 0, 1, ...).
1823(create-fontset-from-x-resource) 1823(create-fontset-from-x-resource)
diff --git a/lisp/tumme.el b/lisp/tumme.el
index 005258790c2..0436a0cb55e 100644
--- a/lisp/tumme.el
+++ b/lisp/tumme.el
@@ -524,10 +524,16 @@
524;; files. 524;; files.
525;; 525;;
526;; * From thumbs.el: Add an option for clean-up/max-size functionality 526;; * From thumbs.el: Add an option for clean-up/max-size functionality
527;; for thumbnail directory. 527;; for thumbnail directory.
528;; 528;;
529;; * From thumbs.el: Add setroot function. 529;; * From thumbs.el: Add setroot function.
530;; 530;;
531;; * From thumbs.el: Add image resizing, if useful (tumme's automatic
532;; "image fit" might be enough)
533;;
534;; * From thumbs.el: Add the "modify" commands (emboss, negate,
535;; monochrome etc).
536;;
531;; * Asynchronous creation of thumbnails. 537;; * Asynchronous creation of thumbnails.
532;; 538;;
533;; * Add `tumme-display-thumbs-ring' and functions to cycle that. Find 539;; * Add `tumme-display-thumbs-ring' and functions to cycle that. Find
@@ -841,7 +847,7 @@ Used by `tumme-copy-with-exif-file-name'."
841 847
842(defcustom tumme-show-all-from-dir-max-files 50 848(defcustom tumme-show-all-from-dir-max-files 50
843 "*Maximum number of files to show using`tumme-show-all-from-dir'. 849 "*Maximum number of files to show using`tumme-show-all-from-dir'.
844 before warning the user." 850before warning the user."
845 :type 'integer 851 :type 'integer
846 :group 'tumme) 852 :group 'tumme)
847 853
@@ -1019,8 +1025,8 @@ Convenience command that:
1019 - Set `truncate-lines' to t 1025 - Set `truncate-lines' to t
1020 1026
1021After the command has finished, you would typically mark some 1027After the command has finished, you would typically mark some
1022image files in dired and call `tumme-display-thumbs' (by default 1028image files in dired and type
1023bound to C-t d). 1029\\[tumme-display-thumbs] (`tumme-display-thumbs').
1024 1030
1025If called with prefix argument ARG, skip splitting of windows. 1031If called with prefix argument ARG, skip splitting of windows.
1026 1032
@@ -1113,7 +1119,7 @@ displayed."
1113 (and (> (length files) tumme-show-all-from-dir-max-files) 1119 (and (> (length files) tumme-show-all-from-dir-max-files)
1114 (y-or-n-p 1120 (y-or-n-p
1115 (format 1121 (format
1116 "Directory contains more than %d image files. Proceed? " 1122 "Directory contains more than %d image files. Proceed? "
1117 tumme-show-all-from-dir-max-files)))) 1123 tumme-show-all-from-dir-max-files))))
1118 (progn 1124 (progn
1119 (tumme-display-thumbs) 1125 (tumme-display-thumbs)
@@ -1826,7 +1832,7 @@ Note that n, p and <down> and <up> will be hijacked and bound to
1826(defun tumme-create-thumbs (&optional arg) 1832(defun tumme-create-thumbs (&optional arg)
1827 "Create thumbnail images for all marked files in dired. 1833 "Create thumbnail images for all marked files in dired.
1828With prefix argument ARG, create thumbnails even if they already exist 1834With prefix argument ARG, create thumbnails even if they already exist
1829\(i.e. use this to refresh your thumbnails)." 1835\(i.e. use this to refresh your thumbnails)."
1830 (interactive "P") 1836 (interactive "P")
1831 (let (curr-file thumb-name files count) 1837 (let (curr-file thumb-name files count)
1832 (setq files (dired-get-marked-files)) 1838 (setq files (dired-get-marked-files))
@@ -2242,21 +2248,17 @@ default value at the prompt."
2242 2248
2243(defun tumme-copy-with-exif-file-name () 2249(defun tumme-copy-with-exif-file-name ()
2244 "Copy file with unique name to main image directory. 2250 "Copy file with unique name to main image directory.
2245Copy current or all marked files in dired to a new file in your main 2251Copy current or all marked files in dired to a new file in your
2246image directory, using a file name generated by 2252main image directory, using a file name generated by
2247`tumme-get-exif-file-name'. This might or might not be useful for 2253`tumme-get-exif-file-name'. A typical usage for this if when
2248other people, but I use it each time I fetch images from my digital 2254copying images from a digital camera into the image directory.
2249camera, for copying the images into my main image directory.
2250
2251Typically I open up the folder where I store my incoming digital
2252images, with file names like dscn0319.jpg, dscn0320.jpg etc., mark the
2253files I want to copy into my main image directory, and execute this
2254function. The result is a couple of new files in
2255`tumme-main-image-directory' called 2005_05_08_12_52_00_dscn0319.jpg,
22562005_05_08_14_27_45_dscn0320.jpg etc.
2257 2255
2258When the images are safely in my main image directory I start to 2256 Typically, you would open up the folder with the incoming
2259browse and tag them using rest of the functionality in `tumme'." 2257digital images, mark the files to be copied, and execute this
2258function. The result is a couple of new files in
2259`tumme-main-image-directory' called
22602005_05_08_12_52_00_dscn0319.jpg,
22612005_05_08_14_27_45_dscn0320.jpg etc."
2260 (interactive) 2262 (interactive)
2261 (let (new-name 2263 (let (new-name
2262 (files (dired-get-marked-files))) 2264 (files (dired-get-marked-files)))
@@ -2599,7 +2601,7 @@ when using per-directory thumbnail file storage"))
2599 ;; Make sure gallery root exist 2601 ;; Make sure gallery root exist
2600 (if (file-exists-p tumme-gallery-dir) 2602 (if (file-exists-p tumme-gallery-dir)
2601 (if (not (file-directory-p tumme-gallery-dir)) 2603 (if (not (file-directory-p tumme-gallery-dir))
2602 (error "tumme-gallery-dir is not a directory")) 2604 (error "Variable tumme-gallery-dir is not a directory"))
2603 (make-directory tumme-gallery-dir)) 2605 (make-directory tumme-gallery-dir))
2604 ;; Open index file 2606 ;; Open index file
2605 (setq index-buf (find-file 2607 (setq index-buf (find-file
diff --git a/lisp/vc-svn.el b/lisp/vc-svn.el
index 82942f78358..6d27c5c6a7e 100644
--- a/lisp/vc-svn.el
+++ b/lisp/vc-svn.el
@@ -370,7 +370,11 @@ The changes are between FIRST-VERSION and SECOND-VERSION."
370 (vc-svn-command 370 (vc-svn-command
371 buffer 371 buffer
372 (if (and (vc-stay-local-p file) (fboundp 'start-process)) 'async 0) 372 (if (and (vc-stay-local-p file) (fboundp 'start-process)) 'async 0)
373 file "log"))) 373 file "log"
374 ;; By default Subversion only shows the log upto the working version,
375 ;; whereas we also want the log of the subsequent commits. At least
376 ;; that's what the vc-cvs.el code does.
377 "-rHEAD:0")))
374 378
375(defun vc-svn-diff (file &optional oldvers newvers buffer) 379(defun vc-svn-diff (file &optional oldvers newvers buffer)
376 "Get a difference report using SVN between two versions of FILE." 380 "Get a difference report using SVN between two versions of FILE."