aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorMiles Bader2005-10-15 00:26:05 +0000
committerMiles Bader2005-10-15 00:26:05 +0000
commit9fe76e1b256aefe892edf84beb1fdfaf5ab0efa1 (patch)
tree4570b6861b88c36c99783d4103d49c8658027834 /lisp
parent2f0837ccf0ba386b9a9aab0eac2bad3076491a93 (diff)
parentd3a597b7b41c2ebdb457e7c8bb037958138028f2 (diff)
downloademacs-9fe76e1b256aefe892edf84beb1fdfaf5ab0efa1.tar.gz
emacs-9fe76e1b256aefe892edf84beb1fdfaf5ab0efa1.zip
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-91
Merge from emacs--cvs-trunk--0 Patches applied: * emacs--cvs-trunk--0 (patch 581-597) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 133-141) - Update from CVS - Merge from emacs--cvs-trunk--0 - Update from CVS: texi/gnus.texi (RSS): Fix key description. - Update from CVS: texi/gnus.texi (Document Server Internals): Addition.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog399
-rw-r--r--lisp/ChangeLog.1169
-rw-r--r--lisp/Makefile.in6
-rw-r--r--lisp/calc/calc-arith.el76
-rw-r--r--lisp/calc/calc-keypd.el4
-rw-r--r--lisp/calc/calc-mode.el13
-rw-r--r--lisp/calc/calc-poly.el25
-rw-r--r--lisp/calc/calc.el2
-rw-r--r--lisp/calc/calcalg2.el28
-rw-r--r--lisp/calendar/appt.el18
-rw-r--r--lisp/calendar/cal-iso.el2
-rw-r--r--lisp/calendar/cal-menu.el2
-rw-r--r--lisp/calendar/cal-move.el2
-rw-r--r--lisp/calendar/cal-x.el2
-rw-r--r--lisp/calendar/calendar.el2
-rw-r--r--lisp/calendar/diary-lib.el2
-rw-r--r--lisp/calendar/holidays.el2
-rw-r--r--lisp/calendar/solar.el2
-rw-r--r--lisp/cus-start.el1
-rw-r--r--lisp/desktop.el9
-rw-r--r--lisp/emacs-lisp/autoload.el5
-rw-r--r--lisp/emulation/cua-base.el2
-rw-r--r--lisp/font-lock.el45
-rw-r--r--lisp/gnus/ChangeLog28
-rw-r--r--lisp/gnus/format-spec.el14
-rw-r--r--lisp/gnus/nnrss.el13
-rw-r--r--lisp/gnus/pgg-def.el2
-rw-r--r--lisp/gnus/pgg-gpg.el4
-rw-r--r--lisp/gnus/pgg-parse.el2
-rw-r--r--lisp/gnus/pgg-pgp.el8
-rw-r--r--lisp/ibuf-ext.el46
-rw-r--r--lisp/info.el81
-rw-r--r--lisp/jka-cmpr-hook.el2
-rw-r--r--lisp/longlines.el24
-rw-r--r--lisp/mail/supercite.el2
-rw-r--r--lisp/makefile.w32-in46
-rw-r--r--lisp/mh-e/.gitignore1
-rw-r--r--lisp/mh-e/ChangeLog11348
-rw-r--r--lisp/mh-e/ChangeLog.111416
-rw-r--r--lisp/mh-e/mh-alias.el2
-rw-r--r--lisp/mh-e/mh-comp.el28
-rw-r--r--lisp/mh-e/mh-customize.el18
-rw-r--r--lisp/mh-e/mh-e.el12
-rw-r--r--lisp/mh-e/mh-funcs.el2
-rw-r--r--lisp/mh-e/mh-identity.el2
-rw-r--r--lisp/mh-e/mh-init.el50
-rw-r--r--lisp/mh-e/mh-junk.el2
-rw-r--r--lisp/mh-e/mh-mime.el46
-rw-r--r--lisp/mh-e/mh-pick.el2
-rw-r--r--lisp/mh-e/mh-print.el2
-rw-r--r--lisp/mh-e/mh-seq.el5
-rw-r--r--lisp/mh-e/mh-utils.el2
-rw-r--r--lisp/mouse.el23
-rw-r--r--lisp/net/newsticker.el38
-rw-r--r--lisp/net/tramp.el107
-rw-r--r--lisp/net/trampver.el2
-rw-r--r--lisp/progmodes/etags.el66
-rw-r--r--lisp/progmodes/f90.el12
-rw-r--r--lisp/progmodes/fortran.el2
-rw-r--r--lisp/progmodes/gdb-ui.el71
-rw-r--r--lisp/progmodes/gud.el183
-rw-r--r--lisp/progmodes/mixal-mode.el1250
-rw-r--r--lisp/progmodes/pascal.el184
-rw-r--r--lisp/progmodes/sh-script.el10
-rw-r--r--lisp/recentf.el235
-rw-r--r--lisp/speedbar.el2
-rw-r--r--lisp/startup.el13
-rw-r--r--lisp/term/x-win.el2
-rw-r--r--lisp/textmodes/flyspell.el77
-rw-r--r--lisp/textmodes/ispell.el2
-rw-r--r--lisp/textmodes/org.el191
-rw-r--r--lisp/textmodes/tex-mode.el2
-rw-r--r--lisp/toolbar/README2
-rw-r--r--lisp/toolbar/diropen.pbmbin81 -> 81 bytes
-rw-r--r--lisp/toolbar/diropen.xpm255
75 files changed, 13551 insertions, 13106 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 2ce77d020b3..3e31b1df46e 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,25 +1,363 @@
12005-10-14 Chong Yidong <cyd@stupidchicken.com>
2
3 * longlines.el (longlinges-search-function)
4 (longlines-search-forward, longlines-search-backward): New
5 functions.
6 (longlines-mode): Set isearch-search-fun-function to
7 longlinges-search-function.
8
9 * mouse.el (mouse-drag-region-1): Handle the case where a
10 double-click event is bound to an arbitrary function.
11
122005-10-14 David Ponce <david@dponce.com>
13
14 * recentf.el (recentf-track-opened-file)
15 (recentf-track-closed-file, recentf-update-menu)
16 (recentf-used-hooks, recentf-enabled-p): Move before dialog stuff.
17 (recentf-dialog-mode-map): Map follow-link to RET, so dialogs obey
18 mouse-1-click-follows-link.
19
202005-10-13 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
21
22 * toolbar/diropen.xpm, toolbar/diropen.pbm: New versions made from
23 Gnome file-manager.png. Suggested by
24 Joachim Nilsson <joachim.nilsson@vmlinux.org>.
25
26 * toolbar/README: Add diropen.xpm.
27
282005-10-13 Bill Wohler <wohler@newt.com>
29
30 * makefile.w32-in (MH_E_SRC): Rename from MH-E-SRC per NMAKE
31 restrictions. Suggested by David Robinow <drobinow@gmail.com>.
32
332005-10-13 Stefan Monnier <monnier@iro.umontreal.ca>
34
35 * progmodes/mixal-mode.el (mixal-operation-codes-alist):
36 Don't waste the byte-compiler's time on constant data.
37
382005-10-13 Kenichi Handa <handa@m17n.org>
39
40 * international/utf-8.el (utf-8-compose): Display an invalid UTF-8
41 byte with `escape-glyph' face.
42
43 * international/fontset.el (ccl-encode-unicode-font):
44 Lookup utf-subst-table-for-encode, not ucs-mule-cjk-to-unicode.
45 Handle the case that ucs-mule-to-mule-unicode translates a character to
46 ASCII (usually for IPA characters).
47
482005-10-12 Bill Wohler <wohler@newt.com>
49
50 * makefile.w32-in (MH-E-SRC): New. Used by mh-autoloads.
51 (mh-autoloads): New. Builds mh-e/mh-loaddefs.el. Rebuilds if any
52 files in MH-E-SRC have been updated.
53 (updates, compile, recompile, bootstrap): Depend on mh-autoloads.
54
552005-10-12 Stefan Monnier <monnier@iro.umontreal.ca>
56
57 * progmodes/mixal-mode.el (mixal-operation-codes): Remove.
58 (mixal-mode-syntax-table): Add \n as end-comment.
59 (mixal-operation-codes-alist): Immediately initialize to full value.
60 (mixal-add-operation-code): Remove.
61 (mixal-describe-operation-code): Make the arg non-optional.
62 Use the interactive spec instead.
63 Use mixal-operation-codes-alist rather than mixal-operation-codes.
64 (mixal-font-lock-keywords): Don't highlight comments here any more.
65 (mixal-font-lock-syntactic-keywords): New var.
66 (mixal-mode): Use it. Fix comment-start-skip.
67
682005-10-12 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
69
70 * startup.el (command-line-x-option-alist): -nb => -nbi
71
722005-10-12 Kim F. Storm <storm@cua.dk>
73
74 * startup.el (fancy-splash-default-action): Discard mouse click in
75 the spash screen window, as it has no sensible meaning in the
76 next window to be selected. Fixes error reported by Jan D.
77
782005-10-12 Reiner Steib <Reiner.Steib@gmx.de>
79
80 * desktop.el (desktop-load-file): Do nothing when FUNCTION is nil.
81
822005-10-11 Stefan Monnier <monnier@iro.umontreal.ca>
83
84 * progmodes/mixal-mode.el: Sync with version in the GNU MDK project.
85 Try to fix up minor layout issues like indentation, line break, etc...
86 (mixal-mode-syntax-table): Don't try to specify comment syntax,
87 because it doesn't work.
88 (mixal-operation-codes): Add some more codes.
89 (mixal-font-lock-keywords): Process comments here.
90 (mixal-mode): mixasm no longer needs -g option.
91
922005-10-11 Sven Joachim <svenjoac@gmx.de> (tiny change)
93
94 * progmodes/sh-script.el (sh-tmp-file):
95 Use mktemp -t. Finish support for es and rc shells.
96
972005-10-11 Jay Belanger <belanger@truman.edu>
98
99 * calc/calcalg2.el (calc-integral): With an argument, compute the
100 definite integral.
101
1022005-10-11 Chong Yidong <cyd@stupidchicken.com>
103
104 * mouse.el (mouse-drag-region-1): Don't try to catch a
105 double-click when doing follow-link (it's overridden anyway).
106
1072005-10-11 Juanma Barranquero <lekktu@gmail.com>
108
109 * emacs-lisp/autoload.el (update-directory-autoloads): Doc fix.
110 (autoload-print-form-outbuf): Add docstring.
111
1122005-10-11 Juri Linkov <juri@jurta.org>
113
114 * info.el (Info-mode-menu): Delete menu item "Edit".
115 (Info-mode): Delete description of Info-edit from docstring,
116 and rearrange descriptions of Info commands in the order
117 they are documented in the Info manual.
118
1192005-10-11 Stefan Monnier <monnier@iro.umontreal.ca>
120
121 * calendar/appt.el (appt-check): Use diary-selective-display var.
122
1232005-10-10 Richard M. Stallman <rms@gnu.org>
124
125 * net/newsticker.el (newsticker-start, newsticker-show-news):
126 Add autoload cookies.
127
1282005-10-10 Emanuele Giaquinta <emanuele.giaquinta@gmail.com>
129
130 * progmodes/sh-script.el (sh-tmp-file): Use mktemp.
131
1322005-10-10 Karl Chen <quarl@cs.berkeley.edu>
133
134 * jka-cmpr-hook.el (jka-compr-handler): Fix typo in `operations' prop.
135
1362005-10-10 Jay Belanger <belanger@truman.edu>
137
138 * calc/calc-arith.el (math-check-known-scalarp)
139 (math-check-known-matrixp): Check the values of arguments that are
140 variables.
141 (math-check-known-square-matrixp): New function.
142 (math-known-square-matrixp): Use math-check-known-square-matrixp.
143 (math-super-types): Add sqmatrix type.
144
145 * calc/calc-mode.el (calc-matrix-mode, math-get-modes-vec): Change the
146 mode name `square' to 'sqmatrix'.
147
148 * calc/calc.el (calc-matrix-mode, calc-set-mode-line): Change the
149 mode name `square' to 'sqmatrix'.
150
1512005-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
152
153 * progmodes/etags.el (select-tags-table-mode): Don't use
154 selective-display.
155 (tags-select-tags-table): Pass `button' to the action function.
156 (select-tags-table): Place the side-info on button properties rather
157 than in hidden text. Abbreviate file names.
158 (select-tags-table-mode-map): Inherit rather than copy buttom-map.
159 (select-tags-table-select): Add `button' argument.
160 Get side-info from the button property rather than from hidden text.
161
1622005-10-11 Nick Roberts <nickrob@snap.net.nz>
163
164 * progmodes/gud.el (gud-install-speedbar-variables): Add more bindings.
165 (gud-speedbar-buttons): Preserve point if possible.
166 (gud-sentinel): Restore previous speedbar display type.
167
168 * progmodes/gdb-ui.el (gdba): Improve diagram.
169 (def-gdb-auto-update-handler, gdb-info-locals-handler)
170 (gdb-put-breakpoint-icon, gdb-remove-breakpoint-icons):
171 Call get-buffer-window once.
172
1732005-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
174
175 * progmodes/pascal.el (pascal-mode-map): Move init into declaration.
176 (pascal-mode-syntax-table): Make (* *) markers same class as { ... }.
177 (pascal-indent-command): Remove unused var `ind'.
178 (pascal-indent-case): Remove unused var `oldpos'.
179 (pascal-outline-map): Don't inherit from pascal-mode-map anymore,
180 since it's now used as a proper minor mode map.
181 (pascal-outline): Rename to pascal-outline-mode.
182 (pascal-outline-mode): Use define-minor-mode.
183 (pascal-outline-mode, pascal-outline-change): Use overlays rather than
184 selective-display.
185
1862005-10-10 Andreas Schwab <schwab@suse.de>
187
188 * textmodes/tex-mode.el (tex-font-lock-keywords-2): Adjust match
189 number. Reported by Karl Chen <quarl@cs.berkeley.edu>.
190
191 * Makefile.in ($(lisp)/mh-e/mh-loaddefs.el): Fix for building
192 outside source directory.
193
1942005-10-10 Carsten Dominik <dominik@science.uva.nl>
195
196 * textmodes/org.el: (org-mode-map): Explicit definition of `C-c
197 C-x' as a prefix.
198 (orgtbl-mode-map): Full keymap instead of sparse, because all
199 `self-insert-command' keys are redefined in this map.
200 (org-export-as-html): Specify charset for HTML file, by taking it
201 from the coding system.
202
2032005-10-10 Kenichi Handa <handa@m17n.org>
204
205 * textmodes/flyspell.el (flyspell-check-word-p):
206 If unread-command-events is non-empty, don't call sit-for.
207
2082005-10-09 Richard M. Stallman <rms@gnu.org>
209
210 * font-lock.el (font-lock-syntactic-keywords)
211 (font-lock-keywords): Doc fixes.
212
213 * textmodes/flyspell.el (flyspell-external-point-words):
214 Simplify logic, and don't try to check for consecutive appearances
215 of one incorrect word.
216
2172005-10-10 Nick Roberts <nickrob@snap.net.nz>
218
219 * speedbar.el (speedbar-buffer-easymenu-definition): Add menu
220 separator.
221
222 * progmodes/gud.el (gud-last-speedbar-buffer): Remove.
223 (gud-install-speedbar-variables): Add GUD to speedbar "Displays" list.
224 (gud-expansion-speedbar-buttons): New function.
225 (gud-speedbar-buttons): Check for gud-comint-buffer.
226
2272005-10-09 Bill Wohler <wohler@newt.com>
228
229 * Makefile.in (updates): Add mh-loaddefs dependency.
230
2312005-10-09 Chong Yidong <cyd@stupidchicken.com>
232
233 * speedbar.el (speedbar-file-key-map): Fix typo.
234
2352005-10-09 Daniel Brockman <daniel@brockman.se>
236
237 * cus-start.el (line-spacing): Add custom spec.
238
2392005-10-09 Romain Francoise <romain@orebokech.com>
240
241 * textmodes/ispell.el (ispell-check-version): Fix last change.
242
2432005-10-09 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
244
245 * term/x-win.el: Remove -i, --icon-type from comment.
246
247 * startup.el (command-line-x-option-alist): Remove options -i,
248 -itype, --icon-type, added -nb, --no-bitmap-icon
249
2502005-10-09 Nick Roberts <nickrob@snap.net.nz>
251
252 * progmodes/gud.el (gud-speedbar-menu-items): Use :visible
253 instead of :active.
254
2552005-10-08 Eric Hanchrow <offby1@blarg.net>
256
257 * textmodes/ispell.el (ispell-check-version):
258 Ignore hyphen, and all that follows, in aspell's version text.
259
2602005-10-08 Jay Belanger <belanger@truman.edu>
261
262 * calc/calc-arith.el (math-known-square-matrixp): New function.
263 (math-pow-fancy): Check for matrices before distributing exponent
264 across products.
265
266 * calc/calc-keypd.el (calc-do-keypad): Widen keypad window for
267 fullscreen keypad. Suggested by Luc Teirlinck.
268 (calc-keypad-show-input): Add space for formatting.
269
270 * calc/calc-mode.el (calc-matrix-mode, math-get-modes-vec):
271 Add square matrix option.
272
273 * calc/calc-poly.el (math-expand-term): Check for matrices instead
274 of checking calc-matrix-mode when deciding how to expand.
275
276 * calc/calc.el (calc-set-mode-line): Add square matrix option.
277
2782005-10-08 Lars Hansen <larsh@soem.dk>
279
280 * net/tramp.el (tramp-perl-directory-files-and-attributes):
281 Add error handling.
282 (tramp-handle-directory-files-and-attributes): Handle perl error msg.
283
2842005-10-08 Michael Albinus <michael.albinus@gmx.de>
285
286 Sync with Tramp 2.0.51.
287
288 * net/tramp.el (tramp-handle-set-visited-file-modtime)
289 (tramp-handle-insert-file-contents, tramp-handle-write-region):
290 Insert special handling for `last-coding-system-used', again
291 it still seems to be necessary (unlike stated before).
292 Reported by Toshinori Sugita <sugita@d-pad.co.jp>.
293 (tramp-password-prompt-regexp): There might be other words before
294 trailing ":". Reported by Kurt Steinkraus <kurt@steinkraus.us>.
295 (tramp-chunksize): Improve docstring.
296 (tramp-set-auto-save-file-modes): Octal integer code #o600 breaks
297 Emacs 20. Use `tramp-octal-to-decimal' therefore. Reported by
298 Christian Joergensen <bugs@razor.dk>.
299
3002005-10-07 Glenn Morris <rgm@gnu.org>
301
302 * progmodes/f90.el (f90-keywords-re, f90-mode): Doc fix.
303 (f90-font-lock-keywords-2, f90-mode-abbrev-table): Add `double
304 precision'.
305
3062005-10-07 Romain Francoise <romain@orebokech.com>
307
308 * ibuf-ext.el (ibuffer-do-shell-command-pipe)
309 (ibuffer-do-shell-command-pipe-replace)
310 (ibuffer-do-shell-command-file, ibuffer-do-eval)
311 (ibuffer-do-view-and-eval, ibuffer-do-rename-uniquely)
312 (ibuffer-do-revert, ibuffer-do-replace-regexp)
313 (ibuffer-do-query-replace, ibuffer-do-query-replace-regexp)
314 (ibuffer-do-print, ibuffer-filter-by-mode, ibuffer-filter-by-used-mode)
315 (ibuffer-filter-by-name, ibuffer-filter-by-filename)
316 (ibuffer-filter-by-size-gt, ibuffer-filter-by-size-lt)
317 (ibuffer-filter-by-content, ibuffer-filter-by-predicate
318 (ibuffer-do-sort-by-major-mode, ibuffer-do-sort-by-mode-name)
319 (ibuffer-do-sort-by-alphabetic, ibuffer-do-sort-by-size):
320 Autoload file sans suffix.
321
322 * emulation/cua-base.el (cua-toggle-global-mark): Likewise.
323
3242005-10-07 David Ponce <david@dponce.com>
325
326 * recentf.el (recentf-menu-open-all-flag): New option.
327 (recentf-digit-shortcut-command-name): New function.
328 (recentf--shortcuts-keymap): New variable.
329 (recentf-menu-shortcuts): New variable.
330 (recentf-make-menu-items): Initialize it. Replace the "More..."
331 menu item by "All...", if `recentf-menu-open-all-flag' is non-nil.
332 (recentf-menu-value-shortcut): New function.
333 (recentf-make-menu-item): Use it. No more in-lined.
334 (recentf-dialog-mode-map): Base on `recentf--shortcuts-keymap'.
335 (recentf-open-most-recent-file): Rename from
336 `recentf-open-file-with-key'. Don't depend on key binding.
337 (recentf-mode-map): New variable.
338 (recentf-mode): Use it.
339
12005-10-06 Bill Wohler <wohler@newt.com> 3402005-10-06 Bill Wohler <wohler@newt.com>
2 341
3 * mh-e/mh-loaddefs.el: Removed. Now generated automatically. 342 * mh-e/mh-loaddefs.el: Remove. Now generated automatically.
4 343
5 * Makefile.in (AUTOGENEL): Added mh-e/mh-loaddefs.el. 344 * Makefile.in (AUTOGENEL): Add mh-e/mh-loaddefs.el.
6 (MH-E-SRC): Added. Used by mh-autoloads. 345 (MH-E-SRC): New. Used by mh-autoloads.
7 (mh-autoloads): Added. Builds mh-e/mh-loaddefs.el. Rebuilds if any 346 (mh-autoloads): New. Builds mh-e/mh-loaddefs.el. Rebuilds if any
8 files in MH-E-SRC have been updated. 347 files in MH-E-SRC have been updated.
9 (compile, recompile, bootstrap): Depend on mh-autoloads. 348 (compile, recompile, bootstrap): Depend on mh-autoloads.
10 349
112005-10-07 Nick Roberts <nickrob@snap.net.nz> 3502005-10-07 Nick Roberts <nickrob@snap.net.nz>
12 351
13 * progmodes/gud.el (gud-menu-map): Only display un-intuitive 352 * progmodes/gud.el (gud-menu-map): Only display un-intuitive
14 gud-break and gud-remove icons when the fringe is not available. 353 gud-break and gud-remove icons when the fringe is not available.
15 354
16 * progmodes/gdb-ui.el (gdb-fringe-width -> gdb-buffer-fringe-width): 355 * progmodes/gdb-ui.el (gdb-fringe-width -> gdb-buffer-fringe-width):
17 Typo. 356 Typo.
18 357
192005-10-06 Thien-Thi Nguyen <ttn@gnu.org> 3582005-10-06 Michael Cadilhac <michael.cadilhac-@t-lrde.epita.fr> (tiny change)
20 359
21 * play/zone.el (zone): Wrap body with save-window-excursion. 360 * play/zone.el (zone): Wrap body with save-window-excursion.
22 Suggested by Michael Cadilhac.
23 361
242005-10-06 Stefan Monnier <monnier@iro.umontreal.ca> 3622005-10-06 Stefan Monnier <monnier@iro.umontreal.ca>
25 363
@@ -551,7 +889,7 @@
551 color rxvt terminals by using the code xterm.el used to use before 889 color rxvt terminals by using the code xterm.el used to use before
552 2005-04-09 in order to match the colors used by rxvt. 890 2005-04-09 in order to match the colors used by rxvt.
553 891
5542005-09-24 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change) 8922005-09-24 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
555 893
556 * term/rxvt.el (rxvt-register-default-colors): Add support for 88 894 * term/rxvt.el (rxvt-register-default-colors): Add support for 88
557 colors rxvt-unicode terminals by using the same code as xterm.el. 895 colors rxvt-unicode terminals by using the same code as xterm.el.
@@ -2481,7 +2819,7 @@
2481 2819
2482 Sync with Tramp 2.0.50. 2820 Sync with Tramp 2.0.50.
2483 2821
2484 * tramp.el: Remove defvar of `last-coding-system-used' in the 2822 * net/tramp.el: Remove defvar of `last-coding-system-used' in the
2485 XEmacs case; not necessary anymore. 2823 XEmacs case; not necessary anymore.
2486 (tramp-user-regexp): Allow "@" as part of user name. 2824 (tramp-user-regexp): Allow "@" as part of user name.
2487 (tramp-handle-set-visited-file-modtime) 2825 (tramp-handle-set-visited-file-modtime)
@@ -2522,7 +2860,7 @@
2522 instead of octal character code ?\600. The latter resulted in a 2860 instead of octal character code ?\600. The latter resulted in a
2523 syntax error with XEmacs. 2861 syntax error with XEmacs.
2524 2862
2525 * tramp-smb.el: Remove defvar of `last-coding-system-used' in the 2863 * net/tramp-smb.el: Remove defvar of `last-coding-system-used' in the
2526 XEmacs case; not necessary anymore. 2864 XEmacs case; not necessary anymore.
2527 (tramp-smb-handle-write-region): No special handling for 2865 (tramp-smb-handle-write-region): No special handling for
2528 `last-coding-system-used, because this is done in 2866 `last-coding-system-used, because this is done in
@@ -5678,8 +6016,8 @@
5678 6016
5679 * log-view.el (log-view-file, log-view-message): Remove "-face" 6017 * log-view.el (log-view-file, log-view-message): Remove "-face"
5680 suffix from face names. 6018 suffix from face names.
5681 (log-view-file-face, log-view-message-face): New 6019 (log-view-file-face, log-view-message-face):
5682 backward-compatibility aliases for renamed faces. 6020 New backward-compatibility aliases for renamed faces.
5683 (log-view-file-face, log-view-message-face): Use renamed log-view 6021 (log-view-file-face, log-view-message-face): Use renamed log-view
5684 faces. 6022 faces.
5685 6023
@@ -5699,8 +6037,8 @@
5699 (ruler-mode-margins-face, ruler-mode-fringes-face) 6037 (ruler-mode-margins-face, ruler-mode-fringes-face)
5700 (ruler-mode-column-number-face, ruler-mode-fill-column-face) 6038 (ruler-mode-column-number-face, ruler-mode-fill-column-face)
5701 (ruler-mode-comment-column-face, ruler-mode-goal-column-face) 6039 (ruler-mode-comment-column-face, ruler-mode-goal-column-face)
5702 (ruler-mode-tab-stop-face, ruler-mode-current-column-face): New 6040 (ruler-mode-tab-stop-face, ruler-mode-current-column-face):
5703 backward-compatibility aliases for renamed faces. 6041 New backward-compatibility aliases for renamed faces.
5704 (ruler-mode-pad, ruler-mode-margins, ruler-mode-fringes) 6042 (ruler-mode-pad, ruler-mode-margins, ruler-mode-fringes)
5705 (ruler-mode-column-number, ruler-mode-fill-column) 6043 (ruler-mode-column-number, ruler-mode-fill-column)
5706 (ruler-mode-comment-column, ruler-mode-goal-column) 6044 (ruler-mode-comment-column, ruler-mode-goal-column)
@@ -5823,8 +6161,7 @@
5823 * comint.el (comint-check-proc, make-comint-in-buffer) 6161 * comint.el (comint-check-proc, make-comint-in-buffer)
5824 (comint-source-default): Doc fixes. 6162 (comint-source-default): Doc fixes.
5825 6163
5826 * term.el (term-send-string): Improve argument/docstring 6164 * term.el (term-send-string): Improve argument/docstring consistency.
5827 consistency.
5828 6165
58292005-06-09 Luc Teirlinck <teirllm@auburn.edu> 61662005-06-09 Luc Teirlinck <teirllm@auburn.edu>
5830 6167
@@ -5941,12 +6278,11 @@
5941 XEmacs code. 6278 XEmacs code.
5942 (flyspell-word): Minor simplification. 6279 (flyspell-word): Minor simplification.
5943 (flyspell-math-tex-command-p): Quieten the byte-compiler. 6280 (flyspell-math-tex-command-p): Quieten the byte-compiler.
5944 (flyspell-external-point-words): Remove unused vars `size' and 6281 (flyspell-external-point-words): Remove unused vars `size' and `start'.
5945 `start'. 6282 (flyspell-do-correct): Rename from flyspell-xemacs-correct.
5946 (flyspell-do-correct): Rename from flyspell-xemacs-correct. Merge 6283 Merge the corresponding Emacs code.
5947 the corresponding Emacs code. 6284 (flyspell-correct-word, flyspell-xemacs-popup):
5948 (flyspell-correct-word, flyspell-xemacs-popup): Use 6285 Use flyspell-do-correct.
5949 flyspell-do-correct.
5950 6286
5951 * emacs-lisp/debug.el (debug): Don't bury the buffer unless it's in 6287 * emacs-lisp/debug.el (debug): Don't bury the buffer unless it's in
5952 a dedicated window. 6288 a dedicated window.
@@ -5985,8 +6321,7 @@
5985 Add a completion-base-size-function property. 6321 Add a completion-base-size-function property.
5986 6322
5987 * simple.el (completion-setup-function): Look for 6323 * simple.el (completion-setup-function): Look for
5988 completion-base-size-function property of 6324 completion-base-size-function property of minibuffer-completion-table.
5989 minibuffer-completion-table.
5990 6325
5991 * files.el (locate-file-completion): Doc fix. 6326 * files.el (locate-file-completion): Doc fix.
5992 6327
@@ -7437,7 +7772,7 @@
7437 7772
7438 Sync with Tramp 2.0.49. 7773 Sync with Tramp 2.0.49.
7439 7774
7440 * tramp.el (tramp-handle-dired-call-process) 7775 * net/tramp.el (tramp-handle-dired-call-process)
7441 (tramp-handle-insert-directory):`insert-buffer' cannot be used 7776 (tramp-handle-insert-directory):`insert-buffer' cannot be used
7442 because the contents of the Tramp buffer is changed before 7777 because the contents of the Tramp buffer is changed before
7443 insertion (`expand-file' and alike). 7778 insertion (`expand-file' and alike).
@@ -10186,7 +10521,7 @@
10186 10521
10187 Sync with Tramp 2.0.48. 10522 Sync with Tramp 2.0.48.
10188 10523
10189 * tramp.el (all): Change all addresses to .gnu.org. 10524 * net/tramp.el (all): Change all addresses to .gnu.org.
10190 (tramp-append-tramp-buffers): New defun. 10525 (tramp-append-tramp-buffers): New defun.
10191 (tramp-bug): Apply `tramp-append-tramp-buffers' as post-hook. 10526 (tramp-bug): Apply `tramp-append-tramp-buffers' as post-hook.
10192 Catch `dont-send' signal. 10527 Catch `dont-send' signal.
@@ -10196,7 +10531,7 @@
10196 Kjetil Kjernsmo <kjetil@kjernsmo.net>. 10531 Kjetil Kjernsmo <kjetil@kjernsmo.net>.
10197 Check for Emacs 21.3.50 removed. 10532 Check for Emacs 21.3.50 removed.
10198 10533
10199 * tramp-smb.el (all): Remove debug construct for 10534 * net/tramp-smb.el (all): Remove debug construct for
10200 `with-parsed-tramp-file-name'. 10535 `with-parsed-tramp-file-name'.
10201 (tramp-smb-prompt): Prompt can contain spaces inside directory names. 10536 (tramp-smb-prompt): Prompt can contain spaces inside directory names.
10202 (tramp-smb-handle-delete-directory, tramp-smb-handle-delete-file): 10537 (tramp-smb-handle-delete-directory, tramp-smb-handle-delete-file):
@@ -12038,7 +12373,7 @@
12038 12373
12039 Sync with Tramp 2.0.47. 12374 Sync with Tramp 2.0.47.
12040 12375
12041 * tramp.el (tramp-operation-not-permitted-regexp) New defcustom, 12376 * net/tramp.el (tramp-operation-not-permitted-regexp) New defcustom,
12042 catching keep-date problems in cp/scp operations. 12377 catching keep-date problems in cp/scp operations.
12043 (tramp-handle-copy-file): Don't call `set-file-modes' 12378 (tramp-handle-copy-file): Don't call `set-file-modes'
12044 unconditionally. Specialized functions should know better what is 12379 unconditionally. Specialized functions should know better what is
@@ -12057,7 +12392,7 @@
12057 (tramp-file-name-for-operation): Mark `shell-command' as magic for 12392 (tramp-file-name-for-operation): Mark `shell-command' as magic for
12058 Emacs only. 12393 Emacs only.
12059 12394
12060 * tramp-util.el (tramp-minor-mode): New minor mode. Add it to 12395 * net/tramp-util.el (tramp-minor-mode): New minor mode. Add it to
12061 `find-file-hooks' and `dired-mode-hook'. 12396 `find-file-hooks' and `dired-mode-hook'.
12062 (tramp-minor-mode-map): Respective map. Add remapping for 12397 (tramp-minor-mode-map): Respective map. Add remapping for
12063 `compile' and `recompile'. 12398 `compile' and `recompile'.
@@ -12065,19 +12400,19 @@
12065 (tramp-compile): Enable `tramp-minor-mode' and `compilation-mode' 12400 (tramp-compile): Enable `tramp-minor-mode' and `compilation-mode'
12066 in buffer "*Compilation*". Call the commands asynchronously. 12401 in buffer "*Compilation*". Call the commands asynchronously.
12067 12402
12068 * tramp-vc.el (tramp-vc-do-command, tramp-vc-do-command-new) 12403 * net/tramp-vc.el (tramp-vc-do-command, tramp-vc-do-command-new)
12069 (tramp-vc-simple-command): Call `tramp-handle-shell-command' but 12404 (tramp-vc-simple-command): Call `tramp-handle-shell-command' but
12070 `shell-command', because it isn't magic in XEmacs. Reported by 12405 `shell-command', because it isn't magic in XEmacs. Reported by
12071 Adrian Aichner <adrian@xemacs.org>. 12406 Adrian Aichner <adrian@xemacs.org>.
12072 12407
12073 * tramp-smb.el (tramp-smb-file-name-handler-alist): Add entry for 12408 * net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add entry for
12074 `substitute-in-file-name. 12409 `substitute-in-file-name.
12075 (tramp-smb-handle-substitute-in-file-name): New defun. 12410 (tramp-smb-handle-substitute-in-file-name): New defun.
12076 (tramp-smb-advice-PC-do-completion): Delete advice. 12411 (tramp-smb-advice-PC-do-completion): Delete advice.
12077 12412
120782005-01-16 Kai Grossjohann <kgrossjo@eu.uu.net> 124132005-01-16 Kai Grossjohann <kgrossjo@eu.uu.net>
12079 12414
12080 * tramp.el (tramp-wait-for-output): Fix typo in echo processing. 12415 * net/tramp.el (tramp-wait-for-output): Fix typo in echo processing.
12081 Fix error in deleting region. 12416 Fix error in deleting region.
12082 12417
120832005-01-15 Richard M. Stallman <rms@gnu.org> 124182005-01-15 Richard M. Stallman <rms@gnu.org>
diff --git a/lisp/ChangeLog.11 b/lisp/ChangeLog.11
index 424c63c6311..8b00b539e69 100644
--- a/lisp/ChangeLog.11
+++ b/lisp/ChangeLog.11
@@ -1,4 +1,3 @@
1
22004-12-31 Jay Belanger <belanger@truman.edu> 12004-12-31 Jay Belanger <belanger@truman.edu>
3 2
4 * calc/calc-store.el (calcVar-digit, calcVar-oper): Remove the need 3 * calc/calc-store.el (calcVar-digit, calcVar-oper): Remove the need
@@ -673,7 +672,7 @@
6732004-12-13 Stefan Monnier <monnier@iro.umontreal.ca> 6722004-12-13 Stefan Monnier <monnier@iro.umontreal.ca>
674 673
675 * vc-svn.el (vc-svn-repository-hostname): Adjust to new format. 674 * vc-svn.el (vc-svn-repository-hostname): Adjust to new format.
676 Reported by Ville Skyttä <scop@xemacs.org>. 675 Reported by Ville Skytt,Ad(B <scop@xemacs.org>.
677 (vc-svn-annotate-current-time, vc-svn-annotate-time-of-rev) 676 (vc-svn-annotate-current-time, vc-svn-annotate-time-of-rev)
678 (vc-svn-annotate-time, vc-svn-annotate-extract-revision-at-line) 677 (vc-svn-annotate-time, vc-svn-annotate-extract-revision-at-line)
679 (vc-svn-annotate-command, vc-svn-annotate-re): Support for svn 678 (vc-svn-annotate-command, vc-svn-annotate-re): Support for svn
@@ -1238,7 +1237,7 @@
1238 (sc-recite-region): Handle the case where sc-recite-frame-alist is 1237 (sc-recite-region): Handle the case where sc-recite-frame-alist is
1239 a symbol. 1238 a symbol.
1240 1239
12412004-11-27 Arne Jørgensen <arne@arnested.dk> (tiny change) 12402004-11-27 Arne J,Ax(Brgensen <arne@arnested.dk> (tiny change)
1242 1241
1243 * wid-edit.el (widget-narrow-to-field): New function. 1242 * wid-edit.el (widget-narrow-to-field): New function.
1244 (widget-complete): Use it. 1243 (widget-complete): Use it.
@@ -1714,7 +1713,7 @@
1714 Replace variables comp-highlight, comp-buf, comp-base, 1713 Replace variables comp-highlight, comp-buf, comp-base,
1715 comp-height, comp-tag, comp-hpos and comp-vpos by declared variables. 1714 comp-height, comp-tag, comp-hpos and comp-vpos by declared variables.
1716 1715
17172004-11-23 Jan Djärv <jan.h.d@swipnet.se> 17162004-11-23 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
1718 1717
1719 * cus-start.el (all): Add x-use-old-gtk-file-dialog. 1718 * cus-start.el (all): Add x-use-old-gtk-file-dialog.
1720 1719
@@ -2613,7 +2612,7 @@
2613 (display-call-tree, byte-compile-arglist-warn): 2612 (display-call-tree, byte-compile-arglist-warn):
2614 Handle t returned by byte-compile-fdefinition. 2613 Handle t returned by byte-compile-fdefinition.
2615 2614
26162004-11-09 Jan Djärv <jan.h.d@swipnet.se> 26152004-11-09 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
2617 2616
2618 * Makefile.in (maintainer-clean): Depend on distclean. 2617 * Makefile.in (maintainer-clean): Depend on distclean.
2619 2618
@@ -2807,7 +2806,7 @@
2807 2806
2808 * files.el (set-auto-mode): Don't get error after setting -*-mode-*-. 2807 * files.el (set-auto-mode): Don't get error after setting -*-mode-*-.
2809 2808
28102004-11-04 Jan Djärv <jan.h.d@swipnet.se> 28092004-11-04 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
2811 2810
2812 * dired.el (dired-read-dir-and-switches): Call read-directory-name 2811 * dired.el (dired-read-dir-and-switches): Call read-directory-name
2813 if a dialog will be used, read-file-name otherwise. 2812 if a dialog will be used, read-file-name otherwise.
@@ -2903,7 +2902,7 @@
2903 * emacs-lisp/advice.el (ad-make-advised-definition): 2902 * emacs-lisp/advice.el (ad-make-advised-definition):
2904 Use called-interactively-p. 2903 Use called-interactively-p.
2905 2904
29062004-11-02 Jan Djärv <jan.h.d@swipnet.se> 29052004-11-02 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
2907 2906
2908 * files.el (find-file-existing): New function. 2907 * files.el (find-file-existing): New function.
2909 2908
@@ -2978,7 +2977,7 @@
2978 * calc/calc-frac.el (calc-over-notation): Replace `completing-read' 2977 * calc/calc-frac.el (calc-over-notation): Replace `completing-read'
2979 with `interactive "s"'. 2978 with `interactive "s"'.
2980 2979
29812004-11-01 Jan Djärv <jan.h.d@swipnet.se> 29802004-11-01 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
2982 2981
2983 * mouse.el (mouse-yank-at-click, mouse-yank-secondary): 2982 * mouse.el (mouse-yank-at-click, mouse-yank-secondary):
2984 Revert change from 2004-10-16. '*' checks the current buffer, but the 2983 Revert change from 2004-10-16. '*' checks the current buffer, but the
@@ -3096,7 +3095,7 @@
3096 (bibtex-complete): Do not use bibtex-choose-completion-string. 3095 (bibtex-complete): Do not use bibtex-choose-completion-string.
3097 (bibtex-url): Simplify. 3096 (bibtex-url): Simplify.
3098 3097
30992004-10-31 Jan Djärv <jan.h.d@swipnet.se> 30982004-10-31 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
3100 3099
3101 * x-dnd.el (x-dnd-test-function, x-dnd-protocol-alist) 3100 * x-dnd.el (x-dnd-test-function, x-dnd-protocol-alist)
3102 (x-dnd-types-alist, x-dnd-open-file-other-window) 3101 (x-dnd-types-alist, x-dnd-open-file-other-window)
@@ -3192,7 +3191,7 @@
3192 (grep-mode-font-lock-keywords): Delete grep markers instead 3191 (grep-mode-font-lock-keywords): Delete grep markers instead
3193 of making them invisible. 3192 of making them invisible.
3194 3193
31952004-10-28 Jan Djärv <jan.h.d@swipnet.se> 31942004-10-28 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
3196 3195
3197 * mail/emacsbug.el (report-emacs-bug): Insert x-server-vendor 3196 * mail/emacsbug.el (report-emacs-bug): Insert x-server-vendor
3198 and x-server-version in bug report. 3197 and x-server-version in bug report.
@@ -4109,7 +4108,7 @@
4109 (enriched-mode): Make sure that enabling and disabling the mode is 4108 (enriched-mode): Make sure that enabling and disabling the mode is
4110 a no-op. Doc fix. 4109 a no-op. Doc fix.
4111 4110
41122004-09-23 HÃ¥kon Malmedal <hmalmedal@yahoo.no> (tiny change) 41112004-09-23 H,Ae(Bkon Malmedal <hmalmedal@yahoo.no> (tiny change)
4113 4112
4114 * calendar/holidays.el (holiday-advent): Report on a specified day 4113 * calendar/holidays.el (holiday-advent): Report on a specified day
4115 offset from advent, not just advent. 4114 offset from advent, not just advent.
@@ -4819,7 +4818,7 @@
4819 lines that begin in the region, rather than on all complete lines 4818 lines that begin in the region, rather than on all complete lines
4820 in the region. 4819 in the region.
4821 4820
48222004-08-31 Jan Djärv <jan.h.d@swipnet.se> 48212004-08-31 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
4823 4822
4824 * x-dnd.el (x-dnd-protocol-alist): Document update. 4823 * x-dnd.el (x-dnd-protocol-alist): Document update.
4825 (x-dnd-known-types): Defcustom it. 4824 (x-dnd-known-types): Defcustom it.
@@ -6049,7 +6048,7 @@
6049 * progmodes/python.el (python-open-block-statement-p): 6048 * progmodes/python.el (python-open-block-statement-p):
6050 Fix indentation after a block opening that contains a comment. 6049 Fix indentation after a block opening that contains a comment.
6051 6050
60522004-06-12 Jérôme Marant <jerome@marant.org> (tiny change) 60512004-06-12 J,Ai(Br,At(Bme Marant <jerome@marant.org> (tiny change)
6053 6052
6054 * bindings.el (completion-ignored-extensions): Add file extensions 6053 * bindings.el (completion-ignored-extensions): Add file extensions
6055 of Python byte-compiled files. 6054 of Python byte-compiled files.
@@ -6177,7 +6176,7 @@
6177 * replace.el (perform-replace): Use `limit' to terminate the 6176 * replace.el (perform-replace): Use `limit' to terminate the
6178 while-loop explicitly. 6177 while-loop explicitly.
6179 6178
61802004-06-09 Jan Djärv <jan.h.d@swipnet.se> 61792004-06-09 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
6181 6180
6182 * toolbar/tool-bar.el (tool-bar-add-item, tool-bar-local-item): 6181 * toolbar/tool-bar.el (tool-bar-add-item, tool-bar-local-item):
6183 Use lc-*.xpm as prefix instead of *-locol.xpm. 6182 Use lc-*.xpm as prefix instead of *-locol.xpm.
@@ -6231,7 +6230,7 @@
6231 (compilation-error-regexp-alist-alist): Recognize {standard input} 6230 (compilation-error-regexp-alist-alist): Recognize {standard input}
6232 GNU messages (for gcc --pipe) and more kinds of Oracle messages. 6231 GNU messages (for gcc --pipe) and more kinds of Oracle messages.
6233 6232
62342004-06-08 Jan Djärv <jan.h.d@swipnet.se> 62332004-06-08 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
6235 6234
6236 * toolbar/copy-locol.xpm, toolbar/cut-locol.xpm 6235 * toolbar/copy-locol.xpm, toolbar/cut-locol.xpm
6237 * toolbar/help-locol.xpm, toolbar/home-locol.xpm 6236 * toolbar/help-locol.xpm, toolbar/home-locol.xpm
@@ -6292,7 +6291,7 @@
6292 * help-fns.el (help-argument-name): Inherit from italic face only 6291 * help-fns.el (help-argument-name): Inherit from italic face only
6293 if the frame supports it. 6292 if the frame supports it.
6294 6293
62952004-06-06 Jan Djärv <jan.h.d@swipnet.se> 62942004-06-06 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
6296 6295
6297 * toolbar/alias.pbm, toolbar/close.pbm, toolbar/copy.pbm 6296 * toolbar/alias.pbm, toolbar/close.pbm, toolbar/copy.pbm
6298 * toolbar/cut.pbm, toolbar/help.pbm, toolbar/home.pbm 6297 * toolbar/cut.pbm, toolbar/help.pbm, toolbar/home.pbm
@@ -7048,7 +7047,7 @@
7048 * progmodes/compile.el (compilation-warning-face) 7047 * progmodes/compile.el (compilation-warning-face)
7049 (compilation-info-face): Use min-colors. 7048 (compilation-info-face): Use min-colors.
7050 7049
70512004-05-15 Jan Djärv <jan.h.d@swipnet.se> 70502004-05-15 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
7052 7051
7053 * toolbar/close.pbm, toolbar/close.xpm, toolbar/copy.pbm 7052 * toolbar/close.pbm, toolbar/close.xpm, toolbar/copy.pbm
7054 * toolbar/copy.xpm, toolbar/cut.pbm, toolbar/cut.xpm 7053 * toolbar/copy.xpm, toolbar/cut.pbm, toolbar/cut.xpm
@@ -7138,7 +7137,7 @@
7138 * progmodes/compile.el (compilation-set-window-height): 7137 * progmodes/compile.el (compilation-set-window-height):
7139 Use save-excursion to protect against misplaced marker. 7138 Use save-excursion to protect against misplaced marker.
7140 7139
71412004-05-12 Jan Djärv <jan.h.d@swipnet.se> 71402004-05-12 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
7142 7141
7143 * custom.el (defface): Document that type can have value gtk. 7142 * custom.el (defface): Document that type can have value gtk.
7144 7143
@@ -7600,12 +7599,12 @@
7600 7599
7601 * select.el (xselect-convert-to-string): Move comment to intended line. 7600 * select.el (xselect-convert-to-string): Move comment to intended line.
7602 7601
76032004-05-03 Jan Djärv <jan.h.d@swipnet.se> 76022004-05-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
7604 7603
7605 * toolbar/tool-bar.el (tool-bar-setup): Use lookup-key for 7604 * toolbar/tool-bar.el (tool-bar-setup): Use lookup-key for
7606 cut/copy/paste in case menu-bar-enable-clipboard is in effect. 7605 cut/copy/paste in case menu-bar-enable-clipboard is in effect.
7607 7606
76082004-05-03 Jan Djärv <jan.h.d@swipnet.se> 76072004-05-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
7609 7608
7610 * term/x-win.el (x-clipboard-yank): Don't exit on error from 7609 * term/x-win.el (x-clipboard-yank): Don't exit on error from
7611 x-get-selection. 7610 x-get-selection.
@@ -8174,7 +8173,7 @@
8174 * info-look.el: Add support for cfengine-mode. 8173 * info-look.el: Add support for cfengine-mode.
8175 (info-lookup-setup-mode): Use dolist. 8174 (info-lookup-setup-mode): Use dolist.
8176 8175
81772004-04-23 Juan León Lahoz García <juan-leon.lahoz@tecsidel.es> 81762004-04-23 Juan Le,As(Bn Lahoz Garc,Am(Ba <juan-leon.lahoz@tecsidel.es>
8178 8177
8179 * wdired.el: New file. 8178 * wdired.el: New file.
8180 8179
@@ -8452,7 +8451,7 @@
8452 (rmail-decode-region): Use -dos variety of `coding', to remove any 8451 (rmail-decode-region): Use -dos variety of `coding', to remove any
8453 ^M characters left after qp or base64 decoding. 8452 ^M characters left after qp or base64 decoding.
8454 8453
84552004-04-19 Jan Djärv <jan.h.d@swipnet.se> 84542004-04-19 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
8456 8455
8457 * x-dnd.el (x-dnd-open-local-file, x-dnd-open-file): Improve error 8456 * x-dnd.el (x-dnd-open-local-file, x-dnd-open-file): Improve error
8458 messages. 8457 messages.
@@ -9090,7 +9089,7 @@
9090 9089
9091 * dired.el (dired-font-lock-keywords): Fix permission regexps. 9090 * dired.el (dired-font-lock-keywords): Fix permission regexps.
9092 9091
90932004-04-02 Jan Djärv <jan.h.d@swipnet.se> 90922004-04-02 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
9094 9093
9095 * x-dnd.el (x-dnd-handle-moz-url, x-dnd-insert-utf16-text): 9094 * x-dnd.el (x-dnd-handle-moz-url, x-dnd-insert-utf16-text):
9096 Use utf-16le on little endian machines and utf-16be otherwise. 9095 Use utf-16le on little endian machines and utf-16be otherwise.
@@ -9151,7 +9150,7 @@
9151 * dired-x.el (dired-mark-sexp): Replace hard-coded month names by 9150 * dired-x.el (dired-mark-sexp): Replace hard-coded month names by
9152 `dired-move-to-filename-regexp'. 9151 `dired-move-to-filename-regexp'.
9153 9152
91542004-03-31 HÃ¥kan Granath <hakan.granath@kau.se> (tiny change) 91532004-03-31 H,Ae(Bkan Granath <hakan.granath@kau.se> (tiny change)
9155 9154
9156 * dired.el (dired-move-to-filename-regexp): Add `.' to HH:MM. 9155 * dired.el (dired-move-to-filename-regexp): Add `.' to HH:MM.
9157 9156
@@ -9226,7 +9225,7 @@
92262004-03-28 Stefan Monnier <monnier@iro.umontreal.ca> 92252004-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
9227 9226
9228 * vc-hooks.el (vc-file-not-found-hook): Fix typo. 9227 * vc-hooks.el (vc-file-not-found-hook): Fix typo.
9229 From lorentey@elte.hu (Lőrentey Károly). 9228 From lorentey@elte.hu (L$,1 q(Brentey K,Aa(Broly).
9230 9229
92312004-03-27 Luc Teirlinck <teirllm@auburn.edu> 92302004-03-27 Luc Teirlinck <teirllm@auburn.edu>
9232 9231
@@ -10569,7 +10568,7 @@
10569 10568
10570 * progmodes/grep.el (grep-compute-defaults): Fix typos. 10569 * progmodes/grep.el (grep-compute-defaults): Fix typos.
10571 10570
105722004-02-15 Jan Djärv <jan.h.d@swipnet.se> 105712004-02-15 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
10573 10572
10574 * x-dnd.el: Mention support for Motif in commentary. 10573 * x-dnd.el: Mention support for Motif in commentary.
10575 (x-dnd-handle-drag-n-drop-event): Ditto. 10574 (x-dnd-handle-drag-n-drop-event): Ditto.
@@ -10628,7 +10627,7 @@
10628 Use listp instead of consp to avoid putting a nil arg. 10627 Use listp instead of consp to avoid putting a nil arg.
10629 (diff): Add a revert-buffer function. 10628 (diff): Add a revert-buffer function.
10630 10629
106312004-02-10 Jan Djärv <jan.h.d@swipnet.se> 106302004-02-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
10632 10631
10633 * x-dnd.el (x-dnd-types-alist): Add COMPOUND_TEXT, FILE_NAME 10632 * x-dnd.el (x-dnd-types-alist): Add COMPOUND_TEXT, FILE_NAME
10634 handled by x-dnd-handle-file-name. 10633 handled by x-dnd-handle-file-name.
@@ -10793,7 +10792,7 @@
10793 * view.el (view-mode-enable): Add view-mode-map to 10792 * view.el (view-mode-enable): Add view-mode-map to
10794 minor-mode-overriding-map-alist. 10793 minor-mode-overriding-map-alist.
10795 10794
107962004-02-05 Jan Djärv <jan.h.d@swipnet.se> 107952004-02-05 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
10797 10796
10798 * x-dnd.el (x-dnd-get-local-file-name): Fix byte compiler warning 10797 * x-dnd.el (x-dnd-get-local-file-name): Fix byte compiler warning
10799 10798
@@ -10817,7 +10816,7 @@
10817 10816
10818 * files.el (auto-mode-alist): Fix .scm, .stk, .ss, .sch entry. 10817 * files.el (auto-mode-alist): Fix .scm, .stk, .ss, .sch entry.
10819 10818
108202004-02-03 Jan Djärv <jan.h.d@swipnet.se> 108192004-02-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
10821 10820
10822 * x-dnd.el: New file for drag and drop. 10821 * x-dnd.el: New file for drag and drop.
10823 10822
@@ -11049,7 +11048,7 @@
11049 * vc.el (vc-annotate-mode): Inherit from fundamental-mode and 11048 * vc.el (vc-annotate-mode): Inherit from fundamental-mode and
11050 activate view-mode explicitly. 11049 activate view-mode explicitly.
11051 11050
110522004-01-21 Jan Djärv <jan.h.d@swipnet.se> 110512004-01-21 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
11053 11052
11054 * term/x-win.el (x-clipboard-yank, menu-bar-edit-menu): Call 11053 * term/x-win.el (x-clipboard-yank, menu-bar-edit-menu): Call
11055 menu-bar-enable-clipboard and make Paste use clipboard first. 11054 menu-bar-enable-clipboard and make Paste use clipboard first.
@@ -11798,7 +11797,7 @@
11798 (gdb-var-update-handler, gdb-var-delete): Add server prefix to the 11797 (gdb-var-update-handler, gdb-var-delete): Add server prefix to the
11799 gdb commands that use mi to keep them out of the command history. 11798 gdb commands that use mi to keep them out of the command history.
11800 11799
118012003-11-29 Jan Djärv <jan.h.d@swipnet.se> 118002003-11-29 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
11802 11801
11803 * cus-start.el (all): Add use-file-dialog. 11802 * cus-start.el (all): Add use-file-dialog.
11804 11803
@@ -12217,10 +12216,10 @@
12217 (octave-blink-matching-block-open, octave-auto-fill): 12216 (octave-blink-matching-block-open, octave-auto-fill):
12218 Use line-(beginning|end)-position instead. 12217 Use line-(beginning|end)-position instead.
12219 12218
122202003-10-23 Francesco Potortì <pot@gnu.org> 122192003-10-23 Francesco Potort,Al(B <pot@gnu.org>
12221 12220
12222 * emacs-lisp/authors.el (authors-aliases): Add correct realname 12221 * emacs-lisp/authors.el (authors-aliases): Add correct realname
12223 for Francesco Potortì. 12222 for Francesco Potort,Al(B.
12224 12223
122252003-10-23 Dave Love <fx@gnu.org> 122242003-10-23 Dave Love <fx@gnu.org>
12226 12225
@@ -13236,7 +13235,7 @@
13236 * international/utf-16.el: Add mime-text-unsuitable coding system 13235 * international/utf-16.el: Add mime-text-unsuitable coding system
13237 properties. 13236 properties.
13238 13237
13239 * international/latin1-disp.el (latin1-display): Add ?•. 13238 * international/latin1-disp.el (latin1-display): Add ?$,1s"(B.
13240 13239
13241 * cus-edit.el: Add some :links. 13240 * cus-edit.el: Add some :links.
13242 (bib): Remove. 13241 (bib): Remove.
@@ -13811,7 +13810,7 @@
13811 * progmodes/sh-script.el (sh-mode-syntax-table): Change syntax of 13810 * progmodes/sh-script.el (sh-mode-syntax-table): Change syntax of
13812 ?, to "_". 13811 ?, to "_".
13813 13812
138142003-07-20 Kai Großjohann <kai.grossjohann@gmx.net> 138132003-07-20 Kai Gro,A_(Bjohann <kai.grossjohann@gmx.net>
13815 Version 2.0.36 of Tramp released. 13814 Version 2.0.36 of Tramp released.
13816 13815
13817 * net/tramp.el (tramp-default-password-end-of-line): Rename from 13816 * net/tramp.el (tramp-default-password-end-of-line): Rename from
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index 55eb0a45af8..d83c601bb57 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -119,7 +119,7 @@ update-subdirs: doit
119 $(srcdir)/update-subdirs $$file; \ 119 $(srcdir)/update-subdirs $$file; \
120 done; 120 done;
121 121
122updates: update-subdirs autoloads finder-data custom-deps 122updates: update-subdirs autoloads mh-autoloads finder-data custom-deps
123 123
124# Update the AUTHORS file. 124# Update the AUTHORS file.
125 125
@@ -242,9 +242,9 @@ $(lisp)/mh-e/mh-loaddefs.el: $(MH-E-SRC)
242 $(EMACS) $(EMACSOPT) \ 242 $(EMACS) $(EMACSOPT) \
243 -l autoload \ 243 -l autoload \
244 --eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \ 244 --eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \
245 --eval "(setq generated-autoload-file (expand-file-name \"mh-e/mh-loaddefs.el\"))" \ 245 --eval "(setq generated-autoload-file \"$(lisp)/mh-e/mh-loaddefs.el\")" \
246 --eval "(setq make-backup-files nil)" \ 246 --eval "(setq make-backup-files nil)" \
247 -f batch-update-autoloads mh-e 247 -f batch-update-autoloads $(lisp)/mh-e
248 echo " " >> $@ 248 echo " " >> $@
249 echo "(provide 'mh-loaddefs)" >> $@ 249 echo "(provide 'mh-loaddefs)" >> $@
250 echo ";;; Local Variables:" >> $@ 250 echo ";;; Local Variables:" >> $@
diff --git a/lisp/calc/calc-arith.el b/lisp/calc/calc-arith.el
index 25ccfc48019..feb3c9d25a8 100644
--- a/lisp/calc/calc-arith.el
+++ b/lisp/calc/calc-arith.el
@@ -239,6 +239,7 @@
239 (real number) 239 (real number)
240 (number) 240 (number)
241 (scalar) 241 (scalar)
242 (sqmatrix matrix vector)
242 (matrix vector) 243 (matrix vector)
243 (vector) 244 (vector)
244 (const))) 245 (const)))
@@ -305,6 +306,10 @@
305 (and (not (Math-scalarp a)) 306 (and (not (Math-scalarp a))
306 (not (math-known-scalarp a t)))) 307 (not (math-known-scalarp a t))))
307 308
309(defun math-known-square-matrixp (a)
310 (and (math-known-matrixp a)
311 (math-check-known-square-matrixp a)))
312
308;;; Try to prove that A is a scalar (i.e., a non-vector). 313;;; Try to prove that A is a scalar (i.e., a non-vector).
309(defun math-check-known-scalarp (a) 314(defun math-check-known-scalarp (a)
310 (cond ((Math-objectp a) t) 315 (cond ((Math-objectp a) t)
@@ -323,8 +328,17 @@
323 (let ((decl (if (eq (car a) 'var) 328 (let ((decl (if (eq (car a) 'var)
324 (or (assq (nth 2 a) math-decls-cache) 329 (or (assq (nth 2 a) math-decls-cache)
325 math-decls-all) 330 math-decls-all)
326 (assq (car a) math-decls-cache)))) 331 (assq (car a) math-decls-cache)))
327 (memq 'scalar (nth 1 decl)))))) 332 val)
333 (cond
334 ((memq 'scalar (nth 1 decl))
335 t)
336 ((and (eq (car a) 'var)
337 (boundp (nth 2 a))
338 (setq val (symbol-value (nth 2 a))))
339 (math-check-known-scalarp val))
340 (t
341 nil))))))
328 342
329;;; Try to prove that A is *not* a scalar. 343;;; Try to prove that A is *not* a scalar.
330(defun math-check-known-matrixp (a) 344(defun math-check-known-matrixp (a)
@@ -342,9 +356,46 @@
342 (let ((decl (if (eq (car a) 'var) 356 (let ((decl (if (eq (car a) 'var)
343 (or (assq (nth 2 a) math-decls-cache) 357 (or (assq (nth 2 a) math-decls-cache)
344 math-decls-all) 358 math-decls-all)
345 (assq (car a) math-decls-cache)))) 359 (assq (car a) math-decls-cache)))
346 (memq 'vector (nth 1 decl)))))) 360 val)
347 361 (cond
362 ((memq 'matrix (nth 1 decl))
363 t)
364 ((and (eq (car a) 'var)
365 (boundp (nth 2 a))
366 (setq val (symbol-value (nth 2 a))))
367 (math-check-known-matrixp val))
368 (t
369 nil))))))
370
371;;; Given that A is a matrix, try to prove that it is a square matrix.
372(defun math-check-known-square-matrixp (a)
373 (cond ((math-square-matrixp a)
374 t)
375 ((eq (car-safe a) '^)
376 (math-check-known-square-matrixp (nth 1 a)))
377 (t
378 (let ((decl (if (eq (car a) 'var)
379 (or (assq (nth 2 a) math-decls-cache)
380 math-decls-all)
381 (assq (car a) math-decls-cache)))
382 val)
383 (cond
384 ((memq 'sqmatrix (nth 1 decl))
385 t)
386 ((and (eq (car a) 'var)
387 (boundp (nth 2 a))
388 (setq val (symbol-value (nth 2 a))))
389 (math-check-known-square-matrixp val))
390 ((and (or
391 (integerp calc-matrix-mode)
392 (eq calc-matrix-mode 'sqmatrix))
393 (eq (car-safe a) 'var))
394 t)
395 ((memq 'matrix (nth 1 decl))
396 nil)
397 (t
398 nil))))))
348 399
349;;; Try to prove that A is a real (i.e., not complex). 400;;; Try to prove that A is a real (i.e., not complex).
350(defun math-known-realp (a) 401(defun math-known-realp (a)
@@ -1869,6 +1920,21 @@
1869 (cond ((and math-simplify-only 1920 (cond ((and math-simplify-only
1870 (not (equal a math-simplify-only))) 1921 (not (equal a math-simplify-only)))
1871 (list '^ a b)) 1922 (list '^ a b))
1923 ((and (eq (car-safe a) '*)
1924 (or
1925 (and
1926 (math-known-matrixp (nth 1 a))
1927 (math-known-matrixp (nth 2 a)))
1928 (and
1929 calc-matrix-mode
1930 (not (eq calc-matrix-mode 'scalar))
1931 (and (not (math-known-scalarp (nth 1 a)))
1932 (not (math-known-scalarp (nth 2 a)))))))
1933 (if (and (= b -1)
1934 (math-known-square-matrixp (nth 1 a))
1935 (math-known-square-matrixp (nth 2 a)))
1936 (list '* (list '^ (nth 2 a) -1) (list '^ (nth 1 a) -1))
1937 (list '^ a b)))
1872 ((and (eq (car-safe a) '*) 1938 ((and (eq (car-safe a) '*)
1873 (or (math-known-num-integerp b) 1939 (or (math-known-num-integerp b)
1874 (math-known-nonnegp (nth 1 a)) 1940 (math-known-nonnegp (nth 1 a))
diff --git a/lisp/calc/calc-keypd.el b/lisp/calc/calc-keypd.el
index f3034bdd4b3..475592c8ab6 100644
--- a/lisp/calc/calc-keypd.el
+++ b/lisp/calc/calc-keypd.el
@@ -296,7 +296,7 @@
296 (set-window-buffer old-win (calc-trail-buffer)) 296 (set-window-buffer old-win (calc-trail-buffer))
297 (set-window-buffer win calc-keypad-buffer) 297 (set-window-buffer win calc-keypad-buffer)
298 (set-window-start win 1) 298 (set-window-start win 1)
299 (setq win (split-window win (+ width 3) t)) 299 (setq win (split-window win (+ width 7) t))
300 (set-window-buffer win calcbuf)) 300 (set-window-buffer win calcbuf))
301 (if (or t ; left-side keypad not yet fully implemented 301 (if (or t ; left-side keypad not yet fully implemented
302 (< (save-excursion 302 (< (save-excursion
@@ -384,7 +384,7 @@
384 (delete-region (point-min) (point)) 384 (delete-region (point-min) (point))
385 (if calc-keypad-input 385 (if calc-keypad-input
386 (insert "Calc: " calc-keypad-input "\n") 386 (insert "Calc: " calc-keypad-input "\n")
387 (insert "----+-----Calc " calc-version "-----+----" 387 (insert "----+-----Calc " calc-version " -----+----"
388 (int-to-string (1+ calc-keypad-menu)) 388 (int-to-string (1+ calc-keypad-menu))
389 "\n"))))) 389 "\n")))))
390 (setq calc-keypad-prev-input calc-keypad-input)) 390 (setq calc-keypad-prev-input calc-keypad-input))
diff --git a/lisp/calc/calc-mode.el b/lisp/calc/calc-mode.el
index 41b346ebd5a..d04a95831ef 100644
--- a/lisp/calc/calc-mode.el
+++ b/lisp/calc/calc-mode.el
@@ -352,6 +352,7 @@
352 (if (eq calc-complex-mode 'polar) 1 0) 352 (if (eq calc-complex-mode 'polar) 1 0)
353 (cond ((eq calc-matrix-mode 'scalar) 0) 353 (cond ((eq calc-matrix-mode 'scalar) 0)
354 ((eq calc-matrix-mode 'matrix) -2) 354 ((eq calc-matrix-mode 'matrix) -2)
355 ((eq calc-matrix-mode 'sqmatrix) -3)
355 (calc-matrix-mode) 356 (calc-matrix-mode)
356 (t -1)) 357 (t -1))
357 (cond ((eq calc-simplify-mode 'none) -1) 358 (cond ((eq calc-simplify-mode 'none) -1)
@@ -476,7 +477,9 @@
476 (cond ((eq arg 0) 'scalar) 477 (cond ((eq arg 0) 'scalar)
477 ((< (prefix-numeric-value arg) 1) 478 ((< (prefix-numeric-value arg) 1)
478 (and (< (prefix-numeric-value arg) -1) 'matrix)) 479 (and (< (prefix-numeric-value arg) -1) 'matrix))
479 (arg (prefix-numeric-value arg)) 480 (arg
481 (if (consp arg) 'sqmatrix
482 (prefix-numeric-value arg)))
480 ((eq calc-matrix-mode 'matrix) 'scalar) 483 ((eq calc-matrix-mode 'matrix) 'scalar)
481 ((eq calc-matrix-mode 'scalar) nil) 484 ((eq calc-matrix-mode 'scalar) nil)
482 (t 'matrix))) 485 (t 'matrix)))
@@ -485,9 +488,11 @@
485 calc-matrix-mode calc-matrix-mode) 488 calc-matrix-mode calc-matrix-mode)
486 (message (if (eq calc-matrix-mode 'matrix) 489 (message (if (eq calc-matrix-mode 'matrix)
487 "Variables are assumed to be matrices" 490 "Variables are assumed to be matrices"
488 (if calc-matrix-mode 491 (if (eq calc-matrix-mode 'sqmatrix)
489 "Variables are assumed to be scalars (non-matrices)" 492 "Variables are assumed to be square matrices"
490 "Variables are not assumed to be matrix or scalar")))))) 493 (if calc-matrix-mode
494 "Variables are assumed to be scalars (non-matrices)"
495 "Variables are not assumed to be matrix or scalar")))))))
491 496
492(defun calc-set-simplify-mode (mode arg msg) 497(defun calc-set-simplify-mode (mode arg msg)
493 (calc-change-mode 'calc-simplify-mode 498 (calc-change-mode 'calc-simplify-mode
diff --git a/lisp/calc/calc-poly.el b/lisp/calc/calc-poly.el
index e27705de98a..4714b2f7d38 100644
--- a/lisp/calc/calc-poly.el
+++ b/lisp/calc/calc-poly.el
@@ -1069,25 +1069,18 @@
1069 (math-add-or-sub (list '/ (nth 1 (nth 1 expr)) (nth 2 expr)) 1069 (math-add-or-sub (list '/ (nth 1 (nth 1 expr)) (nth 2 expr))
1070 (list '/ (nth 2 (nth 1 expr)) (nth 2 expr)) 1070 (list '/ (nth 2 (nth 1 expr)) (nth 2 expr))
1071 nil (eq (car (nth 1 expr)) '-))) 1071 nil (eq (car (nth 1 expr)) '-)))
1072 ((and (eq calc-matrix-mode 'matrix)
1073 (eq (car-safe expr) '^)
1074 (natnump (nth 2 expr))
1075 (> (nth 2 expr) 1)
1076 (memq (car-safe (nth 1 expr)) '(+ -)))
1077 (if (= (nth 2 expr) 2)
1078 (math-add-or-sub (list '* (nth 1 (nth 1 expr)) (nth 1 expr))
1079 (list '* (nth 2 (nth 1 expr)) (nth 1 expr))
1080 nil (eq (car (nth 1 expr)) '-))
1081 (math-add-or-sub (list '* (nth 1 (nth 1 expr)) (list '^ (nth 1 expr)
1082 (1- (nth 2 expr))))
1083 (list '* (nth 2 (nth 1 expr)) (list '^ (nth 1 expr)
1084 (1- (nth 2 expr))))
1085 nil (eq (car (nth 1 expr)) '-))))
1086 ((and (eq (car-safe expr) '^) 1072 ((and (eq (car-safe expr) '^)
1087 (memq (car-safe (nth 1 expr)) '(+ -)) 1073 (memq (car-safe (nth 1 expr)) '(+ -))
1088 (integerp (nth 2 expr)) 1074 (integerp (nth 2 expr))
1089 (if (and (eq calc-matrix-mode 'matrix) 1075 (if (and
1090 (> (nth 2 expr) 1)) 1076 (or (math-known-matrixp (nth 1 (nth 1 expr)))
1077 (math-known-matrixp (nth 2 (nth 1 expr)))
1078 (and
1079 calc-matrix-mode
1080 (not (eq calc-matrix-mode 'scalar))
1081 (not (and (math-known-scalarp (nth 1 (nth 1 expr)))
1082 (math-known-scalarp (nth 2 (nth 1 expr)))))))
1083 (> (nth 2 expr) 1))
1091 (if (= (nth 2 expr) 2) 1084 (if (= (nth 2 expr) 2)
1092 (math-add-or-sub (list '* (nth 1 (nth 1 expr)) (nth 1 expr)) 1085 (math-add-or-sub (list '* (nth 1 (nth 1 expr)) (nth 1 expr))
1093 (list '* (nth 2 (nth 1 expr)) (nth 1 expr)) 1086 (list '* (nth 2 (nth 1 expr)) (nth 1 expr))
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el
index c53e7971956..4c6820ca90e 100644
--- a/lisp/calc/calc.el
+++ b/lisp/calc/calc.el
@@ -654,6 +654,7 @@ If nil, computations on numbers always yield numbers where possible.")
654(defcalcmodevar calc-matrix-mode nil 654(defcalcmodevar calc-matrix-mode nil
655 "If `matrix', variables are assumed to be matrix-valued. 655 "If `matrix', variables are assumed to be matrix-valued.
656If a number, variables are assumed to be NxN matrices. 656If a number, variables are assumed to be NxN matrices.
657If `sqmatrix', variables are assumed to be square matrices of an unspecified size.
657If `scalar', variables are assumed to be scalar-valued. 658If `scalar', variables are assumed to be scalar-valued.
658If nil, symbolic math routines make no assumptions about variables.") 659If nil, symbolic math routines make no assumptions about variables.")
659 660
@@ -1551,6 +1552,7 @@ See calc-keypad for details."
1551 (cond ((eq calc-matrix-mode 'matrix) "Matrix ") 1552 (cond ((eq calc-matrix-mode 'matrix) "Matrix ")
1552 ((integerp calc-matrix-mode) 1553 ((integerp calc-matrix-mode)
1553 (format "Matrix%d " calc-matrix-mode)) 1554 (format "Matrix%d " calc-matrix-mode))
1555 ((eq calc-matrix-mode 'sqmatrix) "SqMatrix ")
1554 ((eq calc-matrix-mode 'scalar) "Scalar ") 1556 ((eq calc-matrix-mode 'scalar) "Scalar ")
1555 (t "")) 1557 (t ""))
1556 (if (eq calc-complex-mode 'polar) "Polar " "") 1558 (if (eq calc-complex-mode 'polar) "Polar " "")
diff --git a/lisp/calc/calcalg2.el b/lisp/calc/calcalg2.el
index a534e4fd459..c0fa5310bf4 100644
--- a/lisp/calc/calcalg2.el
+++ b/lisp/calc/calcalg2.el
@@ -52,19 +52,21 @@
52 (setq expr (list func expr var))) 52 (setq expr (list func expr var)))
53 (calc-enter-result n "derv" expr)))) 53 (calc-enter-result n "derv" expr))))
54 54
55(defun calc-integral (var) 55(defun calc-integral (var &optional arg)
56 (interactive "sIntegration variable: ") 56 (interactive "sIntegration variable: \nP")
57 (calc-slow-wrapper 57 (if arg
58 (if (or (equal var "") (equal var "$")) 58 (calc-tabular-command 'calcFunc-integ "Integration" "intg" nil var nil nil)
59 (calc-enter-result 2 "intg" (list 'calcFunc-integ 59 (calc-slow-wrapper
60 (calc-top-n 2) 60 (if (or (equal var "") (equal var "$"))
61 (calc-top-n 1))) 61 (calc-enter-result 2 "intg" (list 'calcFunc-integ
62 (let ((var (math-read-expr var))) 62 (calc-top-n 2)
63 (if (eq (car-safe var) 'error) 63 (calc-top-n 1)))
64 (error "Bad format in expression: %s" (nth 1 var))) 64 (let ((var (math-read-expr var)))
65 (calc-enter-result 1 "intg" (list 'calcFunc-integ 65 (if (eq (car-safe var) 'error)
66 (calc-top-n 1) 66 (error "Bad format in expression: %s" (nth 1 var)))
67 var)))))) 67 (calc-enter-result 1 "intg" (list 'calcFunc-integ
68 (calc-top-n 1)
69 var)))))))
68 70
69(defun calc-num-integral (&optional varname lowname highname) 71(defun calc-num-integral (&optional varname lowname highname)
70 (interactive "sIntegration variable: ") 72 (interactive "sIntegration variable: ")
diff --git a/lisp/calendar/appt.el b/lisp/calendar/appt.el
index ccced635976..590fcc9b871 100644
--- a/lisp/calendar/appt.el
+++ b/lisp/calendar/appt.el
@@ -1,9 +1,9 @@
1;;; appt.el --- appointment notification functions 1;;; appt.el --- appointment notification functions
2 2
3;; Copyright (C) 1989, 1990, 1994, 1998, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 1989, 1990, 1994, 1998, 2004, 2005 Free Software Foundation, Inc.
4 4
5;; Author: Neil Mager <neilm@juliet.ll.mit.edu> 5;; Author: Neil Mager <neilm@juliet.ll.mit.edu>
6;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk> 6;; Maintainer: Glenn Morris <rgm@gnu.org>
7;; Keywords: calendar 7;; Keywords: calendar
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
@@ -337,13 +337,13 @@ displayed in a window:
337 diary-hook 337 diary-hook
338 (cons 'appt-make-list diary-hook)))) 338 (cons 'appt-make-list diary-hook))))
339 (diary)) 339 (diary))
340 (let ((diary-display-hook 'appt-make-list) 340 (let* ((diary-display-hook 'appt-make-list)
341 (d-buff (find-buffer-visiting 341 (d-buff (find-buffer-visiting
342 (substitute-in-file-name diary-file))) 342 (substitute-in-file-name diary-file)))
343 selective) 343 (selective
344 (if d-buff ; diary buffer exists 344 (if d-buff ; Diary buffer exists.
345 (with-current-buffer d-buff 345 (with-current-buffer d-buff
346 (setq selective selective-display))) 346 diary-selective-display))))
347 (diary) 347 (diary)
348 ;; If the diary buffer existed before this command, 348 ;; If the diary buffer existed before this command,
349 ;; restore its display state. Otherwise, kill it. 349 ;; restore its display state. Otherwise, kill it.
diff --git a/lisp/calendar/cal-iso.el b/lisp/calendar/cal-iso.el
index b32bd4eb2df..bee3e1ec482 100644
--- a/lisp/calendar/cal-iso.el
+++ b/lisp/calendar/cal-iso.el
@@ -3,7 +3,7 @@
3;; Copyright (C) 1995, 1997, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 1995, 1997, 2004 Free Software Foundation, Inc.
4 4
5;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 5;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
6;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk> 6;; Maintainer: Glenn Morris <rgm@gnu.org>
7;; Keywords: calendar 7;; Keywords: calendar
8;; Human-Keywords: ISO calendar, calendar, diary 8;; Human-Keywords: ISO calendar, calendar, diary
9 9
diff --git a/lisp/calendar/cal-menu.el b/lisp/calendar/cal-menu.el
index d706dfd6ea3..1ea0f68ed95 100644
--- a/lisp/calendar/cal-menu.el
+++ b/lisp/calendar/cal-menu.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 5;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
6;; Lara Rios <lrios@coewl.cen.uiuc.edu> 6;; Lara Rios <lrios@coewl.cen.uiuc.edu>
7;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk> 7;; Maintainer: Glenn Morris <rgm@gnu.org>
8;; Keywords: calendar 8;; Keywords: calendar
9;; Human-Keywords: calendar, popup menus, menu bar 9;; Human-Keywords: calendar, popup menus, menu bar
10 10
diff --git a/lisp/calendar/cal-move.el b/lisp/calendar/cal-move.el
index 42cece292a9..3091822d7ff 100644
--- a/lisp/calendar/cal-move.el
+++ b/lisp/calendar/cal-move.el
@@ -3,7 +3,7 @@
3;; Copyright (C) 1995, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 1995, 2005 Free Software Foundation, Inc.
4 4
5;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 5;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
6;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk> 6;; Maintainer: Glenn Morris <rgm@gnu.org>
7;; Keywords: calendar 7;; Keywords: calendar
8;; Human-Keywords: calendar 8;; Human-Keywords: calendar
9 9
diff --git a/lisp/calendar/cal-x.el b/lisp/calendar/cal-x.el
index 26c74172959..903f91af57b 100644
--- a/lisp/calendar/cal-x.el
+++ b/lisp/calendar/cal-x.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Michael Kifer <kifer@cs.sunysb.edu> 5;; Author: Michael Kifer <kifer@cs.sunysb.edu>
6;; Edward M. Reingold <reingold@cs.uiuc.edu> 6;; Edward M. Reingold <reingold@cs.uiuc.edu>
7;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk> 7;; Maintainer: Glenn Morris <rgm@gnu.org>
8;; Keywords: calendar 8;; Keywords: calendar
9;; Human-Keywords: calendar, dedicated frames, X Window System 9;; Human-Keywords: calendar, dedicated frames, X Window System
10 10
diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el
index ec70c8c6c35..bb36ae4bb6e 100644
--- a/lisp/calendar/calendar.el
+++ b/lisp/calendar/calendar.el
@@ -4,7 +4,7 @@
4;; 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc. 4;; 2000, 2001, 2003, 2004, 2005 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 <gmorris@ast.cam.ac.uk> 7;; Maintainer: Glenn Morris <rgm@gnu.org>
8;; Keywords: calendar 8;; Keywords: calendar
9;; Human-Keywords: calendar, Gregorian calendar, diary, holidays 9;; Human-Keywords: calendar, Gregorian calendar, diary, holidays
10 10
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el
index b997b5b5f61..ae42fa98661 100644
--- a/lisp/calendar/diary-lib.el
+++ b/lisp/calendar/diary-lib.el
@@ -4,7 +4,7 @@
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>
7;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk> 7;; Maintainer: Glenn Morris <rgm@gnu.org>
8;; Keywords: calendar 8;; Keywords: calendar
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
diff --git a/lisp/calendar/holidays.el b/lisp/calendar/holidays.el
index 7fd1d1f8f2c..aef07e39c8d 100644
--- a/lisp/calendar/holidays.el
+++ b/lisp/calendar/holidays.el
@@ -4,7 +4,7 @@
4;; Software Foundation, Inc. 4;; 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 <gmorris@ast.cam.ac.uk> 7;; Maintainer: Glenn Morris <rgm@gnu.org>
8;; Keywords: holidays, calendar 8;; Keywords: holidays, calendar
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
diff --git a/lisp/calendar/solar.el b/lisp/calendar/solar.el
index ea027a50ca6..52d12e0a18a 100644
--- a/lisp/calendar/solar.el
+++ b/lisp/calendar/solar.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 5;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
6;; Denis B. Roegel <Denis.Roegel@loria.fr> 6;; Denis B. Roegel <Denis.Roegel@loria.fr>
7;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk> 7;; Maintainer: Glenn Morris <rgm@gnu.org>
8;; Keywords: calendar 8;; Keywords: calendar
9;; Human-Keywords: sunrise, sunset, equinox, solstice, calendar, diary, 9;; Human-Keywords: sunrise, sunset, equinox, solstice, calendar, diary,
10;; holidays 10;; holidays
diff --git a/lisp/cus-start.el b/lisp/cus-start.el
index 87393e43ff7..d46b71fb44b 100644
--- a/lisp/cus-start.el
+++ b/lisp/cus-start.el
@@ -99,6 +99,7 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of
99 (scroll-down-aggressively windows 99 (scroll-down-aggressively windows
100 (choice (const :tag "off" nil) number) 100 (choice (const :tag "off" nil) number)
101 "21.1") 101 "21.1")
102 (line-spacing display (choice (const :tag "none" nil) integer))
102 ;; callint.c 103 ;; callint.c
103 (mark-even-if-inactive editing-basics boolean) 104 (mark-even-if-inactive editing-basics boolean)
104 ;; callproc.c 105 ;; callproc.c
diff --git a/lisp/desktop.el b/lisp/desktop.el
index 956a14e7b0e..5daec55b4f8 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -963,10 +963,11 @@ directory DIRNAME."
963 963
964(defun desktop-load-file (function) 964(defun desktop-load-file (function)
965 "Load the file where auto loaded FUNCTION is defined." 965 "Load the file where auto loaded FUNCTION is defined."
966 (let ((fcell (symbol-function function))) 966 (when function
967 (when (and (listp fcell) 967 (let ((fcell (symbol-function function)))
968 (eq 'autoload (car fcell))) 968 (when (and (listp fcell)
969 (load (cadr fcell))))) 969 (eq 'autoload (car fcell)))
970 (load (cadr fcell))))))
970 971
971;; ---------------------------------------------------------------------------- 972;; ----------------------------------------------------------------------------
972;; Create a buffer, load its file, set its mode, ...; 973;; Create a buffer, load its file, set its mode, ...;
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el
index 3cd6fe53bad..b14a556e02d 100644
--- a/lisp/emacs-lisp/autoload.el
+++ b/lisp/emacs-lisp/autoload.el
@@ -175,7 +175,8 @@ markers before we call `read'."
175 (goto-char (point-min)) 175 (goto-char (point-min))
176 (read (current-buffer)))))) 176 (read (current-buffer))))))
177 177
178(defvar autoload-print-form-outbuf) 178(defvar autoload-print-form-outbuf nil
179 "Buffer which gets the output of `autoload-print-form'.")
179 180
180(defun autoload-print-form (form) 181(defun autoload-print-form (form)
181 "Print FORM such that `make-docfile' will find the docstrings. 182 "Print FORM such that `make-docfile' will find the docstrings.
@@ -492,7 +493,7 @@ Autoload section for %s is up to date."
492(defun update-directory-autoloads (&rest dirs) 493(defun update-directory-autoloads (&rest dirs)
493 "\ 494 "\
494Update loaddefs.el with all the current autoloads from DIRS, and no old ones. 495Update loaddefs.el with all the current autoloads from DIRS, and no old ones.
495This uses `update-file-autoloads' (which see) do its work. 496This uses `update-file-autoloads' (which see) to do its work.
496In an interactive call, you must give one argument, the name 497In an interactive call, you must give one argument, the name
497of a single directory. In a call from Lisp, you can supply multiple 498of a single directory. In a call from Lisp, you can supply multiple
498directories as separate arguments, but this usage is discouraged. 499directories as separate arguments, but this usage is discouraged.
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el
index dc335a2eb82..b9ed8166d68 100644
--- a/lisp/emulation/cua-base.el
+++ b/lisp/emulation/cua-base.el
@@ -548,7 +548,7 @@ a cons (TYPE . COLOR), then both properties are affected."
548 548
549;;; Global Mark support is in cua-gmrk.el 549;;; Global Mark support is in cua-gmrk.el
550 550
551(autoload 'cua-toggle-global-mark "cua-gmrk.el" nil t nil) 551(autoload 'cua-toggle-global-mark "cua-gmrk" nil t nil)
552 552
553;; Stub definitions until cua-gmrk.el is loaded 553;; Stub definitions until cua-gmrk.el is loaded
554 554
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index 1604e130e3d..00a65adac07 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -354,7 +354,7 @@ contained expressions. You can also alter it by calling
354Each element in a user-level keywords list should have one of these forms: 354Each element in a user-level keywords list should have one of these forms:
355 355
356 MATCHER 356 MATCHER
357 (MATCHER . MATCH) 357 (MATCHER . SUBEXP)
358 (MATCHER . FACENAME) 358 (MATCHER . FACENAME)
359 (MATCHER . HIGHLIGHT) 359 (MATCHER . HIGHLIGHT)
360 (MATCHER HIGHLIGHT ...) 360 (MATCHER HIGHLIGHT ...)
@@ -380,12 +380,13 @@ word \"bar\" following the word \"anchor\" then MATCH-ANCHORED may be required.
380 380
381MATCH-HIGHLIGHT should be of the form: 381MATCH-HIGHLIGHT should be of the form:
382 382
383 (MATCH FACENAME [OVERRIDE [LAXMATCH]]) 383 (SUBEXP FACENAME [OVERRIDE [LAXMATCH]])
384 384
385MATCH is the subexpression of MATCHER to be highlighted. FACENAME is an 385SUBEXP is the number of the subexpression of MATCHER to be highlighted.
386expression whose value is the face name to use. Face default attributes 386
387can be modified via \\[customize]. Instead of a face, FACENAME can 387FACENAME is an expression whose value is the face name to use.
388evaluate to a property list of the form (face FACE PROP1 VAL1 PROP2 VAL2 ...) 388Instead of a face, FACENAME can evaluate to a property list
389of the form (face FACE PROP1 VAL1 PROP2 VAL2 ...)
389in which case all the listed text-properties will be set rather than 390in which case all the listed text-properties will be set rather than
390just FACE. In such a case, you will most likely want to put those 391just FACE. In such a case, you will most likely want to put those
391properties in `font-lock-extra-managed-props' or to override 392properties in `font-lock-extra-managed-props' or to override
@@ -395,7 +396,8 @@ OVERRIDE and LAXMATCH are flags. If OVERRIDE is t, existing fontification can
395be overwritten. If `keep', only parts not already fontified are highlighted. 396be overwritten. If `keep', only parts not already fontified are highlighted.
396If `prepend' or `append', existing fontification is merged with the new, in 397If `prepend' or `append', existing fontification is merged with the new, in
397which the new or existing fontification, respectively, takes precedence. 398which the new or existing fontification, respectively, takes precedence.
398If LAXMATCH is non-nil, no error is signaled if there is no MATCH in MATCHER. 399If LAXMATCH is non-nil, that means don't signal an error if there is
400no match for SUBEXP in MATCHER.
399 401
400For example, an element of the form highlights (if not already highlighted): 402For example, an element of the form highlights (if not already highlighted):
401 403
@@ -508,36 +510,35 @@ The function is called with a single parameter (the state as returned by
508should return a face. This is normally set via `font-lock-defaults'.") 510should return a face. This is normally set via `font-lock-defaults'.")
509 511
510(defvar font-lock-syntactic-keywords nil 512(defvar font-lock-syntactic-keywords nil
511 "A list of the syntactic keywords to highlight. 513 "A list of the syntactic keywords to put syntax properties on.
512Can be the list or the name of a function or variable whose value is the list. 514The value can be the list itself, or the name of a function or variable
515whose value is the list.
516
513See `font-lock-keywords' for a description of the form of this list; 517See `font-lock-keywords' for a description of the form of this list;
514the differences are listed below. MATCH-HIGHLIGHT should be of the form: 518only the differences are stated here. MATCH-HIGHLIGHT should be of the form:
515 519
516 (MATCH SYNTAX OVERRIDE LAXMATCH) 520 (SUBEXP SYNTAX OVERRIDE LAXMATCH)
517 521
518where SYNTAX can be a string (as taken by `modify-syntax-entry'), a syntax 522where SYNTAX can be a string (as taken by `modify-syntax-entry'), a syntax
519table, a cons cell (as returned by `string-to-syntax') or an expression whose 523table, a cons cell (as returned by `string-to-syntax') or an expression whose
520value is such a form. OVERRIDE cannot be `prepend' or `append'. 524value is such a form. OVERRIDE cannot be `prepend' or `append'.
521 525
522For example, an element of the form highlights syntactically: 526Here are two examples of elements of `font-lock-syntactic-keywords'
527and what they do:
523 528
524 (\"\\\\$\\\\(#\\\\)\" 1 \".\") 529 (\"\\\\$\\\\(#\\\\)\" 1 \".\")
525 530
526 a hash character when following a dollar character, with a SYNTAX of 531 gives a hash character punctuation syntax (\".\") when following a
527 \".\" (meaning punctuation syntax). Assuming that the buffer syntax table does 532 dollar-sign character. Hash characters in other contexts will still
528 specify hash characters to have comment start syntax, the element will only 533 follow whatever the syntax table says about the hash character.
529 highlight hash characters that do not follow dollar characters as comments
530 syntactically.
531 534
532 (\"\\\\('\\\\).\\\\('\\\\)\" 535 (\"\\\\('\\\\).\\\\('\\\\)\"
533 (1 \"\\\"\") 536 (1 \"\\\"\")
534 (2 \"\\\"\")) 537 (2 \"\\\"\"))
535 538
536 both single quotes which surround a single character, with a SYNTAX of 539 gives a pair single-quotes, which surround a single character, a SYNTAX of
537 \"\\\"\" (meaning string quote syntax). Assuming that the buffer syntax table 540 \"\\\"\" (meaning string quote syntax). Single-quote characters in other
538 does not specify single quotes to have quote syntax, the element will only 541 contexts will not be affected.
539 highlight single quotes of the form 'c' as strings syntactically.
540 Other forms, such as foo'bar or 'fubar', will not be highlighted as strings.
541 542
542This is normally set via `font-lock-defaults'.") 543This is normally set via `font-lock-defaults'.")
543 544
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index d013524a1c8..abbfb096ab1 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,31 @@
12005-10-09 Daniel Brockman <daniel@brockman.se>
2
3 * format-spec.el (format-spec): Propagate text properties of % spec.
4
52005-01-21 Derek Atkins <warlord@MIT.EDU> (tiny change)
6
7 * pgg-pgp.el (pgg-pgp-decrypt-region): Use passphrase cache.
8
92005-10-08 Simon Josefsson <jas@extundo.com>
10
11 * pgg-parse.el (top-level): Don't require custom, it is
12 autoloaded. (To sync with No Gnus.)
13
142005-05-09 Simon Josefsson <jas@extundo.com>
15
16 * pgg-gpg.el (pgg-gpg-possibly-cache-passphrase): Fix PIN caching,
17 tiny patch from "Georg C. F. Greve" <greve@gnu.org>.
18
192005-10-08 Simon Josefsson <jas@extundo.com>
20
21 * pgg-def.el (top-level): Don't require custom, it is
22 autoloaded. (To sync with No Gnus.)
23
242005-10-04 David Hansen <david.hansen@gmx.net>
25
26 * nnrss.el (nnrss-request-article): Add support for the comments tag.
27 (nnrss-check-group): Ditto.
28
12005-10-04 Reiner Steib <Reiner.Steib@gmx.de> 292005-10-04 Reiner Steib <Reiner.Steib@gmx.de>
2 30
3 * mm-url.el (mm-url-predefined-programs): Add switches for curl. 31 * mm-url.el (mm-url-predefined-programs): Add switches for curl.
diff --git a/lisp/gnus/format-spec.el b/lisp/gnus/format-spec.el
index fc34b50bc11..b2fde53b3f1 100644
--- a/lisp/gnus/format-spec.el
+++ b/lisp/gnus/format-spec.el
@@ -33,7 +33,8 @@
33 "Return a string based on FORMAT and SPECIFICATION. 33 "Return a string based on FORMAT and SPECIFICATION.
34FORMAT is a string containing `format'-like specs like \"bash %u %k\", 34FORMAT is a string containing `format'-like specs like \"bash %u %k\",
35while SPECIFICATION is an alist mapping from format spec characters 35while SPECIFICATION is an alist mapping from format spec characters
36to values." 36to values. Any text properties on a %-spec itself are propagated to
37the text that it generates."
37 (with-temp-buffer 38 (with-temp-buffer
38 (insert format) 39 (insert format)
39 (goto-char (point-min)) 40 (goto-char (point-min))
@@ -47,10 +48,17 @@ to values."
47 (let* ((num (match-string 1)) 48 (let* ((num (match-string 1))
48 (spec (string-to-char (match-string 2))) 49 (spec (string-to-char (match-string 2)))
49 (val (cdr (assq spec specification)))) 50 (val (cdr (assq spec specification))))
50 (delete-region (1- (match-beginning 0)) (match-end 0))
51 (unless val 51 (unless val
52 (error "Invalid format character: %s" spec)) 52 (error "Invalid format character: %s" spec))
53 (insert (format (concat "%" num "s") val)))) 53 ;; Pad result to desired length.
54 (let ((text (format (concat "%" num "s") val)))
55 ;; Insert first, to preserve text properties.
56 (insert-and-inherit text)
57 ;; Delete the specifier body.
58 (delete-region (+ (match-beginning 0) (length text))
59 (+ (match-end 0) (length text)))
60 ;; Delete the percent sign.
61 (delete-region (1- (match-beginning 0)) (match-beginning 0)))))
54 ;; Signal an error on bogus format strings. 62 ;; Signal an error on bogus format strings.
55 (t 63 (t
56 (error "Invalid format string")))) 64 (error "Invalid format string"))))
diff --git a/lisp/gnus/nnrss.el b/lisp/gnus/nnrss.el
index 5018701ee42..adef035c830 100644
--- a/lisp/gnus/nnrss.el
+++ b/lisp/gnus/nnrss.el
@@ -197,6 +197,7 @@ for decoding when the cdr that the data specify is not available.")
197 " "))) 197 " ")))
198 (link (nth 2 e)) 198 (link (nth 2 e))
199 (enclosure (nth 7 e)) 199 (enclosure (nth 7 e))
200 (comments (nth 8 e))
200 ;; Enable encoding of Newsgroups header in XEmacs. 201 ;; Enable encoding of Newsgroups header in XEmacs.
201 (default-enable-multibyte-characters t) 202 (default-enable-multibyte-characters t)
202 (rfc2047-header-encoding-alist 203 (rfc2047-header-encoding-alist
@@ -205,7 +206,7 @@ for decoding when the cdr that the data specify is not available.")
205 rfc2047-header-encoding-alist) 206 rfc2047-header-encoding-alist)
206 rfc2047-header-encoding-alist)) 207 rfc2047-header-encoding-alist))
207 rfc2047-encode-encoded-words body) 208 rfc2047-encode-encoded-words body)
208 (when (or text link enclosure) 209 (when (or text link enclosure comments)
209 (insert "\n") 210 (insert "\n")
210 (insert "<#multipart type=alternative>\n" 211 (insert "<#multipart type=alternative>\n"
211 "<#part type=\"text/plain\">\n") 212 "<#part type=\"text/plain\">\n")
@@ -220,6 +221,8 @@ for decoding when the cdr that the data specify is not available.")
220 (insert (car enclosure) " " 221 (insert (car enclosure) " "
221 (nth 2 enclosure) " " 222 (nth 2 enclosure) " "
222 (nth 3 enclosure) "\n")) 223 (nth 3 enclosure) "\n"))
224 (when comments
225 (insert comments "\n"))
223 (setq body (buffer-substring body (point))) 226 (setq body (buffer-substring body (point)))
224 (insert "<#/part>\n" 227 (insert "<#/part>\n"
225 "<#part type=\"text/html\">\n" 228 "<#part type=\"text/html\">\n"
@@ -232,6 +235,8 @@ for decoding when the cdr that the data specify is not available.")
232 (insert "<p><a href=\"" (car enclosure) "\">" 235 (insert "<p><a href=\"" (car enclosure) "\">"
233 (cadr enclosure) "</a> " (nth 2 enclosure) 236 (cadr enclosure) "</a> " (nth 2 enclosure)
234 " " (nth 3 enclosure) "</p>\n")) 237 " " (nth 3 enclosure) "</p>\n"))
238 (when comments
239 (insert "<p><a href=\"" comments "\">comments</a></p>\n"))
235 (insert "</body></html>\n" 240 (insert "</body></html>\n"
236 "<#/part>\n" 241 "<#/part>\n"
237 "<#/multipart>\n")) 242 "<#/multipart>\n"))
@@ -528,7 +533,7 @@ nnrss: %s: Not valid XML %s and w3-parse doesn't work %s"
528 533
529(defun nnrss-check-group (group server) 534(defun nnrss-check-group (group server)
530 (let (file xml subject url extra changed author date 535 (let (file xml subject url extra changed author date
531 enclosure rss-ns rdf-ns content-ns dc-ns) 536 enclosure comments rss-ns rdf-ns content-ns dc-ns)
532 (if (and nnrss-use-local 537 (if (and nnrss-use-local
533 (file-exists-p (setq file (expand-file-name 538 (file-exists-p (setq file (expand-file-name
534 (nnrss-translate-file-chars 539 (nnrss-translate-file-chars
@@ -576,6 +581,7 @@ nnrss: %s: Not valid XML %s and w3-parse doesn't work %s"
576 (setq date (or (nnrss-node-text dc-ns 'date item) 581 (setq date (or (nnrss-node-text dc-ns 'date item)
577 (nnrss-node-text rss-ns 'pubDate item) 582 (nnrss-node-text rss-ns 'pubDate item)
578 (message-make-date))) 583 (message-make-date)))
584 (setq comments (nnrss-node-text rss-ns 'comments item))
579 (when (setq enclosure (cadr (assq (intern (concat rss-ns "enclosure")) item))) 585 (when (setq enclosure (cadr (assq (intern (concat rss-ns "enclosure")) item)))
580 (let ((url (cdr (assq 'url enclosure))) 586 (let ((url (cdr (assq 'url enclosure)))
581 (len (cdr (assq 'length enclosure))) 587 (len (cdr (assq 'length enclosure)))
@@ -606,7 +612,8 @@ nnrss: %s: Not valid XML %s and w3-parse doesn't work %s"
606 (and author (nnrss-mime-encode-string author)) 612 (and author (nnrss-mime-encode-string author))
607 date 613 date
608 (and extra (nnrss-decode-entities-string extra)) 614 (and extra (nnrss-decode-entities-string extra))
609 enclosure) 615 enclosure
616 comments)
610 nnrss-group-data) 617 nnrss-group-data)
611 (gnus-sethash (or url extra) t nnrss-group-hashtb) 618 (gnus-sethash (or url extra) t nnrss-group-hashtb)
612 (setq changed t)) 619 (setq changed t))
diff --git a/lisp/gnus/pgg-def.el b/lisp/gnus/pgg-def.el
index f27afada3fa..c6197db447d 100644
--- a/lisp/gnus/pgg-def.el
+++ b/lisp/gnus/pgg-def.el
@@ -25,8 +25,6 @@
25 25
26;;; Code: 26;;; Code:
27 27
28(require 'custom)
29
30(defgroup pgg () 28(defgroup pgg ()
31 "Glue for the various PGP implementations." 29 "Glue for the various PGP implementations."
32 :group 'mime 30 :group 'mime
diff --git a/lisp/gnus/pgg-gpg.el b/lisp/gnus/pgg-gpg.el
index f012a9d8506..6ba017c731c 100644
--- a/lisp/gnus/pgg-gpg.el
+++ b/lisp/gnus/pgg-gpg.el
@@ -100,13 +100,13 @@
100 (if (and pgg-cache-passphrase 100 (if (and pgg-cache-passphrase
101 (progn 101 (progn
102 (goto-char (point-min)) 102 (goto-char (point-min))
103 (re-search-forward "^\\[GNUPG:] GOOD_PASSPHRASE\\>" nil t))) 103 (re-search-forward "^\\[GNUPG:] \\(GOOD_PASSPHRASE\\>\\)\\|\\(SIG_CREATED\\)" nil t)))
104 (pgg-add-passphrase-cache 104 (pgg-add-passphrase-cache
105 (or key 105 (or key
106 (progn 106 (progn
107 (goto-char (point-min)) 107 (goto-char (point-min))
108 (if (re-search-forward 108 (if (re-search-forward
109 "^\\[GNUPG:] NEED_PASSPHRASE \\w+ ?\\w*" nil t) 109 "^\\[GNUPG:] NEED_PASSPHRASE\\(_PIN\\)? \\w+ ?\\w*" nil t)
110 (substring (match-string 0) -8)))) 110 (substring (match-string 0) -8))))
111 passphrase))) 111 passphrase)))
112 112
diff --git a/lisp/gnus/pgg-parse.el b/lisp/gnus/pgg-parse.el
index 26b48e2f141..422ccc6ac23 100644
--- a/lisp/gnus/pgg-parse.el
+++ b/lisp/gnus/pgg-parse.el
@@ -37,8 +37,6 @@
37 37
38(eval-when-compile (require 'cl)) 38(eval-when-compile (require 'cl))
39 39
40(require 'custom)
41
42(defgroup pgg-parse () 40(defgroup pgg-parse ()
43 "OpenPGP packet parsing." 41 "OpenPGP packet parsing."
44 :group 'pgg) 42 :group 'pgg)
diff --git a/lisp/gnus/pgg-pgp.el b/lisp/gnus/pgg-pgp.el
index 88f1d697200..2735a0b7b27 100644
--- a/lisp/gnus/pgg-pgp.el
+++ b/lisp/gnus/pgg-pgp.el
@@ -149,14 +149,16 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"."
149(defun pgg-pgp-decrypt-region (start end) 149(defun pgg-pgp-decrypt-region (start end)
150 "Decrypt the current region between START and END." 150 "Decrypt the current region between START and END."
151 (let* ((pgg-pgp-user-id (or pgg-pgp-user-id pgg-default-user-id)) 151 (let* ((pgg-pgp-user-id (or pgg-pgp-user-id pgg-default-user-id))
152 (key (pgg-pgp-lookup-key pgg-pgp-user-id 'encrypt))
152 (passphrase 153 (passphrase
153 (pgg-read-passphrase 154 (pgg-read-passphrase
154 (format "PGP passphrase for %s: " pgg-pgp-user-id) 155 (format "PGP passphrase for %s: " pgg-pgp-user-id) key))
155 (pgg-pgp-lookup-key pgg-pgp-user-id 'encrypt)))
156 (args 156 (args
157 '("+verbose=1" "+batchmode" "+language=us" "-f"))) 157 '("+verbose=1" "+batchmode" "+language=us" "-f")))
158 (pgg-pgp-process-region start end passphrase pgg-pgp-program args) 158 (pgg-pgp-process-region start end passphrase pgg-pgp-program args)
159 (pgg-process-when-success nil))) 159 (pgg-process-when-success
160 (if pgg-cache-passphrase
161 (pgg-add-passphrase-cache key passphrase)))))
160 162
161(defun pgg-pgp-sign-region (start end &optional clearsign) 163(defun pgg-pgp-sign-region (start end &optional clearsign)
162 "Make detached signature from text between START and END." 164 "Make detached signature from text between START and END."
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el
index e6fc1d67b8e..8ab984cd61b 100644
--- a/lisp/ibuf-ext.el
+++ b/lisp/ibuf-ext.el
@@ -329,7 +329,7 @@ With numeric ARG, enable auto-update if and only if ARG is positive."
329 (ibuffer-backward-filter-group 1)) 329 (ibuffer-backward-filter-group 1))
330 (ibuffer-forward-line 0)) 330 (ibuffer-forward-line 0))
331 331
332;;;###autoload (autoload 'ibuffer-do-shell-command-pipe "ibuf-ext.el") 332;;;###autoload (autoload 'ibuffer-do-shell-command-pipe "ibuf-ext")
333(define-ibuffer-op shell-command-pipe (command) 333(define-ibuffer-op shell-command-pipe (command)
334 "Pipe the contents of each marked buffer to shell command COMMAND." 334 "Pipe the contents of each marked buffer to shell command COMMAND."
335 (:interactive "sPipe to shell command: " 335 (:interactive "sPipe to shell command: "
@@ -339,7 +339,7 @@ With numeric ARG, enable auto-update if and only if ARG is positive."
339 (point-min) (point-max) command 339 (point-min) (point-max) command
340 (get-buffer-create "* ibuffer-shell-output*"))) 340 (get-buffer-create "* ibuffer-shell-output*")))
341 341
342;;;###autoload (autoload 'ibuffer-do-shell-command-pipe-replace "ibuf-ext.el") 342;;;###autoload (autoload 'ibuffer-do-shell-command-pipe-replace "ibuf-ext")
343(define-ibuffer-op shell-command-pipe-replace (command) 343(define-ibuffer-op shell-command-pipe-replace (command)
344 "Replace the contents of marked buffers with output of pipe to COMMAND." 344 "Replace the contents of marked buffers with output of pipe to COMMAND."
345 (:interactive "sPipe to shell command (replace): " 345 (:interactive "sPipe to shell command (replace): "
@@ -351,7 +351,7 @@ With numeric ARG, enable auto-update if and only if ARG is positive."
351 (shell-command-on-region (point-min) (point-max) 351 (shell-command-on-region (point-min) (point-max)
352 command nil t))) 352 command nil t)))
353 353
354;;;###autoload (autoload 'ibuffer-do-shell-command-file "ibuf-ext.el") 354;;;###autoload (autoload 'ibuffer-do-shell-command-file "ibuf-ext")
355(define-ibuffer-op shell-command-file (command) 355(define-ibuffer-op shell-command-file (command)
356 "Run shell command COMMAND separately on files of marked buffers." 356 "Run shell command COMMAND separately on files of marked buffers."
357 (:interactive "sShell command on buffer's file: " 357 (:interactive "sShell command on buffer's file: "
@@ -364,7 +364,7 @@ With numeric ARG, enable auto-update if and only if ARG is positive."
364 (make-temp-file 364 (make-temp-file
365 (substring (buffer-name) 0 (min 10 (length (buffer-name)))))))))) 365 (substring (buffer-name) 0 (min 10 (length (buffer-name))))))))))
366 366
367;;;###autoload (autoload 'ibuffer-do-eval "ibuf-ext.el") 367;;;###autoload (autoload 'ibuffer-do-eval "ibuf-ext")
368(define-ibuffer-op eval (form) 368(define-ibuffer-op eval (form)
369 "Evaluate FORM in each of the buffers. 369 "Evaluate FORM in each of the buffers.
370Does not display the buffer during evaluation. See 370Does not display the buffer during evaluation. See
@@ -374,7 +374,7 @@ Does not display the buffer during evaluation. See
374 :modifier-p :maybe) 374 :modifier-p :maybe)
375 (eval form)) 375 (eval form))
376 376
377;;;###autoload (autoload 'ibuffer-do-view-and-eval "ibuf-ext.el") 377;;;###autoload (autoload 'ibuffer-do-view-and-eval "ibuf-ext")
378(define-ibuffer-op view-and-eval (form) 378(define-ibuffer-op view-and-eval (form)
379 "Evaluate FORM while displaying each of the marked buffers. 379 "Evaluate FORM while displaying each of the marked buffers.
380To evaluate a form without viewing the buffer, see `ibuffer-do-eval'." 380To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
@@ -389,14 +389,14 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
389 (eval form)) 389 (eval form))
390 (switch-to-buffer ibuffer-buf)))) 390 (switch-to-buffer ibuffer-buf))))
391 391
392;;;###autoload (autoload 'ibuffer-do-rename-uniquely "ibuf-ext.el") 392;;;###autoload (autoload 'ibuffer-do-rename-uniquely "ibuf-ext")
393(define-ibuffer-op rename-uniquely () 393(define-ibuffer-op rename-uniquely ()
394 "Rename marked buffers as with `rename-uniquely'." 394 "Rename marked buffers as with `rename-uniquely'."
395 (:opstring "renamed" 395 (:opstring "renamed"
396 :modifier-p t) 396 :modifier-p t)
397 (rename-uniquely)) 397 (rename-uniquely))
398 398
399;;;###autoload (autoload 'ibuffer-do-revert "ibuf-ext.el") 399;;;###autoload (autoload 'ibuffer-do-revert "ibuf-ext")
400(define-ibuffer-op revert () 400(define-ibuffer-op revert ()
401 "Revert marked buffers as with `revert-buffer'." 401 "Revert marked buffers as with `revert-buffer'."
402 (:dangerous t 402 (:dangerous t
@@ -405,7 +405,7 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
405 :modifier-p :maybe) 405 :modifier-p :maybe)
406 (revert-buffer t t)) 406 (revert-buffer t t))
407 407
408;;;###autoload (autoload 'ibuffer-do-replace-regexp "ibuf-ext.el") 408;;;###autoload (autoload 'ibuffer-do-replace-regexp "ibuf-ext")
409(define-ibuffer-op replace-regexp (from-str to-str) 409(define-ibuffer-op replace-regexp (from-str to-str)
410 "Perform a `replace-regexp' in marked buffers." 410 "Perform a `replace-regexp' in marked buffers."
411 (:interactive 411 (:interactive
@@ -425,7 +425,7 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
425 (replace-match to-str)))) 425 (replace-match to-str))))
426 t)) 426 t))
427 427
428;;;###autoload (autoload 'ibuffer-do-query-replace "ibuf-ext.el") 428;;;###autoload (autoload 'ibuffer-do-query-replace "ibuf-ext")
429(define-ibuffer-op query-replace (&rest args) 429(define-ibuffer-op query-replace (&rest args)
430 "Perform a `query-replace' in marked buffers." 430 "Perform a `query-replace' in marked buffers."
431 (:interactive 431 (:interactive
@@ -441,7 +441,7 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
441 (apply #'query-replace args))) 441 (apply #'query-replace args)))
442 t)) 442 t))
443 443
444;;;###autoload (autoload 'ibuffer-do-query-replace-regexp "ibuf-ext.el") 444;;;###autoload (autoload 'ibuffer-do-query-replace-regexp "ibuf-ext")
445(define-ibuffer-op query-replace-regexp (&rest args) 445(define-ibuffer-op query-replace-regexp (&rest args)
446 "Perform a `query-replace-regexp' in marked buffers." 446 "Perform a `query-replace-regexp' in marked buffers."
447 (:interactive 447 (:interactive
@@ -457,7 +457,7 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
457 (apply #'query-replace-regexp args))) 457 (apply #'query-replace-regexp args)))
458 t)) 458 t))
459 459
460;;;###autoload (autoload 'ibuffer-do-print "ibuf-ext.el") 460;;;###autoload (autoload 'ibuffer-do-print "ibuf-ext")
461(define-ibuffer-op print () 461(define-ibuffer-op print ()
462 "Print marked buffers as with `print-buffer'." 462 "Print marked buffers as with `print-buffer'."
463 (:opstring "printed" 463 (:opstring "printed"
@@ -969,7 +969,7 @@ The list returned will be of the form (\"MODE-NAME\" . MODE-SYMBOL)."
969 969
970;;; Extra operation definitions 970;;; Extra operation definitions
971 971
972;;;###autoload (autoload 'ibuffer-filter-by-mode "ibuf-ext.el") 972;;;###autoload (autoload 'ibuffer-filter-by-mode "ibuf-ext")
973(define-ibuffer-filter mode 973(define-ibuffer-filter mode
974 "Toggle current view to buffers with major mode QUALIFIER." 974 "Toggle current view to buffers with major mode QUALIFIER."
975 (:description "major mode" 975 (:description "major mode"
@@ -987,7 +987,7 @@ The list returned will be of the form (\"MODE-NAME\" . MODE-SYMBOL)."
987 ""))))) 987 "")))))
988 (eq qualifier (with-current-buffer buf major-mode))) 988 (eq qualifier (with-current-buffer buf major-mode)))
989 989
990;;;###autoload (autoload 'ibuffer-filter-by-used-mode "ibuf-ext.el") 990;;;###autoload (autoload 'ibuffer-filter-by-used-mode "ibuf-ext")
991(define-ibuffer-filter used-mode 991(define-ibuffer-filter used-mode
992 "Toggle current view to buffers with major mode QUALIFIER. 992 "Toggle current view to buffers with major mode QUALIFIER.
993Called interactively, this function allows selection of modes 993Called interactively, this function allows selection of modes
@@ -1006,14 +1006,14 @@ currently used by buffers."
1006 ""))))) 1006 "")))))
1007 (eq qualifier (with-current-buffer buf major-mode))) 1007 (eq qualifier (with-current-buffer buf major-mode)))
1008 1008
1009;;;###autoload (autoload 'ibuffer-filter-by-name "ibuf-ext.el") 1009;;;###autoload (autoload 'ibuffer-filter-by-name "ibuf-ext")
1010(define-ibuffer-filter name 1010(define-ibuffer-filter name
1011 "Toggle current view to buffers with name matching QUALIFIER." 1011 "Toggle current view to buffers with name matching QUALIFIER."
1012 (:description "buffer name" 1012 (:description "buffer name"
1013 :reader (read-from-minibuffer "Filter by name (regexp): ")) 1013 :reader (read-from-minibuffer "Filter by name (regexp): "))
1014 (string-match qualifier (buffer-name buf))) 1014 (string-match qualifier (buffer-name buf)))
1015 1015
1016;;;###autoload (autoload 'ibuffer-filter-by-filename "ibuf-ext.el") 1016;;;###autoload (autoload 'ibuffer-filter-by-filename "ibuf-ext")
1017(define-ibuffer-filter filename 1017(define-ibuffer-filter filename
1018 "Toggle current view to buffers with filename matching QUALIFIER." 1018 "Toggle current view to buffers with filename matching QUALIFIER."
1019 (:description "filename" 1019 (:description "filename"
@@ -1027,7 +1027,7 @@ currently used by buffers."
1027 (expand-file-name dired-directory)))) 1027 (expand-file-name dired-directory))))
1028 (string-match qualifier it))) 1028 (string-match qualifier it)))
1029 1029
1030;;;###autoload (autoload 'ibuffer-filter-by-size-gt "ibuf-ext.el") 1030;;;###autoload (autoload 'ibuffer-filter-by-size-gt "ibuf-ext")
1031(define-ibuffer-filter size-gt 1031(define-ibuffer-filter size-gt
1032 "Toggle current view to buffers with size greater than QUALIFIER." 1032 "Toggle current view to buffers with size greater than QUALIFIER."
1033 (:description "size greater than" 1033 (:description "size greater than"
@@ -1036,7 +1036,7 @@ currently used by buffers."
1036 (> (with-current-buffer buf (buffer-size)) 1036 (> (with-current-buffer buf (buffer-size))
1037 qualifier)) 1037 qualifier))
1038 1038
1039;;;###autoload (autoload 'ibuffer-filter-by-size-lt "ibuf-ext.el") 1039;;;###autoload (autoload 'ibuffer-filter-by-size-lt "ibuf-ext")
1040(define-ibuffer-filter size-lt 1040(define-ibuffer-filter size-lt
1041 "Toggle current view to buffers with size less than QUALIFIER." 1041 "Toggle current view to buffers with size less than QUALIFIER."
1042 (:description "size less than" 1042 (:description "size less than"
@@ -1045,7 +1045,7 @@ currently used by buffers."
1045 (< (with-current-buffer buf (buffer-size)) 1045 (< (with-current-buffer buf (buffer-size))
1046 qualifier)) 1046 qualifier))
1047 1047
1048;;;###autoload (autoload 'ibuffer-filter-by-content "ibuf-ext.el") 1048;;;###autoload (autoload 'ibuffer-filter-by-content "ibuf-ext")
1049(define-ibuffer-filter content 1049(define-ibuffer-filter content
1050 "Toggle current view to buffers whose contents match QUALIFIER." 1050 "Toggle current view to buffers whose contents match QUALIFIER."
1051 (:description "content" 1051 (:description "content"
@@ -1055,7 +1055,7 @@ currently used by buffers."
1055 (goto-char (point-min)) 1055 (goto-char (point-min))
1056 (re-search-forward qualifier nil t)))) 1056 (re-search-forward qualifier nil t))))
1057 1057
1058;;;###autoload (autoload 'ibuffer-filter-by-predicate "ibuf-ext.el") 1058;;;###autoload (autoload 'ibuffer-filter-by-predicate "ibuf-ext")
1059(define-ibuffer-filter predicate 1059(define-ibuffer-filter predicate
1060 "Toggle current view to buffers for which QUALIFIER returns non-nil." 1060 "Toggle current view to buffers for which QUALIFIER returns non-nil."
1061 (:description "predicate" 1061 (:description "predicate"
@@ -1094,7 +1094,7 @@ Default sorting modes are:
1094 "normal")) 1094 "normal"))
1095 (ibuffer-redisplay t)) 1095 (ibuffer-redisplay t))
1096 1096
1097;;;###autoload (autoload 'ibuffer-do-sort-by-major-mode "ibuf-ext.el") 1097;;;###autoload (autoload 'ibuffer-do-sort-by-major-mode "ibuf-ext")
1098(define-ibuffer-sorter major-mode 1098(define-ibuffer-sorter major-mode
1099 "Sort the buffers by major modes. 1099 "Sort the buffers by major modes.
1100Ordering is lexicographic." 1100Ordering is lexicographic."
@@ -1108,7 +1108,7 @@ Ordering is lexicographic."
1108 (car b) 1108 (car b)
1109 major-mode))))) 1109 major-mode)))))
1110 1110
1111;;;###autoload (autoload 'ibuffer-do-sort-by-mode-name "ibuf-ext.el") 1111;;;###autoload (autoload 'ibuffer-do-sort-by-mode-name "ibuf-ext")
1112(define-ibuffer-sorter mode-name 1112(define-ibuffer-sorter mode-name
1113 "Sort the buffers by their mode name. 1113 "Sort the buffers by their mode name.
1114Ordering is lexicographic." 1114Ordering is lexicographic."
@@ -1122,7 +1122,7 @@ Ordering is lexicographic."
1122 (car b) 1122 (car b)
1123 mode-name)))) 1123 mode-name))))
1124 1124
1125;;;###autoload (autoload 'ibuffer-do-sort-by-alphabetic "ibuf-ext.el") 1125;;;###autoload (autoload 'ibuffer-do-sort-by-alphabetic "ibuf-ext")
1126(define-ibuffer-sorter alphabetic 1126(define-ibuffer-sorter alphabetic
1127 "Sort the buffers by their names. 1127 "Sort the buffers by their names.
1128Ordering is lexicographic." 1128Ordering is lexicographic."
@@ -1131,7 +1131,7 @@ Ordering is lexicographic."
1131 (buffer-name (car a)) 1131 (buffer-name (car a))
1132 (buffer-name (car b)))) 1132 (buffer-name (car b))))
1133 1133
1134;;;###autoload (autoload 'ibuffer-do-sort-by-size "ibuf-ext.el") 1134;;;###autoload (autoload 'ibuffer-do-sort-by-size "ibuf-ext")
1135(define-ibuffer-sorter size 1135(define-ibuffer-sorter size
1136 "Sort the buffers by their size." 1136 "Sort the buffers by their size."
1137 (:description "size") 1137 (:description "size")
diff --git a/lisp/info.el b/lisp/info.el
index 5a0c0b510c1..5d86d0cb46e 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -3150,8 +3150,6 @@ if point is in a menu item description, follow that menu item."
3150 :help "Look for another occurrence of previous item"] 3150 :help "Look for another occurrence of previous item"]
3151 ["Lookup a string in all indices..." info-apropos 3151 ["Lookup a string in all indices..." info-apropos
3152 :help "Look for a string in the indices of all manuals"]) 3152 :help "Look for a string in the indices of all manuals"])
3153 ["Edit" Info-edit :help "Edit contents of this node"
3154 :active Info-enable-edit]
3155 ["Copy Node Name" Info-copy-current-node-name 3153 ["Copy Node Name" Info-copy-current-node-name
3156 :help "Copy the name of the current node into the kill ring"] 3154 :help "Copy the name of the current node into the kill ring"]
3157 ["Clone Info buffer" clone-buffer 3155 ["Clone Info buffer" clone-buffer
@@ -3290,18 +3288,17 @@ Selecting other nodes:
3290\\[Info-menu] Pick menu item specified by name (or abbreviation). 3288\\[Info-menu] Pick menu item specified by name (or abbreviation).
3291 Picking a menu item causes another node to be selected. 3289 Picking a menu item causes another node to be selected.
3292\\[Info-directory] Go to the Info directory node. 3290\\[Info-directory] Go to the Info directory node.
3291\\[Info-top-node] Go to the Top node of this file.
3292\\[Info-final-node] Go to the final node in this file.
3293\\[Info-backward-node] Go backward one node, considering all nodes as forming one sequence.
3294\\[Info-forward-node] Go forward one node, considering all nodes as forming one sequence.
3295\\[Info-next-reference] Move cursor to next cross-reference or menu item.
3296\\[Info-prev-reference] Move cursor to previous cross-reference or menu item.
3293\\[Info-follow-reference] Follow a cross reference. Reads name of reference. 3297\\[Info-follow-reference] Follow a cross reference. Reads name of reference.
3294\\[Info-history-back] Move back in history to the last node you were at. 3298\\[Info-history-back] Move back in history to the last node you were at.
3295\\[Info-history-forward] Move forward in history to the node you returned from after using \\[Info-history-back]. 3299\\[Info-history-forward] Move forward in history to the node you returned from after using \\[Info-history-back].
3296\\[Info-history] Go to menu of visited nodes. 3300\\[Info-history] Go to menu of visited nodes.
3297\\[Info-toc] Go to table of contents of the current Info file. 3301\\[Info-toc] Go to table of contents of the current Info file.
3298\\[Info-top-node] Go to the Top node of this file.
3299\\[Info-final-node] Go to the final node in this file.
3300\\[Info-backward-node] Go backward one node, considering all nodes as forming one sequence.
3301\\[Info-forward-node] Go forward one node, considering all nodes as forming one sequence.
3302\\[Info-index] Look up a topic in this file's Index and move to that node.
3303\\[Info-index-next] (comma) Move to the next match from a previous \\<Info-mode-map>\\[Info-index] command.
3304\\[info-apropos] Look for a string in the indices of all manuals.
3305 3302
3306Moving within a node: 3303Moving within a node:
3307\\[Info-scroll-up] Normally, scroll forward a full screen. 3304\\[Info-scroll-up] Normally, scroll forward a full screen.
@@ -3315,22 +3312,22 @@ Moving within a node:
3315\\[beginning-of-buffer] Go to beginning of node. 3312\\[beginning-of-buffer] Go to beginning of node.
3316 3313
3317Advanced commands: 3314Advanced commands:
3318\\[Info-copy-current-node-name] Put name of current Info node in the kill ring.
3319\\[clone-buffer] Select a new cloned Info buffer in another window.
3320\\[Info-edit] Edit contents of selected node.
33211 .. 9 Pick first ... ninth item in node's menu.
3322 Every third `*' is highlighted to help pick the right number.
3323\\[Info-goto-node] Move to node specified by name.
3324 You may include a filename as well, as (FILENAME)NODENAME.
3325\\[universal-argument] \\[info] Move to new Info file with completion.
3326\\[universal-argument] N \\[info] Select Info buffer with prefix number in the name *info*<N>.
3327\\[Info-search] Search through this Info file for specified regexp, 3315\\[Info-search] Search through this Info file for specified regexp,
3328 and select the node in which the next occurrence is found. 3316 and select the node in which the next occurrence is found.
3329\\[Info-search-case-sensitively] Search through this Info file for specified regexp case-sensitively. 3317\\[Info-search-case-sensitively] Search through this Info file for specified regexp case-sensitively.
3330\\[Info-search-next] Search for another occurrence of regexp 3318\\[Info-search-next] Search for another occurrence of regexp
3331 from a previous \\<Info-mode-map>\\[Info-search] command. 3319 from a previous \\<Info-mode-map>\\[Info-search] command.
3332\\[Info-next-reference] Move cursor to next cross-reference or menu item. 3320\\[Info-index] Look up a topic in this file's Index and move to that node.
3333\\[Info-prev-reference] Move cursor to previous cross-reference or menu item." 3321\\[Info-index-next] (comma) Move to the next match from a previous \\<Info-mode-map>\\[Info-index] command.
3322\\[info-apropos] Look for a string in the indices of all manuals.
3323\\[Info-goto-node] Move to node specified by name.
3324 You may include a filename as well, as (FILENAME)NODENAME.
33251 .. 9 Pick first ... ninth item in node's menu.
3326 Every third `*' is highlighted to help pick the right number.
3327\\[Info-copy-current-node-name] Put name of current Info node in the kill ring.
3328\\[clone-buffer] Select a new cloned Info buffer in another window.
3329\\[universal-argument] \\[info] Move to new Info file with completion.
3330\\[universal-argument] N \\[info] Select Info buffer with prefix number in the name *info*<N>."
3334 (kill-all-local-variables) 3331 (kill-all-local-variables)
3335 (setq major-mode 'Info-mode) 3332 (setq major-mode 'Info-mode)
3336 (setq mode-name "Info") 3333 (setq mode-name "Info")
@@ -3669,23 +3666,23 @@ the variable `Info-file-list-for-emacs'."
3669 ((equal tag "Up") Info-up-link-keymap)))))) 3666 ((equal tag "Up") Info-up-link-keymap))))))
3670 (when Info-use-header-line 3667 (when Info-use-header-line
3671 (goto-char (point-min)) 3668 (goto-char (point-min))
3672 (let ((header-end (line-end-position)) 3669 (let* ((header-end (line-end-position))
3673 header) 3670 (header
3674 ;; If we find neither Next: nor Prev: link, show the entire 3671 ;; If we find neither Next: nor Prev: link, show the entire
3675 ;; node header. Otherwise, don't show the File: and Node: 3672 ;; node header. Otherwise, don't show the File: and Node:
3676 ;; parts, to avoid wasting precious space on information that 3673 ;; parts, to avoid wasting precious space on information that
3677 ;; is available in the mode line. 3674 ;; is available in the mode line.
3678 (if (re-search-forward 3675 (if (re-search-forward
3679 "\\(next\\|up\\|prev[ious]*\\): " 3676 "\\(next\\|up\\|prev[ious]*\\): "
3680 header-end t) 3677 header-end t)
3681 (progn 3678 (progn
3682 (goto-char (match-beginning 1)) 3679 (goto-char (match-beginning 1))
3683 (setq header (buffer-substring (point) header-end))) 3680 (buffer-substring (point) header-end))
3684 (if (re-search-forward "node:[ \t]*[^ \t]+[ \t]*" header-end t) 3681 (if (re-search-forward "node:[ \t]*[^ \t]+[ \t]*"
3685 (setq header 3682 header-end t)
3686 (concat "No next, prev or up links -- " 3683 (concat "No next, prev or up links -- "
3687 (buffer-substring (point) header-end))) 3684 (buffer-substring (point) header-end))
3688 (setq header (buffer-substring (point) header-end)))) 3685 (buffer-substring (point) header-end)))))
3689 (put-text-property (point-min) (1+ (point-min)) 3686 (put-text-property (point-min) (1+ (point-min))
3690 'header-line 3687 'header-line
3691 (replace-regexp-in-string 3688 (replace-regexp-in-string
@@ -3701,9 +3698,15 @@ the variable `Info-file-list-for-emacs'."
3701 3698
3702 ;; Fontify titles 3699 ;; Fontify titles
3703 (goto-char (point-min)) 3700 (goto-char (point-min))
3704 (when not-fontified-p 3701 (when (and font-lock-mode not-fontified-p)
3705 (while (re-search-forward "\n\\([^ \t\n].+\\)\n\\(\\*\\*+\\|==+\\|--+\\|\\.\\.+\\)$" 3702 (while (and (re-search-forward "\n\\([^ \t\n].+\\)\n\\(\\*\\*+\\|==+\\|--+\\|\\.\\.+\\)$"
3706 nil t) 3703 nil t)
3704 ;; Only consider it as an underlined title if the ASCII
3705 ;; underline has the same size as the text. A typical
3706 ;; counter example is when a continuation "..." is alone
3707 ;; on a line.
3708 (= (- (match-end 1) (match-beginning 1))
3709 (- (match-end 2) (match-beginning 2))))
3707 (let* ((c (preceding-char)) 3710 (let* ((c (preceding-char))
3708 (face 3711 (face
3709 (cond ((= c ?*) 'info-title-1) 3712 (cond ((= c ?*) 'info-title-1)
diff --git a/lisp/jka-cmpr-hook.el b/lisp/jka-cmpr-hook.el
index 1967a5d6c1d..fb0a62d602d 100644
--- a/lisp/jka-cmpr-hook.el
+++ b/lisp/jka-cmpr-hook.el
@@ -281,7 +281,7 @@ Returns the new status of auto compression (non-nil means on)."
281;;; in order to decide when to call it. 281;;; in order to decide when to call it.
282 282
283(put 'jka-compr-handler 'safe-magic t) 283(put 'jka-compr-handler 'safe-magic t)
284(put 'jka-compr-handler 'operations '(jka-compr-byte-compiler-base-file-name 284(put 'jka-compr-handler 'operations '(byte-compiler-base-file-name
285 write-region insert-file-contents 285 write-region insert-file-contents
286 file-local-copy load)) 286 file-local-copy load))
287 287
diff --git a/lisp/longlines.el b/lisp/longlines.el
index 6ce5dfaebc4..9665931e046 100644
--- a/lisp/longlines.el
+++ b/lisp/longlines.el
@@ -109,6 +109,8 @@ are indicated with a symbol."
109 (add-to-list 'buffer-file-format 'longlines) 109 (add-to-list 'buffer-file-format 'longlines)
110 (add-hook 'change-major-mode-hook 'longlines-mode-off nil t) 110 (add-hook 'change-major-mode-hook 'longlines-mode-off nil t)
111 (make-local-variable 'buffer-substring-filters) 111 (make-local-variable 'buffer-substring-filters)
112 (set (make-local-variable 'isearch-search-fun-function)
113 'longlinges-search-function)
112 (add-to-list 'buffer-substring-filters 'longlines-encode-string) 114 (add-to-list 'buffer-substring-filters 'longlines-encode-string)
113 (when longlines-wrap-follows-window-size 115 (when longlines-wrap-follows-window-size
114 (set (make-local-variable 'fill-column) 116 (set (make-local-variable 'fill-column)
@@ -148,6 +150,7 @@ are indicated with a symbol."
148 'longlines-window-change-function t) 150 'longlines-window-change-function t)
149 (when longlines-wrap-follows-window-size 151 (when longlines-wrap-follows-window-size
150 (kill-local-variable 'fill-column)) 152 (kill-local-variable 'fill-column))
153 (kill-local-variable 'isearch-search-fun-function)
151 (kill-local-variable 'require-final-newline) 154 (kill-local-variable 'require-final-newline)
152 (kill-local-variable 'buffer-substring-filters) 155 (kill-local-variable 'buffer-substring-filters)
153 (kill-local-variable 'use-hard-newlines))) 156 (kill-local-variable 'use-hard-newlines)))
@@ -381,6 +384,27 @@ This is called by `window-size-change-functions'."
381 (longlines-wrap-region (point-min) (point-max)) 384 (longlines-wrap-region (point-min) (point-max))
382 (set-buffer-modified-p mod)))) 385 (set-buffer-modified-p mod))))
383 386
387;; Isearch
388
389(defun longlinges-search-function ()
390 (cond
391 (isearch-word
392 (if isearch-forward 'word-search-forward 'word-search-backward))
393 (isearch-regexp
394 (if isearch-forward 're-search-forward 're-search-backward))
395 (t
396 (if isearch-forward
397 'longlines-search-forward
398 'longlines-search-backward))))
399
400(defun longlines-search-forward (string &optional bound noerror count)
401 (let ((search-spaces-regexp "[ \n]"))
402 (re-search-forward (regexp-quote string) bound noerror count)))
403
404(defun longlines-search-backward (string &optional bound noerror count)
405 (let ((search-spaces-regexp "[ \n]"))
406 (re-search-backward (regexp-quote string) bound noerror count)))
407
384;; Loading and saving 408;; Loading and saving
385 409
386(add-to-list 410(add-to-list
diff --git a/lisp/mail/supercite.el b/lisp/mail/supercite.el
index a180c6c67ce..b4ded1335b8 100644
--- a/lisp/mail/supercite.el
+++ b/lisp/mail/supercite.el
@@ -4,7 +4,7 @@
4;; 2005 Free Software Foundation, Inc. 4;; 2005 Free Software Foundation, Inc.
5 5
6;; Author: 1993 Barry A. Warsaw <bwarsaw@python.org> 6;; Author: 1993 Barry A. Warsaw <bwarsaw@python.org>
7;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk> 7;; Maintainer: Glenn Morris <rgm@gnu.org>
8;; Created: February 1993 8;; Created: February 1993
9;; Last Modified: 1993/09/22 18:58:46 9;; Last Modified: 1993/09/22 18:58:46
10;; Keywords: mail, news 10;; Keywords: mail, news
diff --git a/lisp/makefile.w32-in b/lisp/makefile.w32-in
index 20248dcf8c2..33b558db918 100644
--- a/lisp/makefile.w32-in
+++ b/lisp/makefile.w32-in
@@ -179,7 +179,7 @@ update-subdirs-SH: doit
179 $(srcdir)/update-subdirs $$file; \ 179 $(srcdir)/update-subdirs $$file; \
180 done; 180 done;
181 181
182updates: update-subdirs autoloads finder-data custom-deps 182updates: update-subdirs autoloads mh-autoloads finder-data custom-deps
183 183
184# Update the AUTHORS file. 184# Update the AUTHORS file.
185 185
@@ -210,7 +210,7 @@ TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2)
210# compiled find the right files. 210# compiled find the right files.
211 211
212# Need separate version for sh and native cmd.exe 212# Need separate version for sh and native cmd.exe
213compile: subdirs.el compile-$(SHELLTYPE) doit 213compile: subdirs.el mh-autoloads compile-$(SHELLTYPE) doit
214 214
215compile-CMD: 215compile-CMD:
216# -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g 216# -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g
@@ -285,9 +285,47 @@ compile-after-backup: backup-compiled-files compile-always
285# Note that this doesn't create .elc files. It only recompiles if an 285# Note that this doesn't create .elc files. It only recompiles if an
286# .elc is present. 286# .elc is present.
287 287
288recompile: doit 288recompile: mh-autoloads doit
289 $(emacs) -f batch-byte-recompile-directory $(lisp) 289 $(emacs) -f batch-byte-recompile-directory $(lisp)
290 290
291# Update MH-E internal autoloads. These are not to be confused with
292# the autoloads for the MH-E entry points, which are already in
293# loaddefs.el.
294MH_E_SRC = $(lisp)/mh-e/mh-acros.el $(lisp)/mh-e/mh-alias.el \
295 $(lisp)/mh-e/mh-comp.el $(lisp)/mh-e/mh-customize.el \
296 $(lisp)/mh-e/mh-e.el $(lisp)/mh-e/mh-funcs.el \
297 $(lisp)/mh-e/mh-mime.el $(lisp)/mh-e/mh-pick.el \
298 $(lisp)/mh-e/mh-print.el $(lisp)/mh-e/mh-inc.el \
299 $(lisp)/mh-e/mh-init.el $(lisp)/mh-e/mh-index.el \
300 $(lisp)/mh-e/mh-identity.el $(lisp)/mh-e/mh-junk.el \
301 $(lisp)/mh-e/mh-seq.el $(lisp)/mh-e/mh-speed.el \
302 $(lisp)/mh-e/mh-utils.el
303
304mh-autoloads: $(lisp)/mh-e/mh-loaddefs.el
305$(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC)
306 echo ";;; mh-loaddefs.el --- automatically extracted autoloads" > $@
307 echo ";;" >> $@
308 echo ";;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc." >> $@
309 echo ";;; Author: Bill Wohler <wohler@newt.com>" >> $@
310 echo ";;; Keywords: mail" >> $@
311 echo ";;; Commentary:" >> $@
312 echo ";;; Change Log:" >> $@
313 echo ";;; Code:" >> $@
314 $(EMACS) $(EMACSOPT) \
315 -l autoload \
316 --eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \
317 --eval "(setq generated-autoload-file \"$(lisp)/mh-e/mh-loaddefs.el\")" \
318 --eval "(setq make-backup-files nil)" \
319 -f batch-update-autoloads $(lisp)/mh-e
320 echo " " >> $@
321 echo "(provide 'mh-loaddefs)" >> $@
322 echo ";;; Local Variables:" >> $@
323 echo ";;; version-control: never" >> $@
324 echo ";;; no-byte-compile: t" >> $@
325 echo ";;; no-update-autoloads: t" >> $@
326 echo ";;; End:" >> $@
327 echo ";;; mh-loaddefs.el ends here" >> $@
328
291# Prepare a bootstrap in the lisp subdirectory. 329# Prepare a bootstrap in the lisp subdirectory.
292# 330#
293# Build loaddefs.el to make sure it's up-to-date. If it's not, that 331# Build loaddefs.el to make sure it's up-to-date. If it's not, that
@@ -319,7 +357,7 @@ bootstrap-clean-SH:
319# When done, remove bootstrap-emacs from ../bin, so that 357# When done, remove bootstrap-emacs from ../bin, so that
320# it will not be mistaken for an installed binary. 358# it will not be mistaken for an installed binary.
321 359
322bootstrap: update-subdirs autoloads compile finder-data custom-deps 360bootstrap: update-subdirs autoloads mh-autoloads compile finder-data custom-deps
323 - $(DEL) $(EMACS) 361 - $(DEL) $(EMACS)
324 362
325# 363#
diff --git a/lisp/mh-e/.gitignore b/lisp/mh-e/.gitignore
index 150b33984e4..19a8825a278 100644
--- a/lisp/mh-e/.gitignore
+++ b/lisp/mh-e/.gitignore
@@ -1 +1,2 @@
1mh-autoloads.el
1mh-loaddefs.el 2mh-loaddefs.el
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog
index 6836b3947cb..bbea09f669a 100644
--- a/lisp/mh-e/ChangeLog
+++ b/lisp/mh-e/ChangeLog
@@ -1,11339 +1,33 @@
12005-09-30 Bill Wohler <wohler@newt.com> 12005-10-14 Bill Wohler <wohler@newt.com>
2 2
3 * mh-customize.el (mh-refile-msg, mh-tool-bar-reply-from) 3 * mh-e.el, mh-funcs.el, mh-init.el, mh-mime.el, mh-pick.el:
4 (mh-tool-bar-reply-to, mh-tool-bar-reply-all) 4 * mh-seq.el, mh-utils.el: Ran mh-unit. Continued copyright lines
5 (mh-alias-grab-from-field, mh-pack-folder): Image files moved to 5 need to be indented.
6 etc/images/mail so added "mail/" prefix. 6
7 (mh-reply): Ditto. Also renamed reply2.* to reply.*. 7 * mh-seq.el (mh-non-seq-mode-line-annotation): Moved
8 (mh-rescan-folder): Ditto. Renamed image file to refresh.* since 8 make-variable-buffer-local call to top level to avoid warnings in
9 it can be used in the general sense. Does not have "mail/"
10 prefix.
11
122005-09-24 Emilio C. Lopes <eclig@gmx.net>
13
14 * mh-mime.el (mh-compose-forward, mh-mhn-compose-forw):
15 * mh-comp.el (mh-insert-letter):
16 * mh-utils.el (mh-prompt-for-folder):
17 Follow convention for reading with the minibuffer.
18
192005-09-19 Juanma Barranquero <lekktu@gmail.com>
20
21 * mh-print.el (mh-ps-print-msg-show): Fix misplaced parenthesis in
22 previous change.
23
242005-09-18 D Goel <deego@gnufans.org>
25
26 * mh-alias.el (mh-alias-ali): Fix `message' call: first arg
27 should be a format spec.
28
29 * mh-print.el (mh-ps-spool-buffer, mh-ps-spool-a-msg)
30 (mh-ps-print-msg, mh-ps-print-msg-show): Ditto.
31
32 * mh-mime.el (mh-toggle-mh-decode-mime-flag): Ditto.
33
34 * mh-index.el (mh-index-sequenced-messages): Ditto.
35
36 * mh-e.el (mh-refile-or-write-again, mh-page-msg): Ditto.
37
38 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist)
39 (mh-spamassassin-blacklist, mh-spamassassin-whitelist): Ditto.
40
412005-08-15 Dan Nicolaescu <dann@ics.uci.edu>
42
43 * mh-customize.el: Do not use face-alias compatibility for
44 faces that did not appear in the previous Emacs release.
45
462005-08-10 Lars Hansen <larsh@soem.dk>
47
48 * mh-e.el: Add handler to desktop-buffer-mode-handlers.
49 (mh-restore-desktop-buffer): Remove autoload cookie.
50 (mh-folder-mode): Add autoload cookie.
51
522005-07-04 Lute Kamstra <lute@gnu.org>
53
54 Update FSF's address in GPL notices.
55
562005-06-17 Lute Kamstra <lute@gnu.org>
57
58 * mh-customize.el (mh-folder-body-face, mh-folder-cur-msg-face)
59 (mh-folder-cur-msg-number-face): New backward-compatibility
60 aliases for renamed faces.
61
622005-06-17 Miles Bader <miles@gnu.org>
63
64 * mh-customize.el (mh-folder-body, mh-folder-cur-msg)
65 (mh-folder-cur-msg-number, mh-folder-date, mh-folder-followup)
66 (mh-folder-msg-number, mh-folder-refiled, mh-folder-subject)
67 (mh-folder-tick, mh-folder-to, mh-index-folder)
68 (mh-letter-header-field, mh-show-cc, mh-show-date)
69 (mh-show-header, mh-show-pgg-good, mh-show-pgg-unknown)
70 (mh-show-pgg-bad, mh-show-signature, mh-show-to, mh-show-from)
71 (mh-show-xface, mh-speedbar-folder, mh-speedbar-selected-folder)
72 (mh-speedbar-folder-with-unseen-messages)
73 (mh-speedbar-selected-folder-with-unseen-messages)
74 (mh-folder-msg-number, mh-folder-subject, mh-folder-followup)
75 (mh-folder-subject): Remove "-face" suffix from face names.
76 (mh-folder-body, mh-folder-cur-msg, mh-folder-cur-msg-number)
77 (mh-folder-date-face, mh-folder-followup-face)
78 (mh-folder-msg-number-face, mh-folder-refiled-face)
79 (mh-folder-subject-face, mh-folder-tick-face, mh-folder-to-face)
80 (mh-index-folder-face, mh-letter-header-field-face)
81 (mh-show-cc-face, mh-show-date-face, mh-show-header-face)
82 (mh-show-pgg-good-face, mh-show-pgg-unknown-face)
83 (mh-show-pgg-bad-face, mh-show-signature-face, mh-show-to-face)
84 (mh-show-from-face, mh-show-xface-face, mh-speedbar-folder-face)
85 (mh-speedbar-selected-folder-face)
86 (mh-speedbar-folder-with-unseen-messages-face)
87 (mh-speedbar-selected-folder-with-unseen-messages-face):
88 New backward-compatibility aliases for renamed faces.
89 (mh-folder-body-face, mh-folder-cur-msg-face)
90 (mh-folder-cur-msg-number-face, mh-folder-date-face)
91 (mh-folder-followup-face, mh-folder-msg-number-face)
92 (mh-folder-deleted-face, mh-folder-refiled-face)
93 (mh-folder-subject-face, mh-folder-address-face)
94 (mh-folder-scan-format-face, mh-folder-to-face)
95 (mh-index-folder-face, mh-show-cc-face, mh-show-date-face)
96 (mh-show-header-face, mh-show-pgg-good-face)
97 (mh-show-pgg-unknown-face, mh-show-pgg-bad-face)
98 (mh-show-to-face, mh-show-from-face, mh-show-subject-face)
99 (mh-speedbar-folder-with-unseen-messages)
100 (mh-speedbar-selected-folder-with-unseen-messages):
101 Use renamed MH-E faces.
102
103 * mh-utils.el (mh-letter-font-lock-keywords)
104 (mh-face-display-function): Use renamed MH-E faces.
105 * mh-speed.el (mh-folder-speedbar-buttons)
106 (mh-speed-update-current-folder, mh-speed-normal-face)
107 (mh-speed-bold-face, mh-speed-add-buttons)
108 (mh-speed-invalidate-map): Likewise.
109 * mh-mime.el (mh-signature-highlight): Likewise.
110
1112005-06-16 Juanma Barranquero <lekktu@gmail.com>
112
113 * mh-comp.el (mh-send-sub):
114 * mh-identity.el (mh-identity-field-handler):
115 * mh-mime.el (mh-secure-message):
116 Don't use `format' on `error' arguments.
117
1182005-06-14 Juanma Barranquero <lekktu@gmail.com>
119
120 * mh-mime.el (mh-secure-message): Follow error conventions.
121
1222005-05-28 Bill Wohler <wohler@newt.com>
123
124 Released MH-E version 7.84.
125
126 * MH-E-NEWS, README: Updated for release 7.84.
127
128 * mh-e.el (Version, mh-version): Updated for release 7.84.
129
1302005-05-28 Bill Wohler <wohler@newt.com>
131
132 * mh-e.el, mh-comp.el: Don't autoload Info-goto-node. It's not
133 used, and if it were, the code should use the info function
134 instead.
135
136 Use full year in copyright notices (for example, 2005, not 05).
137
138 * Makefile (mh-loaddefs.el, mh-e-autoloads.el): Added 2005 to
139 copyright notice.
140
141 * mh-inc.el: Use three ;;; to precede Local Variables to be
142 consistent with other files. Will have to ask Stefan Monnier why
143 he changed it.
144
145 * README: This version of MH-E to appear in GNU Emacs 22.1, not
146 21.5.
147
148 * ChangeLog: The * in a ChangeLog entry must only be used before a
149 filename.
150
151 Fixed compilation warnings in CVS Emacs. This included using
152 "public" functions instead of "private" ones (info instead of
153 Info-goto-node, view-mode-enter instead of view-mode), and
154 removing a customization group that didn't have a parent group. In
155 addition, string-to-int was recently deprecated; use
156 string-to-number instead.
157
158 * mh-customize.el (Info-goto-node): Deleted autoload.
159 (mh-e): Deleted mh group. Use single mh-e group instead.
160 (mh-tool-bar-folder-help, mh-tool-bar-letter-help): Use info
161 instead of Info-goto-node.
162
163 * mh-e.el (mh-read-msg-list): string-to-int deprecated; use
164 string-to-number.
165
166 * mh-funcs.el (mh-list-folders): Use view-mode-enter instead of
167 view-mode.
168
169 * mh-seq.el (mh-list-sequences): Use view-mode-enter instead of
170 view-mode.
171
172 * mh-utils.el (mh-get-msg-num): string-to-int deprecated; use
173 string-to-number.
174
175 Merged in changes from CVS Emacs including:
176
177 * mh-utils.el (mh-show-mode):
178 * mh-pick.el (mh-pick-mode): Remove spurious run-hooks. Lute
179 Kamstra <lute@gnu.org> 2005-05-26.
180
1812005-05-25 Bill Wohler <wohler@newt.com>
182
183 Merged in changes from CVS Emacs including:
184
185 * mh-customize.el (mh-speedbar-selected-folder-face): Special case
186 high number of colors displays. Dan Nicolaescu <dann@ics.uci.edu>
187 2005-04-08.
188
189 * mh-e.el, mh-identity.el, mh-mime.el: Replace `legal' with
190 `valid'. Replace `illegal' with `invalid'. Werner Lemberg
191 <wl@gnu.org> 2005-03-25.
192
193 * mh-inc.el (mh-inc-spool-list): Correctly declare the external
194 var. Stefan <monnier@iro.umontreal.ca> 2004-09-07.
195
1962005-05-18 Bill Wohler <wohler@newt.com>
197
198 * mh-comp.el (mh-reply): Mention use of mh-repl-group-formfile in
199 docstring.
200
2012005-05-05 Bill Wohler <wohler@newt.com>
202
203 * mh-e.el (Version, mh-version): Added +cvs to release number.
204
2052005-05-05 Bill Wohler <wohler@newt.com>
206
207 Released MH-E version 7.83.
208
209 * MH-E-NEWS, README: Updated for release 7.83.
210
211 * mh-e.el (Version, mh-version): Updated for release 7.83.
212
2132005-05-05 Bill Wohler <wohler@newt.com>
214
215 * README: To appear in Emacs 21.5, since 21.4 was released (but
216 without the latest MH-E).
217
218 * release-utils (usage): Added --variable-changes.
219
2202005-05-04 Bill Wohler <wohler@newt.com>
221
222 * mh-customize.el (*-face): Made docstrings consistent.
223
224 * mh-seq.el (mh-pick-args-list): Extracted function for turning
225 string of pick arguments to list. Fixed list so that multi-word
226 arguments were put in a single string (closes SF #1122655).
227 (mh-edit-pick-expr): Use it.
228
229 * mh-unit.el (mh-unit): Since 21.4 snuck out but didn't contain
230 updated lm-verify, don't run lm-verify on versions before 21.5.
231 (mh-unit-test-pick-args-list): Added.
232
233 * mh-customize.el (mh-yank-from-start-of-msg): Use headline
234 capitalization. Changed wording of some choices to be more consistent.
235 (mh-invisible-header-fields-internal): Added fields from usa.net.
236
2372005-04-24 Satyaki Das <satyaki@theforce.stanford.edu>
238
239 * mh-mime.el (mh-mime-security-button-face): New function which
240 determines the face to use to colorize encrypted or signed emails.
241 (mh-insert-mime-security-button): Modified to colorize the button
242 differently based on whether the signature was valid or not,
243 whether the decryption was successful or not, etc.
244
245 * mh-customize.el (mh-show-pgg-good-face)
246 (mh-show-pgg-unknown-face, mh-show-pgg-bad-face): Faces added to
247 highlight buttons introduced for encrpted or signed MIME parts.
248
2492005-03-19 Bill Wohler <wohler@newt.com>
250
251 * mh-customize.el (mh-mml-method-default): Sorted alphabetically.
252 (mh-insert-x-mailer-flag, mh-reply-show-message-flag): Moved from
253 mh-letter group to mh-sending-mail group. The writing of the
254 documentation revealed that these options were misplaced.
255
2562005-03-17 Bill Wohler <wohler@newt.com>
257
258 * mh-customize.el (mh-junk-background): Put in alphabetical order.
259 Synced with manual.
260 (mh-junk-program): Use double-quotes on non-symbols.
261
262 * mh-pick.el: (mh-search-folder): Synced docstrings with manual.
263
264 * mh-index.el: (mh-index-search, mh-pick-execute-search)
265 (mh-grep-execute-search, mh-mairix-execute-search)
266 (mh-swish-execute-search, mh-swish++-execute-search)
267 (mh-namazu-execute-search): Synced docstrings with manual. Note
268 that I'm now grabbing the output of an Info buffer which is why
269 the indents on the examples has changed a bit. If we all use that
270 methodology in the future, we shouldn't produce as many gratuitous
271 diffs. I also noticed that `grep' and `search' became links to
272 unrelated things, so let's use double-quotes for quoting
273 non-symbols in the docstrings.
274
275 * mh-customize.el (mh-index-new-messages-folders)
276 (mh-index-ticked-messages-folders): Synced docstrings with manual.
277
2782005-02-16 Satyaki Das <satyaki@theforce.stanford.edu>
279
280 * mh-index.el (mh-swish-execute-search): Simplify the indexing
281 recipe for swish. Thanks to Eric Jensen for the suggestion.
282
2832005-02-11 Satyaki Das <satyaki@theforce.stanford.edu>
284
285 * mh-index.el (mh-swish-execute-search)
286 (mh-swish++-execute-search): Make the indexing recipes better.
287 (mh-swish-next-result): The indexer might find matches in files
288 that aren't messages. Make the function handle that case
289 gracefully.
290
2912005-02-07 Bill Wohler <wohler@newt.com>
292
293 * mh-customize.el (mh-inc-prog, mh-inc-spool-list): Synced
294 docstrings with manual.
295
2962005-02-06 Bill Wohler <wohler@newt.com>
297
298 * mh-junk.el (mh-spamassassin-blacklist): Removed trailing
299 whitespace.
300
301 * mh-e.el (mh-refile-or-write-again): Checkdoc fix.
302
303 * mh-identity.el (mh-identity-list-set)
304 (mh-identity-field-handler, mh-identity-handler-gpg-identity)
305 (mh-identity-handler-signature)
306 (mh-identity-handler-attribution-verb)
307 (mh-identity-handler-default, mh-identity-handler-top): Docstring
308 editing.
309
310 * mh-customize.el (mh-identity-list, mh-auto-fields-list)
311 (mh-identity-default, mh-identity-handlers): Synced docstrings
312 with manual.
313
3142005-02-03 Bill Wohler <wohler@newt.com>
315
316 * mh-xemacs.el (define-behavior 'mh): Moved Ben's code here from
317 mh-e.el and added standard documentation.
318
319 * mh-e.el: Received patch from Ben Wing <ben@666.com> to add
320 define-behavior on XEmacs.
321
3222005-01-28 Jeffrey C Honig <jch@honig.net>
323
324 * mh-customize.el (mh-invisible-header-fields-internal): Added
325 X-Evolution header added by Evolution mai client.
326
3272005-01-18 Bill Wohler <wohler@newt.com>
328
329 * mh-customize.el (mh-invisible-header-fields-internal): Added
330 DomainKey-Signature (http://antispam.yahoo.com/domainkeys/).
331 There's a Comment field that goes with it, but I thought it was
332 too general to add.
333
3342005-01-06 Bill Wohler <wohler@newt.com>
335
336 * mh-junk.el (mh-spamassassin-blacklist): Fixed typo to fix an
337 error when junking spamassassin mail when mh-junk-background is
338 turned on.
339
3402004-12-25 Satyaki Das <satyaki@theforce.stanford.edu>
341
342 * mh-utils.el (mh-show-unquote-From): Make the buffer writable
343 before trying to change it (closes SF #1089870).
344
345 * mh-comp.el (mh-complete-word): Fix a typo in a variable
346 name (closes SF #1089870)
347
3482004-11-28 Jeffrey C Honig <jch@honig.net>
349
350 * mh-comp.el (mh-complete-word): Kill the *Completions* buffer in
351 any cases where we belive we are done with it. Not perfect, but
352 better than just leaving it around.
353
3542004-11-08 Satyaki Das <satyaki@theforce.stanford.edu>
355
356 * mh-acros.el (mh-funcall-if-exists): In XEmacs, presence of a
357 function at compile time doesn't guarantee it's existence at run
358 time. So make the macro handle that situation better.
359
3602004-11-05 Satyaki Das <satyaki@theforce.stanford.edu>
361
362 * mh-acros.el (advice): Load advice, since it isn't loaded in
363 XEmacs causing compilation problems.
364
3652004-10-24 Satyaki Das <satyaki@theforce.stanford.edu>
366
367 * mh-index.el (mh-mairix-execute-search)
368 (mh-mairix-regexp-builder): Update the interface to mairix so that
369 it will work with versions of mairix 0.12 and later.
370
371 * mh-funcs.el (mh-rmf-daemon): Avoid using
372 beginning-of-buffer since it clobbers the mark and it was pointed
373 out on the Emacs developers list to be the wrong thing to do.
374
375 * mh-e.el (mh-inc-folder): Only remove the window on the show
376 buffer. This means if the user has BBDB enabled then the window
377 displaying BBDB information isn't clobbered.
378 (mh-refile-or-write-again): Don't use the function
379 interactive-p. There was a long thread on the Emacs developers
380 list where it was pointed out that it is incorrect to use this
381 function most of the time.
382
383 * mh-comp.el (autoload): Don't set auto-mode-alist. This could
384 screw things up for users that don't use MH-E (closes SF #1032353).
385
3862004-10-13 Satyaki Das <satyaki@theforce.stanford.edu>
387
388 * mh-e.el (mh-refile-or-write-again): Generalize the function to
389 work on a range of messages (closes SF #1046330).
390
3912004-09-02 Satyaki Das <satyaki@theforce.stanford.edu>
392
393 * mh-e.el (mh-process-commands): The concurrent execution of mark
394 and refile can cause problems since both the commands change the
395 current folder. This change avoids that by getting rid of the
396 concurrency. Another change covers the corner case where we refile
397 messages to a previously empty folder. Before the modification
398 sequences weren't preserved even if the appropriate flag was
399 set. That is no longer the case.
400
4012004-08-26 Satyaki Das <satyaki@theforce.stanford.edu>
402
403 * mh-e.el (mh-get-new-mail): Also, update the unseen sequence from
404 disk. Otherwise, the new messages aren't highlighted.
405
406 * mh-seq.el (mh-thread-inc): Fix a bug which appears when inc is
407 run in a narrowed folder. The user sequence notation was getting
408 lost. The change fixes that.
409
410 * mh-e.el (mh-get-new-mail): Make inc more efficient by reusing
411 the existing user sequence notation and deleted/refiled notation.
412
4132004-08-24 Bill Wohler <wohler@newt.com>
414
415 * mh-e.el (Version, mh-version): Added +cvs to release number.
416
4172004-08-24 Bill Wohler <wohler@newt.com>
418
419 Released MH-E version 7.82.
420
421 * MH-E-NEWS, README: Updated for release 7.82.
422
423 * mh-e.el (Version, mh-version): Updated for release 7.82.
424
4252004-08-24 Bill Wohler <wohler@newt.com>
426
427 * mh-init.el (mh-variant-set): Change MH to mh as that's what is
428 emitted by `mh-variant-mh-info' (closes SF #1014781).
429 (mh-variant-p): Add mu-mh to docstring.
430
4312004-08-23 Satyaki Das <satyaki@theforce.stanford.edu>
432
433 * mh-acros.el (mh-require-cl): Remove unneeded autoloads.
434 (require): Add an advice to the function so that at compile time
435 the uncompiled file is loaded. This avoids compilation problems
436 when built in the Emacs tree.
437
438 * mh-mime.el (mh-identity-pgg-default-user-id): Defvar the
439 variable, to avoid compiler warnings.
440
441 * mh-e.el (mh-seq): Load mh-seq since functions defined there are
442 used here. Without this, the state mh-seq.elc would be loaded.
443
444 * mh-customize.el (mh-init, mh-identity): Load mh-init and
445 mh-identity at compile time manually, before the corresponding
446 stale elc files get autoloaded.
447
4482004-08-21 Bill Wohler <wohler@newt.com>
449
450 * mh-e.el (Version, mh-version): Add +cvs to release number.
451
4522004-08-21 Bill Wohler <wohler@newt.com>
453
454 Released MH-E version 7.81.
455
456 * MH-E-NEWS, README: Updated for release 7.81.
457
458 * mh-e.el (Version, mh-version): Updated for release 7.81.
459
4602004-08-21 Bill Wohler <wohler@newt.com>
461
462 * release-utils (variable_changes): Check for checked-out
463 directory before proceeding. Remove temporary files.
464 Rename --variable-update flag to --variable-changes.
465
4662004-08-16 Mark D. Baushke <mdb@gnu.org>
467
468 * mh-mime.el (mh-toggle-mh-decode-mime-flag: New function.
469 * mh-e.el (mh-help-messages): Add [;] help string for it.
470 (mh-folder-mode-map): Add ";" key binding for it.
471
4722004-08-15 Satyaki Das <satyaki@theforce.stanford.edu>
473
474 * mh-acros.el (mh-defstruct): Distinguishing structures created
475 by mh-defstruct just based on the number of fields is not
476 sufficient, since both the mh-thread-message and
477 mh-thread-container structures have the same length.
478
4792004-08-15 Mark D. Baushke <mdb@gnu.org>
480
481 * mh-customize.el (mh-identity-handlers): Use ":default" instead of
482 "default" to avoid problems with "Default:" as a user defined field.
483 * mh-identity.el (mh-identity-field-handler): Ditto.
484
4852004-08-15 Bill Wohler <wohler@newt.com>
486
487 * mh-e.el (Version, mh-version): Added +cvs to release number.
488
4892004-08-15 Bill Wohler <wohler@newt.com>
490
491 Released MH-E version 7.4.80.
492
493 * MH-E-NEWS, README: Updated for release 7.4.80.
494
495 * mh-e.el (Version, mh-version): Updated for release 7.4.80.
496
4972004-08-15 Bill Wohler <wohler@newt.com>
498
499 * mh-funcs.el, mh-gnus.el, mh-inc.el, mh-init.el, mh-junk.el,
500 mh-pick.el, mh-print.el, mh-xemacs.el: Added 2004 to Copyright.
501
502 * mh-acros.el, mh-alias.el: Checkdoc fixes.
503
5042004-08-12 Satyaki Das <satyaki@theforce.stanford.edu>
505
506 * mh-acros.el (cl): Load cl in this file. That is all right, since
507 this file is only used at compile time, and so cl doesn't get
508 loaded at run time. This avoids problems with stale *.elc files
509 present in the Emacs source tree during compilation.
510 (mh-defstruct): Modify it to make it more CL like and in the
511 process simplify it a bit. This makes the argument list of the
512 constructor compatible with the previous version, thereby avoiding
513 a compilation error when an old version of mh-seq.elc is present.
514
515 * mh-seq.el (mh-thread-id-container, mh-thread-get-message)
516 (mh-thread-get-message-container): Revert back to the CL style
517 of using keyword arguments, since the mh-defstruct now produces
518 code compatible to such usage.
519
5202004-08-11 Satyaki Das <satyaki@theforce.stanford.edu>
521
522 * mh-acros.el (mh-defstruct, mh-require-cl): Checkdoc fixes.
523
524 * mh-utils.el (message-tokenize-header, message-fetch-field): Add
525 autoloads.
526 (mh-folder-completing-read): Make the folder completion look
527 better with CVS Emacs.
528
529 * mh-init.el (mh-variant-set): Remove dead code.
530
5312004-08-11 Bill Wohler <wohler@newt.com>
532
533 * *.el: Use the following at the top of each file which seems to
534 do a good job of suppressing compilation warnings in 21.3 and CVS
535 Emacs (21.4). This replaces (require 'cl) or (require
536 'utils) (mh-require-cl) calls:
537
538 (eval-when-compile (require 'mh-acros))
539 (mh-require-cl)
540
5412004-08-10 Bill Wohler <wohler@newt.com>
542
543 * release-utils (DESCRIPTION): Added one.
544 (FILES, SEE ALSO, VERSION): Deleted empty and incorrect sections.
545
546 * mh-e.el (mh-colors-available-p): Call x-display-color-cells with
547 mh-funcall-if-exists since it no longer seems to be defined in
548 GNU Emacs 21.4.
549
5502004-08-10 Satyaki Das <satyaki@theforce.stanford.edu>
551
552 * mh-speed.el (mh-process-kill-without-query, mh-speed-flists):
553 Avoid a compiler warning in versions of Emacs where
554 process-kill-without-query is a deprecated function.
555
556 * mh-seq.el (mh-thread-message, mh-thread-container): Use
557 mh-defstruct instead of defstruct.
558 (mh-thread-id-container, mh-thread-get-message-container)
559 (mh-thread-get-message): Use the slightly different structure
560 constructor function.
561
562 * mh-acros.el (mh-defstruct): New macro which is a partial
563 replacement of the defstruct in CL.
564 (no-byte-compile): Don't compile the file since it isn't loaded at
565 run time, so efficiency isn't an issue.
566
567 * mh-utils.el (mh-buffer-data): Use mh-defstruct instead of
568 defstruct.
569
5702004-08-09 Satyaki Das <satyaki@theforce.stanford.edu>
571
572 * mh-funcs.el, mh-junk.el, mh-print.el: Use mh-require-cl to avoid
573 compilation warnings in Emacs-21.3.
574
575 * mh-acros.el (mh-require-cl): Add autoloads of CL functions used.
576
5772004-08-09 Bill Wohler <wohler@newt.com>
578
579 * mh-customize.el (mh-show-use-xface-flag): Mention that `fetch' and
580 `curl' are supported as well.
581
5822004-08-08 Bill Wohler <wohler@newt.com>
583
584 * mh-xemacs.el (mh-xemacs-has-toolbar-flag): Checkdoc fixes.
585
586 * mh-mime.el (mh-display-with-external-viewer): Checkdoc fixes.
587
588 * mh-identity.el: (mh-identity-attribution-verb-end): Stripped
589 trailing space; checkdoc fixes.
590
591 * mh-e.el (mh-restore-desktop-buffer): Checkdoc fixes.
592
593 * mh-customize.el: (mh-inc-spool-list,
594 mh-compose-forward-as-mime-flag, defcustom): Stripped trailing
595 space; checkdoc fixes.
596
597 * mh-comp.el (mh-reply): Stripped trailing space.
598
599 * mh-unit.el (mh-unit-files): Added mh-acros.el and mh-gnus.el.
600 (mh-unit): Don't lm-verify pre-21.4. Save buffers before killing
601 since we might have done some editing.
602
603 * import-emacs: Deleted. Functionality subsumed by release-utils.
604
605 * release-utils: New script. Performs import-emacs functionality
606 and displays new and deleted options.
607
608 * Makefile (import-emacs): Call release-utils instead of
609 import-emacs.
610
611 * mh-funcs.el (mh-undo-folder): Removed deprecated `ignore'
612 argument.
613
614 * mh-e.el (mh-scan-date-regexp): Deleted as Peter claims it is
615 obsolete.
616 (mh-folder-font-lock-keywords): Removed reference to deleted
617 variable `mh-scan-date-regexp'.
618
619 * mh-customize.el (mh-auto-fields-prompt-flag): Made reference to
620 `mh-auto-fileds-lists'.
621 (mh-forward-hook): Fixed docstring typo.
622
6232004-08-07 Bill Wohler <wohler@newt.com>
624
625 * mh-acros.el: New file. Currently holds macros needed by
626 mh-customize.el but is planned to hold all macros to avoid
627 dependency problems when compiling.
628
629 * mh-utils.el (mh-xemacs-flag): Defined in mh-customize.el now.
630 (mh-require-cl, mh-do-in-gnu-emacs, mh-do-in-xemacs)
631 (mh-funcall-if-exists, mh-make-local-hook, mh-mark-active-p):
632 Moved to new file mh-acros.el.
633
634 * mh-customize.el: Require mh-acros and cl only when compiling and
635 mh-loaddefs at runtime instead of mh-utils.
636 (mh-xemacs-flag): Define it here instead of mh-utils.el.
637
638 * Makefile (MH-E-SRC): Added mh-acros.el.
639
640 * mh-gnus.el (default-enable-multibyte-characters): Don't define
641 any more. It doesn't seem to be needed.
642
643 * mh-customize.el (mh-junk-background): New variable. If on, spam
644 programs are run in background. Running in foreground can be slow.
645 Defaults to nil to spare machines with little memory.
646
647 * mh-junk.el (mh-spamassassin-blacklist, mh-bogofilter-blacklist)
648 (mh-bogofilter-whitelist, mh-spamprobe-blacklist)
649 (mh-spamprobe-whitelist): Use new option mh-junk-background.
650
6512004-07-25 Satyaki Das <satyaki@theforce.stanford.edu>
652
653 * mh-utils.el (mh-folder-completing-read): In recent CVS Emacs,
654 the first letter of the possible choices in the completion buffer
655 is highlighted. The change is needed for this feature to work
656 during folder name completion. This is not entirely sufficient,
657 since the leading "+" in folder names is still mishandled. A patch
658 is required in Emacs itself to address that.
659
6602004-07-22 Mark D. Baushke <mdb@gnu.org>
661
662 * mh-e.el (recursive-load-depth-limit): Move
663 recursive-load-depth-limit code to ...
664 * mh-utils.el (recursive-load-depth-limit): ... here to avoid
665 problems compiling mh-utils.el and mh-alias.el with gnus-5.10.6
666 under emacs-21.1. Use eval-and-compile instead of eval-when.
667
6682004-07-20 Bill Wohler <wohler@newt.com>
669
670 * mh-customize.el (mh-invisible-header-fields-internal): Added
671 header fields emitted by T-Mobile picture phones (X-Mms-*, and
672 commented out X-Operator field saying it's like X-Mailer).
673
6742004-07-12 Bill Wohler <wohler@newt.com>
675
676 * mh-gnus.el: Set local variables indent-tabs-mode and
677 sentence-end-double-space to nil.
678
679 * mh-customize.el: Checkpoint from option docstring updates and
680 manual synchronization from last summer. For the options listed
681 below, docstring was usually completely rewritten. Use "on"
682 instead of "t" in docstring to match what is seen in customization
683 buffer. Use headline capitalization. Standardize on "Auto-detect"
684 text when option has that capibility.
685 (mh): Since we work on more than one type of Emacs, use Emacs
686 instead of GNU Emacs. Prefer GNU mailutils over GNU Mailutils.
687 (mh-variant): s/Autodetect at startup/Auto-detect/.
688 (mh-alias-insertion-location): s/Sorted
689 alphabetically/Alphabetical/. s/At the top of file/Top/. s/At the
690 bottom of file/Bottom/.
691 (mh-alias-local-users-prefix): s/Use login instead of real
692 name/Use Login/.
693 (mh-identity-list): Sorted values by fields, attribution,
694 signature, GPG key.
695 (mh-auto-fields-list): Missing quote.
696 (mh-compose-insertion): s/Use Gnus/Gnus/. s/Use mhn/mhn/.
697 (mh-compose-space-does-completion-flag): s/SPACE/<SPC>/.
698 (mh-extract-from-attribution-verb): Since we have French, added
699 German too ;-).
700 (mh-letter-complete-function): Mention default in docstring.
701 (mh-invisible-header-fields-internal): Added X-ELNK-Trace from
702 Earthlink.
703 (mh-alias-flash-on-comma, mh-alias-insert-file)
704 (mh-alias-passwd-gecos-comma-separator-flag)
705 (mh-recenter-summary-flag, mh-default-folder-for-message-function)
706 (mh-default-folder-must-exist-flag, mh-index-program)
707 (mh-index-ticked-messages-folders, mh-ins-buf-prefix)
708 (mh-delete-yanked-msg-window-flag, mh-identity-default): See
709 summary above.
710
711 * mh-init.el (mh-variant-set, mh-sys-path, mh-variant-mu-mh-info):
712 Prefer GNU mailutils over GNU Mailutils MH.
713
714 * mh-comp.el (sc-cite-original, mh-smail, mh-smail-batch)
715 (mh-edit-again, mh-extract-rejected-mail, mh-forward)
716 (mh-smail-other-window, mh-reply, mh-send, mh-send-other-window):
717 Use `mh-send' instead of \\[mh-send]] since links in the docstring
718 are more useful than a key sequence in these cases. Use "See also"
719 instead of "See also documentation for".
720
721 Merged in 7.4.4 changes, described below.
722
723 * mh-e.el (Version, mh-version): Set to 7.4.4+cvs.
724
7252004-07-10 Bill Wohler <wohler@newt.com>
726
727 Released MH-E version 7.4.4.
728
729 * MH-E-NEWS, README: Updated for release 7.4.4.
730
731 * mh-e.el (Version, mh-version): Updated for release 7.4.4.
732
733 This patch release contains the following patches:
734
735 * mh-xemacs.el: New file from concatenation of mh-xemacs-compat.el
736 and mh-xemacs-icons.el which were removed since their names
737 exceeded DOS 8+3 limits.
738
739 * Makefile:
740 (mh-e-autoloads.el): Add target to make `mh-e-autoloads.el', a
741 file containg usual entry commands into MH-E to be used for users
742 installing MH-E separately from Emacs.
743 (XEMACS_LOADDEFS_FILE): New. Used to generate mh-loaddefs.el
744 in XEmacs.
745 (XEMACS_LOADDEFS_COOKIE): Ditto.
746 (XEMACS_LOADDEFS_PKG_NAME): Ditto.
747 (XEMACS_OPTIONS): Add '-no-autoloads' to give a cleaner build
748 environment.
749 (MH-E-SRC): Moved mh-xemacs.el to new variable MH-E-XEMACS-SRC.
750 (MH-E-XEMACS-SRC): New variable to hold XEmacs source files.
751 (MH-E-XEMACS-OBJ): New variable to hold XEmacs object files.
752 (clean): Moved XEmacs-specific code to clean-xemacs.
753 (xemacs): Added clean-xemacs prerequisite. Moved down to XEmacs
754 section of file. Add target to build mh-loaddefs.el in XEmacs
755 (loaddefs-xemacs): New rule to build mh-loaddefs.el in XEmacs.
756 (clean-xemacs): New target to remove XEmacs-specific files.
757 (compile-xemacs): New. It allows for the '-no-autoloads' option
758 and byte-compiles all the source files with a single instance of
759 XEmacs.
760 (dist): Added $(MH-E-XEMACS-SRC) to tarball.
761 (AUTO_PRELOADS): Removed, in favour of 'AUTOLOAD_PACKAGE_NAME' and
762 'AUTOLOAD_FILE'.
763 (AUTOLOAD_PACKAGE_NAME): New.
764 (AUTOLOAD_FILE): New.
765 (all): Don't set $EMACS_HOME if building with XEmacs.
766 (xemacs): Use 'compile-xemacs' instead of 'compile'.
767 (auto-autoloads.elc): Use new $AUTOLOAD_* vars and allow for
768 '-no-autoloads'.
769 (custom-load.elc): Allow for '-no-autoloads'.
770
771 * mh-e.el: Don't require mh-xemacs-compat which no longer exists.
772 The XEmacs stuff gets required by mh-customize.el which is
773 required by mh-utils.el which is required by mh-e.el. This all
774 happens before mh-xemacs-compat was required, so all should be
775 well.
776 (mh-restore-desktop-buffer): Move from desktop.el. Add Parameters.
777 (mh-restore-desktop-buffer): Delete with-no-warnings.
778 (mh-folder-mode): Bind desktop-save-buffer to t.
779 (Courtesy Lars Hansen).
780
781 * mh-alias.el (mh-assoc-ignore-case): New macro to use
782 assoc-string when available (Emacs 21.4+); assoc-ignore-case
783 otherwise.
784 (mh-alias-reload, mh-alias-expand,
785 mh-alias-minibuffer-confirm-address): Use it.
786
787 * mh-seq.el: Added mh-autoload to mh-read-seq-default.
788
789 * mh-utils.el (mh-require-cl): The Emacs coding conventions
790 require that the cl package not be required at runtime. However,
791 the cl package in versions of Emacs prior to 21.4 left cl routines
792 in their macro expansions. Use mh-require-cl to provide the cl
793 routines in the best way possible (closes SF #930012).
794 (require 'mouse): To shush compiler.
795
796 Use new function mh-require-cl throughout.
797
798 Add arch taglines (courtesy Miles Bader).
799
800 * mh-unit.el (mh-unit-files): Replaced mh-xemacs-compat.el and
801 mh-xemacs-icons.el with mh-xemacs.el.
802
803 * import-emacs: Also grab the ChangeLog.
804
805 * *.pbm: Regenerated using GIMP to be consistent with other Emacs
806 icons.
807 1. Edit .xpm image in GIMP.
808 2. Image > Mode > Indexed. Check Use Black/White Palette and No
809 Color Dithering.
810 3. File > Save As file.xbm.
811 4. Run xbmtopbm < file.xbm > file.pbm.
812 Thanks to jan.h.d@swipnet.se for the help.
813
8142004-07-07 Stephen Gildea
815
816 * mh-customize.el (mh-invisible-header-fields-internal):
817 Add X-Greylist, X-Source*, and X-WebTV-Signature.
818 Replace specific X-Spam-* headers with general pattern.
819
8202004-06-15 Bill Wohler <wohler@newt.com>
821
822 * README: Vladimir Ivanovic reports that mh-rmail works with
823 XEmacs 21.5.17, so updated requirements text accordingly (closes
824 SF #644321).
825
8262004-05-12 Satyaki Das <satyaki@theforce.stanford.edu>
827
828 * mh-utils.el (mh-mail-header-end): Replace call to
829 rfc822-goto-eoh with something that allows From_ lines in the mail
830 header.
831
8322004-04-14 Bill Wohler <wohler@newt.com>
833
834 * mh-utils.el (mh-show-mouse): s/EVENT/event/. Thanks to John Paul
835 Wallington <jpw@gnu.org> for pointing this out.
836
8372004-04-12 Satyaki Das <satyaki@theforce.stanford.edu>
838
839 * mh-e.el (mh-folder-size-flist): Add -showzero option so that the
840 parsing code doesn't get confused by the presence of -noshowzero
841 in the user's .mh_profile (closes SF #933954).
842
8432004-04-07 Satyaki Das <satyaki@theforce.stanford.edu>
844
845 * mh-mime.el (mh-insert-mime-button)
846 (mh-insert-mime-security-button): Add evaporate property to
847 overlays used in MIME part buttons. This avoids problems with
848 CVS Emacs. 9 CVS Emacs.
849 10
8502004-03-16 Satyaki Das <satyaki@theforce.stanford.edu> 11 * mh-comp.el (mh-insert-letter): Replaced deprecated read-input
851 12 with read-string.
852 * mh-e.el (mh-folder-from-address): Go to the end of buffer if the
853 re-search-forward fails (closes SF #917096).
854
8552004-02-02 Satyaki Das <satyaki@theforce.stanford.edu>
856
857 * mh-customize.el (mh-compose-forward-as-mime-flag): New user
858 customizable variable that controls whether messages are forwarded
859 as MIME attachments (closes SF #827203).
860
861 * mh-comp.el (mh-forward): Call forw with -mime option only if
862 mh-compose-forward-as-mime-flag is non-nil.
863
8642003-12-26 Jeffrey C Honig <jch@honig.net>
865
866 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist)
867 (mh-spamassassin-blacklist, mh-spamassassin-blacklist)
868 (mh-spamassassin-blacklist, mh-spamassassin-whitelist)
869 (mh-spamassassin-whitelist, mh-bogofilter-blacklist)
870 (mh-spamprobe-blacklist): Add progress messages. Change "Couldn't"
871 to "Unable" in error messages. Run bogofilter and spamprobe in
872 the foreground to prevent a large number of processes from
873 swamping the system.
874
8752003-12-25 Satyaki Das <satyaki@theforce.stanford.edu>
876
877 * mh-e.el (mh-prompt-for-refile-folder): Marking the whole folder
878 and then refiling all messages throws an error, since this
879 function expects point to be on a valid scan line. The change
880 relaxes this requirement, thereby avoiding the above problem.
881
8822003-12-14 Satyaki Das <satyaki@theforce.stanford.edu>
883
884 * mh-comp.el (mh-ascii-buffer-p): New function that checks if a
885 buffer is entirely composed of ASCII.
886 (mh-send-letter): Encode the draft if it contains non-ASCII
887 characters.
888
8892003-12-12 Satyaki Das <satyaki@theforce.stanford.edu>
890
891 * mh-customize.el (mh-invisible-headers): Keep only unique fields
892 in list of header fields to hide. This avoids problems in XEmacs.
893
8942003-12-10 Satyaki Das <satyaki@theforce.stanford.edu>
895
896 * mh-seq.el (mh-thread-print-scan-lines): The imenu index was not
897 getting created for threaded index buffers. The change fixes this.
898
899 * mh-index.el (mh-index-insert-folder-headers): Always create the
900 imenu index.
901 (mh-index-create-imenu-index): Set which-func-mode to t. If
902 which-function-mode is turned on after the folder buffer has been
903 prepared, display of the folder info was being inhibited. The
904 change fixes that.
905
9062003-12-09 Satyaki Das <satyakid@stanford.edu>
907
908 * mh-comp.el (mh-letter-mode): Setup mh-mail-header-separator
909 based on draft contents.
910 (mh-letter-mode, mh-letter-mail-header-end-marker)
911 (mh-letter-header-end): Remove use of the variable
912 mh-letter-mail-header-end-marker. Instead use
913 mh-mail-header-separator. This avoids problems in font locking
914 draft buffers (closes SF #855479).
915
9162003-12-09 Satyaki Das <satyakid@stanford.edu>
917
918 * mh-index.el (mh-index-insert-folder-headers): Modified so that
919 imenu--index-alist is updated.
920 (mh-index-create-imenu-index): New function that generates an
921 index usable by imenu. This adds which-func-mode support to index
922 folders (closes SF #855520).
923
924 * mh-e.el (which-func, which-func-modes): Tell which-func that
925 mh-folder-mode supports it.
926 (mh-folder-mode): Add support for imenu.
927
9282003-11-22 Peter S Galbraith <psg@debian.org>
929
930 * Makefile: renamed mh-startup.el to mh-e-autoloads.el
931
932 * README: renamed mh-startup.el to mh-e-autoloads.el
933
934 * .cvsignore: Added mh-e-autoloads.el
935
9362003-11-18 Bill Wohler <wohler@newt.com>
937
938 Released MH-E version 7.4.3.
939
940 * MH-E-NEWS, README: Updated for release 7.4.3.
941
942 * mh-e.el (Version, mh-version): Updated for release 7.4.3.
943
944 This patch release contains the following two patches:
945
946 * mh-identity.el (mh-identity-make-menu): Removed condition on
947 mh-auto-fields-list. Use it to enable or disable menu item
948 instead.
949
950 * mh-customize.el (mh-identity-list): Removed defvar and moved
951 defcustom before mh-auto-fields-list so that defvar wouldn't
952 clobber user's customization settings.
953
9542003-11-17 Jeffrey C Honig <jch@honig.net>
955
956 * mh-print.el (mh-print-msg): Do not print a message on deprecated
957 usage, the bindings have been removed.
958
959 * mh-e.el (mh-folder-mode-map): Remove "l" binding for
960 mh-print-msg.
961
962 * mh-utils.el (mh-show-mode-map): Remove "l" binding for
963 mh-print-msg.
964
9652003-11-16 Satyaki Das <satyakid@stanford.edu>
966
967 * mh-comp.el (mh-beginning-of-word): Use the function
968 mh-mail-abbrev-make-syntax-table instead of the function
969 mail-abbrev-make-syntax-table.
970
971 * mh-gnus.el (mh-mail-abbrev-make-syntax-table): Add a wrapper
972 function that calls mail-abbrev-make-syntax-table if available.
973 This is needed so that MH-E built with CVS Emacs will work with
974 released versions of Emacs21 and vice versa.
975
9762003-11-14 Peter S Galbraith <psg@debian.org>
977
978 * mh-customize.el (mh-invisible-header-fields-internal): Add
979 "X-NAI-Spam-" and "X-Spam-Report:".
980
9812003-11-14 Mark D. Baushke <mdb@gnu.org>
982
983 * mh-customize.el (mh-invisible-header-fields-internal):
984 Add X-AntiAbuse and X-MailScanner.
985 (Patch from Stephen Gildea.)
986
9872003-11-13 Peter S Galbraith <psg@debian.org>
988
989 * mh-identity.el (mh-identity-handler-attribution-verb): New
990 function. A new Identity handler for the attribution verb (e.g.
991 "wrote:") to allow for different identities to use different
992 languages.
993 (mh-identity-insert-attribution-verb): New function. Insert the
994 attribution verb, placing special markers so it can be deleted and
995 replaced later.
996 (mh-identity-attribution-verb-start): New variable. Holds the
997 marker for the start of the attribution verb.
998 (mh-identity-attribution-verb-end): New variable. Holds the
999 marker for the end of the attribution verb.
1000
1001 * mh-customize.el (mh-identity-handlers): Add new
1002 ":attribution-verb" tag for the attribution-verb handler.
1003 (mh-identity-list): Idem.
1004
1005 * mh-comp.el (mh-yank-cur-msg): Insert attribution verb using
1006 mh-identity-insert-attribution-verb.
1007 (mh-extract-from-attribution): Extract only the name from the From
1008 line, without appending `mh-extract-from-attribution-verb' since
1009 markers need to be inserted around that now.
1010
10112003-11-12 Bill Wohler <wohler@newt.com>
1012
1013 * mh-e.el (mh-rmail, mh-nmail): Well, actually, we run in both GNU
1014 Emacs and XEmacs, so removed the "GNU" in the docstrings unless
1015 one is strictly talking about GNU Emacs.
1016
1017 * mh-comp.el (mh-smail, mh-smail-batch, mh-smail-other-window):
1018 Ditto.
1019
10202003-11-11 Bill Wohler <wohler@newt.com>
1021
1022 * mh-customize.el (mh-customize): Minor docstring change.
1023 (mh, mh-e): The short description for MH-E is: The GNU Emacs
1024 Interface to the MH Mail System. Therefore, updated docstrings
1025 accordingly.
1026
1027 * mh-comp.el (mh-smail, mh-smail-batch, mh-smail-other-window):
1028 Ditto.
1029
1030 * mh-e.el (mh-rmail, mh-nmail): Ditto.
1031
10322003-11-10 Satyaki Das <satyakid@stanford.edu>
1033
1034 * mh-mime.el (mh-mml-to-mime): In case errors happen in
1035 mml-to-mime, restore contents of the draft buffer (closes SF
1036 #839303).
1037
10382003-11-07 Bill Wohler <wohler@newt.com>
1039
1040 * mh-customize.el (mh-letter-mode-hook): Moved to mh-sending-mail
1041 group (where it is now documented in the manual).
1042 (mh-pick-mode-hook): Moved to mh-index group (where it is now
1043 documented in the manual).
1044
1045 * mh-loaddefs.el: Deleted per our discussion on mh-e-devel. No
1046 more conflicts! No more check-ins! Anyone pulling CVS MH-E is
1047 expected to compile. This file shall be added to the tarball so
1048 that users of the distribution are not.
1049
10502003-11-07 Mark D. Baushke <mdb@gnu.org>
1051
1052 * mh-loaddefs.el: Regenerated.
1053
1054 * mh-customize.el (mh-forward-hook): Define new hook.
1055 * mh-comp.el (mh-forward): Use it.
1056
10572003-11-07 Satyaki Das <satyakid@stanford.edu>
1058
1059 * mh-loaddefs.el: Regenerated.
1060
1061 * mh-utils.el (mh-show-toggle-mime-buttons)
1062 (mh-show-display-with-external-viewer): New interactive functions
1063 callable from the show buffer.
1064 (mh-show-mime-map): Add bindings for "K t" and "K e".
1065 (mh-show-msg): Propagate change to
1066 mh-display-buttons-for-inline-parts-flag to the show buffer.
1067
1068 * mh-mime.el (mh-display-with-external-viewer): New interactive
1069 function to display MIME parts with external viewer (closes SF
1070 #839318).
1071
1072 * mh-e.el (mh-folder-mode): Make the variable
1073 mh-display-buttons-for-inline-parts-flag buffer-local so that
1074 display of MIME buttons can be toggled.
1075 (mh-toggle-mime-buttons): New interactive function to toggle
1076 display of MIME buttons.
1077 (mh-mime-map): Modified to add bindings for "K t" and "K e".
1078
10792003-11-04 Steve Youngs <sryoungs@bigpond.net.au>
1080
1081 * Makefile (XEMACS_LOADDEFS_FILE): New. Used to generate
1082 mh-loaddefs.el in XEmacs.
1083 (XEMACS_LOADDEFS_COOKIE): Ditto.
1084 (XEMACS_LOADDEFS_PKG_NAME): Ditto.
1085 (xemacs): Add target to build mh-loaddefs.el in XEmacs
1086 (clean-xemacs): Remove `mh-loaddefs.el*'
1087 (loaddefs-xemacs): New rule to build mh-loaddefs.el in XEmacs.
1088
10892003-11-02 Peter S Galbraith <psg@debian.org>
1090
1091 * mh-init.el (mh-variant-set-variant): Reset `mh-x-mailer-string'
1092 when we select an MH variant.
1093
10942003-11-02 Jeffrey C Honig <jch@honig.net>
1095
1096 * mh-loaddefs.el: Regenerated.
1097
1098 * mh-funcs.el (mh-print-msg): Move to mh-print.el.
1099
1100 * mh-e.el (mh-folder-mode-map): Add mh-print-msg ("l") back, it
1101 will print a message that this usage is deprecated.
1102
1103 * mh-print.el (require, mh-ps-print-msg, mh-ps-print-msg-file):
1104 Require mh-funcs for mh-note-printed. PS print functions were not
1105 setting the printed notation. Move mh-print-msg here for
1106 consistency. Print message if mh-print-msg invoked via deprecated
1107 key binding.
1108
11092003-11-01 Peter S Galbraith <psg@debian.org>
1110
1111 * Makefile: Add target to make `mh-startup.el', a file containg
1112 usual entry commands into MH-E to be used for users installing
1113 MH-E separately from Emacs.
1114
1115 * README: Document the above for users.
1116
11172003-10-29 Jeffrey C Honig <jch@honig.net>
1118
1119 * mh-utils.el (mh-show-ps-print-map): Add "?" and "l" to
1120 mh-show-ps-print-map.
1121
1122 * mh-e.el (mh-ps-print-map, mh-help-messages): Add "?" and "l" to
1123 mh-ps-print-map. Add "l" to help message.
1124
11252003-10-27 Bill Wohler <wohler@newt.com>
1126
1127 * Makefile (MH-E-SRC): Moved mh-xemacs.el to new variable
1128 MH-E-XEMACS-SRC.
1129 (MH-E-XEMACS-SRC): New variable to hold XEmacs source files.
1130 (MH-E-XEMACS-OBJ): New variable to hold XEmacs object files.
1131 (clean): Moved XEmacs-specific code to clean-xemacs.
1132 (xemacs): Added clean-xemacs prerequisite. Moved down to
1133 XEmacs section of file.
1134 (clean-xemacs): New target to remove XEmacs-specific files.
1135 (compile-xemacs): Added $(MH-E-XEMACS-SRC) prerequisite.
1136 (dist): Added $(MH-E-XEMACS-SRC) to tarball.
1137
11382003-10-27 Satyaki Das <satyakid@stanford.edu>
1139
1140 * mh-loaddefs.el: Regenerated.
1141
1142 * mh-index.el (mh-indexer-choices): Remove option for the non-free
1143 glimpse indexer (closes SF #831276).
1144 (mh-glimpse-binary, mh-glimpse-directory)
1145 (mh-glimpse-execute-search, mh-glimpse-next-result): Functions
1146 and variables to implement glimpse support are removed.
1147
1148 * mh-customize.el (mh-index-program): Remove option for glimpse.
1149
11502003-10-24 Satyaki Das <satyakid@stanford.edu>
1151
1152 * mh-customize.el: Remove top-level test for toolbar enabled
1153 XEmacs since it is not needed.
1154 (mh-tool-bar-define): Add test for XEmacs toolbar in the functions
1155 mh-toolbar-init, mh-tool-bar-letter-buttons-set and
1156 mh-tool-bar-folder-buttons-set. This enables proper compilation
1157 irrespective of whether the XEmacs was built with toolbar support
1158 or not.
1159
1160 * mh-comp.el (mh-letter-mode): Remove conditional since it is not
1161 needed.
1162
1163 * mh-e.el (mh-folder-mode): Same as above.
1164
1165 * mh-utils.el (mh-show-mode): Same as above.
1166
1167 * mh-xemacs.el (mh-xemacs-icon-map): Remove condition on toolbar
1168 presence since we want the build to work if XEmacs without
1169 toolbars is used during compilation.
1170
11712003-10-23 Bill Wohler <wohler@newt.com>
1172
1173 * mh-customize.el: The Great Reorganization. Sorted groups
1174 alphabetically. Aligned variables in customization groups with
1175 manual sections. Group docstrings changed to match manual chapter
1176 titles.
1177
11782003-10-22 Satyaki Das <satyakid@stanford.edu>
1179
1180 * mh-speed.el (timer): Avoid compiler warning in XEmacs.
1181
11822003-10-22 Steve Youngs <sryoungs@bigpond.net.au>
1183
1184 * Makefile (XEMACS_OPTIONS): Add '-no-autoloads' to give a cleaner
1185 build environment.
1186 (AUTO_PRELOADS): Removed, in favour of 'AUTOLOAD_PACKAGE_NAME' and
1187 'AUTOLOAD_FILE'.
1188 (AUTOLOAD_PACKAGE_NAME): New.
1189 (AUTOLOAD_FILE): New.
1190 (all): Don't set $EMACS_HOME if building with XEmacs.
1191 (xemacs): Use 'compile-xemacs' instead of 'compile'.
1192 (auto-autoloads.elc): Use new $AUTOLOAD_* vars and allow for
1193 '-no-autoloads'.
1194 (custom-load.elc): Allow for '-no-autoloads'.
1195 (compile-xemacs): New. It allows for the '-no-autoloads' option
1196 and byte-compiles all the source files with a single instance of
1197 XEmacs.
1198
1199 * mh-e.el (mh-folder-mode): Only load the toolbar in XEmacs if
1200 toolbar support is available.
1201
1202 * mh-comp.el (mh-letter-mode): Only load the toolbar in XEmacs if
1203 toolbar support is available.
1204
1205 * mh-customize.el: Require 'mh-xemacs' at toplevel when
1206 'mh-xemacs-flag' is non-nil.
1207 Wrap all the toolbar code in a test that is true if using
1208 GNU/Emacs or a toolbar-enabled XEmacs.
1209
1210 * mh-print.el (mh-ps-spool-a-msg): Comment out
1211 `clean-message-header-flag' because it isn't used anywhere.
1212
1213 * mh-utils.el (mh-show-mode): Only load the toolbar in XEmacs if
1214 toolbar support is available.
1215
1216 * mh-xemacs.el: Autoload `regexp-opt', `customize-group',
1217 `view-mode', `with-electric-help', `pp', `sort-numeric-fields',
1218 `reverse-region', and `goto-address' at compile time.
1219 (mh-xemacs-has-toolbar-flag): New. This is non-nil when XEmacs
1220 has toolbar support.
1221 (mh-xemacs-toolbar-*-icon): Use it.
1222
12232003-10-21 Mark D. Baushke <mdb@gnu.org>
1224
1225 * mh-identity.el (mh-identity-field-handler): Fields that begin
1226 with ":" must have an mh-identity-handler defined or the user
1227 gets an error.
1228
12292003-10-17 Peter S Galbraith <psg@debian.org>
1230
1231 * mh-customize.el (mh-identity-list): This change affects users!
1232 The keyword "signature" becomes ":signature". The recently added
1233 keyword "pgg-default-user-id" becomes ":pgg-default-user-id".
1234 (mh-auto-fields-list): The keyword "Identity" becomes ":identity".
1235 (mh-identity-handlers): Idem for signature and pgg-default-user-id.
1236
1237 * mh-comp.el (mh-insert-auto-fields): Idem for Identity.
1238
12392003-10-17 Peter S Galbraith <psg@debian.org>
1240
1241 * mh-xemacs.el: Add eval-and-compile call to (load "toolbar" t t) to
1242 make sure `toolbar-make-button-list' is defined. We can't use
1243 require because Emacs doesn't have this library.
1244
12452003-10-16 Bill Wohler <wohler@newt.com>
1246
1247 * mh-customize.el (mh-signature-file-name)
1248 (mh-letter-insert-signature-hook): Merge docstring with manual.
1249
1250 * mh-comp.el (mh-file-is-vcard-p): Checkdoc fix.
1251 (mh-insert-signature): Merge docstring with manual.
1252
1253 * mh-customize.el (mh-junk): Changed manual link in defgroup from
1254 Customizing mh-e to Junk.
1255 (mh-junk-function-alist): Moved SpamAssassin to first in list on
1256 the hunch that it is the most popular and should be chosen if
1257 other anti-spam programs exist.
1258 (mh-junk-mail-folder): Since the variable can accept values other
1259 than folder names, renamed to mh-junk-disposition to more
1260 accurately reflect the content. Merge docstring with manual.
1261 (mh-junk-program): Moved SpamAssassin to the top of the menu for
1262 the same reason presented in mh-junk-function-alist. Also, fixed
1263 case of spam programs to match official usage. Merge docstring
1264 with manual.
1265
1266 * mh-junk.el (mh-junk-blacklist):
1267 s/mh-junk-mail-folder/mh-junk-disposition/. Merge docstring with
1268 manual.
1269 (mh-junk-whitelist): Merge docstring with manual.
1270 (mh-bogofilter-blacklist): No longer suggest using automatic
1271 classification so use -s instead of -Ns.
1272 (mh-bogofilter-whitelist): No longer suggest using automatic
1273 classification so use -n instead of -Sn.
1274 (mh-spamassassin-blacklist, mh-spamassassin-whitelist): Merge
1275 docstring with manual. Moved spamassassin functions to top of file
1276 so functions appear in same order that they are presented in menu.
1277
12782003-10-09 Peter S Galbraith <psg@debian.org>
1279
1280 * mh-customize.el (mail-citation-hook): Moved from mh-comp.el and
1281 made into a defcustom.
1282
12832003-10-09 Satyaki Das <satyakid@stanford.edu>
1284
1285 * mh-loaddefs.el: Regenerated.
1286
1287 * mh-comp.el (mh-get-header-field): Add autoload cookie.
1288
1289 * mh-utils.el (mh-show-ps-print-toggle-mime)
1290 (mh-show-ps-print-toggle-color, mh-show-ps-print-toggle-faces)
1291 (mh-show-ps-print-msg-file, mh-show-ps-print-msg)
1292 (mh-show-ps-print-msg-show): New interactive functions callable
1293 from the show buffer.
1294 (mh-show-ps-print-map): New key map for printing.
1295
1296 * mh-e.el (mh-folder-mode-map): Remove key binding for
1297 mh-print-msg.
1298 (mh-ps-print-map): Add new key map for printing.
1299
1300 * Makefile (MH-E-SRC): Add mh-print.el.
1301
13022003-10-07 Satyaki Das <satyakid@stanford.edu>
1303
1304 * mh-utils.el (mh-x-image-url-fetch-image): In XEmacs,
1305 make-temp-file is not present. So to avoid security problems, use
1306 a temporary file in the user's home directory. This avoids issues
1307 in creating files in a world-writable directory.
1308
1309 * mh-mime.el (mh-signature-highlight): In Emacs, arrange for the
1310 overlay to be freed when it is no longer needed. Also, implement
1311 signature highlighting in XEmacs.
1312
13132003-10-05 Satyaki Das <satyakid@stanford.edu>
1314
1315 * mh-mime.el (mh-mime-display, mh-mm-inline-message): Respect the
1316 value of `mm-verify-option' and `mm-decrypt-option'.
1317 (mh-mime-display-security): Rearrange code a bit to avoid too many
1318 new lines being inserted when message verification/decryption is
1319 carried out while the message is being read. Also use the
1320 point-m{in|ax}-marker functions to make the function easier to read.
1321 (mh-mime-security-press-button): Extend the function so that the
1322 user can verify/decrypt messages while reading them.
1323
1324 * mh-gnus.el (mm-possibly-verify-or-decrypt): Added to avoid
1325 compiler warning with old Gnus.
1326
1327 * mh-utils.el (mh-x-image-url-sane-p): New function which checks
1328 if the URL in X-Image-URL is something we can handle.
1329 (mh-x-image-url-display): Don't display image if the URL looks
1330 malformed.
1331
13322003-10-04 Mark D Baushke <mdb@gnu.org>
1333
1334 * mh-comp.el (mh-letter-menu): Simplify menu heading.
1335
13362003-10-03 Mark D Baushke <mdb@gnu.org>
1337
1338 * mh-mime.el (mh-mml-query-cryptographic-method): Avoid
1339 revisionist history and still provide a good default.
1340
1341 * mh-comp.el (mh-letter-menu): Remove the Disable Security
1342 parenthetical comment.
1343
1344 * mh-loaddefs.el: Regenerated.
1345
1346 * mh-customize.el (mh-mml-method-default): What method should be
1347 used in secure directives.
1348
1349 * mh-mime.el (mh-secure-message): New function used to generate
1350 the mml security tags.
1351 (mh-mml-unsecure-message): New wrapper function around
1352 mml-unsecure-messages.
1353 (mh-mml-secure-message-sign-pgpmime): Remove function.
1354 (mh-mml-secure-message-encrypt-pgpmime): Ditto.
1355 (mh-mml-cryptographic-method-history): New variable.
1356 (mh-mml-query-cryptographic-method): New function.
1357 (mh-mml-secure-message-encrypt): Ditto.
1358 (mh-mml-secure-message-signencrypt): Ditto.
1359 (mh-mml-secure-message-sign): Ditto.
1360
1361 * mh-comp.el (mh-letter-menu, mh-letter-mode-help-messages,
1362 (mh-letter-mode-map): Update to use new functions.
1363
13642003-09-26 Satyaki Das <satyakid@stanford.edu>
1365
1366 * mh-seq.el (mh-interactive-range): The function has been
1367 extended so that it now takes a default result to return if no
1368 interactive prefix arg is given and no region is active.
1369
1370 * mh-e.el (mh-add-sequence-notation): If transient-mark-mode is
1371 on, then the active region is deactivated based on whether a user
1372 sequence or a internal sequence is being notated. The change
1373 removes this inconsistency.
1374 (mh-catchup, mh-folder-map): A new interactive function to mark
1375 messages as read has been added and bound to "F c" in the folder
1376 mode.
1377
1378 * mh-utils.el (mh-show-catchup, mh-show-folder-map): New
1379 interactive function callable from show mode buffers has been
1380 bound to "F c".
1381
13822003-09-24 Bill Wohler <wohler@newt.com>
1383
1384 * mh-customize.el (mh-clean-message-header-flag)
1385 (mh-invisible-header-fields-default, mh-invisible-header-fields):
1386 Merge docstring with manual.
1387
13882003-09-24 Mark D. Baushke <mdb@gnu.org>
1389
1390 * mh-junk.el (mh-junk-blacklist): Junked messages should be put
1391 into the mh-seen-list to avoid propagating the unseen sequence
1392 into the spam folder.
1393
1394 * mh-loaddefs.el: Regenerated.
1395
1396 * mh-mime.el (mh-mml-secure-message-sign-pgpmime): Add an optional
1397 dontsign argument to remove an existing secure message directive.
1398 Update the docstring -- this fuction does not allow for
1399 encrypt/sign, just sign directives.
1400
1401 * mh-mime.el (mh-mml-secure-message-sign-pgpmime): Use
1402 mml-insert-tag directly to provide a sender if
1403 mh-identity-pgg-default-user-id is set.
1404 (mh-mml-secure-message-encrypt-pgpmime): Use mml-insert-tag
1405 directly to provide a sender if this message is to be both signed
1406 and encrypted and mh-identity-pgg-default-user-id is set.
1407
14082003-09-23 Bill Wohler <wohler@newt.com>
1409
1410 * mh-alias.el (Commentary): Removed as it is now in the manual.
1411 (mh-alias-system-aliases): Moved here from mh-customize.el. By
1412 definition, "system" definitions are not user-visible, and user
1413 filenames are in the the Aliasfile: profile component, so this
1414 variable really shouldn't be a defcustom
1415 (mh-alias-tstamp, mh-alias-filenames, mh-alias-reload)
1416 (mh-alias-add-alias, mh-alias-grab-from-field)
1417 (mh-alias-add-address-under-point, mh-alias-apropos): Merge
1418 docstring with manual.
1419 (mh-alias-reload-maybe): Minor comment update.
1420 (mh-alias-insert-file): Merge docstring with manual. Removed
1421 "[press TAB]" from prompt since users should know about completion
1422 and space can be used as well.
1423 (mh-alias-for-from-p): No longer returns a surprising result (t if
1424 there was **not** an alias for the From field) if the From header
1425 field is missing. This function now returns what you would expect
1426 a function of this name to return. Renamed from
1427 mh-alias-from-has-no-alias-p since negatives in the function name
1428 make logic harder to follow.
1429 (mh-alias-add-alias-to-file): Merge docstring with manual.
1430 Improved verbiage of prompt. Aliases are now inserted "[b]efore"
1431 or "[a]fter" the existing alias instead of "[i]nsert" or
1432 "[a]ppend." Note how the new usage flows better.
1433
1434 * mh-customize.el (mh-alias): Changed manual link in defgroup from
1435 Customizing mh-e to Aliases.
1436 (mh-alias-grab-from-field button): mh-alias-from-has-no-alias-p
1437 renamed to mh-alias-for-from-p and no longer returns surprising
1438 value if there isn't a From field. Therefore, enable button if
1439 there is a From header field and mh-alias-for-from-p returns nil.
1440 (mh-letter-complete-function)
1441 (mh-alias-completion-ignore-case-flag, mh-alias-flash-on-comma)
1442 (mh-alias-insert-file, mh-alias-insertion-location)
1443 (mh-alias-local-users, mh-alias-local-users-prefix)
1444 (mh-alias-passwd-gecos-comma-separator-flag): Merge docstring with
1445 manual.
1446 (mh-alias-system-aliases): Moved to mh-alias.el.
1447
1448 * mh-comp.el (mh-letter-complete-function-alist): Removed comment
1449 about making this customizable since I didn't think it seemed
1450 appropriate in the manual.
1451 (mh-letter-complete): Merge docstring with manual.
1452
14532003-09-23 Satyaki Das <satyakid@stanford.edu>
1454
1455 * mh-speed.el (mh-speed-flists): When exiting emacs, don't ask if
1456 the flists process should be killed.
1457
1458 * mh-e.el (mh-folder-message-menu): Enable undo menu entry only
1459 if something can be undone.
1460
1461 * mh-customize.el (undo): Enable undo button only if something
1462 can be undone.
1463
14642003-09-22 Peter S Galbraith <psg@debian.org>
1465
1466 * mh-customize.el (mh-identity-handlers): New defcustom. Alist of
1467 Handler functions for mh-identity (downcased) fields.
1468 (mh-identity-list): Add support for pgg-default-user-id.
1469
1470 * mh-identity.el (mh-insert-identity): Modified to use
1471 `mh-identity-handlers', adding hacking flexibility for those who
1472 might need it.
1473 (mh-identity-field-handler): New function. Return the handler for
1474 a FIELD or nil if none set. The field name is downcased.
1475 (mh-identity-handler-gpg-identity): New function; handler for pgg
1476 pgp identities. It sets a buffer-local value for
1477 `mh-pgg-default-user-id' which must be handled by mh-send-letter.
1478 (mh-identity-pgg-default-user-id): New buffer-local variable to
1479 hold the requested key ID.
1480 (mh-identity-handler-signature): New function; handler t insert
1481 and remove signature files.
1482 (mh-identity-handler-default): New function; the default handler
1483 to insert or remove generic field.
1484 (mh-identity-handler-top): Insert a field at the top of the
1485 header.
1486 (mh-identity-handler-bottom): Insert a field at the bottom of the
1487 header.
1488 (mh-header-field-delete): Make more robust wrt the field having a
1489 trailing colon or not.
1490 (mh-identity-make-menu): Add a "Customize Identities" menu entry.
1491
1492 * mh-loaddefs.el: Regenerated.
1493
14942003-09-21 Peter S Galbraith <psg@debian.org>
1495
1496 * mh-init.el (mh-variant-set): Bug fix for mh-variant long names
1497 with version numbers.
1498
1499 * mh-e.el (mh-scan-format): patch from Sergey Poznyakoff.
1500 GNU mailutils now supports the %(decode) format
1501
15022003-09-20 Satyaki Das <satyakid@stanford.edu>
1503
1504 * mh-gnus.el (mh-mm-text-html-renderer): New function to query
1505 which HTML renderer is being used by Gnus.
1506
1507 * mh-mime.el (mh-signature-highlight): Renderers used to display
1508 HTML parts garble the signature separator in various ways. The
1509 function has been modified to take that into account.
1510 (mh-mime-display-single, mh-mm-display-part): Pass the new
1511 optional argument to `mh-signature-highlight'.
1512
15132003-09-19 Mark D. Baushke <mdb@gnu.org>
1514
1515 * mh-mime.el (mh-have-file-command, mh-file-mime-type): Made an
1516 mh-autoload as they are used in mh-comp.el.
1517
1518 * mh-loaddefs.el: Regenerated.
1519
15202003-09-18 Peter S Galbraith <psg@debian.org>
1521
1522 * mh-comp.el (mh-insert-fields): Make sure field has a colon.
1523
15242003-09-18 Satyaki Das <satyakid@stanford.edu>
1525
1526 * mh-seq.el (mh-toggle-tick): Don't hardcode the name of the tick
1527 sequencence in the function. This would have caused improper
1528 highlighting of the tick sequence if the user had changed its
1529 name.
1530
15312003-09-15 Satyaki Das <satyakid@stanford.edu>
1532
1533 * mh-e.el (mh-folder-message-menu): Fix a little bug which shows
1534 up as a problem during compilation (closes SF #806577).
1535
15362003-09-15 Mark D. Baushke <mdb@gnu.org>
1537
1538 * mh-customize.el (mh-invisible-header-fields-internal): Added
1539 a new field for GNU mailutils per Sergey Poznyakoff.
1540
15412003-09-09 Satyaki Das <satyakid@stanford.edu>
1542
1543 * mh-utils.el (vcard): Unconditionally load vcard.el, if
1544 available, so that vcards are always inlined.
1545
15462003-09-09 Peter S Galbraith <psg@debian.org>
1547
1548 * mh-mime.el (mh-file-mime-type-substitutions): Add entry to
1549 convert text/plain .vcf files to text/x-vcard.
1550 (mh-mime-content-types): Add text/x-vcard.
1551
15522003-09-09 Bill Wohler <wohler@newt.com>
1553
1554 * mh-comp.el (mh-rejected-letter-start): Added strings for qmail
1555 and exim (addresses SF #404965).
1556
15572003-09-09 Satyaki Das <satyakid@stanford.edu>
1558
1559 * mh-gnus.el (mm-inline-text-vcard): Make vcard display work with
1560 Gnus-5.9. The extra file vcard.el is still needed.
1561
1562 * mh-mime.el (mh-signature-highlight): New function that
1563 highlights message signatures.
1564 (mh-mm-display-part, mh-mime-display-single): Highlight signatures
1565 using `mh-signature-highlight' (closes SF #802722). More work is
1566 needed for XEmacs.
1567 (mh-mime-display): Highlight signature in non-MIME email too.
1568
1569 * mh-customize.el (mh-show-signature-face): New face used to
1570 display message signature.
1571
15722003-09-08 Peter S Galbraith <psg@debian.org>
1573
1574 * mh-e.el (mh-version): Do something sensible when
1575 mh-variant-in-use is undefined.
1576 * mh-junk.el (mh-spamassassin-blacklist)
1577 (mh-spamassassin-whitelist): Change options to be compatoble with
1578 old version of spamassassin (V2.20).
1579
15802003-09-07 Mark D. Baushke <mdb@gnu.org>
1581
1582 * mh-mime.el (mh-access-types): Per RFC 2049, the "afs"
1583 access-type for message/external-body has been removed.
1584 Update the comments to reference the current MIME RFCs
1585 2045, 2046 and 2049 rather than the obsolete RFC 1521.
1586
15872003-09-05 Peter S Galbraith <psg@debian.org>
1588
1589 * mh-e.el (mh-version): Bumped version number to 7.4.2+cvs.
1590
15912003-09-04 Satyaki Das <satyakid@stanford.edu>
1592
1593 * mh-utils.el (mh-picon-directory-list, mh-picon-directory): The
1594 mh-picon-directory-list variable supersedes mh-picon-directory.
1595 (mh-picon-existing-directory-list): New variable that contains
1596 the list of picon directories that actually exist.
1597 (mh-picon-set-directory-list): New function to update
1598 mh-picon-existing-directory-list from mh-picon-directory-list.
1599 (mh-picon-get-image): The function has been modified to search a
1600 list of possible picon source directories. The regexp to extract
1601 the username from the email address has been made smarter so that
1602 it can recognize email addresses of the form user+random@foo.net
1603 and extract "user" from there.
1604 (mh-picon-file-contents): The file type recognition code has been
1605 moved from mh-picon-get-image into this function.
1606 (mh-picon-generate-path): The function has been generalized so
1607 that searching multiple paths is now feasible.
1608
1609 * mh-pick.el, mh-e.el: Checkdoc fixes.
1610
16112003-09-02 Satyaki Das <satyakid@stanford.edu>
1612
1613 * mh-identity.el (eval-when): It seems that the mh-comp-loaded
1614 code isn't required any more.
1615
16162003-08-30 Satyaki Das <satyakid@stanford.edu>
1617
1618 * mh-init.el (mh-variant-set): Replace `error' with `message' so
1619 that Emacs CVS will compile without errors if no MH variant is
1620 present.
1621
16222003-08-29 Satyaki Das <satyakid@stanford.edu>
1623
1624 * mh-init.el (mh-variant-set): Add interactive spec to the
1625 function.
1626
1627 * mh-mime.el (mh-mhn-compose-external-type): Optional arguments
1628 are prompted for only if prefix arg is given.
1629
16302003-08-29 Mark D. Baushke <mdb@gnu.org>
1631
1632 * mh-mime.el (mh-mhn-compose-external-type): Modified to be
1633 interactive and prompts for many of the fields. Made an
1634 mh-autoload.
1635 (mh-access-types): New table derived from RFC2017, RFC1521 and
1636 RFC1738, used in a completing-read in
1637 mh-mhn-compose-external-type.
1638
1639 * mh-loaddefs.el: Regenerated.
1640
16412003-08-26 Satyaki Das <satyakid@stanford.edu>
1642
1643 * mh-utils.el (mh-picon-image-types, mh-picon-get-image): Avoid
1644 compiler warnings.
1645 (mh-sub-folders-actual): Parsing of the output from folders has
1646 been modified, so that it also works for MH (closes SF #792300).
1647
1648 * mh-junk.el (mh-spamassassin-whitelist): Avoid calling
1649 ietf-drums-parse-address if it isn't present.
1650 (mh-spamassassin-identify-spammers): Avoid use of puthash so that
1651 Emacs20 doesn't complain.
1652
1653 * mh-e.el (mh-colors-available-p): Wrap call to
1654 display-color-cells in a mh-funcall-if-exists to avoid compiler
1655 warning in Emacs20.
1656
16572003-08-25 Satyaki Das <satyakid@stanford.edu>
1658
1659 * mh-e.el (mh-colors-available-flag, mh-folder-mode): New
1660 variable to track if colors are available and it is set
1661 appropriately in mh-folder-mode.
1662 (mh-colors-available-p, mh-colors-in-use-p): Two functions to
1663 check whether colors are available and if they are actually being
1664 used.
1665 (mh-add-sequence-notation): Just changing a scan line doesn't
1666 make font-lock refontify the line in Emacs20. So explicitly
1667 refontify the scan line in such a situation.
1668 (mh-internal-seq): If colors aren't being used then treat the
1669 tick sequence like a normal user sequence.
1670
1671 * mh-seq.el (mh-put-msg-in-seq): Do font-lock highlighting after
1672 the messages have been added to the sequence.
1673 (mh-toggle-tick): Modified so that highlighting of the ticked
1674 messages will be properly done. If font-lock isn't being used or
1675 if colors aren't supported by the Emacs where MH-E is running,
1676 then the `%' character is used to annotate ticked messages.
1677
1678 * mh-utils.el (mh-picon-image-types): Since Emacs20 doesn't have
1679 image-type-available-p, wrap calls to that function in
1680 ignore-errors.
1681 (mh-add-msgs-to-seq): Do the font-lock highlighting after the
1682 messages have been added.
1683
16842003-08-24 Bill Wohler <wohler@newt.com>
1685
1686 * Makefile (MH-E-SRC): Replaced mh-xemacs-compat.el and
1687 mh-xemacs-icons.el with mh-xemacs.el.
1688
1689 * mh-e.el: Don't require mh-xemacs-compat which no longer exists.
1690 The XEmacs stuff gets required by mh-customize.el which is
1691 required by mh-utils.el which is required by mh-e.el. This all
1692 happens before mh-xemacs-compat was required, so all should be
1693 well.
1694
1695 * mh-unit.el (mh-unit-files): Replaced mh-xemacs-compat.el and
1696 mh-xemacs-icons.el with mh-xemacs.el.
1697
1698 * mh-xemacs.el: New file from concatenation of mh-xemacs-compat.el
1699 and mh-xemacs-icons.el which were removed since their names
1700 exceeded DOS 8+3 limits.
1701
1702 * mh-customize.el (mh-compose-skipped-header-fields): Use
1703 uppercase for field names.
1704
17052003-08-21 Bill Wohler <wohler@newt.com>
1706
1707 * mh-customize.el (mh-sequences): Introduced new customization
1708 group for sequences.
1709 (mh-refile-preserves-sequences-flag, mh-tick-seq)
1710 (mh-update-sequences-after-mh-show-flag): Moved option from
1711 mh-folder to mh-sequences group. Synced docstring with manual.
1712 (mh-index-ticked-messages-folders): Since mh-tick-seq is
1713 customizable, use it instead of tick in the docstring.
1714
1715 * mh-index.el (mh-index-ticked-messages): Since mh-tick-seq is
1716 customizable, use it instead of tick in the docstring.
1717
1718 * mh-seq.el (mh-msg-is-in-seq): Can now specify an alternate
1719 message number with a prefix argument.
1720 (mh-narrow-to-tick): Since mh-tick-seq is customizable, use it
1721 instead of tick in the docstring. Also, use mh-tick-seq instead of
1722 tick in warning message.
1723
17242003-08-20 Peter S Galbraith <psg@debian.org>
1725
1726 * mh-customize.el: setq mh-variant to 'none when byte-compiling,
1727 since we don't care what MH variant (if any) is on the system at
1728 that point.
1729
1730 * mh-init.el (mh-variant-set): Don't probe for MH variant when
1731 mh-variant is set to'none (during byte-compilation).
1732
17332003-08-19 Peter S Galbraith <psg@debian.org>
1734
1735 * mh-pick.el (mh-pick-single-dash): New defconst. Search
1736 components that are supported by single-dash option in
1737 pick.
1738 (mh-pick-regexp-builder): Use `mh-pick-single-dash' and adapt
1739 patch from Sergey Poznyakoff.
1740
1741 * mh-comp.el (mh-reply): mu-mh supports `repl -group', thanks to
1742 Sergey Poznyakof.
1743
1744 * mh-init.el: checkdoc fixes.
1745
17462003-08-19 Bill Wohler <wohler@newt.com>
1747
1748 * mh-seq.el: (mh-edit-pick-expr): Renamed from mh-read-pick-regexp
1749 since the new name is more indicative of what the function does.
1750 Prompt now says "Pick expression" instead of "Pick regexp".
1751 (mh-narrow-to-subject): Rewrote function to behave like other
1752 similar functions.
1753 (mh-narrow-to-header-field, mh-narrow-to-range)
1754 (mh-narrow-to-tick): s/regexp/pick-expr/.
1755 (mh-widen, mh-narrow-to-from, mh-narrow-to-cc, mh-narrow-to-to):
1756 Synced docstrings with manual
1757
17582003-08-19 Bill Wohler <wohler@newt.com>
1759
1760 Released MH-E version 7.4.2.
1761
1762 * MH-E-NEWS, README: Updated for release 7.4.2.
1763
1764 * mh-e.el (Version, mh-version): Updated for release 7.4.2.
1765
1766 * mh-e.el (mh-folder-size, mh-folder-size-folder)
1767 (mh-folder-size-flist): If flist is not present use folder to find
1768 the number of messages in the folder. Also the .mh_sequences file
1769 is read to find the number of unseen messages (patch from 1.349
1770 and branched for 7.4.2, closes SF #791021).
1771
1772 * mh-utils.el (mh-flists-present-flag, mh-find-progs): Introduce a
1773 new variable to test for the presence of the flists program and
1774 set it in mh-find-progs.
1775 (mh-collect-folder-names): Use folders instead of flists. One
1776 advantage is that folders is available on MH while flists is not.
1777 Another is that if an explicit -sequence argument isn't given and
1778 Unseen-Sequence profile is not present then flists croaks while
1779 folders doesn't.
1780 (mh-collect-folder-names-filter): Don't consider folder names that
1781 start with a `.' character. This is needed since the folders
1782 command doesn't filter them out like flists does.
1783 (patches from 1.307 and 1.309 and branched for 7.4.2, closes SF
1784 #791021).
1785
17862003-08-18 Bill Wohler <wohler@newt.com>
1787
1788 * mh-index.el (mh-index-sequenced-messages)
1789 (mh-index-new-messages, mh-index-ticked-messages): Updated
1790 docstrings from manual (closes SF #718833).
1791
1792 * mh-customize.el (mh-variant): Checkdoc fix.
1793 (mh-index-new-messages-folders): Don't mention defvar in
1794 docstring, use `+inbox' instead.
1795 (mh-index-ticked-messages-folders): Don't mention defvar in
1796 docstring, use `tick' instead.
1797
1798 * mh-comp.el (mh-repl-group-formfile): Checkdoc fix.
1799
18002003-08-18 Peter S Galbraith <psg@debian.org>
1801
1802 * mh-init.el (mh-variant-set, mh-sys-path, mh-variant-info): Add
1803 support for GNU mailutils.
1804 (mh-variant-mu-mh-info): New function to detect mu-mh and return
1805 info about it for `mh-variants'.
1806
1807 * mh-e.el (mh-regenerate-headers): mu-mh has different error
1808 message for a invalid mesage list.
1809
18102003-08-18 Peter S Galbraith <psg@debian.org>
1811
1812 * mh-customize.el (mh-e): New defgroup. Sort of an alias for the
1813 'mh group that a user might be more likely to find.
1814
18152003-08-18 Bill Wohler <wohler@newt.com>
1816
1817 * mh-comp.el (mh-insert-auto-fields-done-local): Docstring tweak.
1818 (mh-compose-and-send-mail): Do not call mh-insert-auto-fields.
1819 This should be done only once in mh-send-letter.
1820
18212003-08-18 Peter S Galbraith <psg@debian.org>
1822
1823 * mh-comp.el (mh-letter-mode): Call `mh-find-path unconditionally,
1824 like elsewehere in MH-E.
1825
1826 * mh-utils.el (mh-find-path): Run setup code only if
1827 `mh-find-path-run' is nil such that this is only done once.
1828 Also remove the `setq' for `read-mail-command' and `mail-user-agent'.
1829
18302003-08-18 Peter S Galbraith <psg@debian.org>
1831
1832 * mh-e.el: require 'mh-utils first
1833
1834 * mh-customize.el (mh-variant): defcustom moved here.
1835
1836 * mh-init.el (mh-variants): Made an mh-autoload.
1837
18382003-08-18 Peter S Galbraith <psg@debian.org>
1839
1840 * Makefile (MH-E-SRC): Added mh-init.el to MH-E-SRC.
1841
1842 * mh-utils.el (mh-find-progs): Deleted. Make obsolete by mh-init.el.
1843 (mh-find-path): Call `mh-variants' instead of now obsolete
1844 `mh-find-progs'.
1845 (mh-path-search): Deleted. Was only used by `mh-find-progs'.
1846
1847 * mh-e.el: require mh-init.el.
1848 (mh-version): Use simpler `mh-variant-in-use'.
1849 (mh-scan-format): Use (mh-variant-p 'nmh) instead of mh-nmh-flag.
1850
1851 * mh-comp.el (mh-insert-x-mailer): Use simpler `mh-variant-in-use'.
1852
1853 * mh-utils.el (mh-progs, mh-lib, mh-lib-progs)
1854 (mh-flists-present-flag): Moved to mh-init.el.
1855 (mh-nmh-flag): Deleted. Use (mh-variant-p 'nmh) instead.
1856
1857 * mh-comp.el (mh-repl-group-formfile, mh-forward, mh-reply)
1858 (mh-send-letter): Use (mh-variant-p 'nmh) instead of mh-nmh-flag.
1859
1860 * mh-mime.el (mh-edit-mhn, mh-mime-save-parts): Use (mh-variant-p
1861 'nmh) instead of mh-nmh-flag.
1862
18632003-08-16 Bill Wohler <wohler@newt.com>
1864
1865 * mh-customize.el (mh-folder-selection): New group to hold
1866 variables described in Folder Selection section in manual.
1867 (mh-default-folder-list, mh-default-folder-must-exist-flag,
1868 mh-default-folder-prefix): Moved to mh-folder-selection group.
1869 Updated docstrings per manual update.
1870 (mh-default-folder-for-message-function): New defcustom. Was a
1871 defvar in mh-utils.el. Updated docstring per manual update.
1872
1873 * mh-utils.el (mh-default-folder-for-message-function): Moved to
1874 mh-customize.el.
1875
1876 * mh-e.el (mh-folder-from-address, mh-prompt-for-refile-folder):
1877 Updated docstrings per manual update.
1878
1879 * mh-unit.el (mh-unit-files): Added mh-init.el.
1880
18812003-08-16 Peter S Galbraith <psg@debian.org>
1882
1883 * mh-init.el: New file. Code to initialize the MH-E back-end.
1884 Highlights:
1885 (mh-variant): New defcustom. Users may customize `mh-variant' to
1886 switch between available variants.
1887 (mh-variants): Available MH variants are described in this variable.
1888 (mh-variant-in-use, mh-variant-p): Developers may check which
1889 variant is currently in use with the variable `mh-variant-in-use'
1890 or the function `mh-variant-p'.
1891
18922003-08-15 Bill Wohler <wohler@newt.com>
1893
1894 * mh-customize.el (mh-auto-fields-list): The manual uses Fcc
1895 instead of fcc, so I've changed the user-visible text
1896 accordingly. I've left the const alone for backwards
1897 compatibility.
1898
18992003-08-14 Bill Wohler <wohler@newt.com>
1900
1901 * mh-identity.el (mh-insert-identity): Changed signature deletion
1902 test to test for both markers, rather than testing to see if the
1903 start marker is bound. Since the start marker is defined in this
1904 file, it should always be bound. Suggestion by Satyaki.
1905
1906 * mh-comp.el (mh-send-letter): Go to the top of the draft so that
1907 the user can see which header fields have been inserted. I think
1908 this is more important than leaving point alone or going to the
1909 end to see the signature since Mail-Followup-To or Bcc or cc could
1910 have some deleterious effects.
1911
1912 * mh-customize.el (mh-auto-fields-prompt-flag): New variable.
1913 Non-nil means to prompt before sending if fields inserted.
1914
1915 * mh-comp.el (mh-insert-auto-fields): Now return t if fields
1916 inserted; otherwise nil.
1917 (mh-send-letter): Deleted obsolete documentation about adding
1918 X-Mailer and X-Face. Prompt before sending if auto fields added
1919 and mh-auto-fields-prompt-flag is t.
1920
1921 * mh-customize.el (mh-identity-list): Allow signature to come from
1922 mh-signature-file-name. In this case, the "signature" value is set
1923 to nil. This might not be the best implementation. Suggestions
1924 welcome.
1925
1926 * mh-identity.el (mh-insert-identity): Now that the signature can
1927 be a nil value, moved test higher up in cond so that the test for
1928 a nil value would not be executed first prevening signature
1929 handling. Handle nil signature value by calling
1930 mh-insert-signature with no arguments which means to use
1931 mh-signature-file-name.
1932
1933 * mh-comp.el (mh-insert-signature): Changed text of message if no
1934 signature inserted.
1935
1936 * mh-customize.el (mh-identity-list): Changed "Signature" constant
1937 back to "signature" so it *won't* be backwards-incompatible any
1938 more. I discovered one could use the :tag keyword to get headline
1939 captalization in the menu.
1940
1941 * mh-identity.el (mh-insert-identity): Ditto.
1942
1943 * mh-identity.el (mh-identity-make-menu): Always build menu.
1944 Always create Insert Auto Fields menu item. Just don't enable it
1945 if mh-auto-fields-list is nil. Enable radio buttons always. Make
1946 None a radio button choice with the other identities.
1947
1948 * mh-comp.el (mh-letter-menu): Removed cond on fboundp
1949 'easy-menu-define. We don't do this elsewhere.
1950
19512003-08-13 Bill Wohler <wohler@newt.com>
1952
1953 * mh-identity.el (mh-identity-make-menu, mh-insert-identity): Use
1954 headline capitalization in menu items. Even the internal names are
1955 exposed in the customize interface, so they need to be uppercase
1956 too.
1957 (mh-insert-identity): Rather than goto-char to
1958 mh-identity-signature-start before deleting, simply pass it to
1959 delete-region. When setting markers, use point-min-marker and
1960 point-max-marker instead of moving point. Set marker type of
1961 mh-identity-signature-start to t to fix a bug where changing
1962 identity deleted user's text.
1963
1964 * mh-customize.el (mh-identity-list, mh-auto-fields-list):
1965 Reworked docstring. Use headline capitalization. Commented out
1966 implementation details for later deletion or resurrection upon
1967 popular demand. N.B. If your mh-identity-list contains "signature"
1968 then you will need to either edit your .emacs file manually, or
1969 delete your existing "signature" which will become a regular field
1970 with this change and create a new signature. I figured I could get
1971 away with this since 8.0 is a major release, and coinciding with
1972 the manual update will be a MAJOR release. I apologize profusely
1973 that I didn't catch this before it was released.
1974 (mh-identity-default): Use headline capitalization in example.
1975
19762003-08-12 Jeffrey C Honig <jch@honig.net>
1977
1978 * mh-customize.el (mh-alias-reloaded-hook): Define
1979 `mh-alias-reloaded-hook'.
1980
1981 * mh-alias.el (mh-alias-reload): Run `mh-alias-reloaded-hook'
1982 after reloading the aliases.
1983
19842003-08-12 Mark D. Baushke <mdb@gnu.org>
1985
1986 * mh-comp.el (mh-insert-signature): Use functionp to avoid
1987 the possibility of doing a funcall on a void function.
1988
19892003-08-12 Bill Wohler <wohler@newt.com>
1990
1991 * mh-customize.el (mh-identity): Point group manual link to new
1992 Identities section.
1993 (mh-signature-separator-flag): New variable which can be used to
1994 suppress the output of the signature separator.
1995
1996 * mh-comp.el (mh-insert-signature): Use
1997 mh-signature-separator-flag.
1998
1999 * mh-identity.el (mh-insert-identity): If the identity's signature
2000 file didn't exist, an fboundp error was thrown. This was fixed by
2001 removing signature tests that were redundant and out of date with
2002 the tests in mh-insert-signature. Removed second signature
2003 condition as it is now handled in the first signature condition.
2004
20052003-08-12 Peter S Galbraith <psg@debian.org>
2006
2007 * mh-identity.el (mh-insert-identity): Don't insert new lines on
2008 signatures anymore.
2009
2010 * mh-comp.el (mh-insert-signature): Make sure signature file is
2011 readable before trying to insert it.
2012
20132003-08-11 Bill Wohler <wohler@newt.com>
2014
2015 * mh-comp.el (mh-insert-signature): Unconditionally insert a
2016 newline so that signatures are inserted consistently, and so that
2017 there isn't any text after the cursor so that the user can start
2018 typing his message immediately. Use new variable and function
2019 mh-signature-separator and mh-signature-separator-p.
2020
2021 * mh-customize.el (mh-delete-yanked-msg-window-flag): Checkdoc
2022 fix.
2023 (mh-signature-file-name): Updated docstring now that this variable
2024 can be a function. Added cross-references to
2025 mh-signature-separator, mh-signature-separator-regexp, and
2026 mh-signature-separator-p which might be used in such functions.
2027
2028 * mh-identity.el (mh-insert-identity): Don't include signature if
2029 signature separator already present. Useful when running
2030 mh-edit-again.
2031
2032 * mh-mime.el (mh-inline-vcard-p): Use mh-signature-separator-p.
2033
2034 * mh-utils.el (mh-signature-separator-regexp): New variable
2035 containing "^-- $" which should be used when looking for the
2036 signature separator.
2037 (mh-signature-separator): New variable containing "-- \n" which
2038 should be used when inserting the signature separator.
2039 (mh-signature-separator-p): New function that returns non-nil if
2040 mh-signature-separator-regexp is found in the buffer.
2041
20422003-08-09 Satyaki Das <satyakid@stanford.edu>
2043
2044 * mh-utils.el (mh-x-image-scaling-function): Variable that
2045 contains function used to scale images. Possible choices are
2046 mh-x-image-scale-with-convert and mh-x-image-scale-with-pnm.
2047 (mh-convert-executable): Removed.
2048 (mh-x-image-scale-with-pnm, mh-x-image-scale-with-convert): New
2049 functions that scale images using pnm tools or ImageMagick.
2050 (mh-x-image-scale-and-display, mh-x-image-url-display): Use
2051 mh-x-image-scaling-function instead of mh-convert-executable.
2052
20532003-08-08 Peter S Galbraith <psg@debian.org>
2054
2055 * mh-comp.el (mh-insert-signature): Bug fix. Handle case of nil
2056 `mh-signature-file-name' and hooks correctly.
2057
2058 * mh-identity.el (mh-insert-identity): Refactor to use
2059 mh-insert-signature
2060
2061 * mh-comp.el (mh-signature-separator-p): Removed.
2062
2063 * mh-comp.el (mh-insert-signature): Merge MIME awareness from
2064 mh-insert-identity into this command. Allow
2065 `mh-signature-file-name' to be a function to call. See if "-- "
2066 needs to be inserted only after hooks have run.
2067
20682003-08-07 Bill Wohler <wohler@newt.com>
2069
2070 * mh-customize.el (mh-compose-skipped-header-fields): Added
2071 X-Image-URL.
2072 (mh-autoload): Removed cookies. They aren't necessary in
2073 mh-e.el, mh-utils.el, or mh-customize.el.
2074
2075 * mh-e.el (mh-autoload): Removed cookies. They aren't necessary in
2076 mh-e.el, mh-utils.el, or mh-customize.el.
2077
2078 * mh-identity.el (mh-insert-identity): Made regexp for signature
2079 separator more explicit. Hmmm, maybe we should create
2080 mh-signature-separator-regexp...
2081
2082 * mh-index.el (mh-replace-string): Moved to mh-utils.el.
2083
2084 * mh-utils.el (mh-replace-string): Moved here from mh-index.el.
2085 (mh-autoload): Removed cookies. They aren't necessary in mh-e.el,
2086 mh-utils.el, or mh-customize.el.
2087
2088 * mh-comp.el (mh-insert-signature): Added file argument to insert
2089 a file other than mh-signature-file-name. Insert signature
2090 separator, unless file already contains one.
2091
20922003-08-06 Satyaki Das <satyakid@stanford.edu>
2093
2094 * mh-e.el (mh-folder-size, mh-folder-size-folder)
2095 (mh-folder-size-flist): If flist is not present use folder to
2096 find the number of messages in the folder. Also the .mh_sequences
2097 file is read to find the number of unseen messages.
2098
2099 * mh-utils.el (mh-flists-present-flag, mh-find-progs): Introduce
2100 a new variable to test for the presence of the flists program and
2101 set it in mh-find-progs.
2102
21032003-08-06 Peter S Galbraith <psg@debian.org>
2104
2105 * mh-customize.el: Change the order of `mh-identity-list' and
2106 `mh-auto-fields-list' and remove byte-compilation defvar for
2107 `mh-identity-list'. This fixes a customization bug for
2108 `mh-identity-list', where it wasn't set correctly.
2109
2110 * mh-identity.el (mh-identity-make-menu): mh-auto-fields-list may
2111 not be bound yet when initially loaded.
2112
21132003-08-06 Bill Wohler <wohler@newt.com>
2114
2115 * mh-alias.el (mh-alias-add-address-under-point): Removed trailing
2116 period from messages. The conventions say that errors should not
2117 end with a period and that "Foo...done" messages should not end in
2118 a period, but they aren't explicit about messages in general.
2119 Given what the conventions *do* say, and because most of our
2120 messages don't end with a period, let's just say that messages in
2121 general don't end in a period, just like error messages.
2122
2123 * mh-comp.el (mh-extract-rejected-mail, mh-letter-mode-message):
2124 Ditto.
2125
2126 * mh-e.el (mh-refile-a-msg): Ditto.
2127
2128 * mh-funcs.el (mh-undo-folder): Ditto.
2129
2130 * mh-mime.el (mh-mime-save-parts): Ditto.
2131
2132 * mh-seq.el (mh-subject-to-sequence-unthreaded)
2133 (mh-narrow-to-subject, mh-delete-subject): Ditto.
2134
2135 * mh-index.el (mh-index-sequenced-messages)
2136 (mh-index-new-messages, mh-index-ticked-messages): Discovered that
2137 in general we should only use question marks in yes-or-no-p or
2138 y-or-n-p prompts, but not in other prompts that use
2139 completing-read and offer defaults. In these cases, use colons
2140 instead (closes SF #730470).
2141
2142 * mh-mime.el (mh-mime-save-parts): Ditto.
2143
2144 * mh-utils.el (mh-prompt-for-folder): Ditto.
2145
2146 * mh-alias.el (mh-alias-apropos): Multiple messages are usually
2147 shown one at a time rather than appended. Send output to
2148 mh-aliases-buffer instead of *Help*.
2149 (mh-alias-local-users): Checkdoc fix.
2150
2151 * mh-funcs.el (mh-undo-folder): Removed commented-out code since
2152 its deadline had expired.
2153
2154 * mh-utils.el (mh-aliases-buffer): New buffer name, used in
2155 mh-aliases.el.
2156
21572003-08-06 Satyaki Das <satyakid@stanford.edu>
2158
2159 * mh-utils.el (mh-x-image-url-cache-canonicalize): Make this
2160 function work for XEmacs too.
2161 (mh-collect-folder-names): Use folders instead of flists. One
2162 advantage is that folders is available on MH while flists is not.
2163 Another is that if an explicit -sequence argument isn't given and
2164 Unseen-Sequence profile is not present then flists croaks while
2165 folders doesn't.
2166 (mh-collect-folder-names-filter): Don't consider folder names that
2167 start with a `.' character. This is needed since the folders
2168 command doesn't filter them out like flists does.
2169
2170 * mh-index.el (mh-replace-string): Add autoload for it.
2171
21722003-08-05 Satyaki Das <satyakid@stanford.edu>
2173
2174 * mh-mime.el (mh-compose-forward, mh-mhn-compose-forw)
2175 (mh-mml-forward-message): The variable mh-sent-from-msg can be a
2176 list. So check that the value is really a number before using it
2177 like one.
2178
2179 * mh-comp.el (mh-insert-letter): Same as above.
2180
2181 * mh-utils.el (mh-picon-get-image): Make the code that finds the
2182 address of the sender more robust.
2183 (mh-face-display-function): Make it work with XEmacs.
2184 (mh-picon-image-types): A new variable that stores what image
2185 types can be used.
2186
21872003-08-05 Satyaki Das <satyakid@stanford.edu>
2188
2189 * mh-customize.el (mh-tool-bar-define): Make the save button such
2190 that is activated only if the buffer needs to saved.
2191
2192 * mh-utils.el (mh-face-display-function, mh-picon-get-image): Some
2193 domains, for instance cs.cmu.edu, don't have xpm files. So we need
2194 to search for all three files. The change does that.
2195 (mh-picon-file-contents): A utility function to return the
2196 contents of a file as a string.
2197 (mh-picon-get-image): Write it as a loop to make it simpler.
2198 (mh-x-image-set-download-state): Make the link simpler.
2199
22002003-08-04 Satyaki Das <satyakid@stanford.edu>
2201
2202 * mh-utils.el (mh-x-image-url-display): Don't bother to try to
2203 download image if we don't have the necessary tools to display
2204 it.
2205 (mh-face-display-function): Add preliminary support for "domain"
2206 picons.
2207 (mh-picon-get-image, mh-picon-generate-path): Functions to find
2208 best match for domain in the From header field.
2209
2210 * mh-e.el (mh-previous-unread-msg): If some of the messages in the
2211 unseen sequence are not present in the folder buffer then calling
2212 this function gets stuck and can't skip over them. The change
2213 fixes this.
2214 (mh-next-unread-msg): Same as above.
2215
22162003-08-04 Bill Wohler <wohler@newt.com>
2217
2218 * mh-utils.el (mh-show-mode): Added cross reference to
2219 mh-folder-mode in docstring (closes SF #728638). Added
2220 \\{mh-show-mode-map} to show keymap.
2221
2222 * mh-e.el (mh-folder-mode): Added information about ranges to
2223 docstring (closes SF #728638).
2224
2225 * mh-speed.el (mh-speed-refresh): New function that calls
2226 mh-speed-flists and mh-invalidate-map.
2227 (mh-folder-speedbar-key-map): Replaced keybindings for
2228 mh-speed-invalidate-map and mh-speed-flists with a single binding
2229 for mh-speed-refresh.
2230 (mh-folder-speedbar-menu-items): Replaced menu items for Run
2231 Flists and Invalidate Cached Folders with the single menu item
2232 Refresh Speedbar in order to simplify the UI.
2233
2234 * mh-customize.el (mh-fetch-x-image-url): Added DOS as another
2235 reason not to set this to t.
2236
22372003-08-04 Satyaki Das <satyakid@stanford.edu>
2238
2239 * mh-e.el (mh-scan-folder): Handle ranges from user input properly.
2240
22412003-08-03 Satyaki Das <satyakid@stanford.edu>
2242
2243 * mh-utils.el (mh-find-msg-get-num): Removed. If threading isn't
2244 present, the messages are sorted by index. So `mh-goto-msg' was
2245 implemented as a binary search and this function was used in that
2246 implementation. So this isn't needed any more.
2247 (mh-msg-search-pat): Removed. Before the advent of message
2248 threading, this function was used to generate a regexp used to
2249 search for a particular message. It isn't used anymore. The
2250 variable `mh-scan-msg-number-regexp' should be updated and used in
2251 `mh-goto-msg' instead of hardcoding the regexp in the code. Then
2252 we might be able to better support other scan line formats in the
2253 future.
2254
2255 * mh-seq.el (mh-map-to-seq-msgs, mh-notate-seq): Removed. These
2256 functions were used to notate user sequences. But calling
2257 `mh-goto-msg' inside of a loop is inefficient. So the sequence
2258 notation code was rewritten thereby making these functions
2259 redundant.
2260 (mh-copy-line-to-point): Removed. This function was used in the
2261 implementation the now removed function `mh-copy-seq-to-point'.
2262 That function was problematic and was replaced by the less general
2263 `mh-copy-seq-to-eob'. This makes `mh-copy-line-to-point'
2264 redundant.
2265 (mh-region-to-msg-list): Removed since this is a special case of
2266 the more general `mh-range-to-msg-list'.
2267
2268 * mh-loaddefs.el: Regenerated.
2269
22702003-08-03 Jeffrey C Honig <jch@honig.net>
2271
2272 * mh-customize.el (mh-invisible-header-fields-default): Added
2273 several new fields to hide. Sorted the list with sort-lines.
2274
22752003-08-03 Peter S Galbraith <psg@debian.org>
2276
2277 * mh-customize.el (mh-invisible-headers): Variable renamed to
2278 `mh-invisible-header-fields-compiled'.
2279 (mh-invisible-headers): Implement above change.
2280
2281 * mh-utils.el (mh-display-msg): Idem.
2282
2283 * mh-mime.el (mh-mm-inline-message): Idem.
2284
2285 * mh-comp.el (mh-insert-letter): Idem.
2286
22872003-08-03 Bill Wohler <wohler@newt.com>
2288
2289 * mh-speed.el (mh-folder-speedbar-menu-items): Added separator
2290 between standard and MH-E menu items. Use headline capitalization
2291 in menu items.
2292
2293 * mh-utils.el (mh-temp-fetch-buffer): New constant to hold
2294 buffer name for wget output.
2295 (mh-x-image-url-fetch-image): Use mh-temp-fetch-buffer instead
2296 of hard-coded buffer name. Use make-temp-file to avoid race
2297 conditions and subsequent security issues raised in make-temp-name
2298 docstring.
2299
23002003-08-03 Satyaki Das <satyakid@stanford.edu>
2301
2302 * mh-utils.el (mh-wget-executable, mh-wget-choice, mh-wget-option)
2303 (mh-x-image-url-fetch-image): Support the use of `curl' and
2304 `fetch' as alternatives to `wget'.
2305 (mh-wget-choice): Change order of search.
2306 (mh-x-image-url-fetch-image): Rename buffer.
2307
23082003-08-03 Satyaki Das <satyakid@stanford.edu>
2309
2310 * mh-utils.el (mh-x-image-set-download-state)
2311 (mh-x-image-get-download-state): Specially named symbolic links
2312 are used to keep track of whether a X-Image-URL header field needs
2313 to downloaded the next time it is seen. These functions get and
2314 set the symlinks appropriately.
2315 (mh-x-image-url-fetch-image): Simplified since the query has been
2316 moved to `mh-x-image-url-display'. Also if wget isn't present then
2317 try again next time since the user might install wget before
2318 trying once more.
2319 (mh-x-image-scale-and-display): Handle absence of the `convert'
2320 program better. If it isn't present then we will try to display
2321 the image the next time it is encountered. Also use the -geometry
2322 option to convert since the -resize option isn't present in older
2323 versions.
2324 (mh-x-image-url-display): Move all the code that decides whether
2325 an X-Image-URL header field will be fetched in this function. Also
2326 remember the user's decision so that if the image couldn't be
2327 fetched the first time, we will try to fetch it later on without
2328 asking again.
2329
23302003-08-02 Peter S Galbraith <psg@debian.org>
2331
2332 * mh-alias.el (mh-alias-local-users): Exclude all aliases already
2333 in mh-alias-alist from `ali' (closes SF #772595).
2334
23352003-08-01 Satyaki Das <satyakid@stanford.edu>
2336
2337 * mh-utils.el (mh-x-image-display, mh-x-image-url-display): Avoid
2338 a race. The X-Image-URL is displayed asynchronously. Suppose a
2339 message with a image is shown with `mh-show'. If a different
2340 message is displayed before the image can be fetched, then the new
2341 message will have the image displayed. With this change the race
2342 is less likely to happen.
2343
23442003-08-01 Peter S Galbraith <psg@debian.org>
2345
2346 * mh-inc.el (mh-inc-spool-map): Fix what `mh-inc-spool-map-help'
2347 must look like as a fake `mh-help-messages' in order to work
2348 correctly in mh-help.
2349
23502003-07-31 Bill Wohler <wohler@newt.com>
2351
2352 * mh-inc.el (mh-inc-spool-map): Use mh-help instead of
2353 mh-ephem-message in order to display help in its own buffer
2354 instead of minibuffer.
2355
2356 * mh-utils.el (mh-help-buffer): New variable to hold the name of
2357 the MH-E help buffer name.
2358
2359 * mh-funcs.el (mh-help, mh-prefix-help): Use with-electric-help to
2360 display help messages. I observed a friend with a vision
2361 disability and the 5 seconds the help appeared on the screen was
2362 not long enough for him to lock on it. I've therefore changed the
2363 help function to display the help in its own buffer called *MH-E
2364 Help* (closes SF #493740 and SF #656631).
2365
2366 * mh-customize.el (mh-fetch-x-image-url): Changed default from nil
2367 to 'ask. Updated docstring from manual.
2368 (mh-invisible-header-fields-internal): Added X-Image-URL.
2369 (mh-show-use-xface-flag): Updated docstring from manual.
2370 (mh-x-face-file): Ditto.
2371
2372 * mh-mime.el (mh-mhn-compose-external-type): Don't insert the
2373 directory parameter if it's nil. The mhbuild man page indicates
2374 that this parameter is optional, so this should be fine.
2375
2376 * mh-comp.el (mh-letter-mode-map): Added keybindings for
2377 mh-mhn-compose-anon-ftp and
2378 mh-mhn-compose-external-compressed-tar.
2379 (mh-letter-menu): Uncommented menu items for same.
2380
23812003-07-30 Satyaki Das <satyakid@stanford.edu>
2382
2383 * mh-loaddefs.el: Regenerated.
2384
2385 * mh-pick.el (mh-do-pick-search): Removed since the function
2386 `mh-pick-do-search' performs the same action as this function.
2387
2388 * mh-index.el (mh-index-update-unseen): Removed since the
2389 generalized sequence synchronization code that keeps sequences in
2390 index folders in sync with the sequences in the source folders
2391 makes this function redundant.
2392
2393 * mh-e.el (mh-folder-unseen-seq-name, mh-folder-unseen-seq-list):
2394 Removed. These two functions were used in the unseen sequence
2395 highlighting before the sequence highlighting code was
2396 generalized. In any event calls to the function
2397 `mh-folder-unseen-seq-name' can be replaced by the variable
2398 `mh-unseen-seq' and calls to `mh-folder-unseen-seq-list' can be
2399 replaced with (cdr (assoc mh-unseen-seq mh-seq-list)).
2400 (mh-unmark-all-headers): Removed since this function has been
2401 superseded by mh-remove-all-notation.
2402 (mh-map-over-seqs): Removed since we now have the generalized
2403 iteration over message ranges (the `mh-iterate-on-range' macro)
2404 that can be used instead.
2405 (mh-notate-if-in-one-seq): Removed. This function was used for
2406 changing the `%' notation for user sequences. It can't be used for
2407 that purpose any more, since we have a different scheme now.
2408
2409 * mh-unit.el (mh-unit-tests): Removed since it isn't needed any
2410 more.
2411 (mh-unit): Run all function that start with the string
2412 "mh-unit-test-".
2413
24142003-07-30 Bill Wohler <wohler@newt.com>
2415
2416 * mh-customize.el (mh-invisible-header-fields): Checkdoc fix.
2417
2418 * mh-utils.el (mh-x-image-url-cache-canonicalize): Shortened using
2419 example in files.el:make-backup-file-name-1.
2420 (mh-face-display-function): Added X-Image-URL to docstring.
2421
2422 * mh-unit.el (mh-unit-x-image-url-cache-canonicalize): New
2423 function to test mh-x-image-url-cache-canonicalize since it lent
2424 itself well to unit testing. Had to start somewhere!
2425 (mh-unit-equal): New function that throws an error if RESULT
2426 doesn't equal EXPECTED.
2427 (mh-unit): Call mh-unit-x-image-url-cache-canonicalize.
2428
24292003-07-29 Satyaki Das <satyakid@stanford.edu>
2430
2431 * mh-unit.el (mh-unit-update-call-graph): Make the function work
2432 better with dotted lists, that is lists of the form (a b c . d)
2433 where `d' isn't nil. With this we are able to avoid marking some
2434 functions as unused even though they are actually used in alists.
2435
24362003-07-28 Peter S Galbraith <psg@debian.org>
2437
2438 * mh-comp.el (mh-insert-letter): Remove `mh-visible-headers'
2439 operation.
2440
2441 * mh-mime.el (mh-mm-inline-message): Same.
2442
2443 * mh-utils.el (mh-display-msg): Same.
2444 (mh-clean-msg-header): Make a note of above change.
2445
2446 * mh-customize.el (mh-invisible-header-fields-internal): Renamed
2447 from prior `mh-invisible-header-fields-default'.
2448 (mh-invisible-header-fields-default): Renamed from prior
2449 `mh-invisible-header-fields-default-override'.
2450 (mh-invisible-header-fields): Renamed from prior
2451 `mh-invisible-header-fields-user'.
2452 (mh-visible-headers): Removed! We use invisible fields only now.
2453 (mh-visible-header-fields): Removed!
2454
24552003-07-28 Peter S Galbraith <psg@debian.org>
2456
2457 * mh-customize.el (mh-invisible-header-fields-default): Added 3
2458 new fields to hide.
2459
24602003-07-28 Satyaki Das <satyakid@stanford.edu>
2461
2462 * mh-utils.el (mh-show): Add an extra argument to the function so
2463 that interactive use will always force redisplay of the message.
2464
2465 * mh-mime.el (mh-mime-display, mh-mm-inline-message): Bind the
2466 variables `mm-verify-option' and `mm-decrypt-option' so that
2467 verification and decryption of mail can happen without any
2468 additional tinkering.
2469
24702003-07-25 Peter S Galbraith <psg@debian.org>
2471
2472 * mh-customize.el (mh-invisible-header-fields-default): New defvar
2473 holding default fields to hide. This replaces the old
2474 `mh-invisible-header-fields' defcustom.
2475 (mh-invisible-header-fields-user): New defcustom. Users add
2476 fields to suppress that we didn't include in
2477 `mh-invisible-header-fields-default'. This could be named simply
2478 `mh-invisible-header-fields' and it wouldn't really break anything
2479 for users who have customized it to a long list now redundant with
2480 `mh-invisible-header-fields-default'.
2481 (mh-invisible-header-fields-default-override): New defcustom.
2482 Users check off the fields they want displyed from what we
2483 included in `mh-invisible-header-fields-default'.
2484 (mh-invisible-headers): Function adapted to new variables.
2485
24862003-07-25 Satyaki Das <satyakid@stanford.edu>
2487
2488 * mh-e.el (mh-inc-folder): If the user is in a different folder
2489 displaying a message and runs mh-inc-folder, then the folder
2490 changes to +inbox but the show window continues to display the
2491 message in the old folder. The change fixes this.
2492 (mh-visit-folder): Make the handling of the show window similar to
2493 that of mh-inc-folder.
2494
24952003-07-24 Satyaki Das <satyakid@stanford.edu>
2496
2497 * mh-e.el (mh-folder-message-menu, mh-folder-folder-menu): Use the
2498 predicate mh-outstanding-commands-p instead of its exapansion.
2499 Also use the same label in both menus.
2500 (mh-outstanding-commands-p): Generalized so that it will work in
2501 mh-show-mode buffers as well.
2502
2503 * mh-customize.el (mh-tool-bar-define): Enable tool-bar button for
2504 mh-execute-commands only if there are pending deletes or refiles.
2505
25062003-07-19 Satyaki Das <satyakid@stanford.edu>
2507
2508 * mh-utils.el (mh-show-msg): If a unseen message is first marked
2509 for deletion/refiling and then displayed, the bold highlighting
2510 does not go away. This change fixes that.
2511
2512 * mh-seq.el (mh-msg-is-in-seq): Fix a bug in the function. If any
2513 message was marked for refiling, then the function would have you
2514 believe that every message in the folder is being refiled.
2515
25162003-07-17 Bill Wohler <wohler@newt.com>
2517
2518 * mh-e.el: Removed email address for Stephen Gildea's in Change
2519 Log at his request (damn spammers). Removed other email addresses
2520 while I was at it since the SourceForge URL should be sufficient
2521 contact information.
2522
2523 (mh-scan-format-*mh): Fixed typo in comment above these variables.
2524 These variables are used if mh-scan-format-file is t, not nil.
2525 Also mh-scan-format-file is no longer "above" (courtesy Stephen
2526 Gildea).
2527
25282003-07-17 Satyaki Das <satyakid@stanford.edu>
2529
2530 * mh-mime.el (mh-mhn-quote-unescaped-sharp): New function that
2531 quotes `#' characters in the first column that aren't part of a
2532 MHN directive.
2533 (mh-mhn-directive-present-p): Generalized to allow the function
2534 to search for MHN directives in a part of the buffer.
2535 (mh-edit-mhn): Quote unescaped `#' characters in the draft (closes
2536 SF #762464).
2537
25382003-07-16 Satyaki Das <satyakid@stanford.edu>
2539
2540 * mh-alias.el (mh-alias-read-address-map): If
2541 mh-alias-flash-on-comma is nil when mh-alias is loaded, then
2542 setting mh-alias-flash-on-comma to t later on doesn't turn on
2543 address completion display till Emacs is restarted. The change
2544 fixes this.
2545
25462003-07-15 Bill Wohler <wohler@newt.com>
2547
2548 * mh-utils.el (mh-cmd-note): Cleaned up docstring (changed phrase
2549 to sentences). Moved to Scan Line Formats section.
2550 (mh-scan-msg-number-regexp)
2551 (mh-scan-msg-overflow-regexp, mh-scan-msg-format-regexp)
2552 (mh-scan-msg-format-string, mh-scan-msg-search-regexp): Cleaned up
2553 docstrings (changed phrases to sentences).
2554 (mh-note-seq): Cleaned up docstring (changed phrase to sentences).
2555 Also, this variable is now a character and not a string. Moved to
2556 Scan Line Formats section.
2557
2558 * mh-funcs.el (mh-note-copied, mh-note-printed): Cleaned up
2559 docstrings (changed phrases to sentences). Also, these variables
2560 are now characters and not strings.
2561
2562 * mh-e.el (mh-scan-format-mh, mh-scan-format-nmh): Filled. I was
2563 hoping to quote the hint `t' but checkdoc wouldn't let me.
2564 (mh-note-deleted, mh-note-refiled, mh-note-cur): Moved to Scan
2565 Line Formats section.
2566 (mh-scan-good-msg-regexp, mh-scan-deleted-msg-regexp)
2567 (mh-scan-refiled-msg-regexp, mh-scan-valid-regexp)
2568 (mh-scan-cur-msg-number-regexp, mh-scan-date-regexp)
2569 (mh-scan-rcpt-regexp, mh-scan-body-regexp)
2570 (mh-scan-subject-regexp, mh-scan-format-regexp): Cleaned
2571 up docstrings (changed phrases to sentences).
2572 (mh-scan-cur-msg-regexp): Marked this variable as obsolete; it
2573 should be removed for 8.0.
2574
2575 * mh-comp.el (mh-note-repl, mh-note-forw, mh-note-dist): Cleaned
2576 up docstrings (changed phrases to sentences). Also, these
2577 variables are now characters and not strings.
2578
25792003-07-15 Satyaki Das <satyakid@stanford.edu>
2580
2581 * mh-index.el (mh-index-update-single-msg)
2582 (mh-index-create-sequences): Handle the situation where there are
2583 copies of the exact same message correctly.
2584
25852003-07-15 Satyaki Das <satyakid@stanford.edu>
2586
2587 * mh-seq.el (mh-thread-update-scan-line-map): Modified since
2588 notation is already a character.
2589
2590 * mh-utils.el (mh-note-seq): Convert from string to character.
2591 (mh-notate): Modified since characters are used to notate instead
2592 of strings of length one.
2593
2594 * mh-comp.el (mh-note-repl, mh-note-forw, mh-note-dist): Convert
2595 from string to characters.
2596
2597 * mh-e.el (mh-note-deleted, mh-note-refiled, mh-note-cur): Same as
2598 above (closes SF #770772).
2599 (mh-unmark-all-headers): Modified since mh-note-* variables are
2600 now characters.
2601 (mh-remove-sequence-notation): The mh-notate function remembers
2602 the previous notation. Before the change to the mh-note-*
2603 variables, mh-notate would only remember the change if a string
2604 was used to notate the message. Now mh-notate is always called
2605 with a character notation. So the deletion has to take place
2606 explicitly.
2607
26082003-06-28 Bill Wohler <wohler@newt.com>
2609
2610 * mh-mime.el (mh-mhn-directive-present-p): If shell comments are
2611 present that have a space after the # but no content, then this
2612 function would throw an error. This has been fixed (closes SF
2613 #762458).
2614
26152003-06-27 Satyaki Das <satyakid@stanford.edu>
2616
2617 * mh-index.el (mh-index-search): Use the new and improved
2618 mh-index-new-folder.
2619 (mh-index-new-folder): Improved so that redoing the same search
2620 will reuse the old index folder.
2621 (mh-index-folder-search-regexp): New function which that extracts
2622 out the search expression that produced the index folder.
2623
26242003-06-24 Bill Wohler <wohler@newt.com>
2625
2626 * mh-e.el (Version, mh-version): Set to 7.4.1+cvs.
2627
26282003-06-25 Bill Wohler <wohler@newt.com>
2629
2630 Released MH-E version 7.4.1.
2631
2632 * MH-E-NEWS, README: Updated for release 7.4.1.
2633
2634 * mh-e.el (Version, mh-version): Updated for release 7.4.1.
2635
26362003-06-25 Bill Wohler <wohler@newt.com>
2637
2638 * mh-unit.el (require 'cl): Added. Needed when compiling
2639 separately.
2640
2641 * Makefile (clean): Now a double-colon rule. Added a second clean
2642 target to remove mh-unit.elc.
2643 (compile): Removed mh-unit.elc.
2644 (mh-unit.elc): New target used to compile mh-unit.
2645
26462003-06-24 Bill Wohler <wohler@newt.com>
2647
2648 * mh-e.el (Version, mh-version): Set to 7.4+cvs.
2649
26502003-06-24 Bill Wohler <wohler@newt.com>
2651
2652 Released MH-E version 7.4.
2653
2654 * MH-E-NEWS, README: Updated for release 7.4.
2655
2656 * mh-e.el (Version, mh-version): Updated for release 7.4.
2657
26582003-06-24 Bill Wohler <wohler@newt.com>
2659
2660 * mh-alias.el (mh-alias-gecos-name, mh-alias-local-users)
2661 (mh-alias-suggest-alias): s/gcos/gecos. The original acronym was
2662 GECOS but was later renamed to GCOS (see
2663 http://info.astrian.net/jargon/terms/g/GCOS.html). But the term
2664 really needs to match the field named pw_gecos in struct passwd in
2665 /usr/include/pwd.h
2666
2667 * mh-customize.el (mh-letter-faces): New group to house
2668 mh-letter-header-field-face.
2669 (mh-interpret-number-as-range-flag)
2670 (mh-kill-folder-suppress-prompt-hook): Use "you" instead of "the
2671 user" to make text more friendly.
2672 (mh-index-ticked-messages-folders, mh-visible-headers)
2673 (mh-visible-header-fields): Alphabetized.
2674 (mh-alias-passwd-gcos-comma-separator-flag): Alphabetized and
2675 s/gcos/gecos.
2676 (mh-alias-local-users-prefix): Fixed docstring. Prefixes are
2677 prepended, not appended. Additional checkdoc fix.
2678 (mh-letter-header-field-face): Set group to new group
2679 mh-letter-faces and moved option into this group.
2680
2681 * mh-index.el (mh-index-sequenced-messages): Improved wording of
2682 docstring and mentioned use of prefix argument.
2683
2684 * mh-seq.el (mh-widen): Made docstring more accurate (hopefully!).
2685
26862003-06-18 Satyaki Das <satyakid@stanford.edu>
2687
2688 * mh-index.el (mh-replace-string): Modified to preserve case of
2689 replacement text.
2690 (mh-index-parse-search-regexp): Preserve case of search terms.
2691 This is needed to take advantage of the acronym indexing in
2692 swish++ (closes SF #755718).
2693
26942003-06-13 Satyaki Das <satyakid@stanford.edu>
2695
2696 * mh-utils.el (mh-show-index-sequenced-messages): Interactive
2697 function callable from the show buffer.
2698 (mh-show-folder-map): Add key binding for "F q".
2699
2700 * mh-e.el (mh-folder-map): Same as above.
2701
2702 * mh-index.el (mh-index-sequenced-messages): Add interactive spec
2703 to the function (closes SF #718833).
2704
27052003-06-13 Bill Wohler <wohler@newt.com>
2706
2707 * mh-index.el (mh-flists-execute): Needed to expand mhpath too.
2708
27092003-06-12 Satyaki Das <satyakid@stanford.edu>
2710
2711 * mh-index.el (mh-flists-execute): Modified so that flists
2712 present in mh-progs is called.
2713
27142003-06-07 Jeffrey C Honig <jch@honig.net>
2715
2716 * mh-comp.el (mh-forward, mh-forward): Use (mh-mail-header-end) to
2717 find the end of headers instead of doing an re-search-forward
2718 based on mh-mail-header-separator.
2719
27202003-06-06 Satyaki Das <satyakid@stanford.edu>
2721
2722 * mh-comp.el (mh-letter-toggle-header-field-display): Make the
2723 function callable from the show buffer. This means that the
2724 buffer is temporarily made writable and the modification status
2725 of the buffer restored to the original value.
2726
27272003-06-06 Peter S Galbraith <psg@debian.org>
2728
2729 * mh-utils.el (mh-address-mail-regexp): Bug fix! It wasn't a true
2730 copy of the goto-addr variable. My modification only recognized
2731 addresses with one dot after the @. Sorry about that.
2732
27332003-06-05 Satyaki Das <satyakid@stanford.edu>
2734
2735 * mh-utils.el (mh-replace-in-string): Move comment into doc
2736 string to satisfy checkdoc.
2737
2738 * mh-alias.el (mh-alias-apropos): Checkdoc fix.
2739
27402003-06-05 Bill Wohler <wohler@newt.com>
2741
2742 * mh-customize.el (mh-identity-list): Fixed typo in docstring.
2743
27442003-06-05 Peter S Galbraith <psg@debian.org>
2745
2746 * mh-comp.el (mh-letter-complete-function-alist): Add bcc an reply-to.
2747
27482003-06-04 Peter S Galbraith <psg@debian.org>
2749
2750 * mh-comp.el (mh-letter-complete-function-alist): Add dcc.
2751
27522003-06-03 Peter S Galbraith <psg@debian.org>
2753
2754 * mh-utils.el (mh-replace-in-string): New function name instead of
2755 `dired-replace-in-string'.
2756 * mh-alias.el (mh-alias-gcos-name): Use it.
2757
2758 * mh-alias.el (mh-alias-apropos): New command. Show all aliases
2759 that match REGEXP either in name or content.
2760
2761 * mh-alias.el (mh-alias-suggest-alias): Add no-comma-swap optional
2762 arg.
2763 (mh-alias-canonicalize-suggestion): Change a comma to a period in
2764 created aliases.
2765 (mh-alias-local-users): Call `mh-alias-suggest-alias' with
2766 `no-comma-swap' arg set to t.
2767
2768 * mh-alias.el (mh-alias-local-users): Fix case of nil
2769 `mh-alias-passwd-gcos-comma-separator-flag'.
2770
2771 * mh-alias.el (mh-alias-gcos-name): Fix for case of empty gcos
2772 name field.
2773 (mh-alias-local-users): Fix same.
2774
2775 * mh-alias.el (mh-alias-canonicalize-suggestion): Replace use by
2776 verbose `replace-regexp' by a looped `replace-match'
2777
27782003-06-02 Peter S Galbraith <psg@debian.org>
2779
2780 * mh-utils.el (dired-replace-in-string): Bind if not already
2781 defined. Borrowed from dired.el
2782
2783 * mh-alias.el (mh-alias-gcos-name): switch to using
2784 dired-replace-in-string.
2785
27862003-06-02 Satyaki Das <satyakid@stanford.edu>
2787
2788 * mh-utils.el (mh-letter-font-lock-keywords): Fontify header
2789 fields in the draft buffer that aren't skipped when navigating
2790 with TAB (or S-TAB).
2791
2792 * mh-customize.el (mh-clean-message-header-flag)
2793 (mh-invisible-headers, mh-invisible-header-fields)
2794 (mh-alias-passwd-gcos-comma-separator-flag): Checkdoc fix.
2795 (mh-letter-header-field-face): New face to fontify the header
2796 fields.
2797
2798 * mh-comp.el (mh-insert-auto-fields-done-local): Checkdoc fix.
2799 (mh-letter-mode, mh-letter-mail-header-end-marker): Remember the
2800 end of the message header in a marker. This is used to fontify the
2801 header fields.
2802 (mh-font-lock-field-data, mh-letter-header-end): Functions used
2803 to fontify message header fields.
2804
2805 * mh-alias.el (mh-alias-gcos-name): Checkdoc fix.
2806
28072003-06-02 Peter S Galbraith <psg@debian.org>
2808
2809 * mh-alias.el (mh-alias-gcos-name): New function. Return a usable
2810 address string from a GCOS-NAME and USERNAME.
2811 (mh-alias-local-users): Use it.
2812
2813 * mh-customize.el (mh-alias-passwd-gcos-comma-separator-flag): New
2814 defcustom. Whether the gcos field in the passwd file uses comma as
2815 a separator.
2816
2817 * mh-customize.el (mh-alias-local-users-prefix): New
2818 defcustom. String to append to the real names of users from the
2819 passwd file. If nil, use the username string unmodified instead of
2820 the real name from the gcos field of the passwd file.
2821
2822 * mh-alias.el (mh-alias-local-users): Use it to generate aliases
2823 which by default are now the real name prefixed by "local."
2824
28252003-06-01 Peter S Galbraith <psg@debian.org>
2826
2827 * mh-comp.el (mh-modify-header-field): Bug fix. Calling with with
2828 a value that was already inserted causes it to get inserted a
2829 second time. I have wrapped the value around \b word delimiters.
2830 Hope there are no side effects for other code.
2831
2832 * mh-comp.el (mh-insert-auto-fields): Attempt regardless of
2833 `mh-insert-auto-fields-done-local' flag in interactive use.
2834
2835 * mh-comp.el (mh-insert-auto-fields-done-local): Keep track of
2836 whether `mh-insert-auto-fields' was called in a buffer.
2837 (mh-insert-auto-fields): Set it and use it. Also, don't enter an
2838 identity if one was already entered manually.
2839 (mh-send-letter): Call `mh-insert-auto-fields' again when sending
2840 message.
2841 (mh-compose-and-send-mail): Call `mh-insert-auto-fields' _after_
2842 `mh-letter-mode' so `mh-identity-local' doesn't get cleared by the
2843 mode invocation.
2844
28452003-06-01 Satyaki Das <satyakid@stanford.edu>
2846
2847 * mh-loaddefs.el: Regenerated.
2848
2849 * mh-seq.el (mh-thread-parse-scan-line): The value of
2850 mh-scan-field-from-start-offset was hardcoded in one place. The
2851 change fixes that.
2852
2853 * mh-utils.el (mh-show-mode): Setup mh-show-mode to display
2854 elipsis for truncated header fields and to skip over them quickly.
2855 (mh-clean-msg-header): Make another pass over the message header
2856 fields truncating long headers.
2857
2858 * mh-comp.el (mh-letter-complete): Remove unnecessary autoload.
2859 (mh-letter-toggle-header-field-display): Take into account that
2860 an empty line can also end the message header. The function was
2861 originally written with the draft buffer in mind.
2862
28632003-06-01 Mark D. Baushke <mdb@gnu.org>
2864
2865 * mh-comp.el (mh-letter-mode-map): Do not steal C-t. Use C-c C-t
2866 for the mh-letter-toggle-header-field-display command.
2867
28682003-05-31 Peter S Galbraith <psg@debian.org>
2869
2870 * mh-customize.el (mh-visible-headers): Changed to a defvar that
2871 will be set using new `mh-visible-headers' function using
2872 `mh-visible-header-fields' as input.
2873 (mh-visible-headers): New function, described above.
2874 (mh-visible-header-fields): New defcustom. The UI to set
2875 `mh-visible-headers'.
2876 (mh-invisible-header-fields-set): Deleted. Code merged into
2877 defcustom since it's so short.
2878
28792003-05-31 Satyaki Das <satyakid@stanford.edu>
2880
2881 * mh-comp.el (mh-letter-toggle-header-field-display): Extended to
2882 truncate headers if they are too long.
2883 (mh-letter-truncate-header-field): Make code that would be
2884 duplicated into a function.
2885 (mh-letter-hide-all-skipped-fields): Modified so that fields that
2886 are important are hidden if they are too long.
2887
28882003-05-31 Satyaki Das <satyakid@stanford.edu>
2889
2890 * mh-utils.el ("tool-bar"): Since tool-bar isn't available on
2891 XEmacs, requiring it causes problems. So load it instead.
2892 (mh-do-at-event-location): New macro to do stuff at location of
2893 events. This has been refactored out of mh-push-button.
2894
2895 * mh-mime.el (mh-push-button): Simplified since it now uses the
2896 mh-do-at-event-location macro.
2897
2898 * mh-comp.el (mh-hidden-header-keymap): Keymap to make mouse
2899 clicks on header toggle its display.
2900 (mh-letter-toggle-header-field-display-button): Interactive
2901 function to toggle header display when mouse button is clicked.
2902
29032003-05-31 Peter S Galbraith <psg@debian.org>
2904
2905 * mh-e.el (mh-folder-mode): Remove conditional on tool-bar-mode.
2906
2907 * mh-comp.el (mh-letter-mode): Same.
2908
2909 * mh-utils.el (mh-show-mode): Same.
2910
29112003-05-30 Satyaki Das <satyakid@stanford.edu>
2912
2913 * mh-utils.el (tool-bar): Load tool-bar explicitly. This avoids
2914 problems with incorrect initialization of tool-bar-map otherwise.
2915
29162003-05-30 Peter S Galbraith <psg@mixed.dyndns.org>
2917
2918 * mh-comp.el (mh-modify-header-field): Minor fix of spaces for
2919 when an entry already existed.
2920 (mh-insert-auto-fields): Make interactive. Add optional `quiet'
2921 arg for use when called systematically on every buffer. Won't be
2922 used interactively for more verbose output.
2923 (mh-letter-mode-map): Add \C-c\M-d keybinding for
2924 mh-insert-auto-fields.
2925
2926 * mh-identity.el (mh-identity-make-menu): Add a menu entry in
2927 Identity menu for mh-insert-auto-fields.
2928
2929 * mh-customize.el (mh-invisible-header-fields): Add entries for
2930 `Envelope-to' and `X-Original-To'.
2931
29322003-05-30 Satyaki Das <satyakid@stanford.edu>
2933
2934 * mh-comp.el (mh-letter-mode): Skip over invisible text quickly.
2935
29362003-05-30 Satyaki Das <satyakid@stanford.edu>
2937
2938 * mh-comp.el (mh-letter-mode): Use text properties to achieve
2939 invisibility. This is more portable and the same code can be used
2940 for all Emacs versions.
2941 (mh-letter-toggle-header-field-display): Rewritten to use text
2942 properties.
2943 (mh-dead-overlay-p, mh-letter-hidden-header-fields)): Removed.
2944
29452003-05-29 Satyaki Das <satyakid@stanford.edu>
2946
2947 * mh-comp.el (mh-letter-hidden-header-fields, mh-letter-mode): Add
2948 a hash table, initialized it in mh-letter-mode, to remember the
2949 overlays introduced to hide long headers fields.
2950 (mh-insert-x-mailer): checkdoc fix.
2951 (mh-compose-and-send-mail): Hide unimportant message header
2952 fields.
2953 (mh-letter-header-field-regexp, mh-letter-header-field-at-point)
2954 (mh-letter-next-header-field, mh-letter-previous-header-field):
2955 Add a variable that contains the header-field name regexp and use
2956 it instead of the regexp directly.
2957 (mh-letter-toggle-header-field-display, mh-letter-mode-map): Add
2958 new key binding in mh-letter-mode that toggles display of long
2959 header fields, in mh-letter-mode.
2960 (mh-dead-overlay-p): A predicate which checks if a given header
2961 field has an active overlay hiding it.
2962 (mh-letter-hide-all-skipped-fields): New function that shortens
2963 uninteresting headers.
2964
29652003-05-29 Eric Ding <ericding@acorn.bethesda.net>
2966
2967 * mh-comp.el (mh-letter-next-header-field-or-indent): Call
2968 indent-relative rather than indent-for-tab-command.
2969
29702003-05-29 Satyaki Das <satyakid@stanford.edu>
2971
2972 * mh-comp.el (mh-letter-complete-or-space): The meaning of the
2973 customizable variable was reversed. Also make the doc string more
2974 accurate.
2975
29762003-05-28 Satyaki Das <satyakid@stanford.edu>
2977
2978 * mh-customize.el (mh-compose-skipped-header-fields): New
2979 customizable variable that lists headers that are skipped.
2980 (mh-compose-space-does-completion-flag): Option to do completion
2981 with space (closes SF #745634).
2982
2983 * mh-comp.el (mh-insert-x-mailer): Check the value of
2984 mh-insert-x-mailer-flag in this function instead of in its caller.
2985 (mh-compose-and-send-mail, mh-send-letter): Insert X-Mailer and
2986 X-Face headers when the draft is first presented to the user
2987 instead of when the mail is sent (closes SF #745624).
2988 (mh-letter-complete-or-space): Allow for this key binding to be
2989 overridden.
2990 (mh-letter-next-header-field): Fix a problem with multiline header
2991 fields.
2992 (mh-letter-next-header-field, mh-letter-previous-header-field):
2993 Make these functions skip unwanted header fields.
2994 (mh-letter-skipped-header-field-p): New predicate that checks if a
2995 header field is to be skipped.
2996
2997 * mh-seq.el (mh-thread-inc): Inc'ing email in threaded mode was
2998 causing duplication of the current notation. The change fixes that.
2999
30002003-05-28 Satyaki Das <satyakid@stanford.edu>
3001
3002 * mh-comp.el (mh-beginning-of-word): Generalize it to skip
3003 arbitrary number of words.
3004 (mh-letter-complete-or-space): New interactive function that
3005 allows space character to be used for completion.
3006 (mh-letter-mode-map): Add key binding to allow space to be used
3007 for completion.
3008
30092003-05-27 Satyaki Das <satyakid@stanford.edu>
3010
3011 * mh-customize.el (mh-compose-prompt-flag): Customizable variable
3012 that controls whether the user is prompted when composing a draft.
3013 It replaces mh-dont-prompt-for-address-flag (closes SF #745622).
3014
3015 * mh-comp.el (mh-letter-next-header-field): If the point is in
3016 the header field name, then go the start of the header field
3017 instead of the next field.
3018 (mh-interactive-read-address, mh-interactive-read-string)
3019 (mh-letter-adjust-point): Use mh-compose-prompt-flag instead of
3020 mh-dont-prompt-for-address-flag.
3021
30222003-05-27 Satyaki Das <satyakid@stanford.edu>
3023
3024 * mh-customize.el (mh-tool-bar-define): Fix incorrect usage of
3025 set-specifier (closes SF #745655). Also the button enabling code
3026 interacts poorly with font-lock in XEmacs. So disable that.
3027
30282003-05-26 Satyaki Das <satyakid@stanford.edu>
3029
3030 * mh-e.el (mh-folder-from-address): The function
3031 message-fetch-field expects that the buffer is narrowed to the
3032 mail header. The change makes sure that this is indeed the case.
3033
3034 * mh-mime.el (mh-add-missing-mime-version-header)
3035 (mh-decode-message-body): Same as above.
3036
30372003-05-25 Satyaki Das <satyakid@stanford.edu>
3038
3039 * mh-alias.el (mh-alias-minibuffer-confirm-address): Modified to
3040 use mh-beginning-of-word.
3041
3042 * mh-comp.el (mh-letter-confirm-address): Calling
3043 mh-alias-reload-maybe can be expensive. So do it only if we really
3044 need to.
3045
30462003-05-25 Satyaki Das <satyakid@stanford.edu>
3047
3048 * mh-loaddefs.el: Regenerated.
3049
3050 * mh-comp.el (mh-letter-confirm-address): Load aliases if not yet
3051 loaded.
3052
3053 * mh-alias.el (mh-alias-reload-maybe): Autoload it since it is
3054 used in mh-comp.el.
3055
30562003-05-24 Satyaki Das <satyakid@stanford.edu>
3057
3058 * mh-comp.el (mh-letter-skip-leading-whitespace-in-header-field):
3059 New function to skip leading space and tab characters when placing
3060 point in a header field.
3061 (mh-letter-next-header-field, mh-letter-previous-header-field):
3062 Skip leading whitespace when using TAB to navigate to header
3063 fields.
3064 (mh-letter-confirm-address): New interactive function that
3065 displays the last expansion of the last alias when "," is typed.
3066 (mh-letter-mode-map): Add key binding for "," (closes SF #745634).
3067
30682003-05-23 Satyaki Das <satyakid@stanford.edu>
3069
3070 * mh-comp.el (mh-edit-again, mh-forward, mh-send)
3071 (mh-send-other-window, mh-send-sub): Modified so that if
3072 mh-dont-prompt-for-address-flag is non-nil, then MH-E won't prompt
3073 for addresses to send mail to and instead directly jump to the
3074 draft (closes SF #745622).
3075 (mh-letter-complete-function-alist): An alist that is used to
3076 decide which completion function to use in which header. This
3077 variable should probably be customizable.
3078 (mh-letter-complete): Now uses mh-letter-complete-function-alist.
3079 (mh-letter-header-field-at-point, mh-letter-next-header-field)
3080 (mh-letter-next-header-field-or-indent)
3081 (mh-letter-previous-header-field): Commands for easier navigation
3082 to header fields.
3083 (mh-dont-prompt-for-address-flag): Variable which controls
3084 whether MH-E prompts for addresses.
3085 (mh-interactive-read-address, mh-interactive-read-string): Two
3086 functions to ask user for input depending on the value of the
3087 above flag.
3088 (mh-letter-adjust-point): New function that sets point to the
3089 first header field.
3090 (mh-letter-mode-map): Add key bindings for TAB and S-TAB (closes
3091 SF #745627).
3092
30932003-05-23 Satyaki Das <satyakid@stanford.edu>
3094
3095 * mh-loaddefs.el: Regenerated.
3096
3097 * mh-comp.el (mh-complete-word): New function which is
3098 approximately equivalent to mail-abbrev-complete-alias.
3099 (mh-beginning-of-word): Refactor repeated code into its own
3100 function.
3101 (mh-folder-expand-at-point): Make Fcc completion work in XEmacs
3102 by not using mail-abbrev-complete-alias.
3103
3104 * mh-alias.el (mh-alias-letter-expand-alias): Make alias
3105 expansion work in XEmacs. Replace the use of the function
3106 mail-abbrev-complete-alias, which isn't present in XEmacs.
3107
3108 * mh-mime.el (mh-mml-to-mime): If a MIME message is created
3109 immediately after starting MH-E then invoking mh-mml-to-mime
3110 causes an error because "message" isn't being loaded. The change
3111 works around this problem.
3112 (mh-mime-maybe-display-alternatives): Give better indication of
3113 which MIME parts are alternatives.
3114
31152003-05-22 Satyaki Das <satyakid@stanford.edu>
3116
3117 * mh-e.el (mh-add-sequence-notation, mh-remove-sequence-notation):
3118 Just delete and add the same character in the scan line to make
3119 font-lock refontify it. The previous trick of removing all text
3120 properties didn't work in XEmacs.
3121
3122 * mh-seq.el (mh-put-msg-in-seq): Complain if the user tries to
3123 create an invalid MH sequence.
3124
3125 * mh-mime.el (mh-mime-display-alternative): Modified to
3126 optionally display alternatives as buttons.
3127 (mh-mime-maybe-display-alternatives): New function which displays
3128 alternative MIME parts as buttons.
3129 (mh-mime-save-part): Initially mh-mime-save-parts-directory is
3130 nil and calling file-name-as-directory with nil arg leads to an
3131 error. So fall back on the default-directory in that case.
3132
3133 * mh-customize.el (mh-display-buttons-for-alternatives-flag): New
3134 customizable variable that controls display of the alternative
3135 MIME parts (closes SF #741288).
3136
31372003-05-22 Peter S Galbraith <psg@debian.org>
3138
3139 * mh-customize.el (mh-invisible-header-fields): Commented out
3140 "User-Agent:". It's similar to X-Mailer, so display it.
3141
31422003-05-21 Satyaki Das <satyakid@stanford.edu>
3143
3144 * mh-customize.el (mh-tool-bar-define): Add an optional argument
3145 to the button description that can dynamically enable/disable
3146 buttons.
3147 (mh-tool-bar-define): The alias grabbing button is disabled if the
3148 current message doesn't have a From header or if the sender is
3149 already in the user's alias. This functionality was inadvertently
3150 lost when the Emacs/XEmacs toolbar unification took place.
3151
31522003-05-20 Satyaki Das <satyakid@stanford.edu>
3153
3154 * mh-unit.el (mh-unit-construct-call-graph): Be more aggressive
3155 and flag interactive functions that aren't autoloaded or have no
3156 key bindings.
3157 (mh-unit-interactive-function-p): Remove now unused function.
3158 (mh-unit, mh-unit-construct-call-graph): Replace mh-files with
3159 mh-unit-files.
3160
31612003-05-20 Bill Wohler <wohler@newt.com>
3162
3163 * mh-unit.el (mh-prune-trailing-spaces): Renamed to
3164 mh-unit-prune-trailing-spaces to clean up the namespace.
3165 (mh-files): Renamed to mh-unit-files. Ditto.
3166 (mh-unit): Checkdoc fix.
3167
3168 * mh-index.el (mh-index-p): Added autoload cookie since mh-index-p
3169 is used by mh-customize.el. This calls for another mh-unit test
3170 that looks for mh-autoloads for functions that are no longer used
3171 in other files.
3172
3173 * mh-loaddefs.el: Regenerated.
3174
31752003-05-20 Satyaki Das <satyakid@stanford.edu>
3176
3177 * mh-unit.el (mh-unit-construct-call-graph): Factor out the code
3178 to read the lisp files to a separate function. Also change it to
3179 construct a function call-graph. Autoloaded functions are taken
3180 into account.
3181 (mh-unit-find-all-used-functions, mh-unit-called-functions)
3182 (mh-unit-find-all-unused-functions): Find all unused functions by
3183 computing a fixed point starting from the set of top level
3184 functions.
3185 (mh-unit-analyze-block): Removed.
3186 (mh-unit-update-call-graph): mh-unit-functions-called was renamed
3187 with modifications to update the function call graph.
3188
31892003-05-19 Satyaki Das <satyakid@stanford.edu>
3190
3191 * mh-loaddefs.el: Regenerated.
3192
3193 * mh-utils.el (mh-notate): Modified to keep track of notation
3194 that was replaced when sequence notation is added. Thus when the
3195 sequence is deleted, the original notation is recovered.
3196 (mh-add-msgs-to-seq): Modified to work with the new sequence
3197 notation code.
3198
3199 * mh-seq.el (mh-delete-seq, mh-put-msg-in-seq): Simplified since
3200 we don't need to handle tick and unseen sequences specially any
3201 more.
3202 (mh-narrow-to-seq): Don't need to call mh-notate-user-sequences
3203 since mh-copy-seq-to-eob already does that.
3204 (mh-widen): Remove sequence notation, so that notation when
3205 messages are replied to aren't lost.
3206 (mh-copy-seq-to-eob): Simplified with the use of
3207 mh-iterate-on-range.
3208 (mh-thread-inc): This function doesn't need to notate user
3209 sequences since its callers already do that.
3210 (mh-thread-parse-scan-line): Simplified since mh-note-seq doesn't
3211 appear in scan lines it is given as arguments.
3212 (mh-thread-update-scan-line-map): Remove the test, since its
3213 caller already does the required check.
3214 (mh-thread-folder): Simplified by the use of mh-iterate-on-range.
3215 (mh-tick-add-overlay, mh-tick-remove-overlay, mh-notate-tick):
3216 These functions aren't needed any more, since overlays aren't used
3217 any more. Also overlays aren't portable to XEmacs, so nasty
3218 conditional code that used overlays in Emacs and extents in Xemacs
3219 have been eliminated.
3220 (mh-toggle-tick): Generalize it to work on a range of messages
3221 like the other interactive messages.
3222
3223 * mh-funcs.el (mh-undo-folder): Use mh-remove-all-notation
3224 instead of mh-unmark-all-headers.
3225
3226 * mh-e.el (mh-folder-font-lock-keywords): The entry for unseen
3227 sequence highlighting is now done by the macro.
3228 (mh-generate-sequence-font-lock): New macro to highlight any
3229 arbitrary sequence. This macro is invoked twice to get the
3230 highlighting for unseen and tick sequences.
3231 (mh-sequence-notation-history, mh-folder-mode): New variable that
3232 keeps track of the old notation when a message is notated with
3233 mh-note-seq.
3234 (mh-regenerate-headers, mh-get-new-mail): Add appropriate calls to
3235 mh-notate-user-sequences and mh-remove-all-notation.
3236 (mh-unmark-all-headers): Add comment that this function shouldn't
3237 be used any more.
3238 (mh-add-sequence-notation, mh-remove-sequence-notation): New
3239 functions to notate message with mh-note-seq and to remove it.
3240 (mh-remove-all-notation): Simplified to use mh-iterate-on-range.
3241 (mh-process-commands): Use mh-remove-all-notation instead of
3242 mh-unmark-all-headers.
3243 (mh-notate-user-sequences, mh-delete-msg-from-seq): Simplified
3244 since the tick and unseen sequences don't need special handling
3245 any more.
3246 (mh-internal-seq): Make it possible to dynamically change what
3247 sequences are treated as internal (internal means font lock is
3248 used to highlight the sequence).
3249 (mh-clear-text-properties): Removed since it isn't needed
3250 anymore.
3251
32522003-05-19 Satyaki Das <satyakid@stanford.edu>
3253
3254 * mh-unit.el (mh-unit-analyze-block, mh-unit-interactive-function-p)
3255 (mh-unit-find-all-unused-functions): Change argument name bl to
3256 block.
3257
32582003-05-19 Satyaki Das <satyakid@stanford.edu>
3259
3260 * mh-unit.el (mh-unit-find-all-unused-functions): New interactive
3261 function to find all unused functions in MH-E.
3262 (mh-unit-analyze-block, mh-unit-interactive-function-p)
3263 (mh-unit-functions-called): Functions used by
3264 mh-unit-find-all-unused-functions do its job.
3265
3266 * Makefile (compile): Byte-compile mh-unit.el, since the analysis
3267 to find unused code runs faster when compiled.
3268
32692003-05-18 Satyaki Das <satyakid@stanford.edu>
3270
3271 * mh-loaddefs.el: Regenerated.
3272
3273 * mh-seq.el (mh-notate-deleted-and-refiled): Add autoload
3274 declaration since this function is used in mh-index.el.
3275
3276 * mh-e.el, mh-customize.el, mh-utils.el: Adjust require/provide
3277 statements so that mh-e.el isn't loaded twice.
3278
32792003-05-15 Satyaki Das <satyakid@stanford.edu>
3280
3281 * mh-utils.el (mh-defun-show-buffer): Arrange for the current
3282 line in the folder buffer to be highlighted even when we are in
3283 the show buffer.
3284
32852003-05-14 Satyaki Das <satyakid@stanford.edu>
3286
3287 * mh-seq.el (mh-read-range): Allow this to work on invalid
3288 sequences that only MH-E knows about.
3289
3290 * mh-index.el (mh-create-sequence-map, mh-index-add-to-sequence)
3291 (mh-index-delete-from-sequence): Don't consider sequences that
3292 aren't valid MH sequences.
3293
3294 * mh-e.el (mh-valid-seq-p): New predicate to check if a symbol
3295 could be a MH sequence.
3296 (mh-undefine-sequence, mh-define-sequence): Don't execute "mark"
3297 unless the sequence name is a valid MH sequence.
3298
3299 * mh-utils.el (mh-exec-cmd): In case an error happens in the
3300 call-process and non-strings are present in ARGS, then the error
3301 message isn't properly displayed. The change fixes this.
3302
33032003-05-14 Peter S Galbraith <psg@debian.org>
3304
3305 * mh-mime.el (mh-mime-save-part): Bug Fix: Make sure
3306 `mm-default-directory' gets a trailing "/" if
3307 `mh-mime-save-parts-directory' doesn't have one. Otherwise the
3308 default in the prompt of `mh-mm-save-part' will be wrong. Perhaps
3309 `mh-mm-save-part' needs to do this check itself.
3310
33112003-05-14 Satyaki Das <satyakid@stanford.edu>
3312
3313 * mh-index.el (mh-unpropagated-sequences): New function and
3314 variable to keep track of sequences that shouldn't be propagated.
3315 (mh-create-sequence-map, mh-index-add-to-sequence)
3316 (mh-index-delete-from-sequence): Use mh-unpropagated-sequences to
3317 stop changes to some sequences being reflected back to the source
3318 folders.
3319
33202003-05-13 Satyaki Das <satyakid@stanford.edu>
3321
3322 * mh-loaddefs.el: Regenerated.
3323
3324 * mh-e.el (mh-process-commands): Preserve sequences when messages
3325 are refiled (closes SF #737128).
3326
3327 * mh-index.el (mh-create-sequence-map)
3328 (mh-index-create-sequences): Refactor code that is reused into a
3329 new function.
3330
3331 * mh-customize.el (mh-refile-preserves-sequences-flag): New
3332 customizable flag that controls whether sequences are preserved
3333 when messages are refiled.
3334
33352003-05-13 Eric Ding <ericding@alum.mit.edu>
3336
3337 * mh-e.el (mh-scan-format): The argument for scan format files
3338 should be -form, not -format.
3339
33402003-05-13 Satyaki Das <satyakid@stanford.edu>
3341
3342 * mh-seq.el (mh-widen): The scan line map stack was not being
3343 properly updated when ALL-FLAG is non-nil. The change fixes that.
3344
3345 * mh-e.el (mh-reset-threads-and-narrowing): The change resets the
3346 scan line map stack.
3347
33482003-05-12 Satyaki Das <satyakid@stanford.edu>
3349
3350 * mh-loaddefs.el: Regenerated.
3351
3352 * mh-seq.el (mh-thread-scan-line-map-stack)
3353 (mh-thread-old-scan-line-map): Instead of the old scan line map,
3354 now we need to maintain a stack of scan line maps.
3355 (mh-narrow-to-seq): Modified so that multiple level of narrowings
3356 can be done. We now maintain a stack of old views instead of
3357 hiding the old scan lines. This makes it possible to have
3358 multiple levels of narrowings.
3359 (mh-widen): A optional prefix arg was added to allow undoing all
3360 narrowing.
3361 (mh-read-seq-default, mh-read-range): Don't use
3362 mh-narrowed-to-seq, since it doesn't exist any more.
3363 (mh-thread-initialize-hash, mh-thread-initialize): The
3364 mh-thread-initialize function has been refactored.
3365 (mh-thread-update-scan-line-map): Maintain notations in the stack
3366 of scan line maps.
3367 (mh-notate-tick, mh-toggle-tick): Simplified, since we don't have
3368 mh-narrowed-to-seq any more. This means there is a slight loss of
3369 functionality. Earlier if we narrowed to the tick sequence the
3370 ticked messages weren't highlighted. This feature isn't present
3371 any more.
3372
3373 * mh-e.el (mh-execute-commands, mh-reset-threads-and-narrowing)
3374 (mh-folder-sequence-menu, mh-get-new-mail): Use
3375 mh-folder-view-stack instead of the now removed
3376 mh-narrowed-to-seq.
3377 (mh-narrowed-to-seq, mh-tick-seq-changed-when-narrowed-flag):
3378 These variables have been removed.
3379 (mh-folder-view-stack): New variable to keep track of a stack of
3380 narrowings.
3381 (mh-execute-commands, mh-get-new-mail): Add extra argument to
3382 mh-widen so that all narrowings are undone.
3383
3384 * Makefile (MH-E-SRC, MH-E-OTHERS): Move mh-gnus.el from MH-E-SRC
3385 to MH-E-OTHERS so that it isn't byte compiled.
3386
33872003-05-10 Satyaki Das <satyakid@stanford.edu>
3388
3389 * mh-seq.el (mh-read-seq): Improve the function a bit by adding
3390 history to the sequence prompt.
3391
33922003-05-09 Satyaki Das <satyakid@stanford.edu>
3393
3394 * mh-gnus.el: New file that won't be byte-compiled. From now on
3395 having different Gnus versions at run-time and compile-time won't
3396 cause errors in MH-E.
3397
3398 * mh-mime.el (mh-small-show-buffer-p, mh-display-smileys)
3399 (mh-display-emphasis): Handle all legal values of
3400 font-lock-maximum-size. The existing code assumed didn't consider
3401 the case where it could be an alist.
3402 (mh-small-image-p): Simplified, so that aliasing XEmacs functions
3403 in Emacs isn't necessary any more.
3404 (mh-mm-display-part): Remove unnecessary call to fboundp. The
3405 mh-funcall-if-exists does that for us any way.
3406 (mh-defun-compat, gnus-local-map-property, mm-merge-handles)
3407 (mm-set-handle-multipart-parameter, mm-readable-p)
3408 (mm-long-lines-p, mm-keep-viewer-alive-p, mm-destroy-parts)
3409 (mh-mm-save-part, mm-handle-multipart-ctl-parameter): These
3410 compatibility functions have been moved to mh-gnus.el.
3411
3412 * Makefile (MH-E-SRC): Add mh-gnus.el.
3413
3414 * mh-seq.el (mh-narrow-to-header-field)
3415 (mh-current-message-header-field): Checkdoc fixes.
3416
3417 * mh-e.el (mh-undefine-sequence): Since mh-coalesce-msg-list
3418 returns a list, apply is needed.
3419
34202003-05-09 Noel Cragg <noel@red-bean.com> (tiny change)
3421
3422 * mh-junk.el (mh-spamassassin-blacklist): Separate "--local" and
3423 "--no-rebuild" arguments to call-process.
3424 [Patch committed by satyaki]
3425
34262003-05-08 Satyaki Das <satyakid@stanford.edu>
3427
3428 * mh-seq.el (mh-translate-range): Take into account differnt
3429 semantics of split-string in Emacs and XEmacs.
3430 (mh-read-pick-regexp, mh-narrow-to-from, mh-narrow-to-cc)
3431 (mh-narrow-to-to, mh-narrow-to-header-field)
3432 (mh-current-message-header-field, mh-narrow-to-range): New
3433 narrowing functions that can select messages based on different
3434 message headers.
3435
3436 * mh-utils.el (mh-show-limit-map): Add new narrowing functions
3437 callable from the show buffer.
3438
3439 * mh-e.el (mh-help-messages): Add help text for new functions.
3440 (mh-limit-map): Add new narrowing functions (closes SF #732823).
3441
34422003-05-07 Satyaki Das <satyakid@stanford.edu>
3443
3444 * mh-utils.el (mh-collect-folder-names): Use mh-exec-daemon to
3445 run flists. This means we don't have to remember to expand the MH
3446 executable in the mh-progs path.
3447 (mh-exec-cmd-daemon): Return the new process object produced.
3448
34492003-05-06 Satyaki Das <satyakid@stanford.edu>
3450
3451 * mh-e.el (mh-folder-font-lock-unseen): Use mh-seq-list to do
3452 unseen sequence highlighting instead of reading the .mh_sequences
3453 file from disk every time.
3454
34552003-05-05 Satyaki Das <satyakid@stanford.edu>
3456
3457 * mh-utils.el (mh-show-sequence-map): Add key binding for S'
3458 (closes SF #732825).
3459
3460 * mh-e.el (mh-sequence-map): Ditto.
3461 (mh-help-messages): Updated for S'.
3462
34632003-05-04 Satyaki Das <satyakid@stanford.edu>
3464
3465 * mh-index.el (mh-index-write-data): The with-temp-buffer macro
3466 is a bit better than write-file, so use that instead.
3467
34682003-05-03 Satyaki Das <satyakid@stanford.edu>
3469
3470 * mh-index.el (mh-index-update-maps, mh-index-search)
3471 (mh-index-sequenced-messages): Write index data to disk. This
3472 allows us to recover index folder information if Emacs is
3473 restarted, or the index folder is visited after the buffer has
3474 been killed (closes SF #701762).
3475 (mh-index-write-data, mh-index-read-data)
3476 (mh-index-write-hashtable, mh-index-read-hashtable): Functions to
3477 store and read index data information to disk.
3478 (mh-index-insert-folder-headers, mh-index-group-by-folder): We
3479 can no longer use object identity to compare strings, since they
3480 might have been read back from disk.
3481
3482 * mh-e.el (mh-index-data-file): New variable that stores the name
3483 of the file that keeps track of index folder data.
3484 (mh-make-folder): Read index folder data if available.
3485
3486 * mh-utils.el (mh-show, mh-summary-height, mh-modify): Make
3487 checkdoc happy.
3488
3489 * mh-seq.el (mh-tick-add-overlay): Rearrange code to make code
3490 more uniform.
3491
3492 * mh-loaddefs.el: Regenerated.
3493
34942003-05-02 Satyaki Das <satyakid@stanford.edu>
3495
3496 * mh-seq.el (mh-tick-add-overlay): If a message with a short scan
3497 line is ticked, then the highlighting didn't extend to the right
3498 margin. This change fixes that.
3499
35002003-05-01 Bill Wohler <wohler@newt.com>
3501
3502 * mh-e.el (mh-help-messages): Added brackets around / and
3503 downcased limit to be consistent with other commands with
3504 punctuation keybindings. Don't document aliases.
3505
35062003-05-01 Satyaki Das <satyakid@stanford.edu>
3507
3508 * mh-loaddefs.el: Regenerated.
3509
3510 * mh-seq.el (mh-read-range): Fix comment.
3511
35122003-04-30 Mark D. Baushke <mdb@gnu.org>
3513
3514 * mh-e.el (mh-help-messages): Better documentation for the F map.
3515
35162003-04-30 Satyaki Das <satyakid@stanford.edu>
3517
3518 * mh-utils.el (mh-find-path): Cache folder names so that
3519 folder name completion is always fast.
3520 (mh-flists-partial-line, mh-flists-process): Variables used for
3521 pre-caching folder names.
3522 (mh-collect-folder-names, mh-collect-folder-names-filter)
3523 (mh-populate-sub-folders-cache): Functions to pre-cache folder
3524 names.
3525 (mh-exec-cmd): Produce more info in *MH-E Log*.
3526
3527 * mh-index.el (mh-index-search): Call the correct function.
3528 (mh-index-sequenced-messages): If folders is nil, then all mail
3529 is searched. The change restores that.
3530
35312003-04-30 Peter S Galbraith <psg@debian.org>
3532
3533 * mh-customize.el (mh-summary-height): Move variable integer out
3534 of defcustom, and instead specify that `nil' means to calculate
3535 that size dynamically. Fixes SF #723267.
3536
3537 * mh-utils.el (mh-summary-height): New function. Return ideal
3538 mh-summary-height value for current frame height.
3539 (mh-show-msg): Use it.
3540
35412003-04-30 Mark D. Baushke <mdb@gnu.org>
3542
3543 * mh-index.el (mh-index-ticked-messages): Fix prompt and
3544 description string.
3545 (mh-index-new-messages): Ditto.
3546
3547 * mh-loaddefs.el: Regenerated.
3548
3549 * mh-index.el (mh-index-sequenced-messages): Renamed from
3550 mh-index-new-messages with minor argument change.
3551 (mh-index-new-messages): Implement by calling
3552 mh-index-sequenced-messages with the appropriate arguments.
3553 (mh-index-ticked-messages): New function. Does the same thing as
3554 mh-index-new-messages, but on its own set of folders and using the
3555 mh-tick-seq instead of mh-unseen-seq.
3556
3557 * mh-e.el (mh-folder-map): Add "F'" to the map for
3558 mh-index-ticked-messages.
3559 (mh-help-messages): Replace broken [t]hread with [n]ew messages.
3560
3561 * mh-customize.el (mh-index-ticked-messages-folders): New user
3562 customizable flag that controls the folders to be searched by
3563 mh-index-ticked-messages.
3564
3565 * mh-utils.el (mh-show-index-ticked-messages): Wrapper for
3566 mh-index-ticked-messages.
3567 (mh-show-folder-map): Add "F'" to the map for
3568 mh-index-ticked-messages.
3569
35702003-04-30 Satyaki Das <satyakid@stanford.edu>
3571
3572 * mh-index.el (mh-index-search): The old cur in the source folder
3573 might not exist. This could cause mh-exec-cmd to fail. So don't
3574 add an error message in that case.
3575
35762003-04-29 Satyaki Das <satyakid@stanford.edu>
3577
3578 * mh-e.el (mh-folder-from-address): Modified to allow multiple
3579 Cc: headers to work properly.
3580 (mh-inc-folder, mh-visit-folder): Fix an off by one error.
3581
3582 * mh-utils.el (mh-notate): Update the scan line map. This fixes a
3583 tiny bug. In threaded view, if a message is replied to then the
3584 message is notated with a "-". Now if inc is done then the "-"
3585 added is lost. The change fixes this.
3586
3587 * mh-seq.el (mh-translate-range): Use the correct function.
3588 (mh-thread-update-scan-line-map): New function that updates the
3589 scan line map when a message is notated.
3590
35912003-04-28 Satyaki Das <satyakid@stanford.edu>
3592
3593 * mh-index.el (mh-index-parse-search-regexp): Avoid compiler
3594 warning in GNU Emacs 21.3.
3595
3596 * mh-seq.el (mh-widen): Ditto.
3597
35982003-04-28 Satyaki Das <satyakid@stanford.edu>
3599
3600 * mh-customize.el (mh-interpret-number-as-range-flag): New user
3601 customizable flag that controls whether a single number, N is
3602 interpreted as the range last:N.
3603
3604 * mh-seq.el (mh-read-range): Generalize it for use when reading
3605 range to scan.
3606 (mh-interactive-range): Modified to use the new mh-read-range.
3607
3608 * mh-speed.el (mh-speed-view): Use mh-read-range instead of the
3609 now removed mh-read-msg-range function.
3610
3611 * mh-funcs.el (mh-pack-folder): Ditto.
3612
3613 * mh-e.el (mh-rescan-folder, mh-visit-folder): Ditto.
3614 (mh-read-msg-range): Removed.
3615
3616 * mh-loaddefs.el: Regenerated
3617
36182003-04-27 Satyaki Das <satyakid@stanford.edu>
3619
3620 * mh-loaddefs.el: Regenerated.
3621
3622 * mh-seq.el (mh-range-completion-function): Fix checkdoc warning.
3623 (mh-iterate-on-range): Mention that the macro can iterate over a
3624 MH message range too.
3625
36262003-04-27 Bill Wohler <wohler@newt.com>
3627
3628 * mh-unit.el (mh-unit): As it turns out, lm-crack-copyright has
3629 been updated to handle multiple-line copyrights in 21.3, so
3630 updated code to run lm-verify only if user has 21.3 or greater.
3631 Delete buffers after use, unless user already had buffer open.
3632
36332003-04-27 Satyaki Das <satyakid@stanford.edu>
3634
3635 * mh-loaddefs.el: Regenerated.
3636
3637 * mh-index.el (mh-index-search): The MH command "refile" changes
3638 cur. The change restores cur in source folders.
3639 (mh-index-new-messages): Use the appropriate arguments for
3640 mh-read-seq.
3641
3642 * mh-seq.el (mh-read-seq-default, mh-read-seq): Restore these
3643 functions to just read sequence names.
3644 (mh-range-seq-names, mh-range-history, mh-range-completion-map)
3645 (mh-range-completion-function, mh-read-range): New function which
3646 reads MH range with completion and history.
3647 (mh-interactive-range): Use mh-read-range instead of
3648 mh-read-seq-default.
3649 (mh-put-msg-in-seq): Change documentation about MH message range.
3650
3651 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Change
3652 documentation about MH message range.
3653
3654 * mh-funcs.el (mh-copy-msg, mh-print-msg): Ditto.
3655
3656 * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion)
3657 (mh-refile-msg, mh-undo, mh-delete-msg-from-seq): Ditto.
3658
3659 * mh-comp.el (mh-forward): Ditto.
3660
36612003-04-26 Satyaki Das <satyakid@stanford.edu>
3662
3663 * mh-comp.el, mh-e.el, mh-funcs.el, mh-junk.el, mh-seq.el:
3664 Replace msg-or-seq with range everywhere.
3665
3666 * mh-loaddefs.el: Regenerated.
3667
36682003-04-25 Satyaki Das <satyakid@stanford.edu>
3669
3670 * mh-e.el (mh-index-sequence-search-flag, mh-folder-mode): New
3671 local variable to remember that a folder buffer contains results
3672 from a sequence search. This is needed so that "C-u F i" will work
3673 as expected.
3674 (mh-visit-folder): Create sequences in the index folder.
3675 (mh-process-commands, mh-delete-msg-from-seq): If speedbar is on
3676 then update the speedbar message counts immediately.
3677 (mh-delete-msg-from-seq): Make the code faster by calling "mark"
3678 just once. Also update source folder sequence if messages are
3679 being deleted from a sequence in an index folder.
3680 (mh-undefine-sequence): Simplified to remove the speedbar updating
3681 code. Also DTRT and don't change any sequence when called with an
3682 empty list of messages.
3683 (mh-refile-msg, mh-delete-msg): Move to next message only if the
3684 current message has been deleted or refiled, as the case may be.
3685
3686 * mh-utils.el (mh-show-msg): Update the message counts in the
3687 speedbar, if it is on, immediately.
3688 (mh-speed-flists-active-p, mh-speed-flists-inhibit-flag): A new
3689 flag has been added which inhibits updating of the speedbar. This
3690 is used to avoid needless speedbar updates when
3691 mh-execute-commands is called in index folders.
3692
3693 * mh-speed.el (mh-speed-flists): Extended so that multiple
3694 folders can be given as arguments. Also the code that kept track
3695 of the current folder, needed since flists adds an extra ?+ char
3696 at the end of the current folder name, wasn't entirely correct.
3697 That has also been fixed.
3698
3699 * mh-seq.el (mh-delete-seq, mh-put-msg-in-seq): Modified so that
3700 sequence in source folder is updated if we delete a sequence in an
3701 index folder.
3702 (mh-read-seq, mh-read-seq-default, mh-translate-range)
3703 (mh-interactive-msg-or-seq): The mh-interactive-msg-or-seq
3704 function can read in an arbitrary MH message range.
3705 (mh-iterate-on-msg-or-seq): The macro has been extended to work on
3706 a MH range.
3707 (mh-subject-to-sequence, mh-subject-to-sequence-unthreaded)
3708 (mh-subject-to-sequence-threaded, mh-thread-find-msg-subject): Fix
3709 the mh-subject-to-sequence function so that it will work in
3710 threaded folders too.
3711 (mh-tick-add-overlay): Fix a leak of overlays.
3712 (mh-toggle-tick): Ticking, or unticking, messages in the index
3713 folder is propagated to the source folders (closes SF #709664).
3714
3715 * mh-index.el (mh-flists-results-folder, mh-flists-sequence)
3716 (mh-flists-called-flag): New variables to implement searching for
3717 arbitrary sequences.
3718 (mh-index-generate-pretty-name): Updated so that folder names are
3719 generated for flists search that can take any sequence name.
3720 (mh-index-search): Since sequences are now properly maintained the
3721 unseen-flag argument isn't needed and hence removed. Also redoing
3722 a sequence search with "C-u F i" is handled correctly. Finally
3723 the speedbar is updated to reflect the new index folder created.
3724 (mh-index-create-sequences): New function that creates sequences
3725 in the index folder.
3726 (mh-index-matching-source-msgs, mh-index-execute-commands):
3727 Improved so that scan lines for refiled/deleted messages are
3728 removed from the source folders as well.
3729 (mh-index-add-to-sequence, mh-index-delete-from-sequence): New
3730 functions to update sequences in source folder to reflect changes
3731 in index folder.
3732 (mh-index-quote-for-shell): A utility function to that quotes
3733 characters with special meaning to /bin/sh.
3734 (mh-flists-execute, mh-index-new-messages): Updated to search for
3735 arbitrary sequences (closes SF #718833).
3736
3737 * mh-loaddefs.el: Regenerated.
3738
37392003-04-25 Bill Wohler <wohler@newt.com>
3740
3741 * mh-customize.el (mh-kill-folder-suppress-prompt-hook): New hook
3742 used by mh-kill-folder to suppress the prompt.
3743
3744 * mh-funcs.el (mh-kill-folder): Suppress prompt not if
3745 mh-index-data is non-nil, but if any functions in
3746 mh-kill-folder-suppress-prompt-hook return non-nil.
3747
3748 * mh-index.el (mh-index-p): New function with returns non-nil if
3749 the current folder was generated by an index search for use by
3750 mh-kill-folder-suppress-prompt-hook
3751
3752 * mh-unit.el (mh-unit): Commented out lm-verify step until code
3753 updated to handle split Copyright lines.
3754
3755 * mh-e.el (mh-version): Set to 7.3+cvs.
3756
37572003-04-24 Bill Wohler <wohler@newt.com>
3758
3759 Released MH-E version 7.3.
3760
3761 * MH-E-NEWS, README: Updated for release 7.3.
3762
3763 * mh-e.el (Version, mh-version): Updated for release 7.3.
3764
37652003-04-24 Satyaki Das <satyakid@stanford.edu>
3766
3767 * mh-xemacs-compat.el (mh-utils): Require mh-utils at compile
3768 time, since the mh-do-in-xemacs macro is used.
3769
3770 * mh-inc.el (cl): Require cl at compile time since we are using
3771 the loop and setf macros.
3772
37732003-04-24 Satyaki Das <satyakid@stanford.edu>
3774
3775 * mh-unit.el (mh-files): Fix the list of files to check.
3776
37772003-04-24 Bill Wohler <wohler@newt.com>
3778
3779 * ChangeLog: Appended copyright to end of file.
3780
3781 * Makefile: Added copyright and license.
3782
3783 * README: Added copyright.
3784
3785 * import-emacs: Changed copyright from Newt Software to Bill
3786 Wohler and use license from mh-e.el, except that this file is
3787 a part of MH-E, not GNU Emacs.
3788
3789 * mh-alias.el: Updated copyright so that it doesn't wrap upon
3790 advice from Richard Stallman who said to use two-digit years when
3791 they are surrounded by 4-digit years that are in the same century
3792 and to break up copyrights on multiple lines.
3793 * mh-comp.el: Ditto.
3794 * mh-e.el: Ditto.
3795 * mh-funcs.el: Ditto.
3796 * mh-identity.el: Ditto.
3797 * mh-mime.el: Ditto.
3798 * mh-seq.el: Ditto.
3799 * mh-utils.el: Ditto.
3800 * mh-xemacs-compat.el: Ditto.
3801
3802 * mh-unit.el: New file. Unit tests for MH-E. This version merely
3803 runs checkdoc and lm-verify which is useful before releasing the
3804 software. It can and should be expanded to do real unit tests.
3805
38062003-04-22 Mark D Baushke <mdb@gnu.org>
3807
3808 * mh-alias.el: Update Copyright.
3809 * mh-comp.el: Ditto.
3810 * mh-customize.el: Ditto.
3811 * mh-e.el: Ditto.
3812 * mh-funcs.el: Ditto.
3813 * mh-identity.el: Ditto.
3814 * mh-index.el: Ditto.
3815 * mh-mime.el: Ditto.
3816 * mh-pick.el: Ditto.
3817 * mh-seq.el: Ditto.
3818 * mh-speed.el: Ditto.
3819 * mh-utils.el: Ditto.
3820 * mh-xemacs-compat.el: Ditto.
3821
38222003-04-22 Satyaki Das <satyaki@theforce.stanford.edu>
3823
3824 * mh-utils.el (mh-normalize-folder-name): Make the completion
3825 code work properly with XEmacs. This change is neeeded since
3826 split-string behaves differently in XEmacs than it does in GNU
3827 Emacs.
3828 (mh-exec-cmd-error): Add a comment, so that we change it later on.
3829
38302003-04-18 Steve Youngs <youngs@xemacs.org>
3831
3832 * mh-xemacs-icons.el (mh-xemacs-icons): Provide 'mh-xemacs-icons'
3833 not 'mh-xemacs-toolbar'.
3834
3835 * mh-xemacs-compat.el (mh-xemacs-toolbar): Remove require, it's
3836 now called 'mh-xemacs-icons' and it is required from
3837 'mh-customize'.
3838
3839 * mh-customize.el: Require 'mh-xemacs-icons' instead of
3840 'mh-xemacs-toolbar'.
3841
38422003-04-17 Peter S Galbraith <psg@debian.org>
3843
3844 * mh-xemacs-icons.el: New file (renamed from mh-xemacs-toolbar.el).
3845 Holds XEmacs icons.
3846
3847 * mh-xemacs-toolbar.el: Deleted.
3848
3849 * Makefile: Incorporate the file renaming.
3850
38512003-04-15 Bill Wohler <wohler@newt.com>
3852
3853 * mh-comp.el (mh-forward): Pass a list of messages into
3854 mh-compose-and-send-mail instead of msg-or-seq.
3855 (mh-annotate-msg): The previous version called
3856 mh-iterate-on-msg-or-seq in the letter buffer. The new version
3857 simply adds the ability to operate on message lists. Thanks to
3858 Satyaki for the fix and suggestion for passing a list from
3859 mh-forward.
3860
38612003-04-14 Bill Wohler <wohler@newt.com>
3862
3863 * mh-comp.el (mh-annotate-msg): Updated to handle msg-or-seq for
3864 mh-forward was passing a msg-or-seq to mh-compose-and-send-mail
3865 which in turn passed the msg-or-seq to mh-annotate-msg. In
3866 particular, forwarding a region failed. Note that the msgs
3867 argument in much of mh-comp.el should really be converted to
3868 msg-or-seq accordingly. But not now, unless something is broken as
3869 was the case here. We can revamp after the release.
3870
38712003-04-13 Bill Wohler <wohler@newt.com>
3872
3873 * mh-funcs.el (mh-kill-folder): Added space after prompt to give
3874 the (yes or no) bit a little elbow room.
3875
3876 * mh-xemacs-toolbar.el: Removing a copyright is a no-no.
3877 Reinstated Steve's copyright.
3878
38792003-04-12 Satyaki Das <satyaki@theforce.stanford.edu>
3880
3881 * mh-utils.el (mh-do-in-gnu-emacs, mh-do-in-xemacs): Add
3882 indentation hooks for the macros.
3883
38842003-04-11 Bill Wohler <wohler@newt.com>
3885
3886 * mh-alias.el, mh-comp.el, mh-customize.el, mh-funcs.el,
3887 mh-identity.el, mh-inc.el, mh-index.el, mh-junk.el, mh-utils.el:
3888 Merged in changes from CVS GNU Emacs. These included the removal
3889 of trailing whitespace.
3890
3891 * mh-customize.el: The "anti-entropy" check-in. Moved groups
3892 around slightly to reflect commentary. Moved defcustoms around
3893 to preserve alphabetization. Big diff, little content.
3894 (mh-xemacs-use-toolbar-flag): Doc fix.
3895 (mh-xemacs-toolbar-position): Fixed typo in docstring.
3896 (mh-default-folder-list): Updated docstring to reflect new Check
3897 Recipient tag. Also, set type of Address to regexp.
3898 (mh-x-mailer-string): Moved to mh-comp.el where it is used.
3899
3900 * mh-comp.el (mh-x-mailer-string): Moved here from customize.el.
3901 Not quite sure how it got to mh-customize.el in the first place.
3902
3903 * mh-e.el (mh-folder-folder-menu): Added Folder -> View New
3904 Messages menu item.
3905
3906 * mh-utils.el (mh-show-folder-menu): Ditto.
3907
3908 * mh-inc.el: Added Change Log comment (lm-verify fix).
3909
3910 * mh-index.el (mh-index-search): Added documentation about prefix
3911 argument for users, in addition to documentation for programmers.
3912
3913 * mh-mime.el (mh-edit-mhn, mh-edit-mhn, mh-mml-to-mime): Docstring
3914 fixes germaine to the change whereby we now check for MIME
3915 directives before sending.
3916
3917 * mh-xemacs-toolbar.el: Fixed copyright. Added Change Log comment
3918 (lm-verify fix). Added standard MH-E local variables. Removed
3919 time-stamp stuff.
3920
39212003-04-11 Satyaki Das <satyaki@theforce.stanford.edu>
3922
3923 * mh-seq.el (mh-iterate-on-msg-or-seq): Add a missed comma.
3924
39252003-04-10 Satyaki Das <satyaki@theforce.stanford.edu>
3926
3927 * mh-index.el (mh-index-visit-folder): Prompt before reusing
3928 existing folder buffer.
3929
3930 * mh-xemacs-toolbar.el (require): Require mh-utils at compile
3931 time to avoid compilation error when doing "make bootstrap" in
3932 CVS Emacs.
3933
3934 * mh-inc.el (mh-inc-spool-list): Declare it so that a compile
3935 time warning is avoided when doing "make bootstrap" in CVS Emacs.
3936
39372003-04-10 Peter S Galbraith <psg@debian.org>
3938
3939 * mh-inc.el (mh-inc-spool-generator): Changed to a defun instead
3940 of a defmacro, applying Satyaki's patch.
3941 (mh-inc-spool-def-key): same.
3942 (mh-inc-spool-make): same.
3943
3944 * mh-utils.el: define-key "I" in mh-show-mode-map for
3945 mh-inc-spool-map.
3946
3947 * mh-comp.el (mh-modify-header-field): Remove debug message.
3948
39492003-04-10 Peter S Galbraith <psg@debian.org>
3950
3951 * mh-inc.el (mh-inc-spool-map-help): Default to nil.
3952 (mh-inc-spool-map): Make "?" key display message when
3953 `mh-inc-spool-map-help' is nil (instead of mh-inc-spool-map-help
3954 containing the message).
3955
3956 * mh-e.el: require mh-inc.el
3957 * mh-e.el: define-key "I" in mh-folder-mode-map for mh-inc-spool-map.
3958 (mh-help-messages): Add help string for "I" key.
3959
39602003-04-09 Peter S Galbraith <psg@debian.org>
3961
3962 * mh-inc.el: New file. New feature to `inc' mail from various
3963 spool files into different folders.
3964
3965 * mh-loaddefs.el: Regenerate for mh-inc's mh-inc-spool-list-set.
3966
3967 * Makefile (MH-E-IMG): Add highlight icon.
3968 (MH-E-SRC): Add mh-inc.el file.
3969
3970 * mh-customize.el (mh-inc-spool-list): New variable for new
3971 feature to `inc' mail from various spool files into different
3972 folders.
3973
39742003-04-09 Satyaki Das <satyaki@theforce.stanford.edu>
3975
3976 * mh-utils.el (mh-mail-delivery-buffer): Add a defconst for
3977 mh-mail-delivery-buffer.
3978
3979 * mh-comp.el (mh-send-letter): Use mh-mail-delivery-buffer.
3980
3981 * mh-mime.el (mh-small-image-p): Add mh-funcall-if-exists to
3982 avoid compiler warning in GNU Emacs.
3983
39842003-04-08 Satyaki Das <satyaki@theforce.stanford.edu>
3985
3986 * mh-mime.el (mh-small-image-p): Make the function slightly more
3987 error-resistant in XEmacs.
3988
3989 * mh-seq.el (mh-narrow-to-seq, mh-widen): Update tool-bar-map in
3990 the show buffer if needed. This allows us to display the widen
3991 button in the show buffer only when the folder is narrowed.
3992
3993 * mh-customize.el (mh-tool-bar-define): Changed so that a
3994 separate tool-bar-map is used in show-mode when folder is
3995 narrowed to a sequence.
3996
39972003-04-08 Satyaki Das <satyaki@theforce.stanford.edu>
3998
3999 * mh-seq.el (mh-iterate-on-msg-or-seq): Reinstate the use of
4000 make-symbol since using gensym causes compiler warnings in CVS
4001 Emacs.
4002
40032003-04-08 Bill Wohler <wohler@newt.com>
4004
4005 * mh-comp.el (mh-forward): Function didn't handle a region of
4006 messages. Use new function mh-msg-or-seq-to-msg-list to get a list
4007 of messages in all circumstances. Also, use mh-coalesce-msg-list
4008 on message list before submitting to forw since this should always
4009 be done when calling a program to reduce the chance of exceeding
4010 command-line limits.
4011
4012 * mh-seq.el (mh-iterate-on-msg-or-seq): Backed out previous
4013 change. A nil msg-or-seq should mean no messages, and Satyaki is
4014 going to use gensym instead of make-symbol.
4015 (mh-msg-or-seq-to-msg-list): New function to convert a msg-or-seq
4016 to a list of message numbers.
4017
4018 * mh-e.el (mh-coalesce-msg-list): Touched up the docstring a
4019 little.
4020
4021 * mh-funcs.el (mh-print-msg): Can now print regions, message
4022 lists, sequences and, of course, single messages. This version
4023 works a little differently from the old version. Instead of
4024 calling mhl | lpr once on all messages, mhl | lpr is called once
4025 per message in order to put each message's number in the header.
4026 Thanks to Satyaki for some code and ideas.
4027
4028 * mh-seq.el (mh-iterate-on-msg-or-seq): The argument msg-or-seq
4029 can now be nil which means the current message. Make local symbols
4030 so that local variables don't step on user's symbols (the msgs
4031 symbol got me).
4032
40332003-04-06 Bill Wohler <wohler@newt.com>
4034
4035 * mh-comp.el (mh-forward): Updated docstrings to indicate that a
4036 list of messages is acceptable as well.
4037
4038 * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion, mh-refile-msg)
4039 (mh-undo, mh-notate-user-sequences, mh-delete-msg-from-seq): Ditto.
4040
4041 * mh-funcs.el (mh-copy-msg, mh-print-msg): Ditto.
4042
4043 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Ditto.
4044
4045 * mh-seq.el (mh-put-msg-in-seq, mh-iterate-on-msg-or-seq)
4046 (mh-interactive-msg-or-seq): Ditto.
4047
40482003-04-06 Satyaki Das <satyaki@theforce.stanford.edu>
4049
4050 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Call
4051 mh-refile-a-msg and mh-delete-a-msg with nil as the message
4052 number since that is more efficient.
4053
4054 * mh-seq.el (mh-iterate-on-msg-or-seq): Extended so that it will
4055 handle lists of messages numbers as well.
4056 (mh-put-msg-in-seq): Use mh-iterate-on-msg-or-seq to simplify the
4057 function.
4058
4059 * mh-funcs.el (mh-copy-msg): Same as above.
4060
4061 * mh-e.el (mh-refile-msg): Make it more efficient. Using nil in
4062 mh-refile-a-msg avoids needing to re-search-forward to that
4063 message.
4064 (mh-undo): Fix typo in interactive spec.
4065 (mh-notate-user-sequences): Generalize the function to take a
4066 msg-or-seq as argument.
4067 (mh-delete-msg-from-seq): Extend the function so that it is now
4068 able to subtract messages belonging in one sequence from another.
4069 (mh-undo): Unify the region and sequence handling. The message
4070 number branch of the function does extra stuff, so we can't merge
4071 that in.
4072
40732003-04-06 Bill Wohler <wohler@newt.com>
4074
4075 * mh-comp.el (mh-forward): Use mh-interactive-msg-or-seq. Inserted
4076 consistent verbiage in docstring for msg-or-seq.
4077 (mh-reply): Don't mention default in opening line in all
4078 docstrings.
4079
4080 * mh-e.el (mh-delete-msg, mh-refile-msg)
4081 (mh-undo, mh-delete-msg-from-seq): Use mh-interactive-msg-or-seq.
4082 Inserted consistent verbiage in docstring for msg-or-seq. In
4083 mh-delete-msg-from-seq, renamed msg-or-region to msg-or-seq.
4084
4085 * mh-funcs.el (mh-copy-msg, mh-print-msg): Use
4086 mh-interactive-msg-or-seq. Inserted consistent verbiage in
4087 docstring for msg-or-seq.
4088
4089 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Inserted
4090 consistent verbiage in docstring for msg-or-seq.
4091
4092 * mh-seq.el (mh-msg-is-in-seq): Don't mention default in opening
4093 line in all docstrings.
4094 (mh-put-msg-in-seq): Use mh-interactive-msg-or-seq. Inserted
4095 consistent verbiage in docstring for msg-or-seq.
4096
4097 * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion, mh-refile-msg):
4098 Rewritten to use new mh-interactive-msg-or-seq function and
4099 mh-iterate-on-msg-or-seq macro. mh-delete-msg-no-motion gained the
4100 ability to operate on regions.
4101
4102 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Rewritten to
4103 use new mh-interactive-msg-or-seq function and
4104 mh-iterate-on-msg-or-seq macro thereby gaining the ability to
4105 operate on sequences or regions.
4106
4107 * mh-seq.el (mh-iterate-on-msg-or-seq): New macro to execute code
4108 on a message, a region of messages, or a sequence. This macro
4109 should be in all functions that operate on messages to provide a
4110 uniform interface.
4111 (mh-interactive-msg-or-seq): New function used in interactive
4112 calls to obtain a message number, region, or sequence. This
4113 function should be in all functions that operate on messages to
4114 provide a uniform interface.
4115
4116 * mh-utils.el (with-mh-folder-updating, mh-in-show-buffer): Use
4117 'defun lisp-indent-hook property instead of 1 to fix indentation
4118 of these macros.
4119
41202003-04-05 Peter S Galbraith <psg@debian.org>
4121
4122 * mh-loaddefs.el: Regenerated.
4123 * mh-funcs.el (mh-ephem-message): autoload.
4124
41252003-04-04 Peter S Galbraith <psg@debian.org>
4126
4127 * mh-e.el (mh-folder-from-address): Minor Fix. Wrong ending of
4128 `when' block.
4129
41302003-04-04 Satyaki Das <satyaki@theforce.stanford.edu>
4131
4132 * mh-mime.el (mh-mml-directive-present-p): The regexp has been
4133 modified to recognize directives to encrypt/sign messages.
4134
41352003-04-03 Mark D. Baushke <mdb@gnu.org>
4136
4137 * mh-e.el (mh-folder-from-address): E-mail messages missing the
4138 To: field, but which have a Cc: field should also be handled.
4139
41402003-04-03 Bill Wohler <wohler@newt.com>
4141
4142 * mh-e.el (mh-inc-folder): Modified the prompt text to read
4143 better.
4144
4145 * mh-comp.el (mh-forward): Deleted local variable `compose'.
4146 Deleted obsolete setting of mh-{mmh|mml}-compose-insert-flag.
4147 (mh-letter-menu): Use mh-{mmh|mml}-directive-present-p instead of
4148 obsolete. mh-{mmh|mml}-compose-insert-flag.
4149 (mh-letter-mode): Deleted obsolete setting of
4150 mh-{mmh|mml}-compose-insert-flag.
4151 (mh-send-letter): This function now automatically runs the
4152 directive-to-MIME conversion if any directives are detected,
4153 rather than relying on the unreliable
4154 mh-{mmh|mml}-compose-insert-flag variables. Updated docstring
4155 accordingly.
4156
4157 * mh-identity.el (mh-insert-identity): Use
4158 mh-{mmh|mml}-directive-present-p instead of obsolete.
4159 mh-{mmh|mml}-compose-insert-flag.
4160
4161 * mh-loaddefs.el: Regenerated.
4162
4163 * mh-mime.el (mh-mhn-compose-type, mh-mhn-compose-external-type)
4164 (mh-mhn-compose-forw, mh-edit-mhn, mh-mml-to-mime)
4165 (mh-mml-forward-message, mh-mml-attach-file)
4166 (mh-mml-secure-message-sign-pgpmime)
4167 (mh-mml-secure-message-encrypt-pgpmime): Deleted obsolete setting
4168 of mh-{mmh|mml}-compose-insert-flag.
4169 (mh-mml-directive-present-p): Checkdoc fix.
4170
4171 * mh-utils.el (mh-mhn-compose-insert-flag,
4172 mh-mml-compose-insert-flag): Deleted. Replaced by
4173 mh-{mhn|mml}-directive-present-p.
4174
41752003-04-03 Mark D. Baushke <mdb@gnu.org>
4176
4177 * mh-e.el (mh-folder-from-address): Fix minor problem with To:
4178 address processing.
4179
4180 * mh-e.el (mh-folder-from-address): Bugfix match ?+ character not
4181 a "?+" string.
4182
41832003-04-03 Peter S Galbraith <psg@debian.org>
4184
4185 * mh-e.el (mh-inc-folder): Add second optional argument for the
4186 folder to inc new mail into instead of mh-inbox.
4187
41882003-04-03 Peter S Galbraith <psg@debian.org>
4189
4190 * mh-e.el (mh-folder-from-address): The first match found in
4191 `mh-default-folder-list' is used.
4192
4193 * mh-customize.el (mh-default-folder-list): Tweak docs
4194
41952003-04-03 Satyaki Das <satyaki@theforce.stanford.edu>
4196
4197 * mh-loaddefs.el: Regenerated.
4198
4199 * mh-mime.el (mh-mhn-directive-present-p): New function to test if
4200 a MHN directive is present in the current buffer.
4201 (mh-mml-directive-present-p): New function to test if a MML
4202 directive is present in the current buffer.
4203
4204 * mh-comp.el (mh-letter-mode): Originally this function checked if
4205 a #forw directive was present and set mh-mhn-compose-insert-flag
4206 to t. The modification generalizes this test so that one of the
4207 variables mh-{mml|mhn}-compose-insert-flag will get set if we have
4208 any sort of MHN or MML directive is already present.
4209
4210 * mh-seq.el (tool-bar-map): Add a defvar to avoid compiler
4211 warnings in CVS version of GNU Emacs.
4212
4213 * mh-utils.el (tool-bar-map): Same as above.
4214
4215 * mh-e.el (tool-bar-map): same as above.
4216
42172003-04-02 Satyaki Das <satyaki@theforce.stanford.edu>
4218
4219 * mh-xemacs-toolbar.el (mh-xemacs-toolbar-toggle-tick-icon):
4220 Change color to match mh-folder-tick-face.
4221
4222 * highlight.xpm: Same as above.
4223
42242003-04-02 Peter S Galbraith <psg@debian.org>
4225
4226 * mh-e.el (mh-folder-from-address): Check `mh-default-folder-list'
4227 for cases against the recipient instead of the originator.
4228
4229 * mh-customize.el (mh-default-folder-list): Add extra boolean flag
4230 to conditionally check the recipient address instead of the
4231 originator.
4232
42332003-04-02 Peter S Galbraith <psg@debian.org>
4234
4235 * mh-customize.el (mh-folder-tick-face): Change tick highlight
4236 face to a background yellow-green, as suggested by Bill.
4237
42382003-04-01 Peter S Galbraith <psg@debian.org>
4239
4240 * highlight.xpm: New icon for mh-toggle-tick.
4241
4242 * mh-xemacs-toolbar.el (mh-xemacs-icon-map): Add tool-bar entry
4243 for mh-toggle-tick.
4244 (mh-xemacs-toolbar-toggle-tick-icon): New constant.
4245
4246 * mh-customize.el: Add tool-bar entry for mh-toggle-tick.
4247
42482003-03-31 Satyaki Das <satyaki@theforce.stanford.edu>
4249
4250 * mh-loaddefs.el: Regenerated.
4251
4252 * mh-utils.el (mh-show-narrow-to-tick, mh-show-limit-map)
4253 (mh-show-sequence-menu): Add new interactive function
4254 mh-show-narrow-to-tick callable from the show buffer and arrange
4255 for a key binding and a menu entry.
4256
4257 * mh-seq.el (mh-narrow-to-tick): New interactive function that
4258 narrows to the tick sequence.
4259
4260 * mh-e.el (mh-folder-sequence-menu, mh-limit-map): Arrange for a
4261 key binding and a menu entry for mh-narrow-to-tick.
4262
4263 * mh-comp.el (mh-letter-mode): Enable undo since we could be
4264 reusing a show buffer where undo is disabled (closes SF #712777).
4265
42662003-03-31 Peter S Galbraith <psg@debian.org>
4267
4268 * mh-e.el (mh-folder-sequence-menu): Add entry for mh-toggle-tick.
4269
4270 * mh-utils.el (mh-show-sequence-menu): Add entry for
4271 mh-show-toggle-tick.
4272
42732003-03-28 Satyaki Das <satyaki@theforce.stanford.edu>
4274
4275 * mh-seq.el (mh-delete-seq): If the tick sequence is killed with
4276 "S k" then the highlighting wasn't getting removed. The change
4277 fixes this.
4278
42792003-03-27 Satyaki Das <satyaki@theforce.stanford.edu>
4280
4281 * mh-e.el (mh-notate-user-sequences): Extend it so that only the
4282 messages in a part of the folder are notated.
4283 (mh-delete-msg-from-seq): Extend it so that it will delete all
4284 messages in the marked region.
4285 (mh-delete-a-msg-from-seq): New function that deletes a single
4286 message from a sequence.
4287 (mh-clear-text-properties): If there is a ticked unseen message
4288 and the message is removed from the unseen list with "S d" then
4289 unticking the message doesn't change the highlight. This change
4290 fixes this.
4291
42922003-03-27 Peter S Galbraith <psg@debian.org>
4293
4294 * mh-xemacs-toolbar.el (mh-xemacs-toolbar-*-icon): Use original
4295 24x24 icons, changing background only.
4296
42972003-03-27 Satyaki Das <satyaki@theforce.stanford.edu>
4298
4299 * mh-junk.el (mh-spamassassin-identify-spammers): Remove unused
4300 variable buffer-exists.
4301 (mh-spamassassin-identify-spammers): Remove unused variable user.
4302
4303 * mh-customize.el (mh-junk-choose): Tweak it to remove XEmacs
4304 compiler warning.
4305
43062003-03-26 Satyaki Das <satyaki@theforce.stanford.edu>
4307
4308 * mh-seq.el (mh-thread-print-scan-lines): Handling of a boundary
4309 condition when messages from the last source folder had been
4310 removed was incorrect. This caused a folder header to appear
4311 without any messages listed under it. This change fixes this.
4312 (mh-thread-forget-message): Remove the entry from the scan line
4313 table as well. This is needed for proper display of threaded view
4314 of index folders.
4315
43162003-03-26 Bill Wohler <wohler@newt.com>
4317
4318 * Makefile, README, import-emacs, mh-alias.el, mh-comp.el,
4319 mh-customize.el, mh-e.el, mh-funcs.el, mh-identity.el,
4320 mh-index.el, mh-loaddefs.el, mh-mime.el, mh-pick.el, mh-seq.el,
4321 mh-speed.el, mh-utils.el, mh-xemacs-compat.el,
4322 mh-xemacs-toolbar.el: Removed RCS keywords per Emacs conventions
4323 (closes SF #680731).
4324
4325
43262003-03-26 Satyaki Das <satyaki@theforce.stanford.edu>
4327
4328 * mh-index.el: Fix commentary to mention that mairix is supported
4329 as well.
4330
4331 * mh-loaddefs.el: Regenerated.
4332
4333 * mh-utils.el (mh-show-junk-blacklist, mh-show-junk-whitelist):
4334 Interactive functions callable from the show buffer.
4335 (mh-show-junk-map): Key bindings in show mode.
4336
4337 * mh-e.el (mh-junk-map): Key bindings to call spam program.
4338 (mh-help-messages): Update help text.
4339
4340 * mh-customize.el (mh-junk): New customization group for spam
4341 program interface.
4342 (mh-junk-choice, mh-junk-function-alist, mh-junk-choose):
4343 Functions and variables that decide which junk program is used.
4344 (mh-junk-program, mh-junk-mail-folder): User customizable
4345 variables that control the choice of spam program and the action
4346 performed on received spam.
4347
4348 * Makefile (MH-E-SRC): Add mh-junk.el.
4349
43502003-03-26 Satyaki Das <satyaki@theforce.stanford.edu>
4351
4352 * mh-loaddefs.el: Regenerated.
4353
4354 * mh-utils.el (mh-show-toggle-tick, mh-show-mode-map): New
4355 interactive function callable from the show buffer and a key
4356 binding for it.
4357
4358 * mh-seq.el (mh-delete-seq): Remove highlight from tick sequence.
4359 (mh-put-msg-in-seq): Disable adding messages to tick sequence.
4360 (mh-widen): Reset mh-tick-seq-changed-when-narrowed-flag.
4361 (mh-tick-add-overlay, mh-tick-remove-overlay, mh-notate-tick)
4362 (mh-toggle-tick): New functions to highlight/unhighlight tick
4363 sequence and the interactive function that is used to toggle
4364 tick.
4365
4366 * mh-e.el (mh-tick-seq-changed-when-narrowed-flag): New variable
4367 that remembers if we are narrowed to the tick sequence. In that
4368 case the highlighting isn't shown, since it adds no extra info.
4369 (mh-folder-mode): Initialize mh-tick-seq-changed-when-narrowed-flag.
4370 (mh-notate-user-sequences): Notate the tick sequence.
4371 (mh-internal-seq): Treat mh-tick-seq like an internal sequence.
4372 (mh-delete-msg-from-seq): Don't allow deletion from tick sequence.
4373 (mh-folder-mode-map): Add key binding for "'"
4374
4375 * mh-customize.el (mh-tick-seq, mh-folder-tick-face): New
4376 customizable variables that contain the name of the tick sequence
4377 and the face to use to highlight it.
4378
43792003-03-25 Satyaki Das <satyaki@theforce.stanford.edu>
4380
4381 * mh-loaddefs.el: Regenerated.
4382
4383 * mh-seq.el (mh-thread-print-scan-lines): New function which
4384 prints out thread tree. It maintains the original folder info if
4385 the folder was created by index search (closes SF #709672).
4386 (mh-copy-seq-to-eob, mh-thread-inc, mh-thread-folder): Use
4387 factored out function mh-thread-print-scan-lines.
4388 (mh-toggle-threads): Since threading is allowed in index folders
4389 there can be lines in the folder which aren't valid message scan
4390 lines. So it is OK for mh-get-msg-num to fail once in a while.
4391
4392 * mh-index.el (mh-index-update-maps): Make the parsing of messages
4393 that need to annotated with the X-MHE-Checksum header more robust.
4394 If the search yielded no results then an error was being produced.
4395 (mh-index-search): Enable automatic threading of index folders if
4396 mh-show-threads-flag is non-nil (closes SF #709667).
4397 (mh-index-next-folder): Relax error checking since index folder
4398 can be threaded while the source folder info is visible.
4399 (mh-index-group-by-folder): New function that is used in
4400 mh-thread-folder to keep source folder info visible during
4401 threading.
4402
44032003-03-25 Bill Wohler <wohler@newt.com>
4404
4405 * mh-loaddefs.el: Regenerated.
4406
4407 * mh-customize.el (mh-index-new-messages-folders): New variable
4408 that controls which folders "F n (mh-index-new-messages)"
4409 accesses. Was mh-flists-search-folders.
4410
4411 * mh-index.el (mh-flists-search-folders): Still used internally,
4412 but users now use new option mh-index-new-messages-folders.
4413 Removed documentation since to avoid duplication with
4414 mh-index-new-messages-folders.
4415 (mh-flists-recursive-search-flag): Deleted. Use
4416 mh-recursive-folders-flag instead.
4417 (mh-flists-execute): Updated docs to specify which global
4418 variables are used. Use mh-recursive-folders-flag instead of
4419 mh-flists-recursive-search-flag.
4420 (mh-index-new-messages): Edited doc, and refer to new option
4421 mh-index-new-messages-folders. Ditto within code. Don't need to
4422 prepend + to folder name as flists does that for us. Use
4423
44242003-03-24 Satyaki Das <satyaki@theforce.stanford.edu>
4425
4426 * mh-e.el (mh-refile-msg): Add optional argument that controls
4427 whether mh-last-destination-folder is updated or not.
4428
44292003-03-22 Satyaki Das <satyaki@theforce.stanford.edu>
4430
4431 * mh-customize.el (mh-tool-bar-define): Fix a problem in the
4432 XEmacs version which caused the show mode toolbar to have the
4433 buttons in the reverse order. Also the add-hooks are no longer
4434 needed since mh-toolbar-init is called in the appropriate modes.
4435
4436 * mh-comp.el (mh-letter-mode): Call mh-toolbar-init in XEmacs to
4437 initialize toolbar.
4438
4439 * mh-utils.el (mh-show-mode): Same as above.
4440
4441 * mh-e.el (mh-folder-mode): Same as above.
4442
44432003-03-21 Satyaki Das <satyaki@theforce.stanford.edu>
4444
4445 * mh-utils.el (mh-exec-cmd-env-daemon): New function which
4446 executes a command asynchronously with its own environment.
4447
4448 * mh-comp.el (mh-redistribute): The function has been modified so
4449 that /bin/sh isn't used to run send. It has also been refactored
4450 so that the same code isn't repeated.
4451
44522003-03-21 Bill Wohler <wohler@newt.com>
4453
4454 * mh-customize.el (mh-invisible-header-fields): Added X-Bogosity
4455 for bogofilter.
4456
44572003-03-21 Satyaki Das <satyaki@theforce.stanford.edu>
4458
4459 * mh-loaddefs.el: Regenerated.
4460
4461 * mh-xemacs-toolbar.el: Remove the code since that gets generated
4462 when mh-tool-bar-define is expanded.
4463 (mh-xemacs-icon-map): A alist to map GNU Emacs icon names to the
4464 actual icons to be used in XEmacs. This is used in
4465 mh-tool-bar-define.
4466
4467 * mh-customize.el (mh-toolbar): Use this group in XEmacs as well.
4468 (mh-tool-bar-item-*): All these constants have been removed since
4469 they aren't needed in the new scheme.
4470 (mh-tool-bar-reply-3-buttons-flag): This variable has been
4471 removed.
4472 (mh-tool-bar-search-function): This is now used in XEmacs as well.
4473 (mh-tool-bar-folder-set, mh-tool-bar-folder-buttons-set)
4474 (mh-tool-bar-letter-buttons-set, mh-tool-bar-show-set)
4475 (mh-tool-bar-letter-set): These functions aren't defined at the
4476 top level any more.
4477 (mh-tool-bar-reply-generator): A macro to generate the required
4478 functions for the three reply buttons.
4479 (mh-tool-bar-search, mh-tool-bar-customize)
4480 (mh-tool-bar-folder-help, mh-tool-bar-letter-help)
4481 (mh-tool-bar-reply-from, mh-show-tool-bar-reply-from)
4482 (mh-tool-bar-reply-to, mh-show-tool-bar-reply-to)
4483 (mh-tool-bar-reply-all, mh-show-tool-bar-reply-all): New
4484 interactive functions that are called when tool bar buttons are
4485 clicked.
4486 (mh-xemacs-use-toolbar-flag, mh-xemacs-toolbar-position):
4487 Additional customizable variables that are present only for
4488 XEmacs.
4489 (mh-tool-bar-define): A macro that generates the required code
4490 for GNU Emacs and XEmacs tool bar.
4491 (mh-tool-bar-define): Define the MH-E tool bar.
4492
44932003-03-17 Satyaki Das <satyaki@theforce.stanford.edu>
4494
4495 * mh-seq.el (mh-notate-cur): Notate current message only if it
4496 hasn't been marked for deletion or refiling.
4497
44982003-03-15 Bill Wohler <wohler@newt.com>
4499
4500 * mh-customize.el (mh-invisible-header-fields): Added
4501 X-Spam-Checker-Version.
4502 (mh-auto-fields-list): checkdoc fix.
4503
45042003-03-12 Satyaki Das <satyaki@theforce.stanford.edu>
4505
4506 * mh-index.el (mh-index-new-messages): If the destination folder
4507 where the unseen messages are supposed to be copied to was
4508 already present, but MH-E doesn't have it open, then a new folder
4509 was being created. The change fixes this.
4510 (mh-index-update-unseen, mh-flists-recursive-search-flag): Fix
4511 checkdoc warnings.
4512
4513 * mh-loaddefs.el: Regenerated.
4514
45152003-03-11 Satyaki Das <satyaki@theforce.stanford.edu>
4516
4517 * mh-index.el (mh-flists-results-folder): Subfolder under
4518 +mhe-index where the results of the flists call is put.
4519 (mh-index-generate-pretty-name): Make sure that normal index
4520 searching will never use the folder reserved for the flists
4521 results.
4522 (mh-index-search): Add an extra parameter that marks all the
4523 messages in the index folder to the unseen sequence.
4524 (mh-index-update-unseen): Function to keep unseen sequence of
4525 index folder synced with the actual folders from where the
4526 messages were copied. This works only if the unseen messages are
4527 displayed with mh-show. Killing the unseen sequence in the index
4528 folder or adding/removing messages to it doesn't change the
4529 unseen sequence in the source folders yet.
4530 (mh-flists-search-folders): Variable that decides the folders on
4531 which flists is run.
4532 (mh-flists-recursive-search-flag): If non-nil, flists is passed
4533 the -recurse option.
4534 (mh-flists-execute): Function which uses /bin/sh to execute
4535 flists and then print out the list of message files that match.
4536 (mh-index-new-messages): New interactive function which searches
4537 for messages in the unseen sequence (closes SF #701756).
4538
4539 * mh-utils.el (mh-show-folder-map): Add binding for
4540 mh-index-new-messages.
4541 (mh-show-msg): Update the unseen sequence in the source folder.
4542
4543 * mh-e.el (mh-folder-font-lock-unseen): The function assumes that
4544 the end of buffer is reached when there isn't a valid scan line
4545 on the current line. This doesn't work in the index folder since
4546 we have lines containing the folder name and empty lines in
4547 between the actual scan lines. The modification removes this
4548 assumption.
4549 (mh-folder-map): Add key binding for "Fn"
4550
4551 * mh-seq.el (mh-iterate-on-messages-in-region): If the point is
4552 not at the beginning of the line, then the first message in the
4553 region would be missed. The fix avoids this.
4554
4555 * mh-mime.el (mh-inline-vcard-p): Don't try to inline vcards if
4556 we don't have the right libraries.
4557
45582003-03-10 Satyaki Das <satyaki@theforce.stanford.edu>
4559
4560 * mh-e.el (mh-next-undeleted-msg, mh-previous-undeleted-msg)
4561 (mh-next-msg): Add optional argument wait-after-complaining-flag.
4562 If non-nil and there are no undeleted messages after (or before)
4563 the current one, then pause for a second after printing out the
4564 message.
4565 (mh-refile-or-write-again): Modify call to mh-next-msg to use the
4566 wait-after-complaining-flag.
4567
45682003-03-10 Satyaki Das <satyaki@theforce.stanford.edu>
4569
4570 * mh-e.el (mh-refile-or-write-again): If mh-next-msg fails to find
4571 a message to go to it prints out a diagnostic, which overwrites
4572 the diagnostic about the folder the message was refiled to. The
4573 change fixes this.
4574
45752003-03-09 Satyaki Das <satyaki@theforce.stanford.edu>
4576
4577 * mh-seq.el (mh-widen, mh-narrow-to-seq): Update
4578 mh-narrowed-to-seq before notating sequences. This is a bit
4579 helpful for mh-tick.el.
4580 (mh-put-msg-in-seq): Fix a minor bug. No internal sequence should
4581 be notated -- the original code was doing the right thing only for
4582 the "unseen" sequence.
4583
4584 * mh-index.el (mh-index-choose): Add autoload cookie for
4585 mh-index-choose. This is needed for GNU Emacs 20.5.
4586
4587 * mh-loaddefs.el: Regenerated.
4588
45892003-03-09 Bill Wohler <wohler@newt.com>
4590
4591 * mh-mime.el (mh-display-smileys): This function originally had a
4592 test to see if font-lock-maximum-size was bound, but this was
4593 recently removed. The test was put in for a reason; if
4594 font-lock-maximum-size isn't bound, void-variable errors would
4595 ensue. I put the bound test back in.
4596
45972003-03-08 Steve Youngs <youngs@xemacs.org>
4598
4599 * mh-mime.el (mh-mime-security-button-map): Use 'mh-push-button'
4600 in XEmacs as well.
4601
46022003-03-07 Satyaki Das <satyaki@theforce.stanford.edu>
4603
4604 * mh-xemacs-toolbar.el: Declare a whole bunch of stuff for GNU
4605 Emacs, so that we don't get so many compiler warnings. Also
4606 surround calls to set-specifier and toolbar-make-button-list with
4607 mh-funcall-if-exists. Maybe GNU Emacs shouldn't try to compile
4608 this file in the first place.
4609
4610 * mh-xemacs-compat.el (mh-modeline-glyph): Declare it within
4611 mh-do-in-xemacs to avoid compiler warning in GNU Emacs.
4612 (mh-xemacs-push-button): Removed.
4613
4614 * mh-mime.el (mh-mime-button-map): Use the generalized
4615 mh-push-button function.
4616 (mh-push-button): Enhance it so that it works on XEmacs too.
4617
46182003-03-08 Steve Youngs <youngs@xemacs.org>
4619
4620 * mh-xemacs-compat.el (mh-modeline-logo): New constant holding the
4621 modeline image.
4622 (mh-modeline-glyph): Use it.
4623
46242003-03-08 Steve Youngs <youngs@xemacs.org>
4625
4626 * mh-xemacs-toolbar.el: New file that defines and displays a
4627 toolbar in XEmacs.
4628
4629 * mh-xemacs-compat.el (mh-xemacs-toolbar): Require it here.
4630
4631 * Makefile (MH-E-SRC): Add mh-xemacs-toolbar.el.
4632
4633 * mh-customize.el (mh-toolbar):
4634 (mh-tool-bar-letter-buttons):
4635 (mh-tool-bar-letter-buttons-set):
4636 (mh-tool-bar-folder-buttons):
4637 (mh-tool-bar-folder-buttons-set):
4638 (mh-tool-bar-search-function):
4639 (mh-tool-bar-reply-3-buttons-flag):
4640 (mh-tool-bar-item-inc):
4641 (mh-tool-bar-item-save-mime):
4642 (mh-tool-bar-item-prev-msg):
4643 (mh-tool-bar-item-page-msg):
4644 (mh-tool-bar-item-next-msg):
4645 (mh-tool-bar-item-delete):
4646 (mh-tool-bar-item-refile):
4647 (mh-tool-bar-item-undo):
4648 (mh-tool-bar-item-perform):
4649 (mh-tool-bar-item-toggle-show):
4650 (mh-tool-bar-item-reply-from):
4651 (mh-tool-bar-item-reply-to):
4652 (mh-tool-bar-item-reply-all):
4653 (mh-tool-bar-item-reply):
4654 (mh-tool-bar-item-alias):
4655 (mh-tool-bar-item-compose):
4656 (mh-tool-bar-item-rescan):
4657 (mh-tool-bar-item-repack):
4658 (mh-tool-bar-item-search):
4659 (mh-tool-bar-item-visit):
4660 (mh-tool-bar-item-prefs):
4661 (mh-tool-bar-item-help):
4662 (mh-tool-bar-item-widen):
4663 (mh-tool-bar-item-send):
4664 (mh-tool-bar-item-attach):
4665 (mh-tool-bar-item-spell):
4666 (mh-tool-bar-item-save):
4667 (mh-tool-bar-item-undo-op):
4668 (mh-tool-bar-item-kill):
4669 (mh-tool-bar-item-copy):
4670 (mh-tool-bar-item-paste):
4671 (mh-tool-bar-item-kill-draft):
4672 (mh-tool-bar-item-comp-prefs):
4673 The MH-E toolbar for XEmacs is defined differently from the
4674 GNU/Emacs version, so only define these if we're in GNU/Emacs.
4675 XEmacs doesn't need to see them and it's always good to cut down
4676 on pollution.
4677
46782003-03-08 Steve Youngs <youngs@xemacs.org>
4679
4680 * mh-mime.el (mh-mime-button-map): Bind the 2nd mouse button to
4681 `mh-xemacs-push-button' in XEmacs.
4682 (mh-mime-security-button-map): Ditto.
4683
4684 * mh-xemacs-compat.el: Shush the byte-compiler.
4685 (mh-xemacs-push-button): New function to make MIME buttons work in
4686 XEmacs.
4687
46882003-03-08 Steve Youngs <youngs@xemacs.org>
4689
4690 * mh-mime.el (mh-display-emphasis): Don't test
4691 `font-lock-maximum-size' to see if it is bound, just test for a
4692 non-nil value. This variable can have a nil value which makes it
4693 bound and dividing nil by 8 throws an error.
4694 This fixes a bug in MH-E under XEmacs when
4695 `font-lock-maximum-size' is nil that prevented article emphasis
4696 and smiley display which in turn was causing the "Flush changes in
4697 article x y/n" errors.
4698 (mh-display-smileys): Ditto.
4699
47002003-03-08 Steve Youngs <youngs@xemacs.org>
4701
4702 * mh-utils.el (mh-logo-display): Display logo in XEmacs as well.
4703
4704 * mh-xemacs-compat.el (mh-modeline-glyph): New. The MH-E modeline
4705 logo for XEmacs.
4706
47072003-03-06 Satyaki Das <satyaki@theforce.stanford.edu>
4708
4709 * mh-utils.el (mh-allow-root-folder-flag): New global variable
4710 that decides if "+" is an acceptable folder name.
4711 (mh-folder-completion-function): Refine the test for existing
4712 folders to take mh-allow-root-folder-flag into account.
4713 (mh-folder-completing-read, mh-prompt-for-folder): Use the
4714 allow-root-folder-flag argument of mh-prompt-for-folder and add a
4715 similar argument to mh-folder-completing-read.
4716 (mh-exec-cmd-error): Make the function nicer by using
4717 process-environment to pass the environment variable assignments.
4718
47192003-03-05 Satyaki Das <satyaki@theforce.stanford.edu>
4720
4721 * mh-mime.el (mh-push-button): Preserve point in the show buffer
4722 if the mouse is used to expand/contract a button.
4723
4724 * mh-customize.el (mh-x-face-file): Mention X-Image-URL in
4725 documentation.
4726
4727 * mh-comp.el (mh-insert-x-face): Modified to allow insertion of
4728 X-Image-URL header field.
4729
47302003-03-04 Satyaki Das <satyaki@theforce.stanford.edu>
4731
4732 * mh-utils.el (mh-face-display-function): Modified to facilitate
4733 display of X-Image-URL images.
4734 (mh-find-path): Initialize X-Image-URL cache directory.
4735 (mh-x-image-url-cache-canonicalize, mh-x-image-url-fetch-image)
4736 (mh-x-image-scale-and-display, mh-x-image-url-display)
4737 (mh-x-image-display): New functions for X-Image-URL image display
4738 and cache management.
4739
4740 * mh-customize.el (mh-show-use-xface-flag): Add info about
4741 requirements for X-Image-URL display.
4742 (mh-fetch-x-image-url): New customizable variable that controls
4743 fetching of X-Image-URL.
4744
47452003-03-04 Satyaki Das <satyaki@theforce.stanford.edu>
4746
4747 * mh-utils.el (mh-make-local-hook): New macro which works around
4748 API changes in add-hook. Version of GNU Emacs before 21.1 and
4749 XEmacs require a call to make-local-hook and just the LOCAL
4750 argument of add-hook is not sufficient.
4751 (mh-show-mode): Make kill-buffer-hook buffer local.
4752
4753 * mh-e.el (mh-folder-mode): Same as above.
4754
4755 * mh-comp.el (mh-compose-and-send-mail): Same as above.
4756
47572003-03-02 Satyaki Das <satyaki@theforce.stanford.edu>
4758
4759 * mh-mime.el (mh-push-button): Clicking on a MIME button used to
4760 cause the window with the show buffer to be selected. With this
4761 change the selected window doesn't change.
4762
47632003-03-01 Satyaki Das <satyaki@theforce.stanford.edu>
4764
4765 * mh-speed.el (mh-speed-flists): Avoid a potential race condition.
4766 When flists is called manually, or when an unseen message is read,
4767 mh-speed-partial-line was not reinitialized.
4768
4769 * mh-e.el (mh-visit-folder): If mh-visit-folder is used to visit
4770 the folder currently being visited (effectively doing a rescan)
4771 then mh-previous-window-config is erroneously set. The change
4772 fixes this.
4773
4774 * mh-customize.el (mh-index-show-hook): Remove unused variable.
4775
47762003-02-28 Satyaki Das <satyaki@theforce.stanford.edu>
4777
4778 * mh-e.el (mh-scan-folder): Call mh-reset-threads-and-narrowing
4779 only after the user has replied to question. This avoids premature
4780 clearing of the folder.
4781 (mh-rescan-folder, mh-visit-folder): Remove calls to
4782 mh-reset-threads-and-narrowing since it is now called in
4783 mh-scan-folder anyway.
4784
4785 * mh-funcs.el (mh-sort-folder): Same as above.
4786
47872003-02-26 Satyaki Das <satyaki@theforce.stanford.edu>
4788
4789 * mh-alias.el (mh-alias-alist): Change initial value to a symbol,
4790 so that it is different from the empty list, which could also
4791 mean that there are no aliases.
4792 (mh-alias-reload-maybe): Change test so that empty alist of
4793 aliases is properly handled (closes SF #693859).
4794
47952003-02-25 Satyaki Das <satyaki@theforce.stanford.edu>
4796
4797 * mh-mime.el (mh-decode-message-header): The message header could
4798 be encoded, for instance the author's name could contain
4799 characters not in ASCII. This function will decode such header
4800 fields.
4801 (mh-mm-inline-message): Use mh-decode-message-header.
4802
4803 * mh-utils.el (mh-display-msg): Use mh-decode-message-header.
4804 (mh-message-number-width): Use mh-scan-prog instead of "scan".
4805
4806 * mh-loaddefs.el: Regenerated.
4807
48082003-02-24 Satyaki Das <satyaki@theforce.stanford.edu>
4809
4810 * mh-utils.el (mh-truncate-log-buffer): Refine it so that the
4811 function will do the right thing even if called from a buffer
4812 other than mh-log-buffer.
4813
48142003-02-22 Peter S Galbraith <psg@debian.org>
4815
4816 * mh-alias.el (mh-alias-add-alias): Really fix SF #690216.
4817 This functions needs to strip brackets on standalone addresses as
4818 well.
4819
48202003-02-21 Satyaki Das <satyaki@theforce.stanford.edu>
4821
4822 * mh-xemacs-compat.el (replace-regexp-in-string): Remove the
4823 definition since it isn't used any more.
4824
48252003-02-20 Peter S Galbraith <psg@debian.org>
4826
4827 * mh-alias.el (mh-alias-which-file-has-alias): Bug fix. Needed to
4828 specify `noerror' on search.
4829
4830 * mh-alias.el (mh-alias-suggest-alias): Add condition for input
4831 string being an email address in brackets. We need to strip out
4832 the brackets. (closes SF #690216)
4833
48342003-02-20 Satyaki Das <satyaki@theforce.stanford.edu>
4835
4836 * mh-pick.el (mh-search-folder): The function was setting the
4837 global value of the variables mh-current-folder and
4838 mh-previous-window-config. This can lead to problems in code which
4839 assumes that these variables are nil when we aren't in a folder
4840 buffer. So make the variables local before setting them.
4841
48422003-02-19 Satyaki Das <satyaki@theforce.stanford.edu>
4843
4844 * mh-mime.el (mh-mime-display): All the MIME display code has been
4845 wrapped in a condition-case so that if something goes wrong, the
4846 raw message will be displayed.
4847
4848 * mh-funcs.el (mh-undo-folder): Comment out call to sit-for that
4849 seems unnecessary.
4850
4851 * mh-e.el (mh-scan-folder): Messages marked for deletion or
4852 refiling weren't getting annotated properly. The change fixes
4853 this.
4854 (mh-process-or-undo-commands): Change prompt to reflect what
4855 really happens in the code.
4856
48572003-02-18 Satyaki Das <satyaki@theforce.stanford.edu>
4858
4859 * mh-comp.el (mh-folder-expand-at-point): The function
4860 mail-abbrev-complete-alias often returns nil. This had the
4861 unfortunate consequence of always causing an error. The change
4862 fixes this.
4863
4864 * mh-alias.el (mh-alias-canonicalize-suggestion): New function
4865 which obviates the our need replace-regexp-in-string.
4866 (mh-alias-suggest-alias): Use mh-alias-canonicalize-suggestion to
4867 eliminate calls to replace-regexp-in-string. This avoids problems
4868 in Emacs20.
4869
4870 * mh-utils.el (mh-notate): Handle the case when nil is passed as
4871 notation gracefully.
4872 (mh-speed-flists-active-p): New function that returns non-nil if
4873 flists is being used in the speedbar to update message counts.
4874
4875 * mh-seq.el (mh-put-msg-in-seq): Fix a bug which made it
4876 impossible to add messages to the unseen sequence. Also adding
4877 messages to the unseen sequence will now update the speedbar
4878 message counts immediately.
4879
4880 * mh-e.el (mh-get-new-mail, mh-process-commands)
4881 (mh-undefine-sequence): Update speedbar message counts, if the
4882 speedbar is active and is displaying message counts.
4883 (mh-delete-msg-from-seq): In addition to updating message counts,
4884 unhighlight the message so that interactively removing messages
4885 from the unseen sequence makes the bold highlight of unseen
4886 messages in the scan buffer go away.
4887 (mh-clear-text-properties): New function that removes all text
4888 properties from the current scan line.
4889
48902003-02-15 Satyaki Das <satyaki@theforce.stanford.edu>
4891
4892 * mh-utils.el (mh-face-display-function): Wrap call of
4893 insert-image in mh-funcall-if-exists. This avoids a compiler
4894 warning in Emacs20.
4895
4896 * mh-speed.el (mh-speed-flists): Weaken test a bit to avoid
4897 compiler warning in Emacs20.
4898 (mh-speedbar-change-expand-button-char): Wrap call of
4899 speedbar-insert-image-button-maybe in mh-funcall-if-exists. This
4900 function isn't present in the speedbar that ships with Emacs20, so
4901 calling it there causes an error.
4902
4903 * mh-seq.el (mh-msg-is-in-seq): Adjust loop call a bit to avoid
4904 compiler warning in XEmacs. The XEmacs compiler should be improved
4905 so that such spurious warnings from builtin macros are suppressed.
4906
4907 * mh-index.el (mh-index-search): Same as above.
4908
4909 * mh-e.el (tool-bar-mode): The declaration is needed for Emacs20
4910 too.
4911
4912 * mh-comp.el (mailabbrev): Try loading it any way. Some day XEmacs
4913 will get it and then MH-E will just use it.
4914 (tool-bar-mode, tool-bar-map): These declarations are needed for
4915 Emacs20 too.
4916 (mh-mail-abbrev-make-syntax-table, mh-folder-expand-at-point):
4917 Remove mh-mail-abbrev-make-syntax-table since mh-funcall-if-exists
4918 can be used instead.
4919
4920 * mh-alias.el (require): Avoid autoloading functions that may not
4921 be defined.
4922 (mh-read-address, mh-alias-letter-expand-alias): Rewrite using
4923 mh-funcall-if-exists.
4924
49252003-02-15 Satyaki Das <satyaki@theforce.stanford.edu>
4926
4927 * mh-loaddefs.el: Regenerated.
4928
4929 * mh-speed.el (mh-folder-speedbar-buttons, mh-speed-add-buttons)
4930 (mh-speed-toggle): Reuse markers instead of creating more of them.
4931 (mh-speed-flists-folder, mh-speed-flists): Add optional folder
4932 argument to mh-speed-flists so that message counts are updated
4933 only for that one folder.
4934 (mh-speed-parse-flists-output): If no change in counts then avoid
4935 consing.
4936
4937 * mh-index.el (mh-index-execute): Rewritten to use a temporary
4938 buffer that is not left behind.
4939
4940 * mh-funcs.el (mh-store-buffer): Use mh-log-buffer instead of the
4941 special purpose *Store Output* buffer.
4942
49432003-02-14 Satyaki Das <satyaki@theforce.stanford.edu>
4944
4945 * mh-customize.el (mh-show-xface-face): Make it always be black
4946 foreground on a white background (the reverse of that can make
4947 some X-Face images look creepy).
4948
4949 * mh-utils.el (mh-truncate-log-buffer): Modify the function to
4950 return the current size of mh-log-buffer. Also we are now a bit
4951 more careful in adding separators between consecutive messages.
4952 (mh-exec-cmd): Fix a bug where the the log buffer would be
4953 displayed even if no error happened in the current command but
4954 the log buffer had messages from a previous error.
4955
4956 * mh-mime.el (mh-mime-save-parts): Use mh-log-buffer to show
4957 error messages.
4958
4959 * mh-alias.el (mh-alias-local-users): Add a space between parens.
4960
49612003-02-14 Steve Youngs <youngs@xemacs.org>
4962
4963 * mh-utils.el (mh-face-display-function): Call
4964 `x-face-xmas-wl-display-x-face' using `mh-funcall-if-exists'.
4965
4966 * mh-xemacs-compat.el (replace-regexp-in-string): New.
4967
49682003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
4969
4970 * mh-utils.el (mh-log-buffer-lines): New variable that keeps
4971 track of the number of lines to keep in mh-log-buffer.
4972 (mh-truncate-log-buffer): New function that is used to make sure
4973 that the log buffer doesn't grow to unbounded size.
4974 (mh-exec-cmd, mh-exec-cmd-daemon, mh-handle-process-error): Use
4975 mh-truncate-log-buffer instead of erase-buffer to keep some
4976 number of previous log messages around (closes SF #685476).
4977
49782003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
4979
4980 * mh-e.el (tool-bar-mode): Declare it in XEmacs.
4981 (mh-folder-mode): Use mh-funcall-if-exists to call hl-line-mode.
4982
4983 * mh-utils.el (mh-funcall-if-exists): New macro that calls a
4984 function only if it exists.
4985 (mh-logo-display, mh-defun-show-buffer): Use mh-funcall-if-exists
4986 to call the functions find-image and deactivate-mark.
4987
4988 * mh-mime.el (mh-mime-cleanup, mh-small-image-p)
4989 (mh-mm-display-part): Use mh-funcall-if-exists to call the
4990 functions image-size and remove-images.
4991
4992 * mh-comp.el (tool-bar-map, tool-bar-mode): Declare the variables
4993 in XEmacs.
4994 (mh-folder-expand-at-point): Use mh-funcall-if-exists to call
4995 mail-abbrev-complete-alias if it exists.
4996
4997 * mh-alias.el (mh-read-address): Use mh-funcall-if-exists for
4998 future extensibility.
4999
50002003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
5001
5002 * mh-utils.el (mh-logo-display): The function find-image is
5003 present only in GNU Emacs.
5004 (mh-defun-show-buffer): The function deactivate-mark is present
5005 only in GNU Emacs.
5006 (default-enable-multibyte-characters): Declare it in XEmacs to
5007 avoid compiler warning.
5008 (mh-face-display-function): Avoid inserting space if there isn't
5009 any Face or X-Face header field to display.
5010
5011 * mh-seq.el (mh-thread-last-ancestor): Move declaration of
5012 variable before its first use to silence XEmacs warning.
5013
5014 * mh-mime.el (default-enable-multibyte-characters, dots, type):
5015 Declare these in XEmacs to remove compiler warnings in XEmacs.
5016 (mh-mime-cleanup, mh-mm-display-part): Call remove-images only in
5017 GNU Emacs.
5018 (mh-small-image-p): Call image-size only in GNU Emacs.
5019
5020 * mh-index.el (mh-mairix-next-result): Fix a bug where a quote
5021 was missing.
5022 (mh-swish++-regexp-builder): Remove the unused binding meta.
5023
5024 * mh-e.el (mh-folder-size): Pass on an extra value to remove
5025 XEmacs warning.
5026 (mh-folder-mode): Surround calls to hl-line-mode and
5027 tool-bar-mode with mh-do-in-gnu-emacs since these functions
5028 aren't present in XEmacs.
5029
5030 * mh-customize.el (mh-tool-bar-show-set, mh-tool-bar-letter-set)
5031 (mh-tool-bar-folder-set): These functions call tool-bar-*
5032 functions which are present only in GNU Emacs. So surround them
5033 with mh-do-in-gnu-emacs.
5034
5035 * mh-comp.el (mh-letter-mode, mh-folder-expand-at-point): Only
5036 call these functions in GNU Emacs.
5037 (mail-abbrevs): Declare it in XEmacs.
5038
5039 * mh-alias.el (mh-read-address): Call completing-read-multiple
5040 only in GNU Emacs.
5041 (mail-abbrevs): Declare it in XEmacs.
5042 (mh-alias-add-alias-to-file): Remove unused code.
5043
50442003-02-14 Ville Skyttä <scop@xemacs.org>
5045
5046 * mh-comp.el: Add autoloaded auto-mode-alist association.
5047
50482003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
5049
5050 * mh-utils.el (mh-face-display-function): Make the XEmacs part a
5051 little simpler.
5052
50532003-02-14 Steve Youngs <youngs@xemacs.org>
5054
5055 * mh-customize.el (mh-show-xface-face): XEmacs doesn't have the
5056 ':inherit' keyword for defface, rewrite with sane defaults.
5057
5058 * mh-utils.el (mh-face-display-function): Fix bug that was
5059 corrupting xface images when displayed with XEmacs' internal
5060 xface image support. Also make XEmacs honour 'mh-show-xface-face'
5061 when using internal xface image support.
5062
50632003-02-12 Peter S Galbraith <psg@debian.org>
5064
5065 * mh-comp.el (mh-modify-header-field): New function. To header
5066 FIELD add VALUE. If OVERWRITE-FLAG is non-nil then the old value,
5067 if present, is discarded. This is more flexible than before.
5068 (mh-insert-auto-fields): Use it. This and the new function are a
5069 courtesy of Satyaki. Thanks!
5070
5071 * mh-customize.el (mh-auto-fields-list): Doc tweaks suggested by
5072 Bill.
5073
50742003-02-12 Satyaki Das <satyaki@theforce.stanford.edu>
5075
5076 * mh-comp.el (mh-folder-expand-at-point): Tweak the error
5077 message. Completion in the Fcc header field is only supported in
5078 GNU Emacs 21.
5079
50802003-02-12 Peter S Galbraith <psg@debian.org>
5081
5082 * mh-customize.el (mh-auto-fields-list): Reorder after
5083 `mh-identity-list' since it needs it to be defined. Move to
5084 mh-identity customization group.
5085
50862003-02-11 Peter S Galbraith <psg@debian.org>
5087
5088 * mh-customize.el (mh-insert-mail-followup-to-flag): Removed.
5089 Obsolete.
5090 (mh-insert-mail-followup-to-list): Removed. Obsolete. Use
5091 `mh-auto-fields-list' instead, which is a more general solution.
5092 (mh-auto-fields-list): New defcustom. Alist of addresses for
5093 which header lines are automatically inserted. Replaces
5094 `mh-insert-mail-followup-to-list'.
5095
5096 * mh-comp.el (mh-insert-mail-followup-to): Removed. Obsolete.
5097 (mh-insert-auto-fields): New function. Insert custom fields if To
5098 or Cc match `mh-auto-fields-list', replacing
5099 mh-insert-mail-followup-to with a more general solution.
5100 (mh-compose-and-send-mail): Call mh-insert-auto-fields instead of
5101 mh-insert-mail-followup-to. Also don't call mh-insert-identity to
5102 insert default setting if mh-insert-auto-fields inserted an
5103 identity.
5104
51052003-02-11 Satyaki Das <satyaki@theforce.stanford.edu>
5106
5107 * mh-utils.el (mh-show-xface-function): Try to load the external
5108 x-face library only if XEmacs doesn't have xface support.
5109 (mh-face-display-function): Renamed. Also handle various
5110 permutations of x-face and xface support in XEmacs better.
5111
5112 * mh-customize.el (mh-show-use-xface-flag): Any emacs whose
5113 major version is greater than or equal to 21 supports display of
5114 X-Face and Face header fields.
5115
51162003-02-11 Satyaki Das <satyaki@theforce.stanford.edu>
5117
5118 * mh-utils.el (mh-do-in-gnu-emacs, mh-do-in-xemacs): Macros that
5119 execute code only in GNU Emacs and XEmacs respectively.
5120 (mh-emacs21-face-display-function): Refactor to make it slightly
5121 nicer. Get rid of compiler warnings in GNU Emacs by using the
5122 above macros. Also check for presence of xface feature (in XEmacs
5123 specific code) before trying to display X-Face header field image.
5124
51252003-02-11 Steve Youngs <youngs@xemacs.org>
5126
5127 * mh-customize.el (mh-show-use-xface-flag): If using XEmacs and
5128 can't find the external x-face pkg still enable X-Face images if
5129 feature 'xface is present.
5130 Update the doc string.
5131
5132 * mh-utils.el (mh-emacs21-face-display-function): Make it work in
5133 XEmacs.
5134 (mh-show-xface-function): If using XEmacs without xface support,
5135 use x-face.el pkg. If using XEmacs with xface support, or Emacs
5136 21, use mh-emacs21-face-display-function.
5137
51382003-02-11 Mark D. Baushke <mdb@gnu.org>
5139
5140 * mh-customize.el (mh-invisible-header-fields): Add
5141 "X-Notes-Item:" which is generated by Lotus Notes Domino. See
5142 URL<http://www-12.lotus.com/ldd/doc/domino_notes/Rnext/help6_admin.nsf
5143 /f4b82fbb75e942a6852566ac0037f284/5eda03c647f879c285256c1d00396051
5144 ?OpenDocument&Highlight=0,x-notes-item> for details on how Domino
5145 users may disable (restore the default) generation of these headers.
5146
51472003-02-10 Satyaki Das <satyaki@theforce.stanford.edu>
5148
5149 * mh-comp.el (mh-folder-expand-at-point): Add function doc string
5150 and produce a nicer error message for Emacs versions that lack
5151 mail-abbrev-complete-alias.
5152
5153 * mh-utils.el (mh-handle-process-error): Check doc fix.
5154
5155 * mh-e.el (mh-folder-from-address): Same as above.
5156
51572003-02-10 Peter S Galbraith <psg@debian.org>
5158
5159 * mh-comp.el: require mailabbrev, except in XEmacs.
5160 (mh-mail-abbrev-make-syntax-table): New defmacro to call
5161 mail-abbrev-make-syntax-table introduced in Emacs21.
5162 (mh-folder-expand-at-point): Handle nested folders.
5163 All of the above was written by Satyaki. I just applied the patch
5164 and tested.
5165
51662003-02-09 Satyaki Das <satyaki@theforce.stanford.edu>
5167
5168 * mh-comp.el: Fixes to keep the byte compiler happy.
5169
5170 * mh-customize.el (mh-invisible-header-fields): Modified to
5171 remove space after ":" in header field names.
5172
51732003-02-09 Peter S Galbraith <psg@mixed.dyndns.org>
5174
5175 * mh-comp.el (mh-letter-complete): Add completion for fcc lines.
5176 (mh-folder-expand-at-point): Do completion at point for folder
5177 name. Like `mh-alias-letter-expand-alias' for aliases, it doesn't
5178 work on XEmacs because it relies on `mail-abbrev-complete-alias'
5179 to do completion. Maybe Steve could update XEmacs' mailabbrev.el?
5180
51812003-02-09 Peter S Galbraith <psg@debian.org>
5182
5183 * mh-customize.el (mh-invisible-header-fields): Remove trailing
5184 space in "X-Face: " and "Face: " entries since those line often
5185 break there.
5186
51872003-02-08 Satyaki Das <satyaki@theforce.stanford.edu>
5188
5189 * mh-utils.el (mh-emacs21-face-display-function): Use
5190 mh-show-xface-face to colorize X-Face image.
5191
5192 * mh-customize.el (mh-invisible-header-fields): Add extra headers
5193 to ignore.
5194 (mh-show-xface-face): Allow customization of the X-Face colors.
5195
51962003-02-07 Satyaki Das <satyaki@theforce.stanford.edu>
5197
5198 * mh-utils.el (mh-uncompface-executable, mh-uncompface): Remember
5199 the path of the uncompface executable so that we don't need to
5200 search for it every time.
5201 (mh-emacs21-face-display-function): If more than one X-Face (or
5202 Face) header field was present then the fields would get
5203 concatenated, leading to garbled output. The change only displays
5204 the first image.
5205
5206 * mh-customize.el (mh-x-face-file): Change documentation since it
5207 can now be used to insert a Face header field.
5208
5209 * mh-comp.el (mh-insert-x-face): Generalized to allow insertion
5210 of Face header field.
5211
52122003-02-06 Bill Wohler <wohler@newt.com>
5213
5214 * mh-utils.el (mh-emacs21-face-display-function): Updated
5215 docstring. It is a common mistake to refer to a header field as a
5216 header. The term header refers to the entire header while the term
5217 header field refers to a single field.
5218
5219 * mh-customize.el (mh-show-use-xface-flag): Ditto.
5220
52212003-02-06 Satyaki Das <satyaki@theforce.stanford.edu>
5222
5223 * mh-utils.el (mh-show-xface-function): Modified to use
5224 mh-emacs21-face-display-function if we are running GNU Emacs 21.
5225 (mh-face-to-png): New function to convert a Face header to a png
5226 image.
5227 (mh-uncompface): New function which converts an X-Face header to
5228 a pbm image.
5229 (mh-icontopbm): New function that does the job of icontopbm.
5230 (mh-emacs21-face-display-function): New function that displays
5231 Face/X-Face image in GNU Emacs 21.
5232 (mh-show-xface): Modified to test if we are running in X.
5233 Otherwise face display is suppressed.
5234
5235 * mh-customize.el (mh-show-use-xface-flag): Tweak it, now that
5236 MH-E supports face display natively on Emacs 21. Also remove the
5237 check for window-system since it doesn't belong in a customizable
5238 variable.
5239
52402003-02-06 Satyaki Das <satyaki@theforce.stanford.edu>
5241
5242 * mh-utils.el (sendmail): Require it so that XEmacs can find
5243 rfc822-goto-eoh.
5244 (mh-mail-header-end): A substitute for mail-header-end that
5245 doesn't widen the buffer. This is essential to avoid problems when
5246 dealing with nested messages.
5247 (mh-in-header-p, mh-letter-header-font-lock)
5248 (mh-header-field-font-lock, mh-show-font-lock-fontify-region)
5249 (mh-show-unquote-From): Use mh-mail-header-end instead of
5250 mail-header-end.
5251
5252 * mh-mime.el (mh-decode-message-body): same as above (closes SF
5253 #681518).
5254
5255 * mh-comp.el (mh-yank-cur-msg): same as above.
5256
52572003-02-05 Satyaki Das <satyaki@theforce.stanford.edu>
5258
5259 * mh-utils.el (mh-display-msg): Call mh-show-mode before invisible
5260 headers are cleaned. This means that any surviving X-Face header
5261 can be removed unconditionally in mh-clean-msg-header.
5262 (mh-clean-msg-header): Since the function is now called with a
5263 read-only buffer, make the buffer temporarily writable.
5264
5265 * mh-mime.el (mh-mm-inline-message): Do X-Face display before
5266 invisible headers are removed.
5267
5268 * mh-customize.el (mh-invisible-headers): Simplified since the
5269 X-Face header isn't treated specially any more.
5270 (mh-invisible-header-fields): Add Face: and X-Face: to list of
5271 invisible headers.
5272
5273 * mh-mime.el (mh-mime-display): If body is empty the headers would
5274 be treated like the body. The change fixes this (closes SF #681162).
5275 (mh-mime-display): This change really fixes the above problem.
5276
52772003-02-04 Satyaki Das <satyaki@theforce.stanford.edu>
5278
5279 * mh-utils.el (mh-current-folder-name): Global variable that
5280 keeps track of current folder.
5281 (mh-normalize-folder-name): Substitute @ with
5282 mh-current-folder-name (closes SF #666774).
5283 (mh-prompt-for-folder): Bind mh-current-folder-name. Also
5284 invalidate cache if we are visiting a folder that wasn't found in
5285 the sub-folder cache. This is an indication that folders may have
5286 been created outside of MH-E and so the cache may be stale.
5287
52882003-02-03 Satyaki Das <satyaki@theforce.stanford.edu>
5289
5290 * mh-utils.el (mh-decode-content-transfer-encoded-message): Removed.
5291 (mh-display-msg): Remove the use of the above function.
5292 (mh-normalize-folder-name): Leading "/" characters were being
5293 lost. The change fixes this (closes SF #676890).
5294
5295 * mh-mime.el (mh-decode-message-body): New function, factored out
5296 from mh-mime-display and enhanced, to decode message based on
5297 charset and content-transfer-encoding. This eliminates the need
5298 for the external mimencode (closes SF #674857).
5299 (mh-mime-display): Use mh-decode-message-body.
5300
5301 * mh-e.el (mh-header-display): Don't need the binding since the
5302 variable isn't present any more.
5303 (mh-inc-folder): Avoid calling mh-show if point is not on a valid
5304 scan line (closes SF #678115).
5305
5306 * mh-customize.el
5307 (mh-decode-content-transfer-encoded-message-flag): Removed.
5308
53092003-02-03 Bill Wohler <wohler@newt.com>
5310
5311 * import-emacs: MH-E now has its own directory in Emacs.
5312
5313 * mh-e.el: (mh-version): Set to 7.2+cvs.
5314
53152003-02-03 Bill Wohler <wohler@newt.com>
5316
5317 Released MH-E version 7.2.
5318
5319 * MH-E-NEWS, README: Updated for release 7.2.
5320
5321 * mh-e.el (Version, mh-version): Updated for release 7.2.
5322
53232003-02-03 Bill Wohler <wohler@newt.com>
5324
5325 * Makefile (dist): mkdir needs to happen *before* files are
5326 copied.
5327
5328 * MH-E-NEWS: Fixed some awkward verbiage.
5329
53302003-02-02 Bill Wohler <wohler@newt.com>
5331
5332 * mh-customize.el (mh-invisible-headers): Surround regexp-opt
5333 expression in parens to avoid problems viewing certain messages.
5334
53352003-01-30 Satyaki Das <satyaki@theforce.stanford.edu>
5336
5337 * mh-speed.el (mh-speed-flists): Search for flists in mh-progs.
5338 The original was inadvertently searching for flists in the user's
5339 path.
5340
53412003-01-27 Bill Wohler <wohler@newt.com>
5342
5343 * mh-customize.el (mh-default-folder-must-exist-flag): Changed
5344 default to t according to the principle of least surprise.
5345
53462003-01-26 Bill Wohler <wohler@newt.com>
5347
5348 * mh-utils.el: Checkdoc fixes.
5349
5350 * mh-pick.el (mh-do-search, mh-search-folder): Checkdoc fixes.
5351
5352 * mh-loaddefs.el: Regenerated (lm-verify fixes).
5353
5354 * mh-index.el (mh-mairix-next-result): Checkdoc fixes.
5355
5356 * mh-alias.el: lm-verify fix.
5357
5358 * Makefile (MH-E-SRC): Added ChangeLog, now that Emacs has a
5359 lisp/mh-e directory.
5360 (MH-E-ETC-ETC): Removed ChangeLog.
5361 (dist): Moved creation of mail directory next to copy of files
5362 into mail directory.
5363 (install-emacs): Copy $(MH-E-SRC) into new directory
5364 $(EMACS_HOME/lisp/mh-e.
5365 (MH-E-SRC): Moved ChangeLog into new variable MH-E-OTHERS and
5366 include MH-E-LOADDEFS there too.
5367 (mh-loaddefs.el): Added lines so that lm-verify passes.
5368 (dist, install-emacs): Use MH-E-OTHERS instead of MH-E-LOADDEFS.
5369
53702003-01-26 Jeffrey C Honig <jch@honig.net>
5371
5372 * mh-comp.el (mh-tidy-draft-buffer, mh-compose-and-send-mail):
5373 Rename mh-kill-draft-hook to mh-tidy-draft-buffer.
5374
53752003-01-25 Jeffrey C Honig <jch@honig.net>
5376
5377 * mh-utils.el (mh-exec-cmd, mh-exec-cmd-daemon)
5378 (mh-process-daemon): Use mh-log-buffer for the output of commands
5379 from mh-exec-cmd.
5380
5381 * mh-utils.el (mh-temp-folders-buffer): Sequences and folders
5382 loose the -temp from their buffer names as they are interesting to
5383 the user.
5384
5385 * mh-seq.el (mh-list-sequences): New name, mh-sequences-buffer as
5386 it is intended to be interesting to the user.
5387
5388 * mh-funcs.el (mh-list-folders): New name, mh-folders-buffer as it
5389 is intended to be interesting to the user.
5390
5391 * mh-comp.el (mh-check-whom, mh-compose-and-send-mail): Use
5392 mh-recipients-buffer constant. Add a kill buffer hook to delete
5393 the recipients buffer when a draft buffer is killed.
5394
53952003-01-25 Satyaki Das <satyaki@theforce.stanford.edu>
5396
5397 * mh-customize.el (mh-customize): New interactive argument
5398 deletes other windows.
5399 (mh-tool-bar-show-set, mh-tool-bar-letter-set)
5400 (mh-tool-bar-folder-set): Modified so that clicking the customize
5401 and help buttons deletes the other windows in the frame.
5402
5403 * mh-mime.el (mh-mm-inline-message): Remove unused code.
5404
5405 * mh-seq.el (mh-notate-deleted-and-refiled): Fix a small bug where
5406 the wrong notation was being used.
5407 (mh-toggle-threads): The function had a bug if you did the
5408 following starting from an unthreaded wide folder:
5409 (1) Create a sequence with S p
5410 (2) Narrow to new sequence with S n
5411 (3) Thread narrowed folder with T t
5412 (4) Kill sequence with S k
5413 (5) Unthread narrowed folder with T t
5414 At this point we would have an empty folder. The change fixes
5415 this.
5416 (mh-toggle-threads): Fix documentation.
5417
5418 * mh-customize.el (mh-invisible-header-fields): Add
5419 X-MHE-Checksum to invisible headers.
5420
5421 * mh-comp.el (mh-insert-x-mailer): Slightly more informative
5422 X-Mailer header.
5423
54242003-01-24 Satyaki Das <satyaki@theforce.stanford.edu>
5425
5426 * mh-e.el (mh-header-display): Modified so that quoted-printable
5427 or base64 encoded messages are left untouched.
5428
5429 * mh-utils.el (mh-decode-content-transfer-encoded-message): Munge
5430 the Content-Transfer-Encoding header so that the MIME decoding
5431 routines of Gnus doesn't get confused.
5432 (mh-display-msg): Use insert-file-contents-literally so that
5433 display will work for non-ascii.
5434
5435 * mh-mime.el (mh-mime-display): Use charset info to decode
5436 message file (closes SF #655123).
5437
54382003-01-24 Bill Wohler <wohler@newt.com>
5439
5440 * mh-alias.el (mh-alias-add-alias-to-file): Removed period from
5441 error message and added parens around error function.
5442
54432003-01-24 Satyaki Das <satyaki@theforce.stanford.edu>
5444
5445 * mh-customize.el (mh-decode-quoted-printable-flag): Removed.
5446 (mh-decode-content-transfer-encoded-message-flag): This replaces
5447 mh-decode-quoted-printable-flag.
5448
5449 * mh-utils.el (mh-decode-content-transfer-encoded-message): New
5450 function which handles messages that are encoded as base64 or
5451 quoted-printable (closes SF #674190).
5452 (mh-decode-quoted-printable): Removed.
5453 (mh-display-msg): Use mh-decode-content-transfer-encoded-message
5454 instead of mh-decode-quoted-printable.
5455
54562003-01-23 Satyaki Das <satyaki@theforce.stanford.edu>
5457
5458 * mh-seq.el (mh-thread-generate-scan-lines): Fix a little bug
5459 that would occasionally cause angles ('<' and '>') to appear at
5460 root level.
5461
54622003-01-21 Satyaki Das <satyaki@theforce.stanford.edu>
5463
5464 * mh-seq.el (mh-notate-cur): Enable overlay arrow display in text
5465 mode too.
5466
5467 * mh-e.el (mh-folder-mode): Initialize overlay-arrow-string so
5468 that a '>' is displayed in text mode.
5469
54702003-01-20 Satyaki Das <satyaki@theforce.stanford.edu>
5471
5472 * mh-utils.el (mh-scan-msg-overflow-regexp): Change the variable
5473 so that a space is always maintained in the beginning of the scan
5474 line.
5475
5476 * mh-seq.el (mh-notate-seq, mh-notate-cur): Make the functions
5477 faster by cutting down on the use of mh-goto-msg.
5478 (mh-toggle-threads): Add call to mh-notate-cur, since inserting
5479 the folder names in a search results folder screws up the
5480 location of the overlay arrow.
5481
5482 * mh-index.el (mh-index-delete-folder-headers): Position the
5483 point on a message line if possible.
5484
5485 * mh-funcs.el (mh-copy-msg): Use the mh-iterate macro to make the
5486 function faster.
5487
5488 * mh-e.el (mh-scan-folder): Reuse mh-notate-deleted-and-refiled.
5489
5490 * mh-loaddefs.el: Regenerated.
5491
5492 * mh-utils.el (mh-add-msgs-to-seq): Add a new parameter that
5493 suppresses the annotation of the sequence since it is
5494 inefficient.
5495
5496 * mh-seq.el (mh-delete-seq): Speed up the part of the function
5497 that removes the sequence notation.
5498 (mh-put-msg-in-seq, mh-notate-deleted-and-refiled): Use
5499 mh-iterate-on-messages-in-region to make the function fasters when
5500 operating on regions. The key idea is to loop over the folder
5501 buffer exactly once and do all annotations. The existing algo
5502 would walk over the buffer multiple times thereby slowing things
5503 down.
5504 (mh-iterate-on-messages-in-region): Added an extra parameter which
5505 is bound to the message index as the loop is executed.
5506 (mh-region-to-msg-list, mh-thread-delete, mh-thread-refile): Use
5507 the new mh-iterate-on-messages-in-region macro.
5508
5509 * mh-e.el (mh-delete-msg-no-motion, mh-refile-msg, mh-undo): Same
5510 as above.
5511 (mh-notate-user-sequences): Change algorithm to make notating of
5512 user sequences fast.
5513
55142003-01-19 Satyaki Das <satyaki@theforce.stanford.edu>
5515
5516 * mh-logo.xpm: New image file that contains the MH-E logo.
5517 Change foreground color to the blue in the MH-E logo.
5518
5519 * Makefile (MH-E-IMG): Add mh-logo.xpm to list of image files.
5520
5521 * mh-utils.el (mh-show-buffer-mode-line-buffer-id): Adjust it to
5522 keep space in the beginning for the logo.
5523 (mh-logo-cache): New variable that caches the logo image file
5524 location.
5525 (mh-logo-display): Display the MH-E logo on the mode line.
5526 (mh-display-msg): Display logo in mh-show-mode.
5527
5528 * mh-e.el (mh-make-folder-mode-line): Display logo in
5529 mh-folder-mode.
5530
5531 * mh-comp.el (mh-compose-and-send-mail): Display logo in
5532 mh-letter-mode.
5533
5534 * mh-loaddefs.el: Regenerated.
5535
5536 * mh-seq.el (mh-iterate-on-messages-in-region): New macro to
5537 iterate on all messages in a region.
5538 (mh-region-to-msg-list): Simplified since it uses
5539 mh-iterate-on-messages-in-region now.
5540
5541 * mh-e.el (mh-delete-msg, mh-refile-msg): Change interactive spec
5542 to pass the region that is to be deleted when appropriate.
5543 (mh-delete-msg-no-motion, mh-refile-msg, mh-undo): Operate on
5544 regions directly without creating the list of messages to be
5545 deleted/refiled.
5546 (mh-delete-a-msg, mh-refile-a-msg, mh-undo-msg): The msg
5547 parameter in these functions can now be nil. If so, the current
5548 message is deleted, refiled or undone respectively. Avoids the
5549 use of mh-goto-msg in this case and speeds up operations on
5550 regions quite a bit.
5551
55522003-01-19 Peter S Galbraith <psg@debian.org>
5553
5554 * mh-alias.el (mh-read-address): Bug Fix. In XEmacs and Emacs20,
5555 it would always prompt using "To: " instead of using the command
5556 argument (closes SF #670913).
5557
55582003-01-19 Satyaki Das <satyaki@theforce.stanford.edu>
5559
5560 * mh-utils.el (mh-folder-completion-function): If there is a
5561 +foo/bar folder and the user types foo//bar then the completion
5562 function would say a match happened without showing the
5563 normalized folder name. This change fixes that.
5564
55652003-01-18 Satyaki Das <satyaki@theforce.stanford.edu>
5566
5567 * mh-e.el (mh-rmail): Modified so that new and unseen messages
5568 are shown (closes SF #667542).
5569
55702003-01-17 Satyaki Das <satyaki@theforce.stanford.edu>
5571
5572 * mh-index.el (mh-index-generate-pretty-name): Generate nicer
5573 names. In particular all '-' characters are removed.
5574
55752003-01-16 Satyaki Das <satyaki@theforce.stanford.edu>
5576
5577 * mh-customize.el (mh-index-program): Documentation fix.
5578
5579 * mh-loaddefs.el: Regenerated.
5580
5581 * mh-customize.el (mh-index-program): Add choices for mairix and
5582 pick.
5583
5584 * mh-index.el (mh-indexer-choices): Add search interfaces for
5585 mairix and pick.
5586 (mh-index-search): Add links for mairix and pick.
5587 (mh-index-pick-folder, mh-pick-binary): Variables needed to
5588 implement pick support.
5589 (mh-pick-execute-search, mh-pick-next-result): New functions to
5590 implement pick support.
5591 (mh-mairix-binary, mh-mairix-directory, mh-mairix-folder): New
5592 variables for mairix support.
5593 (mh-mairix-execute-search, mh-mairix-next-result)
5594 (mh-mairix-regexp-builder, mh-mairix-convert-to-sop*): New
5595 functions for mairix.
5596
5597 * mh-funcs.el (mh-kill-folder): Move message to the end.
5598
5599 * mh-e.el (mh-folder-mode): Make overlay-arrow-position and
5600 overlay-arrow-string local variables so that the arrow will
5601 remain even if some other folder is visited.
5602 (mh-remove-cur-notation, mh-remove-all-notation): The test isn't
5603 required any more since overlay-arrow-position is local.
5604 (mh-goto-cur-msg): Remove overlay arrow if current message
5605 doesn't exist.
5606
5607 * mh-seq.el (mh-notate-cur): Don't need to set
5608 overlay-arrow-string any more since it is local and has been set
5609 at initialization.
5610
56112003-01-15 Satyaki Das <satyaki@theforce.stanford.edu>
5612
5613 * mh-speed.el (mh-speed-current-folder): Keep track of current
5614 folder when flists is called.
5615 (mh-speed-flists, mh-speed-parse-flists-output): Try to avoid
5616 ambiguity when folders are present with + at the end of the name.
5617 Unfortunately it can't always be avoided.
5618
5619 * mh-e.el (mh-folder-size): Remove the unnecessary error check.
5620 (mh-parse-flist-output-line): Add extra argument which
5621 occasionally avoid problems with folder names that end with '+'.
5622
5623 * mh-utils.el (mh-sub-folders-actual): Fix the folder name
5624 parsing so that it doesn't get confused by trailing '+' chars in
5625 the folder name.
5626
56272003-01-14 Satyaki Das <satyaki@theforce.stanford.edu>
5628
5629 * mh-utils.el (mh-normalize-folder-name): Enhanced so that it can
5630 now handle ".." and "." correctly during folder name completion.
5631 (mh-normalize-folder-name): Avoid error in boundary condition
5632 where the folder string is empty.
5633
56342003-01-14 Mark D. Baushke <mdb@gnu.org>
5635
5636 * mh-e.el (mh-visit-folder): Pass `current-prefix-arg' to
5637 the `mh-read-msg-range' function as the optional
5638 always-prompt-flag.
5639
56402003-01-14 Satyaki Das <satyaki@theforce.stanford.edu>
5641
5642 * mh-utils.el (mh-normalize-folder-name): New function that
5643 normalizes folder names.
5644 (mh-sub-folders): Use mh-normalize-folder-name. Also the function
5645 has been modified so that a trailing slash is only added if the
5646 folder potentially has subfolders.
5647 (mh-sub-folders-actual): Simplified since the folder has already
5648 been normalized in mh-sub-folders.
5649 (mh-remove-from-sub-folders-cache): Modified so that the cached
5650 results of two of the folders ancestors are invalidated.
5651 (mh-folder-completion-map): Ugly hack to make the error go away
5652 when minibuffer-complete-word is called.
5653 (mh-folder-completion-function): The completion function will now
5654 be more selective in adding '/' at the end of completed folder
5655 names.
5656 (mh-folder-completing-read): The folder name is normalized before
5657 return. The minibuffer-local-completion-map is shadowed to avoid
5658 error with SPC (bound to minibuffer-complete-word). We really
5659 need a better solution.
5660
56612003-01-13 Bill Wohler <wohler@newt.com>
5662
5663 * mh-seq.el: Edited comment and docstring text to conform with RFC
5664 2822 terminology. Message-ID is the header field. It contains a
5665 message identifier.
5666
56672003-01-13 Satyaki Das <satyaki@theforce.stanford.edu>
5668
5669 * mh-utils.el (mh-sub-folders): Add an argument that returns
5670 sub-folders with a / character appended at the end.
5671 (mh-folder-completion-function): Modify the function so that one
5672 tab is now sufficient to complete the folder name and add a
5673 trailing /.
5674 (mh-folder-completing-read): Remove the trailing / that the
5675 completion function now adds to the folder name. Also multiple /
5676 characters in the folder input are removed. So if the user inputs
5677 +foo///bar//baz///// then that will be converted to +foo/bar/baz.
5678 This will improve the performance of caching.
5679
5680 * mh-seq.el (mh-notate-cur): Check that a valid current message
5681 exists before trying to notate (closes SF #667331).
5682 (mh-message-id-regexp): New variable to store regexp to recognize
5683 message-ids.
5684 (mh-thread-generate): Use mh-message-id-regexp to filter out non
5685 message-id's from the References: header.
5686
56872003-01-12 Satyaki Das <satyaki@theforce.stanford.edu>
5688
5689 * mh-seq.el (mh-notate-cur): Disable overlay-arrow display if we
5690 aren't on a graphic display.
5691
56922003-01-11 Satyaki Das <satyaki@theforce.stanford.edu>
5693
5694 * mh-seq.el (mh-notate-cur): New function to notate the current
5695 message. The marker in the fringe is updated too.
5696 (mh-narrow-to-seq, mh-widen, mh-thread-inc, mh-thread-folder): Use
5697 the specialized function mh-notate-cur instead of mh-notate-seq.
5698
5699 * mh-e.el (mh-arrow-marker): New buffer local variable to store
5700 the position where the marker in the fringe is going to be
5701 displayed (closes SF #664824).
5702 (mh-folder-mode): Create a marker for the fringe.
5703 (mh-update-sequences, mh-get-new-mail, mh-goto-cur-msg): Call the
5704 specialized function mh-notate-cur instead of mh-notate-seq or
5705 mh-notate.
5706 (mh-remove-cur-notation, mh-remove-all-notation): Reset the
5707 overlay-arrow-position if needed.
5708
5709 * mh-loaddefs.el: Regenerated.
5710
57112003-01-10 Satyaki Das <satyaki@theforce.stanford.edu>
5712
5713 * mh-utils.el (mh-remove-from-sub-folders-cache): Modified so that
5714 creating nested folders doesn't produce inconsistent results.
5715 (mh-prompt-for-folder): Remove call of mh-folder-list-change-hook.
5716
5717 * mh-funcs.el (mh-kill-folder): Don't ask for confirmation if
5718 called on a folder holding index search results. Also the now
5719 removed mh-folder-list-change-hook is called no more.
5720
5721 * mh-customize.el (mh-auto-folder-collect-flag)
5722 (mh-folder-list-change-hook): Removed.
5723
5724 * mh-loaddefs.el: Regenerated.
5725
57262003-01-10 Bill Wohler <wohler@newt.com>
5727
5728 * mh-customize.el (mh-default-folder-must-exist-flag): New
5729 variable to suppress suggested folder if the folder doesn't
5730 already exist (closes SF #657096).
5731 (mh-default-folder-list): New variable that
5732 holds mapping between an address and the desired folder for
5733 filing (closes SF #657096).
5734 (mh-default-folder-prefix, mh-default-folder-must-exist-flag): In
5735 docstring, refer to documentation for mh-prompt-for-refile-folder
5736 and mh-folder-from-address.
5737 (mh-highlight-citation-p, mh-compose-insertion,
5738 (mh-insert-mail-followup-to-list, mh-index-program,
5739 (mh-identity-default): Fixed case of tags.
5740
5741 * mh-e.el (mh-folder-from-address): Use new variable
5742 mh-default-folder-must-exist-flag to return nil if this variable
5743 is t and the folder doesn't already exist. In addition, can now
5744 look up a default folder in the new variable
5745 mh-default-folder-list (closes SF #657096).
5746 (mh-prompt-for-refile-folder): In docstring, refer to
5747 documentation in mh-folder-from-address.
5748
5749 * mh-index.el (mh-swish-execute-search): Changed \..* to \\..* in
5750 the FileRules filename in the sample config file. Otherwise, the
5751 users don't see the backslash at all, and no files are indexed!
5752 (closes SF #665888).
5753
57542003-01-10 Satyaki Das <satyaki@theforce.stanford.edu>
5755
5756 * mh-seq.el (mh-thread-folder): Get headers for exactly the
5757 messages that are present. If only messages 1-10 and 3800-3900
5758 are being shown then we will now scan exactly those messages and
5759 not the full range from 1-3900 as was being done earlier.
5760 (mh-toggle-threads): When converting from threaded to normal view
5761 only the messages present in the buffer are scanned. Earlier all
5762 messages from the minimum to the maximum would be scanned (closes
5763 SF #626117).
5764
5765 * mh-pick.el (mh-search-folder): Fix typo.
5766 (mh-pick-do-search): Fix bug from cut and paste. Also set window
5767 config properly.
5768
5769 * mh-utils.el (mh-prompt-for-folder): Add new argument to allow
5770 it to accept + as a folder name. This allows the user to search
5771 all folders when "Fs" is used.
5772
5773 * mh-pick.el (mh-search-folder): Fix interactive spec of function.
5774 (mh-pick-do-search): Rewritten to call pick in one go. This will
5775 make adding pick as a default index search program easier. Also
5776 pick now accepts the same query syntax as the index search
5777 programs (closes SF #664816).
5778 (mh-next-pick-field): Removed.
5779 (mh-pick-parse-search-buffer): New function to parse the search
5780 buffer.
5781 (mh-pick-construct-regexp, mh-pick-regexp-builder): New function
5782 to produce a pick query from the parsed representation.
5783
5784 * mh-index.el (mh-index-do-search): Refactor the search pattern
5785 parser into a new function and use that instead.
5786
5787 * mh-loaddefs.el: Regenerated.
5788
57892003-01-10 Satyaki Das <satyaki@theforce.stanford.edu>
5790
5791 * mh-loaddefs.el: Regenerated.
5792
5793 * mh-utils.el (mh-remove-from-sub-folders-cache)
5794 (mh-prompt-for-folder): Replace mh-update-sub-folders-cache with
5795 mh-remove-from-sub-folders-cache.
5796 (mh-exec-cmd-daemon): Mention set-process-filter in documentation.
5797
5798 * mh-pick.el (mh-searching-function): New buffer local variable
5799 that keeps track of the default searching function to be used.
5800 (mh-pick-mode): Make mh-searching-function buffer local.
5801 (mh-search-folder): Set mh-searching-function to use pick.
5802 (mh-search-folder, mh-pick-menu, mh-pick-mode-help-messages)
5803 (mh-pick-mode, mh-do-pick-search, mh-pick-do-search): Rename
5804 mh-do-pick-search to mh-pick-do-search. But keep
5805 mh-do-pick-search as a deprecated function.
5806 (mh-do-search): New interactive function that performs the
5807 default search.
5808 (mh-pick-mode-map): Update keymap.
5809
5810 * mh-index.el (mh-index-search): Set mh-searching-function to do
5811 index search.
5812 (mh-index-new-folder): Replace mh-update-sub-folders-cache with
5813 mh-remover-from-sub-folders-cache.
5814
5815 * mh-funcs.el (mh-kill-folder): Same as above.
5816
5817 * mh-index.el (mh-index-evaluate, mh-swish++-regexp-builder):
5818 Checkdoc fixes.
5819
5820 * mh-customize.el: Fixes to make byte compiler in CVS Emacs
5821 perfectly happy.
5822
58232003-01-09 Bill Wohler <wohler@newt.com>
5824
5825 * mh-e.el (mh-folder-from-address): New function that proposes the
5826 name of a folder with an alias for the address in the current message.
5827 (mh-prompt-for-refile-folder): Use it (closes SF #657096).
5828
5829 * mh-customize.el (mh-default-folder-prefix): New variable used by
5830 mh-folder-from-address.
5831 (mh-invisible-header-fields): Edited docstring.
5832
5833 * mh-alias.el (mh-alias-address-to-alias): Added ;;;###mh-autoload
5834 cookie (used by mh-folder-from-address in mh-e.el). Edited text in
5835 comment.
5836
5837 * mh-utils.el: Provided naming conventions for buffer and buffer
5838 variable names.
5839 (mh-temp-folders-buffer): Renamed buffer to " *mh-folders*".
5840 (mh-temp-sequences-buffer): Renamed buffer to " *mh-sequences*".
5841 (mh-info-buffer): Renamed from mh-temp-info-buffer.
5842 (mh-log-buffer): New buffer variable to hold name of "*MH-E Log*"
5843 buffer which is expected to be used for the output of MH commands.
5844 Perhaps we always create this buffer at initialization and append
5845 to it rather than erase it each time?
5846
5847 * mh-e.el (mh-quit): Loop over all buffers and delete MH-E
5848 temporary and working buffers. As long as the buffer naming
5849 conventions are followed, new buffers will be automatically
5850 killed.
5851 (mh-version): Renamed mh-temp-info-buffer to mh-info-buffer.
5852
5853 * mh-comp.el (mh-insert-x-mailer): Renamed mh-temp-info-buffer to
5854 mh-info-buffer.
5855
58562003-01-09 Satyaki Das <satyaki@theforce.stanford.edu>
5857
5858 * mh-e.el (mh-folder-size): If the user doesn't have a
5859 Unseen-Sequence definition in .mh_profile then an error was
5860 produced. This change fixes that.
5861
5862 * mh-seq.el (mh-thread-generate): Replace the *mh-thread* buffer
5863 with a temporary buffer which is cleaned up when the function
5864 exits.
5865
5866 * mh-e.el (mh-prompt-for-refile-folder): New function which
5867 refactors out the intelligent folder guessing code from
5868 mh-refile-msg.
5869 (mh-refile-msg): Use mh-prompt-for-refile-folder.
5870
5871 * mh-seq.el (mh-thread-refile): Use mh-prompt-for-refile-folder to
5872 do the same intelligent destination folder guessing as
5873 mh-refile-msg (closes SF #664829).
5874
5875 * mh-utils.el (mh-folder-list, mh-make-folder-list-process)
5876 (mh-folder-list-temp, mh-folder-list-partial-line)
5877 (mh-set-folder-list): Removed.
5878 (mh-sub-folders-cache, mh-sub-folders, mh-sub-folders-actual):
5879 Moved over from mh-speed.el to implement hierarchical completion.
5880 (mh-update-sub-folders-cache): Utility function called when
5881 new folders are created or folders are removed.
5882 (mh-folder-completion-function): New function is the folder name
5883 completion function used in completing-read.
5884 (mh-folder-completing-read): A thin wrapper function that is used
5885 instead of completing-read directly. In the future we might want
5886 to allow the user a customizable variable which will turn off
5887 folders based completion.
5888 (mh-prompt-for-folder): Use mh-folder-completing-read to read in
5889 the folder name with hierachical completion (closes SF #664821).
5890
5891 * mh-speed.el (mh-speed-folders, mh-speed-folders-cache)
5892 (mh-speed-folders-actual): Moved to mh-utils.el as mh-sub-folders,
5893 mh-sub-folders-cache and mh-sub-folders-actual respectively.
5894 (mh-speed-invalidate-map, mh-speed-invalidate-map)
5895 (mh-speed-add-folder): Use the new names.
5896
5897 * mh-funcs.el (mh-kill-folder): Remove code that used to update
5898 mh-folder-list which is no longer present. Instead
5899 mh-update-sub-folders-cache is called.
5900
5901 * mh-index.el (mh-index-new-folder): Same as above.
5902
59032003-01-08 Satyaki Das <satyaki@theforce.stanford.edu>
5904
5905 * mh-utils.el (mh-exec-cmd-daemon): An argument was added which
5906 controls what is done with the process output.
5907
5908 * mh-funcs.el (mh-kill-folder): Use mh-previous-window-config to
5909 restore window configuration. Also the call to mh-exec-cmd-daemon
5910 only displays output if an error happened (closes SF #664828).
5911 (mh-rmf-daemon): Check rmf output and display it only if
5912 something went wrong.
5913 (mh-print-msg): Pass in nil argument to mh-exec-cmd-daemon.
5914
5915 * mh-comp.el (mh-redistribute, mh-send-letter): Pass in nil
5916 argument to mh-exec-cmd-daemon so that the functions will behave
5917 as before.
5918
5919 * mh-pick.el (mh-search-folder): The current window config is
5920 stored.
5921 (mh-make-pick-template): Make the message headers read-only.
5922 (mh-pick-mode-help-messages): Update help message.
5923 (mh-do-pick-search): Fix problem when buffer isn't showing any
5924 messages.
5925 (mh-next-pick-field): Use buffer-substring-no-properties is
5926 better.
5927 (mh-pick-mode-map): Add key bindings (partially addresses
5928 SF #664816)
5929
5930 * mh-index.el (mh-indexer-choices): Add a new field for each
5931 index program choice. If it is non-nil then it is the name of a
5932 function that given a lisp expression to search for generates a
5933 pattern that is acceptable to the search program.
5934 (mh-index-regexp-builder): New variable that stores the function
5935 to be used to convert from the lisp expression syntax to
5936 something that the search program understands.
5937 (mh-index-generate-pretty-name): Generalized so that it can take
5938 a list of strings as input.
5939 (mh-index-search): Modified so that if the configured program has
5940 a corresponding regexp-builder then a search buffer like pick
5941 search is produced. Otherwise the previous behavior is maintained.
5942 (mh-index-do-search): New interactive function that takes the
5943 contents of the search buffer, generates an appropriate query and
5944 produces the search results buffer by calling mh-index-search.
5945 (mh-replace-string, mh-index-parse-search-regexp)
5946 (mh-index-add-implicit-ops, mh-index-evaluate): New functions
5947 which parses the infix search expression that the user enters. A
5948 parse tree from which queries for different search programs can
5949 be produced is produced.
5950 (mh-swish++-regexp-builder, mh-swish++-print-regexp): Takes the
5951 internal form of the query and produces input suitable for
5952 swish++.
5953
5954 * mh-loaddefs.el: Regenerated.
5955
59562003-01-08 Bill Wohler <wohler@newt.com>
5957
5958 * Makefile (emacs-logs): New target for viewing CVS Emacs logs.
5959 Useful to see if an Emacs developer has changed MH-E.
5960
5961 * MH-E-NEWS: Fixed case of MH-E in the "Changes" title.
5962
5963 * mh-utils.el (mh-temp-info-buffer): New variable to hold name of
5964 buffer that contains version info.
5965
5966 * mh-e.el (mh-version): Use mh-temp-info-buffer instead of
5967 mh-temp-buffer since version information was getting clobbered by
5968 the aliasing code before it could be seen (closes SF #664467).
5969 (mh-quit): Delete mh-temp-info-buffer.
5970
5971 * mh-comp.el (mh-insert-x-mailer): Use mh-temp-info-buffer to find
5972 version info instead of mh-temp-buffer. You kind of need this
5973 patch to send mail.
5974
59752003-01-07 Bill Wohler <wohler@newt.com>
5976
5977 * mh-e.el (Version, mh-version): Set to 7.1+cvs.
5978
59792003-01-07 Bill Wohler <wohler@newt.com>
5980
5981 Released MH-E version 7.1.
5982
5983 * MH-E-NEWS, README: Updated for release 7.1.
5984
5985 * mh-e.el (Version, mh-version): Updated for release 7.1.
5986
59872003-01-07 Bill Wohler <wohler@newt.com>
5988
5989 * mh-customize.el (mh-auto-folder-collect-flag,
5990 mh-alias-system-aliases, mh-alias-insert-file): Edited docstrings.
5991
5992 * Makefile (MH-E-IMG): Added alias.pbm and alias.xpm.
5993
5994 * mh-alias.el (mh-alias-insert-file, mh-alias-add-alias): Fixed
5995 checkdoc warnings.
5996
59972003-01-07 Satyaki Das <satyaki@theforce.stanford.edu>
5998
5999 * mh-utils.el (mh-search-from-end): New function that is used to
6000 replace our usage of the CL function search.
6001 (font-lock): The library is loaded to avoid compilation warning
6002 in CVS Emacs.
6003
6004 * mh-speed.el (mh-speed-goto-folder, mh-speed-add-folder)
6005 (mh-speed-extract-folder-name, mh-speed-invalidate-map): Use
6006 mh-search-from-end instead of search.
6007
6008 * mh-seq.el (mh-thread-remove-parent-link): Use loop instead of
6009 remove*.
6010 (mh-thread-process-in-reply-to): Use mh-search-from-end instead
6011 of search.
6012
6013 * mh-index.el (mh-md5-parser): Fix name of function.
6014 (mh-index-update-single-msg, mh-index-update-maps): Avoid using
6015 destructuring-bind since Emacs-20.7 can't handle this particular
6016 usage.
6017 (mh-namazu-next-result): Use mh-search-from-end instead of
6018 search.
6019
6020 * mh-e.el (recursive-load-depth-limit): Add a defvar since CVS
6021 emacs which doesn't have the variable defined causes a compiler
6022 warning.
6023 (mh-refile-a-msg): Rewritten to avoid using pushnew.
6024 (mh-undo-msg): Use loop instead of remove-if.
6025
6026 * mh-comp.el (mh-show-buffer-message-number): Use
6027 mh-search-from-end instead of search.
6028
60292003-01-01 Satyaki Das <satyaki@theforce.stanford.edu>
6030
6031 * mh-e.el (mh-visit-folder): Modified so that if RANGE is nil then
6032 all messages are displayed. Documentation modified so that this is
6033 explicitly stated.
6034 (mh-visit-folder): Really fix it this time.
6035
60362003-01-01 Mark D Baushke <mdb@gnu.org>
6037
6038 * mh-alias.el (mh-alias-from-has-no-alias-p): Needs the
6039 mh-autoload comment or mh-customize may have problems finding the
6040 function.
6041
6042 * mh-loaddefs.el: Regenerated.
6043
60442002-12-28 Satyaki Das <satyaki@theforce.stanford.edu>
6045
6046 * mh-index.el (mh-namazu-execute-search): Fix bug in documentation.
6047
60482002-12-28 Bill Wohler <wohler@newt.com>
6049
6050 * mh-comp.el (mh-letter-mode): Mention mh-compose-insertion
6051 variable in docstring, explain how to expand directives, and
6052 don't mention mh-mhn-compose-insertion which isn't used directly
6053 any more.
6054 (mh-send-letter): Mention that X-Mailer and X-Face are inserted
6055 automatically so that a user isn't tempted to do so himself in
6056 mh-before-send-letter-hook.
6057 (mh-insert-letter): Use "variable" prefix for mh-invisible-headers
6058 now that we have both a function and a variable. Clarified
6059 language a bit.
6060
60612002-12-26 Satyaki Das <satyaki@theforce.stanford.edu>
6062
6063 * mh-utils.el (mh-show-xface-function): Only load x-face-e21 if
6064 the emacs is not XEmacs.
6065
6066 * mh-index.el (mh-index-new-folder): The folder created should
6067 always be added to mh-folder-list. Otherwise folder name
6068 completion doesn't find the new folder created.
6069
60702002-12-24 Satyaki Das <satyaki@theforce.stanford.edu>
6071
6072 * mh-customize.el (mh-clean-message-header-flag)
6073 (mh-visible-headers, mh-invisible-headers)
6074 (mh-invisible-header-fields-set): Reworded to satisfy checkdoc.
6075
6076 * mh-loaddefs.el: Regenerated.
6077
6078 * mh-e.el (mh-inc-folder, mh-visit-folder, mh-read-msg-range):
6079 Handle nil value of mh-large-folder properly.
6080
6081 * mh-customize.el (mh-tool-bar-show-set, mh-tool-bar-letter-set)
6082 (mh-tool-bar-folder-set, mh-tool-bar-folder-buttons)
6083 (mh-invisible-headers, mh-invisible-header-fields-set): Checkdoc
6084 fixes.
6085 (mh-large-folder): Updated to allow for infinity. If
6086 mh-large-folder is nil then all folders are deemed small.
6087
60882002-12-23 Satyaki Das <satyaki@theforce.stanford.edu>
6089
6090 * mh-e.el (mh-inc-folder, mh-visit-folder): Emit a message if
6091 threading was suppressed because the number of messages exceed
6092 mh-large-folder.
6093
60942002-12-23 Peter S Galbraith <psg@debian.org>
6095
6096 * mh-utils.el (mh-invisible-headers): Deleted. Moved to
6097 mh-customize.el
6098
6099 * mh-customize.el (mh-invisible-header-fields): New
6100 defcustom. Simple user interface to change mh-invisible-headers.
6101 (mh-invisible-header-fields-set): New function called when
6102 mh-invisible-header-fields is set.
6103 (mh-invisible-headers): New function. Does the actual work of
6104 building the variable mh-invisible-headers from
6105 mh-invisible-header-fields.
6106 (mh-invisible-headers): defvar moved from mh-utils.el
6107
61082002-12-22 Satyaki Das <satyaki@theforce.stanford.edu>
6109
6110 * mh-speed.el (mh-speed-folder-size): Removed. Something very
6111 similar appears as mh-folder-size.
6112 (mh-speed-view): Simplified since the range selection logic has
6113 been moved to mh-read-msg-range.
6114 (mh-speed-parse-flists-output-line): Moved to mh-e.el as
6115 mh-parse-flist-output-line.
6116
6117 * mh-funcs.el (mh-pack-folder): Use the new mh-read-msg-range.
6118
6119 * mh-e.el (mh-rescan-folder): Use the new mh-read-msg-range.
6120 (mh-parse-flist-output-line): Moved from mh-speed.el where this
6121 function was called mh-speed-parse-flists-output-line.
6122 (mh-folder-size): Renamed from mh-speed-folder-size. The function
6123 has been made more general and can be called from any buffer and
6124 not just the speedbar buffer.
6125 (mh-visit-folder): Use the new mh-read-msg-range (addresses SF
6126 #655891).
6127 (mh-read-msg-range): Rewritten.
6128
61292002-12-21 Satyaki Das <satyaki@theforce.stanford.edu>
6130
6131 * mh-seq.el (mh-delete-subject-or-thread): New interactive
6132 function that intelligently deletes messages based on threading,
6133 if the folder is threaded, or on subject if folder isn't threaded.
6134
6135 * mh-utils.el (mh-show-delete-subject-or-thread): New interactive
6136 function, callable from the show buffer, to intelligently delete
6137 messages based on threading info or subject.
6138 (mh-show-mode-map): Change binding of "k" to call
6139 mh-show-delete-subject-or-thread.
6140
6141 * mh-e.el (mh-folder-mode-map): Change binding of "k" to call
6142 mh-delete-subject-or-thread.
6143
6144 * mh-comp.el (mh-letter-mode-map): Add key binding for
6145 mh-insert-identity.
6146
6147 * mh-loaddefs.el: Regenerated.
6148
61492002-12-21 Peter S Galbraith <psg@debian.org>
6150
6151 * mh-customize.el (mh-tool-bar-letter-set): Bug fix. The
6152 `tool-bar-add-item-from-menu' items were broken. I can't use my
6153 constants there.
6154
61552002-12-21 Peter S Galbraith <psg@debian.org>
6156
6157 * mh-alias.el (mh-alias-insert-file): Bug fix. I never checked
6158 that an AliasFile entry existed in .mh_profile.
6159
61602002-12-21 Peter S Galbraith <psg@debian.org>
6161
6162 * mh-customize.el (mh-alias-insertion-location): New defustom.
6163 Specifies where new aliases are entered in alias files.
6164
6165 * mh-alias.el (mh-alias-add-alias-to-file): Use it.
6166
61672002-12-21 Peter S Galbraith <psg@debian.org>
6168
6169 * mh-alias.el (mh-alias-add-alias-to-file): If ALIAS matches
6170 exactly, prompt to [i]nsert before old value or [a]ppend after it.
6171 (mh-alias-insert-file): Make sure we don't edit the passwd file.
6172 Add optional argument for alias; If ALIAS is specified and it
6173 already exists, try to return the file that contains it.
6174 (mh-alias-which-file-has-alias): New function. Return the name of
6175 writable file which defines ALIAS from list FILE-LIST.
6176 (mh-alias-add-alias): Remove prompts for case of alias already
6177 defined; done in mh-alias-add-alias-to-file.
6178
61792002-12-21 Satyaki Das <satyaki@theforce.stanford.edu>
6180
6181 * mh-speed.el (mh-speed-folders-actual): Fix bug in parsing of
6182 folder names that have spaces in them. The original function would
6183 truncate the folder name at the first space.
6184 (mh-speed-flists): Add -sequence option to flists. This guards
6185 against the user specifying something other than the unseen
6186 sequence in his .mh_profile.
6187 (mh-speed-parse-flists-output-line): New function that parses a
6188 single line in the output of flists to find the folder name and
6189 the counts of unseesn and total messages.
6190 (mh-speed-parse-flists-output): Fix parsing bug which truncates
6191 the folder names at the first space.
6192
6193 * mh-index.el (mh-index-generate-pretty-name): New function which
6194 generates a nicer name for the search results. It trims white
6195 space at the beginning and end and replaces white space with
6196 underscores within the search regexp.
6197 (mh-index-search): Use mh-index-generate-pretty-name.
6198
6199 * mh-loaddefs.el: Regenerated.
6200
62012002-12-20 Satyaki Das <satyaki@theforce.stanford.edu>
6202
6203 * mh-index.el (mh-index-new-folder): Add new folder to
6204 mh-folder-list to enable name completion.
6205 (mh-glimpse-execute-search, mh-swish-execute-search)
6206 (mh-swish++-execute-search): Fix documentation.
6207
6208 * mh-seq.el (mh-thread-generate): Fixed a stupid bug where the wrong
6209 folder could get 'scan'ed when generating the threaded view.
6210
6211 * mh-index.el (mh-index-search): If optional prefix arg is given
6212 then the search in the current index buffer is redone.
6213 (mh-glimpse-execute-search, mh-swish-execute-search)
6214 (mh-namazu-execute-search): Documentation fixes.
6215
6216 * mh-e.el (mh-index-previous-search): New buffer local variable
6217 stores parameters of search that created the buffer.
6218 (mh-folder-mode): Make mh-index-previous-search buffer local.
6219 (mh-visit-folder): Tweak the function so that only a single window
6220 with the folder buffer is shown if mh-showing-mode is nil.
6221
6222 * mh-loaddefs.el: Regenerated.
6223
62242002-12-19 Peter S Galbraith <psg@debian.org>
6225
6226 * mh-alias.el (mh-alias-add-alias): Bug fix.
6227
62282002-12-19 Peter S Galbraith <psg@debian.org>
6229
6230 * mh-alias.el (mh-alias-add-alias): New interactive command. Add
6231 ALIAS for ADDRESS in personal alias file.
6232 (mh-alias-grab-from-field): New interactive command. Add ALIAS for
6233 ADDRESS in personal alias file.
6234 (mh-alias-add-address-under-point): New interactive
6235 command. Insert an alias for email address under point.
6236 (mh-alias-suggest-alias): New function. Suggest an alias for STRING.
6237 (mh-alias-insert-file): New function. Return the alias file to
6238 write a new entry in.
6239 (mh-alias-address-to-alias): New function. Return the ADDRESS
6240 alias if defined, or nil."
6241 (mh-alias-from-has-no-alias-p): New function. Return t is From has
6242 no current alias set. Used as tool-bar button enable function.
6243 (mh-alias-add-alias-to-file): New function. Add ALIAS for ADDRESS
6244 in alias FILE without alias check or prompts.
6245
6246 * alias.xpm, alias.pbm: New tool-bar icon for
6247 mh-alias-grab-from-field.
6248
6249 * mh-e.el (mh-folder-line-matches-show-buffer-p): New function.
6250 Return t if the message under point in folder-mode is in the show
6251 buffer.
6252
6253 * mh-utils.el (mh-goto-address-find-address-at-point): New
6254 function copied from goto-addr.el, which we don't want to
6255 force-load on users. Find e-mail address around or before point.
6256 (mh-address-mail-regexp): New defvar. A regular expression
6257 probably matching an e-mail address.
6258
6259 * mh-customize.el (mh-alias-insert-file): New defcustom.
6260 Filename to use to store new MH-E aliases.
6261 (mh-tool-bar-folder-buttons): Enable mh-tool-bar-item-alias icon.
6262
6263 * mh-comp.el (mh-extract-from-header-value): New function.
6264 Extract From: string from header.
6265
62662002-12-19 Satyaki Das <satyaki@theforce.stanford.edu>
6267
6268 * mh-index.el (mh-index-update-single-msg): New defvar controls
6269 max number of command line args.
6270 (mh-index-execute): New function which is to be used
6271 instead of xargs so that we don't give the shell too many command
6272 line args.
6273 (mh-index-update-maps): Use mh-index-execute instead of xargs.
6274 (mh-index-search): Remove unused code. Also the first message in
6275 folder buffer is made current.
6276
62772002-12-18 Peter S Galbraith <psg@debian.org>
6278
6279 * mh-loaddefs.el: Regenerated.
6280
6281 * mh-comp.el (mh-letter-tool-bar-map): Moved to mh-customize.el
6282
6283 * mh-e.el (mh-folder-tool-bar-map): Moved to mh-customize.el
6284
6285 * mh-utils.el (mh-get-msg-num): autoloaded.
6286 (mh-show-tool-bar-map): Moved to mh-customize.el
6287
6288 * mh-customize.el (mh-tool-bar-item-*): 33 new defconsts for
6289 tool-bar setup and customization.
6290 (mh-tool-bar-folder-buttons-set): New function to setup the
6291 tool-bar after customization.
6292 (mh-tool-bar-folder-buttons): New defcustom to specify which icons
6293 appears in the tool-bar.
6294 (mh-tool-bar-letter-buttons-set): New function to setup the
6295 tool-bar after customization.
6296 (mh-tool-bar-letter-buttons): New defcustom to specify which icons
6297 appears in the tool-bar.
6298 (mh-tool-bar-show-set): New function to setup mh-letter-tool-bar-map.
6299 (mh-tool-bar-letter-set): New function to setup
6300 mh-letter-tool-bar-map.
6301
63022002-12-18 Satyaki Das <satyaki@theforce.stanford.edu>
6303
6304 * mh-e.el (mh-folder-mode-map): Change entries for "\t", "\M-\t"
6305 and backtab to call mh-index-next-folder and
6306 mh-index-previous-folder as appropriate.
6307
6308 * mh-index.el (mh-index-next-folder, mh-index-previous-folder):
6309 New interactive functions which jumps to search results of next
6310 and previous folders respectively.
6311
6312 * mh-loadddefs.el: Regenerated.
6313
6314 * mh-index.el (mh-index-delete-folder-headers): Arrange for
6315 mh-goto-cur-msg to just go to the current message.
6316
6317 * mh-e.el (mh-visit-folder): Since mh-scan-folder erases the whole
6318 buffer anyway, we don't need to delete the folder headers. Also
6319 index-data is non-nil only when the buffer folder doesn't exist.
6320 So we need to call mh-make-folder.
6321 (mh-folder-mode): Fix bug in that mh-index-checksum-origin-map was
6322 not being made buffer local!
6323
63242002-12-17 Satyaki Das <satyaki@theforce.stanford.edu>
6325
6326 * mh-e.el (mh-visit-folder): Fix bug.
6327
6328 * mh-index.el (mh-md5sum-buffer): Buffer from which md5sum is run.
6329 (mh-index-folder-first, mh-index-folder-last)
6330 (mh-index-original-msg-list): Convenience macros aren't needed
6331 anymore since the data structure has been changed.
6332 (mh-index-update-single-msg): New function to update maps that
6333 relate MD5 checksums to actual messages and vice-versa for a
6334 single message.
6335 (mh-index-update-maps): Do the above for all messages. If some
6336 messages don't have MD5 checksums, they are annotated with the
6337 result of md5sum.
6338 (mh-index-search): Updated for the new version of mh-index-data.
6339 (mh-msg-exists-p): New function to test a message exists.
6340 (mh-index-insert-folder-headers): Updated for new mh-index-data.
6341 (mh-index-delete-folder-headers): New function used to eliminate
6342 original folder names from the buffer and make it look like a
6343 plain folder buffer. This is used from mh-process-commands.
6344 (mh-index-visit-folder): Use new version of mh-index-data.
6345 (mh-index-match-checksum): New function which checks if the
6346 X-MHE-Checksum header of a message matches.
6347 (mh-index-execute-commands): New function that rmm's the original
6348 messages. Then after mh-execute-commands executes it will seem
6349 that the original messages were executed upon. This completes the
6350 fix of SF #623321.
6351 (mh-checksum-buffer): Renamed from mh-md5sum-buffer.
6352 (mh-checksum-cmd, mh-checksum-parser): New globals to allow
6353 different checksum programs to be used.
6354 (mh-checksum-choose): New functions to find a checksum program.
6355 (mh-openssl-parser, mh-md5sum-parser, mh-md5-parser): Functions to
6356 parse the output of md5, md5sum and openssl.
6357 (mh-index-update-maps): Use checksum parsing function.
6358 (mh-index-search): Set checksum choice. Add a call to recenter,
6359 otherwise the window point in the index buffer doesn't get set
6360 properly.
6361
6362 * mh-funcs.el (mh-pack-folder, mh-sort-folder): Enable these
6363 functions in folders created by index search.
6364
6365 * mh-e.el (mh-index-msg-checksum-map)
6366 (mh-index-checksum-origin-map): New buffer local variables that
6367 keep track of message checksums (used to implement
6368 refiling/deletion for folders created by index folders).
6369 (mh-last-msg): Make the function behave like mh-first-msg.
6370 (mh-visit-folder): Add new optional argument which initializes
6371 folders created by mh-index-search.
6372 (mh-folder-mode): Make the variables mh-index-msg-checksum-map and
6373 mh-index-checksum-origin-map buffer local.
6374 (mh-process-commands): Call mh-index-execute-commands when called
6375 from an index search buffer. This will reflect the changes being
6376 made in the search folder to the original folders.
6377
6378 * mh-loaddefs.el: Regenerated.
6379
63802002-12-16 Satyaki Das <satyaki@theforce.stanford.edu>
6381
6382 * mh-index.el (mh-index-insert-folder-headers): Fix a bug which
6383 caused the folder buffer to be marked as modified after rescanning
6384 an index folder.
6385
63862002-12-15 Satyaki Das <satyaki@theforce.stanford.edu>
6387
6388 * mh-e.el (mh-visit-folder): The function should insert folder
6389 names if it is visiting a folder created by index search.
6390
6391 * mh-index.el (mh-index-insert-folder-headers): The function now
6392 maintains the old value of buffer-modified-p and temporarily makes
6393 the buffer writable.
6394
6395 * mh-utils.el (mh-show-index-visit-folder): New interactive
6396 function callable from show buffer that displays search results
6397 from one folder.
6398 (mh-show-mode-map): Key binding for "v".
6399
6400 * mh-speed.el: Fix credits.
6401 (mh-index-folder-speedbar-buttons)
6402 (mh-index-show-speedbar-buttons)
6403 (mh-index-folder-speedbar-key-map)
6404 (mh-index-show-speedbar-key-map)
6405 (mh-index-folder-speedbar-menu-items)
6406 (mh-index-show-speedbar-menu-items): Removed since the modes
6407 mh-index-folder-mode and mh-index-show-mode no longer exist.
6408 (mh-speed-extract-folder-name): Remove the bits about
6409 mh-index-folder-mode and mh-index-show-mode.
6410
6411 * mh-seq.el (mh-copy-seq-to-eob): Updated to work properly with
6412 index search results.
6413 (mh-region-to-msg-list): Skip over non-scan lines.
6414 (mh-thread-inc, mh-thread-add-spaces, mh-thread-folder): Skip
6415 non-scan lines when populating mh-thread-scan-line-map.
6416 (mh-thread-folder, mh-toggle-threads): Move the check for buffer
6417 modification from mh-thread-folder to mh-toggle-threads.
6418 (mh-toggle-threads): When returning to unthreaded view insert the
6419 folder names if called from a index folder.
6420
6421 * mh-index.el: Fix credits and update commentary.
6422 (font-lock-defaults, mh-index-buffer, mh-index-show-buffer)
6423 (mh-index-ma-x-msg-index, mh-index-other-buffer)
6424 (mh-index-matches, mh-index-previous-window-configuration)
6425 (mh-index-current-msg, mh-index-folder-mode-keymap)
6426 (mh-index-button-map, mh-index-folder-mode-help-messages): Remove
6427 eliminated variables.
6428 (mh-index-folder): New variable sets the MH folder under which the
6429 index searches are stored.
6430 (mh-index-folder-first, mh-index-folder-last)
6431 (mh-index-original-msg-list): Convenience macros used to pull data
6432 elements out of a list. If needed setf can be used to change them
6433 as well.
6434 (mh-index-search): Rewritten to create real folders where all the
6435 normal folder operation. This partially fixes SF #623321 (refiles
6436 and deletes doesn't work on original messages).
6437 (mh-index-find-max-width, mh-index-search-again)
6438 (mh-index-insert-scan, mh-index-callback, mh-index-search)
6439 (mh-index-notate, mh-index-show, mh-index-header-display)
6440 (mh-index-next, mh-index-folder-mode, mh-index-show-mode):
6441 Functions, macros and modes removed.
6442 (mh-folder-exists-p): New function to check if a folder exists.
6443 (mh-index-new-folder): Generate a new folder name from a given
6444 base string that mimics the way emacs generates buffer names.
6445 (mh-index-insert-folder-headers): Insert folder names among the
6446 search results.
6447 (mh-index-visit-folder): New interactive function to show the
6448 search results of one individual folder.
6449 (mh-swish++-execute-search): Update documentation.
6450
6451 * mh-funcs.el (mh-pack-folder, mh-sort-folder): Disable these
6452 functions if index search results are being viewed.
6453
6454 * mh-e.el (mh-folder-font-lock-keywords): Add highlight for
6455 folder.
6456 (mh-index-data): New buffer local variable that will be used to
6457 store info about index search results.
6458 (mh-rescan-folder): Implement rescanning for index search results.
6459 (mh-folder-mode): Make mh-index-data buffer local.
6460 (mh-remove-all-notation): Modified to take into account not all
6461 lines in the folder buffer are normal scan lines.
6462 (mh-folder-mode-map): Add key binding for "v" to jump to original
6463 folder narrowed to search results.
6464
6465 * mh-customize.el (mh-index-folder-face): Make it bold so that it
6466 will look like before.
6467
6468 * mh-loaddefs.el: Regenerated.
6469
64702002-12-12 Satyaki Das <satyaki@theforce.stanford.edu>
6471
6472 * mh-seq.el (mh-map-to-seq-msgs): Modified so that it can be given
6473 a list of messages in addition to a sequence.
6474 (mh-region-to-sequence, mh-region-to-msg-list): The function
6475 mh-region-to-msg-list replaces mh-region-to-sequence. The new
6476 function avoids creating a dummy sequence in MH-E.
6477 (mh-thread-delete, mh-thread-refile, mh-put-msg-in-seq): Modified
6478 to use mh-region-to-msg-list.
6479
6480 * mh-funcs.el (mh-copy-msg): Modified to use mh-region-to-msg-list.
6481
6482 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Modified to use
6483 mh-region-to-msg-list.
6484
6485 * mh-comp.el (mh-forward): Modified to use mh-region-to-msg-list.
6486 The buffer-local variable mail-header-separator is no longer
6487 bound. This fixes a bug where the default value of
6488 mail-header-separator gets used if mh-forward is called in a fresh
6489 emacs session.
6490 (mh-annotate-msg): Update this so that it will handle message
6491 lists too.
6492 (mh-insert-letter): Make the test stronger. Since %d is being used
6493 the argument better be an integer.
6494
6495 * mh-loaddefs.el: Regenerated.
6496
64972002-12-11 Satyaki Das <satyaki@theforce.stanford.edu>
6498
6499 * mh-funcs.el (mh-copy-msg): Add support for transient-mark-mode.
6500 If mark is active and transient-mark-mode is enabled then all the
6501 messages in the region are copied.
6502
6503 * mh-seq.el (mh-list-sequences): Use mh-coalesce-msg-list to print
6504 messages in sequence nicely. The prompt for the folder is removed
6505 (the current folder is always used) and the output is made nicer
6506 by not overflowing the screen width.
6507
6508 * mh-loaddefs.el: Regenerated.
6509
65102002-12-09 Satyaki Das <satyaki@theforce.stanford.edu>
6511
6512 * mh-comp.el (mh-letter-complete): Checkdoc fix.
6513
6514 * mh-seq.el (mh-thread-current-indentation-level): New function
6515 which returns the thread indentation level of current message.
6516 (mh-thread-next-sibling, mh-thread-previous-sibling): New
6517 interactive functions to jump to the next and previous siblings in
6518 thread tree respectively.
6519 (mh-thread-immediate-ancestor): New function to jump to ancestor
6520 of current message in thread tree.
6521 (mh-thread-ancestor): New interactive function to jump to
6522 immediate ancestor or to root message of current thread depending
6523 on optional argument.
6524
6525 * mh-utils.el (mh-show-thread-ancestor)
6526 (mh-show-thread-next-sibling, mh-show-thread-previous-sibling):
6527 Interactive functions callable from the show buffer.
6528 (mh-show-thread-map): Bindings for Tu, Tp and Tn.
6529
6530 * mh-e.el (mh-thread-map): Bindings for Tu, Tp and Tn.
6531
6532 * mh-loaddefs.el: Regenerated.
6533
65342002-12-09 Satyaki Das <satyaki@theforce.stanford.edu>
6535
6536 * mh-seq.el (mh-region-to-sequence): Change name of region
6537 sequence created to 'mhe-region. This avoids any chance of
6538 collision with actual MH sequences.
6539 (mh-put-msg-in-seq, mh-thread-delete, mh-thread-refile): Change
6540 name of region sequence used to 'mhe-region. Also delete the
6541 'mhe-region sequence when done.
6542
6543 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Same as above.
6544
6545 * mh-comp.el (mh-forward): Same as above.
6546
6547 * mh-loaddefs.el: Regenerated.
6548
65492002-12-08 Bill Wohler <wohler@newt.com>
6550
6551 * mh-alias.el: Edited documentation. Broke up file into 2
6552 sections: Alias Loading and Alias Expansion. Made terminology
6553 consistent (replaced expand, substitute, and translate with
6554 expand).
6555 (mh-alias-reload): Brought message in line with coding conventions
6556 and made more concise too.
6557 (mh-alias-translate): Renamed to mh-alias-expand.
6558 (mh-alias-substitute-aliases-flag): Renamed to
6559 mh-alias-expand-aliases-flag.
6560 (mh-alias-reload-local-users): Renamed to mh-alias-local-users.
6561 Now just returns an alist of local users rather than have
6562 side-effects.
6563 (mh-alias-reload): Set timestamp at beginning of function to catch
6564 edge case when alias added just after ali runs. Changed logic to
6565 reflect return value of mh-alias-local-users.
6566
6567 * mh-customize.el (mh-alias-substitute-aliases-flag): Renamed to
6568 mh-alias-expand-aliases-flag.
6569 (mh-alias-local-users): Fixed documentation.
6570
6571 * mh-loaddefs.el: Regenerated
6572
65732002-12-08 Satyaki Das <satyaki@theforce.stanford.edu>
6574
6575 * mh-e.el (require): Load Gnus at compile time so that the
6576 constant gnus-version is defined when MH-E is being compiled.
6577 (mh-macro-expansion-time-gnus-version, mh-run-time-gnus-version):
6578 Use the constant gnus-version instead of the function gnus-version
6579 to find out about gnus version information.
6580 (gnus-version): Remove the autoload since it is not needed any
6581 more.
6582
65832002-12-08 Bill Wohler <wohler@newt.com>
6584
6585 * mh-e.el (mh-version): Moved compilation information in front of
6586 Emacs information. The idea is that you start at MH-E and move
6587 outwards. Show N/A if Gnus not compiled (be explicit). Matched
6588 coding style with other output statements. (Aside: not that
6589 efficiency matters here, but fewer calls to format have to be
6590 faster, right? ;-). Matched output style of old output to new
6591 statement--liked Satyaki's indentation better ;-).
6592
65932002-12-08 Satyaki Das <satyaki@theforce.stanford.edu>
6594
6595 * mh-e.el (gnus-version): Autoload the function for use in
6596 mh-version.
6597 (mh-macro-expansion-time-gnus-version): New macro that finds the
6598 Gnus version at macro expansion time.
6599 (mh-run-time-gnus-version): New function to find the Gnus version
6600 at run time.
6601 (mh-version): Add information about Gnus versions available at
6602 compile time and run time.
6603
66042002-12-07 Peter S Galbraith <psg@debian.org>
6605
6606 * mh-alias.el (mh-alias-ali): Add optional argument. if USER is
6607 t, then assume ALIAS is an address and call ali with option -user.
6608
6609 * mh-alias.el (mh-alias-filenames): if ARG is t, appends list of
6610 files from `mh-alias-system-aliases' to output list obtained from
6611 mhparam output user list only.
6612 (mh-alias-tstamp): Use it.
6613
66142002-12-05 Satyaki Das <satyaki@theforce.stanford.edu>
6615
6616 * mh-mime.el (mh-inline-vcard-p): A new function which decides if
6617 a vcard should be displayed inline.
6618 (mh-mime-display-single): Use mh-inline-vcard-p to display
6619 attached vcard as a signature if no other signature is present
6620 (this partially addresses SF #649216).
6621
66222002-12-05 Peter S Galbraith <psg@debian.org>
6623
6624 * mh-comp.el (mh-send-letter): Edits docs for mh-mml-to-mime
6625 getting run if variable `mh-mml-compose-insert-flag' is set.
6626 (mh-get-header-field): use buffer-substring-no-properties instead
6627 of buffer-substring.
6628
66292002-12-04 Peter S Galbraith <psg@debian.org>
6630
6631 * mh-loaddefs.el: Regenerated.
6632
6633 * mh-customize.el (mh-customize): Add ;;;###mh-autoload tag.
6634
66352002-12-04 Peter S Galbraith <psg@debian.org>
6636
6637 * mh-loaddefs.el: Regenerated.
6638
6639 * mh-comp.el (mh-letter-complete): New command to do alias or word
6640 completion in letter-mode.
6641 (mh-letter-mode-map): Add \M-\t binding for mh-letter-complete.
6642
6643 * mh-alias.el (mh-alias-letter-mode-expand-alias-hook): Obsolete.
6644 Replaced by mh-letter-complete command.
6645 (mh-alias-reload-maybe): New function to rebuild alias table if
6646 out of date.
6647 (mh-alias-letter-expand-alias): No longer interactive. Use
6648 mh-letter-complete instead.
6649
66502002-12-04 Peter S Galbraith <psg@debian.org>
6651
6652 * mh-customize.el (mh-letter-complete-function): New defcustom.
6653 Function to call when completing outside of fields specified to
6654 aliases.
6655
6656 * mh-alias.el (mh-alias-filenames):
6657 s/mh-mhparam-component/mh-profile-component/
6658 (mh-profile-component): Move to mh-utils.el and make interactive.
6659 (mh-read-address): Make it autoloaded.
6660
6661 * mh-loaddefs.el: Regenerated.
6662
6663 * mh-comp.el (mh-read-address): Removed. Replaced by mh-alias
6664 version.
6665
6666 * mh-utils.el (mh-profile-component): Moved from mh-alias.el.
6667
66682002-12-04 Satyaki Das <satyaki@theforce.stanford.edu>
6669
6670 * mh-seq.el (mh-msg-is-in-seq): Formatting change.
6671
6672 * mh-index.el (mh-index-insert-scan): Remove unused variable.
6673
66742002-12-04 Bill Wohler <wohler@newt.com>
6675
6676 * mh-loaddefs.el: Regenerated.
6677
6678 * Makefile (MH-E-SRC): Moved mh-loaddefs.el into MH-E-LOADDEFS as
6679 this was causing a cycle.
6680 (MH-E-LOADDEFS): New variable to house mh-loaddefs.el.
6681 (emacs): Reintroduced autoloads.
6682 (autoloads): We're baaa-aack!
6683 (dist, install-emacs): Use MH-E-LOADDEFS.
6684
6685 * mh-comp.el (mh-customize): Moved to mh-customize.el.
6686
6687 * mh-customize.el (mh-customize): Moved here from mh-comp. Makes
6688 more sense, doesn't it?
6689
6690 * mh-alias.el, mh-comp.el, mh-e.el, mh-index.el, mh-mime.el,
6691 mh-pick.el, mh-speed.el: Added mh-autoload cookie to all
6692 interactive functions.
6693
66942002-12-04 Satyaki Das <satyaki@theforce.stanford.edu>
6695
6696 * Makefile (world): Remove target.
6697 (mh-loaddefs.el): Add comment that only GNU Emacs can be used to
6698 regenerate mh-loaddefs.el.
6699
6700 * mh-make.el: Removed.
6701
67022002-12-04 Mark D. Baushke <mdb@gnu.org>
6703
6704 * mh-e.el (recursive-load-depth-limit): Only modify the limit
6705 if it is an integer.
6706
67072002-12-04 Peter S Galbraith <psg@debian.org>
6708
6709 * mh-utils.el (mh-header-field-beginning): New function. Move to
6710 the beginning of the current header field.
6711
67122002-12-04 Satyaki Das <satyaki@theforce.stanford.edu>
6713
6714 * mh-make.el (mh-files): Read in the MH-E filenames from the
6715 environment variable where the Makefile puts it.
6716 (mh-generate-autoloads, step2): Simplified since we now have the
6717 complete file names.
6718
6719 * Makefile (world): Pass the MH-E files into the script, so that
6720 the filenames don't need to be repeated in the script.
6721
67222002-12-04 Bill Wohler <wohler@newt.com>
6723
6724 * mh-loaddefs.el: New file. Check in automatically generated file
6725 and include in package for the benefit of those who don't want to
6726 or can't compile.
6727
6728 * Makefile (MH-E-SRC): Added mh-loaddefs.el now that it is checked
6729 in and will be packaged.
6730 (emacs): Removed autoloads. Adding mh-loaddefs.el to MH-E-SRC is
6731 sufficient to build it.
6732 (compile): Depend on MH-E-SRC instead of MH-E-OBJ and pass $? into
6733 emacs so that Emacs is only invoked once to compile files. This
6734 speeds things up by a factor of 3. It would be nice to only pass
6735 those files that have been modified, but Emacs 21.4 will have
6736 batch-byte-compile-if-not-done which we might be able to copy into
6737 mh-make.el (or my proposed mh-e-dev.el which would be more
6738 general-purpose).
6739 (.SUFFIXES): Removed. Now that compile works directly on the
6740 sources, the implicit rule is obsolete.
6741 (autoloads): Deleted. See emacs change above.
6742
67432002-12-03 Bill Wohler <wohler@newt.com>
6744
6745 * Makefile (MH-E-SRC, emacs):
6746
67472002-12-03 Satyaki Das <satyaki@theforce.stanford.edu>
6748
6749 * mh-make.el (mh-emacs): Make failing condition more strict.
6750 (mh-loaddefs-end): Remove redundant statement.
6751
6752 * Makefile (world): A little typo. The bug didn't seem to make any
6753 difference though.
6754
6755 * mh-make.el: New script that compiles MH-E.
6756 (mh-loaddefs-beginning, mh-loaddefs-end): Don't save the autoloads
6757 file in between. Only save at the end.
6758 (mh-emacs-generate-autoloads, mh-xemacs-generate-autoloads)
6759 (mh-generate-autoloads): Replace the separate functions in Emacs
6760 and XEmacs with one that works in both variants. This simplifies
6761 the script a lot.
6762 (mh-generate-autoloads): doc fix.
6763
6764 * Makefile (world): New target which works for both GNU Emacs and
6765 XEmacs.
6766
67672002-12-03 Peter S Galbraith <psg@debian.org>
6768
6769 * mh-alias.el (mh-mhparam-component): Don't raise error if call to
6770 mhparam fails.
6771
6772 * mh-alias.el (mh-alias-letter-expand-alias): Build alias table if
6773 not already available.
6774
67752002-12-03 Bill Wohler <wohler@newt.com>
6776
6777 * mh-customize.el (mh-show-threads-flag): Alphabetized.
6778
67792002-12-03 Jeffrey C Honig <jch@honig.net>
6780
6781 * Makefile: Moved .PHONY rule after all rule for compatibility
6782 with BSD/OS's old pmake.
6783
67842002-12-03 Mark D Baushke <mdb@gnu.org>
6785
6786 * mh-e.el (mh-get-new-mail): Simplify no-new-mail test.
6787 (mh-add-cur-notation): Remove unnecessary function.
6788
67892002-12-03 Peter S Galbraith <psg@debian.org>
6790
6791 * mh-identity.el (mh-identity-make-menu): Check if
6792 'mh-letter-mode-map' is bound, since this code also gets run when
6793 mh-customize.el is loaded at startup.
6794
67952002-12-03 Satyaki Das <satyaki@theforce.stanford.edu>
6796
6797 * mh-customize.el (mh-show-threads-flag): New customizable
6798 variable which controls if new folders start of in threaded mode
6799 (closes SF #646794).
6800
6801 * mh-e.el (mh-rescan-folder): Fix the function so that threading
6802 is preserved across rescans.
6803 (mh-visit-folder, mh-inc-folder): The folder is threaded if it was
6804 already threaded or if mh-show-threads-flag is non-nil and the
6805 number of scan lines is fewer than mh-large-folders (closes SF
6806 #646794).
6807
68082002-12-02 Mark D Baushke <mdb@gnu.org>
6809
6810 * mh-e.el (mh-add-cur-notation): New function to mark the
6811 current message with the mh-note-cur character.
6812 (mh-get-new-mail): Use mh-add-cur-notation to undo the work of
6813 mh-remove-cur-notation if there was no new mail (closes SF #647681).
6814
6815 * mh-e.el (mh-set-cmd-note): Do not update the default mh-cmd-note
6816 value (closes SF #643701).
6817
68182002-12-02 Peter S Galbraith <psg@debian.org>
6819
6820 * mh-alias.el (mh-alias-reload): Renamed from mh-alias-learn-aliases.
6821 (mh-alias-load-local-users): Renamed from mh-alias-learn-local-users.
6822 (mh-alias-passwd-alist): New variable, holding aliases extracted
6823 from the passwd file.
6824 (mh-alias-tstamp): New variable storing the timestamp for alias
6825 list generation.
6826 (mh-read-address, mh-alias-reload, mh-alias-reload-local-users):
6827 Complete rewrite.
6828 (mh-alias-minibuffer-confirm-address): Use mh-alias-translate.
6829 (mh-alias-translate): New function. Return translation for alias,
6830 checking if in blind or passwd list.
6831 (mh-alias-letter-expand-alias): Rewrite using
6832 mail-abbrev-complete-alias from mailabbrev.el
6833 (mh-alias-expand-alias-map): New variable.
6834 (mh-alias-ali): New function. Return formatted string of
6835 translated ALIAS from ali.
6836 (mh-mhparam-component): New function. Return COMPONENT value from
6837 mhparam, or nil if unset.
6838 (mh-alias-filenames): New function. Provide list of alias
6839 filenames from mhparam, or nil if none are set.
6840
6841 * mh-customize.el (mh-alias-display-blind-name-on-completion-flag):
6842 Obsoleted.
6843 (mh-alias-timestamp): Renamed to mh-alias-system-aliases.
6844
68452002-12-02 Bill Wohler <wohler@newt.com>
6846
6847 * Makefile (mh-loaddefs.el): Suppress creation of backup file.
6848
68492002-12-02 Mark D. Baushke <mdb@gnu.org>
6850
6851 * Makefile (mh-loaddefs.el): Simplify rule.
6852
6853 * Makefile (clean): Remove mh-loaddefs.el* for good measure.
6854 ($(MH-E-OBJ)): Depend on mh-loaddefs.el to compile these.
6855 (autoloads, mh-loaddefs.el): Revamp rules.
6856 (mh-loaddefs.el-tail, autoloads-gen): Remove rules.
6857
6858 * mh-e.el (recursive-load-depth-limit): Do not try to
6859 bump the value unless the variable exists.
6860
6861 * mh-e.el (recursive-load-depth-limit): Bump value of
6862 recursive-load-depth-limit to 50 to allow emacs 21.1 which
6863 normally has a default value of 10 to be able to compile MH-E.
6864
68652002-12-02 Satyaki Das <satyaki@theforce.stanford.edu>
6866
6867 * mh-funcs.el (mh-pack-folder, mh-sort-folder): Fix the functions
6868 so that threading is preserved (needed for SF #646794).
6869
6870 * mh-identity.el (mh-identity-signature-start)
6871 (mh-identity-signature-end): Checkdoc fixes.
6872
6873 * mh-e.el (mh-previous-unread-msg, mh-next-unread-msg): Checkdoc
6874 fixes.
6875
68762002-12-01 Satyaki Das <satyaki@theforce.stanford.edu>
6877
6878 * mh-identity.el (compile): Make mh-identity.el compile without
6879 warnings.
6880
6881 * mh-e.el (mh-previous-unread-msg, mh-next-unread-msg): New
6882 interactive functions that go to next and previous unread
6883 messages (closes SF #630328).
6884 (mh-folder-mode-map): Add key bindings for M-n and M-p to
6885 mh-folder-mode-map.
6886
6887 * mh-utils.el (mh-show-next-unread-msg)
6888 (mh-show-previous-unread-msg): New interactive functions that go
6889 to the next and previous unread messages respectively. These are
6890 callable from the show buffer.
6891 (mh-show-mode-map): Add key bindings for M-n and M-p to
6892 mh-show-mode-map.
6893
68942002-12-01 Bill Wohler <wohler@newt.com>
6895
6896 * mh-mime.el (mh-defun-compat): Make it indent like a defun.
6897
6898 * mh-index.el (mh-defun-index): Make it indent like a defun.
6899
6900 * mh-customize.el: New file (closes SF #643722).
6901
6902 * Makefile (MH-E-SRC): Added mh-customize.el (closes SF #643722).
6903
6904 * mh-speed.el, mh-pick.el, mh-mime.el, mh-index.el, mh-e.el,
6905 mh-comp.el: Moved all defgroups, defcustoms, and deffaces to
6906 mh-customize.el (closes SF #643722).
6907
6908 * mh-utils.el (mh-xemacs-flag): Moved here from below since
6909 needed by mh-customize.el.
6910 (mh-customize): Required. mh-invisible-headers)
6911 (mh-bury-show-buffer-flag, mhl-formfile):
6912 Moved all defgroups, defcustoms, and deffaces to mh-customize.el
6913 (closes SF #643722) .
6914
6915 * mh-identity.el (mh-comp-loaded): New variable in a desparate
6916 attempt to prevent an infinite loop.
6917 (eval-when-compile): Was able to remove these defvars as they are
6918 now predefined in mh-loaddefs and mh-customize.
6919 (mh-identity-list-set): Added ;;;###mh-autoload cookie.
6920 Moved all defgroups, defcustoms, and deffaces to mh-customize.el
6921 (closes SF #643722).
6922
6923 * mh-alias.el (mh-e): Require this, as it needs defcustoms, which
6924 is in mh-customize which is required by mh-utils which is required
6925 by mh-e.
6926 Moved all defgroups, defcustoms, and deffaces to mh-customize.el
6927 (closes SF #643722).
6928
69292002-11-30 Satyaki Das <satyaki@theforce.stanford.edu>
6930
6931 * mh-e.el (mh-thread-map): Add key bindings "Td" and "To" (closes
6932 SF #630493).
6933 (mh-help-messages): Update help message for prefix map.
6934 (mh-help-messages): Doc fix.
6935 (mh-help-messages): Really fix it.
6936
6937 * mh-utils.el (mh-show-thread-delete, mh-show-thread-refile): New
6938 interactive functions corresponding to mh-thread-delete and
6939 mh-thread-refile callable from the show buffer.
6940 (mh-show-thread-map): Add key bindings for "Td" "To".
6941
6942 * mh-seq.el (mh-narrow-to-seq, mh-put-msg-in-seq, mh-rename-seq)
6943 (mh-narrow-to-subject, mh-delete-subject, mh-toggle-threads): Add
6944 mh-autoload cookies.
6945 (mh-thread-find-children): New function which finds the region
6946 containing all children of a message.
6947 (mh-thread-delete): New interactive function that marks for
6948 deletion the current message and its children.
6949 (mh-thread-refile): New interactive function that marks for
6950 refiling the current message and its children.
6951
69522002-11-30 Bill Wohler <wohler@newt.com>
6953
6954 * mh-funcs.el, mh-identity.el, mh-index.el, mh-pick.el, mh-seq.el:
6955 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
6956 Added ;;;###mh-autoload tag to selected functions so that
6957 autoloads for those functions can be automatically created in
6958 mh-loaddefs.el (closes half of SF #643722).
6959
6960 * mh-mime.el (mh-buffer-data): Moved to mh-utils where it is used.
6961 Added ;;;###mh-autoload tag to selected functions so that
6962 autoloads for those functions can be automatically created in
6963 mh-loaddefs.el (closes half of SF #643722)..
6964
6965 * mh-utils.el (mh-loaddefs): Added require.
6966 (mh-buffer-data): Moved here from mh-mime.el as it is used in
6967 mh-display-msg.
6968 (mh-set-cmd-note): Moved to mh-e.el.
6969 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
6970 Added ;;;###mh-autoload tag to selected functions so that
6971 autoloads for those functions can be automatically created in
6972 mh-loaddefs.el (closes half of SF #643722)..
6973
6974 * mh-e.el (mh-set-cmd-note): Moved here from mh-utils.el since it
6975 uses mh-scan-format-file which is defined here.
6976 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
6977 Added ;;;###mh-autoload tag to selected functions so that
6978 autoloads for those functions can be automatically created in
6979 mh-loaddefs.el (closes half of SF #643722)..
6980
6981 * mh-comp.el, mh-speed.el (mh-utils): Removed require. mh-utils is
6982 provided via mh-e.el.
6983 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
6984 Added ;;;###mh-autoload tag to selected functions so that
6985 autoloads for those functions can be automatically created in
6986 mh-loaddefs.el (closes half of SF #643722)..
6987
6988 * Makefile (emacs): Add dependency on autoloads.
6989 (clean): Remove mh-loaddefs.el too.
6990 (autoloads): New target. Builds mh-loaddefs.el.
6991 (mh-loaddefs.el): New target. Initializes mh-loaddefs.el.
6992 (mh-loaddefs.el-tail): New target. Appends to mh-loaddefs.el.
6993 (autoloads-gen): Runs batch-update-autoloads to populate
6994 mh-loaddefs.el (closes half of SF #643722)..
6995 (auto-autoloads.elc): Renamed from autoloads to be explicit about
6996 file that's created.
6997 (custom-load.elc): Ditto.
6998
69992002-11-30 Satyaki Das <satyaki@theforce.stanford.edu>
7000
7001 * mh-seq.el (mh-thread-last-ancestor): New variable which keeps
7002 track of oldest ancestor of last message. If due to narrowing the
7003 common ancestor of two messages is lost then one of them is
7004 promoted to be the parent of the other. This variable helps in
7005 this process.
7006 (mh-thread-generate-scan-lines): Group messages which belong to
7007 the same thread tree, even if a common ancestor is no longer
7008 present.
7009 (mh-thread-folder, mh-copy-seq-to-eob, mh-thread-inc): Bind
7010 mh-thread-last-ancestor to nil when calling
7011 mh-thread-generate-scan-lines.
7012
7013 * mh-mime.el (font-lock): Font-lock required at compile time to
7014 avoid warning about font-lock-maximum-size
7015 (mh-display-smileys, mh-display-emphasis): Show graphical smileys
7016 and emphasis only if message isn't too large.
7017
7018 * mh-e.el (mh-visit-folder): Revisiting a buried folder which has
7019 been threaded or narrowed confuses MH-E. Even though the folder is
7020 displayed as not threaded and not narrowed, MH-E still believes
7021 the folder is in the previous state. This can cause problems when
7022 trying to narrow/thread the folder. The change fixes this.
7023
7024 * mh-mime.el (mh-mime-display-alternative): The setting of
7025 mh-display-buttons-for-inline-parts-flag was not being used when
7026 displaying one of the alternatives. This change fixes that.
7027
7028 * mh-comp.el (mh-show-buffer-message-number): Replace subseq with
7029 substring.
7030 (mh-filter-out-non-text): When filtering out MIME buttons from
7031 yanked text, the last line of the MIME part was getting lost. The
7032 fix avoids that and removes only the last new line instead.
7033
70342002-11-29 Peter S Galbraith <psg@debian.org>
7035
7036 * Makefile (MH-E-SRC): Add mh-alias.
7037
7038 * mh-alias.el: Assign copyright to FSF instead of myself.
7039 (mh-read-address): Add support for emacs-21's
7040 completing-read-multiple to prompt for multiple entries.
7041 (mh-alias-PC-complete-address): Deleted.
7042 (mh-alias-learn-aliases): Use mh-exec-cmd-quiet instead of old kludge.
7043 (mh-alias-letter-mode-expand-alias-hook): Simplify.
7044 (mh-alias-hostname): Deleted.
7045 (mh-alias-substitute-aliases-flag): Change default to nil.
7046 (mh-alias-display-blind-name-on-completion-flag) Change default to
7047 nil.
7048 (mh-alias-alist): Now holds alias values.
7049 (mh-alias-lowercase-alist): Deleted.
7050 (mh-alias-minibuffer-confirm-address, mh-alias-learn-aliases)
7051 (mh-alias-learn-local-users, mh-alias-letter-expand-alias): Use
7052 new mh-alias-alist instead of old mh-alias-lowercase-alist.
7053
7054 * mh-alias.el: Moved from contrib/ directory. Now part of MH-E!
7055
7056 * Makefile (MH-E-SRC): Add mh-identity.
7057
7058 * mh-identity.el (mh-compose-and-send-mail, mh-insert-identity)
7059 (mh-identity-make-menu, mh-identity-default, mh-identity-menu):
7060 Moved to mh-comp.el.
7061
7062 * mh-comp.el (mh-compose-and-send-mail): Add mh-identity support.
7063 (mh-insert-identity, mh-identity-make-menu, mh-identity-default)
7064 (mh-identity-menu): Added from mh-identity.el
7065
70662002-11-29 Bill Wohler <wohler@newt.com>
7067
7068 * mh-comp.el, mh-e.el, mh-funcs.el, mh-identity.el, mh-index.el,
7069 mh-mime.el, mh-pick.el, mh-seq.el, mh-speed.el, mh-utils.el:
7070 Ran indent-region, reformatted long lines, ran untabify.
7071 (indent-tabs-mode): Set file local variable to nil.
7072
70732002-11-29 Bill Wohler <wohler@newt.com>
7074
7075 Released MH-E version 7.0.
7076
7077 * mh-e.el (Version, mh-version): Updated for release 7.0.
7078
7079 * mh-comp.el (subseq, search): Require cl instead of autoloading
7080 these due to compilation warnings in CVS Emacs.
7081
70822002-11-23 Bill Wohler <wohler@newt.com>
7083
7084 * MH-E-NEWS: Emphasize the renaming of the variables at the top of
7085 the notes.
7086
70872002-11-22 Satyaki Das <satyaki@theforce.stanford.edu>
7088
7089 * mh-utils.el (mh-show-mode-map): Remove binding for RET since it
7090 is not needed and the binding is more useful to toggle display of
7091 MIME parts.
7092
7093 * mh-mime.el (mh-mime-button-commands): Remove bindings for "i"
7094 and "o" from MIME buttons.
7095 (mh-insert-mime-button): Change comment to reflect change in
7096 button key map.
7097
70982002-11-21 Bill Wohler <wohler@newt.com>
7099
7100 Released MH-E version 6.1.91.
7101
7102 * mh-e.el (Version, mh-version): Updated for release 6.1.91.
7103
7104 * MH-E-NEWS: Inline HTML parts supported with Gnus 5.10, not 5.9.
7105
71062002-11-21 Mark D. Baushke <mdb@gnu.org>
7107
7108 * mh-comp.el (mh-letter-insert-signature-hook): This should be in
7109 customize-group mh-compose.
7110
71112002-11-21 Satyaki Das <satyaki@theforce.stanford.edu>
7112
7113 * mh-utils.el (load): Load mm-view.el here so that
7114 mm-inline-text-html would be defined if available.
7115 (mh-mm-inline-media-tests): If mm-inline-text-html is available
7116 then use it, otherwise fall back on using mm-inline-text (closes
7117 SF #641482).
7118
7119 * mh-mime.el (load): Remove the load of mm-view here since it
7120 happens in mh-utils.el now.
7121
71222002-11-15 Bill Wohler <wohler@newt.com>
7123
7124 Released MH-E version 6.1.90.
7125
7126 * README (Compile): New section. Users must now compile MH-E due
7127 to the vagaries of the various versions of gnus.
7128
7129 * Makefile (MH-E-IMG): Added reply-all.pbm, reply-all.xpm,
7130 reply-from.pbm, reply-from.xpm, reply-to.pbm, reply-to.xpm.
7131 (MH-E-ETC-ETC): Added Makefile and README.
7132 (dist): Depend on all, so clean happens. Don't add .elc files to
7133 tarball as they are built upon installation now.
7134
71352002-11-15 Satyaki Das <satyaki@theforce.stanford.edu>
7136
7137 * mh-e.el (mh-process-commands): Fix a bug in mh-execute-commands.
7138 If called in threaded mode, cur was always getting set to the last
7139 message in the folder.
7140
71412002-11-14 Bill Wohler <wohler@newt.com>
7142
7143 * mh-e.el (Version, mh-version): Updated for release 6.1.90.
7144
7145 * MH-E-NEWS, README: Updated for release 7.0.
7146
7147 * mh-utils.el (mh-index-search): Added full docstring which new
7148 users will need before they run a search!
7149 (mh-swish++-execute-search, mh-swish-execute-search,
7150 mh-namazu-execute-search mh-glimpse-execute-search): Added
7151 autoloads with full docstrings for the same reason!
7152
7153 * mh-e.el (mh-limit-map): Removed / / alias for
7154 mh-narrow-to-subject.
7155
7156 * mh-utils.el (mh-show-thread-map): Removed / / alias for
7157 mh-show-narrow-to-subject.
7158
7159 * mh-seq.el (mh-delete-subject): Checkdoc fix.
7160
7161 * mh-e.el (mh-help-messages): Added / prefix character to help
7162 string. Tweaked / helpstring a little.
7163
71642002-11-14 Mark D. Baushke <mdb@gnu.org>
7165
7166 * mh-utils.el (mh-set-cmd-note): Fix nitpick by adding one to the
7167 width for cosmetic reasons.
7168
71692002-11-14 Peter S Galbraith <psg@debian.org>
7170
7171 * mh-identity.el (mh-insert-identity): Fix a few things undone by
7172 Jeff's patch.
7173 (mml-insert-tag): Add autoload.
7174
71752002-11-13 Mark D. Baushke <mdb@gnu.org>
7176
7177 * mh-identity.el (mh-insert-identity): A value of either nil or
7178 "" should cause the field to be removed.
7179 (mh-identity-list): Update the docstring.
7180
71812002-11-13 Peter S Galbraith <psg@debian.org>
7182
7183 * mh-e.el (mh-limit-map): New key map for limits (subject for now).
7184 * mh-utils.el (mh-show-limit-map): Same.
7185
7186 * mh-seq.el (mh-delete-subject): Renamed from
7187 mh-delete-subject-sequence.
7188 (mh-narrow-to-subject): Renamed from mh-narrow-to-subject-sequence.
7189 (mh-next-unseen-subject-sequence): Removed. :-(
7190 * mh-e.el: Use 'em
7191 * mh-seq.el: Use 'em.
7192
71932002-11-13 Mark D. Baushke <mdb@gnu.org>
7194
7195 * mh-e.el (mh-alt-show): New defalias for mh-show.
7196 (mh-alt-refile-msg): New defalias for mh-refile-msg.
7197 (mh-alt-send): New defalias for mh-send.
7198 (mh-folder-mode-map): Use mh-alt-show, mh-alt-refile-msg and
7199 mh-alt-send for the alias bindings.
7200 (mh-alt-visit-folder): New defalias for mh-visit-folder.
7201 (mh-folder-map): Use it.
7202 (mh-folder-message-menu): Revert previous change.
7203
72042002-11-13 Peter S Galbraith <psg@debian.org>
7205
7206 * mh-e.el (mh-folder-message-menu): Make key binding "o" appear in
7207 menu for mh-refile-msg.
7208
72092002-11-13 Satyaki Das <satyaki@theforce.stanford.edu>
7210
7211 * mh-seq.el (mh-thread-generate-scan-lines): In threaded view,
7212 scan lines of duplicate messages were too long. The change fixes
7213 that.
7214
72152002-11-13 Bill Wohler <wohler@newt.com>
7216
7217 * mh-utils.el (mh-adaptive-cmd-note-flag): Improved grammar in
7218 docstring.
7219
7220 * mh-speed.el (mh-speed-run-flists-flag): While documenting this
7221 variable in the release notes, I was unsure what would happen if
7222 set to nil. So, I clarified the docstring and indicated
7223 implications of setting this variable to nil, and offered manual
7224 workaround.
7225
72262002-11-13 Satyaki Das <satyaki@theforce.stanford.edu>
7227
7228 * mh-index.el (mh-index-quit): Fix documentation and run
7229 mh-before-quit-hook and mh-quit-hook.
7230
72312002-11-13 Bill Wohler <wohler@newt.com>
7232
7233 * mh-utils.el (with-mh-folder-updating): Renamed local variable
7234 mh-save-modification-flag to save-modification-flag.
7235
72362002-11-12 Bill Wohler <wohler@newt.com>
7237
7238 * mh-index.el (mh-index-keymap): Renamed to
7239 mh-index-folder-mode-keymap to be a closer to the usual keymap
7240 naming convention. Since we want our own keymap and not inherit
7241 the one in mh-folder-mode, we need to use a suffix other than
7242 -map.
7243
7244 * mh-e.el (mh-folder-sequence-menu): s/Msg/Message.
7245 s/Seq/Sequence.
7246 (mh-folder-message-menu): s/Msg/Message. Removed redundant refile
7247 item.
7248 (mh-folder-folder-menu): Aligned symbols.
7249
7250 * mh-index.el (mh-index-folder-message-menu): s/Msg/Message.
7251
7252 * mh-utils.el (mh-show-sequence-menu): s/Msg/Message.
7253 s/Seq/Sequence.
7254 (mh-show-message-menu): s/Msg/Message. Removed redundant refile
7255 item.
7256 (mh-show-folder-menu): Aligned symbols.
7257
72582002-11-12 Satyaki Das <satyaki@theforce.stanford.edu>
7259
7260 * mh-index.el (mh-index-matches, mh-index-current-match): Remove
7261 these variables since they were only used for glimpse and grep.
7262 Now the functionality of all the indexing programs will be
7263 uniform.
7264 (mh-index-search, mh-index-insert-scan, mh-defun-index)
7265 (mh-index-show): Simplify functions since matches are no longer
7266 shown.
7267 (mh-index-parse-match): Remove function.
7268
7269 * mh-e.el (mh-scan-cmd-note-width, mh-scan-destination-width)
7270 (mh-scan-date-width, mh-scan-date-flag-width)
7271 (mh-scan-from-mbox-width, mh-scan-from-mbox-sep-width): New
7272 variables to keep track of the widths of the different fields in
7273 the scan lines.
7274 (mh-scan-field-from-start-offset, mh-scan-field-from-end-offset)
7275 (mh-scan-field-subject-start-offset): Offsets that are computed
7276 from the scan line widths.
7277
7278 * mh-seq.el (mh-copy-seq-to-eob, mh-thread-inc)
7279 (mh-thread-parse-scan-line): Use new variables that remember the
7280 various offsets in place of integer constants.
7281 (mh-thread-generate-scan-lines): Space shouldn't be added here!
7282
72832002-11-12 Bill Wohler <wohler@newt.com>
7284
7285 * mh-e.el (mh-scan-format-mh, mh-scan-format-nmh): Noted that the
7286 first column is column number 0 and changed "sixth column" to
7287 "fifth column" accordingly.
7288
7289 * mh-index.el (mh-index-folder-mode): Clarified method of replying
7290 in mode documentation.
7291 (mh-index-folder-tool-bar-map): s/mh-e/MH-E/.
7292
7293 * mh-e.el (mh-generate-new-cmd-note): Try not to mention internal
7294 variable mh-cmd-note in docstrings.
7295
7296 * mh-utils.el (mh-adaptive-cmd-note-flag): Set default value to t.
7297 Reworded docstring so it doesn't mention internal variable
7298 mh-cmd-note. Added information about using fixed-width message
7299 numbers.
7300 (mh-cmd-note): Mention mh-set-cmd-note in docstring. Also suggest
7301 that it is updated dynamically only if mh-scan-format-file is t.
7302 (mh-set-cmd-note): Grammer fix in docstring.
7303 (mh-cmd-note): Noted that the first column is column number 0.
7304
7305 * mh-e.el (mh-scan-format-file): Added information about
7306 mh-set-cmd-note and mh-adaptive-cmd-note-flag to docstring.
7307
7308 * mh-index.el (mh-index-keymap): Added bindings for i
7309 (mh-inc-folder), m (mh-send alias), and s (mh-send) since these
7310 appear to be supported and are found in the toolbar.
7311 (mh-index-folder-key-map): Ditto for f (mh-visit-folder alias), o
7312 (mh-visit-folder) alias, and v (mh-visit-folder).
7313 (mh-index-folder-mode-help-messages): Changes for above.
7314 (mh-index-folder-message-menu, mh-index-folder-folder-menu): New
7315 menus. I decided to delete the unavailable items since greying out
7316 implies that the user can do something to access them. In this
7317 case, that's not the case. Well, that's not entirely true--the
7318 user could write code for those functions ;-).
7319 (mh-index-folder-mode): Use new menus.
7320
7321 * mh-utils.el (mh-prompt-for-folder): Added optional argument
7322 default-string which can be used in case the string for default
7323 isn't intuitive enough.
7324
7325 * mh-index.el (mh-index-search): Made default prompt more
7326 intuitive (I hope!).
7327
73282002-11-11 Peter S Galbraith <psg@debian.org>
7329
7330 * mh-identity.el (mh-header-field-delete): Remove save-excursion.
7331 Strange that this worked for me before... Thanks to Jeff for the
7332 patch.
7333 (mh-insert-identity): Numerous tweaks and fixes from Jeff who also
7334 adds a nicer-looking MIME header for signatures inserted after
7335 MIME insertions.
7336
73372002-11-11 Satyaki Das <satyaki@theforce.stanford.edu>
7338
7339 * mh-seq.el (mh-thread-parse-scan-line): Generalize this function
7340 so that it can take a string containing the scan-line as argument
7341 in addition to using the line at point.
7342 (mh-thread-add-spaces): New function to pad each scan line to the
7343 appropriate length. This is called when mh-cmd-note is increased.
7344
7345 * mh-e.el (mh-generate-new-cmd-note): Make this work on a threaded
7346 folder by using mh-thread-add-spaces to pad the pre-existing lines
7347 in mh-thread-scan-line-map appropriately.
7348 (mh-thread-add-spaces): Autoload from mh-seq.
7349
73502002-11-11 Mark D. Baushke <mdb@gnu.org>
7351
7352 * mh-index.el: Fix checkdoc nit.
7353
7354 * mh-mime.el (mh-display-buttons-for-inline-parts-flag): Renamed
7355 from mh-display-buttons-for-inline-parts.
7356 (mh-mime-display-single): Use it.
7357 This addresses part of SF #627015.
7358
7359 * mh-e.el (mh-print-background-flag): Renamed from
7360 mh-print-background.
7361 * mh-funcs.el (mh-print-msg): Use it.
7362 This addresses part of SF #627015.
7363
7364 * mh-comp.el (mh-delete-yanked-msg-window-flag): Renamed from
7365 mh-delete-yanked-msg-window.
7366 (mh-yank-from-start-of-msg, mh-yank-cur-msg): Use it.
7367 This addresses part of SF #627015.
7368
7369 * mh-utils.el (mh-update-sequences-after-mh-show-flag): Renamed
7370 from mh-update-sequences-after-mh-show.
7371 (mh-show-msg): Use it.
7372 This addresses part of SF #627015.
7373
7374 * mh-utils.el (mh-decode-quoted-printable-flag): Renamed from
7375 mh-decode-quoted-printable
7376 (mh-display-msg, mh-decode-quoted-printable-have-mimedecode):
7377 Use it.
7378 This addresses part of SF #627015.
7379
7380 * mh-utils.el (mh-recursive-folders-flag): Renamed from
7381 mh-recursive-folders.
7382 (mh-make-folder-list-background): Use it.
7383 * mh-funcs.el (mh-list-folders): Ditto.
7384 This addresses part of SF #627015.
7385
7386 * mh-utils.el (mh-auto-folder-collect-flag): Renamed from
7387 mh-auto-folder-collect.
7388 (mh-find-path): Use it.
7389 This addresses part of SF #627015.
7390
7391 * mh-utils.el (mh-decode-mime-flag): Renamed from
7392 mh-decode-mime.
7393 * mh-utils.el (mh-show-mode, mh-show-xface)
7394 (mh-decode-quoted-printable, mh-display-msg, mh-display-msg): Use it.
7395 * mh-mime.el (mh-graphical-smileys-flag)
7396 (mh-graphical-emphasis-flag): Ditto.
7397 * mh-index.el (mh-index-search, mh-index-show): Ditto.
7398 * mh-e.el (mh-header-display): Ditto.
7399 This addresses part of SF #627015.
7400
7401 * mh-e.el (mh-make-folder-mode-line): Use save-window-excursion
7402 to get back to the current message.
7403
74042002-11-10 Satyaki Das <satyaki@theforce.stanford.edu>
7405
7406 * mh-index.el (mh-index-keymap, mh-index-page-msg)
7407 (mh-index-folder-tool-bar-map): Replace mh-index-scroll-up with
7408 mh-index-page-msg.
7409 (mh-index-keymap, mh-index-previous-page): Replace
7410 mh-index-scroll-down with mh-index-previous-page.
7411
74122002-11-09 Satyaki Das <satyaki@theforce.stanford.edu>
7413
7414 * mh-index.el (autoload/require): Load mh-mime when mh-index.el is
7415 loaded. This fixes the infinite load loop. I am not sure what the
7416 actual problem is. Also removed the nop requires/autoloads.
7417 (mh-defun-index): Use the right argument for mh-recenter.
7418 Otherwise it misbehaves for the default value of
7419 mh-summary-height.
7420
7421 * mh-e.el (mh-goto-next-button): Fix infinite loop when S-Tab was
7422 used on first line of index folder buffer.
7423
74242002-11-09 Peter S Galbraith <psg@debian.org>
7425
7426 * mh-index.el (mh-index-folder-tool-bar-map): Tool-bar for
7427 mh-index-mode.
7428 (mh-index-folder-mode): Use it.
7429 (mh-index-keymap): Added mouse-2 binding, like in regular
7430 folder-mode.
7431
74322002-11-08 Satyaki Das <satyaki@theforce.stanford.edu>
7433
7434 * mh-index.el (mh-index-folder-mode): Fix doc string for major
7435 mode. It was pointing to the wrong keymap.
7436 (mh-index-show-mode): Fix doc string for mode. Also add mh-help
7437 support.
7438
7439 * mh-comp.el (mh-forward, mh-yank-cur-msg): Use new macro
7440 mh-mark-active-p instead. This does the right thing for different
7441 variants of Emacs.
7442 (mh-yank-cur-msg): Add a space between sexprs.
7443
7444 * mh-utils.el (mh-mark-active-p): New macro which papers over
7445 diffences between GNU Emacs and XEmacs. The variables mark-active
7446 and transient-mark-mode are used in GNU Emacs while zmacs-regions
7447 and region-active-p are used in XEmacs.
7448
7449 * mh-seq.el (mh-put-msg-in-seq, mh-thread-ancestor-p): Use
7450 mh-mark-active-p as above.
7451
7452 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Use
7453 mh-mark-active-p as above.
7454
74552002-11-06 Peter S Galbraith <psg@debian.org>
7456
7457 * mh-comp.el (mh-yank-cur-msg): Fix for XEmacs. It didn't work
7458 with a selected region, and left the inserted text selected (in
7459 reverse video). I didn't use SF patch #402315 to implement this.
7460
74612002-11-05 Peter S Galbraith <psg@debian.org>
7462
7463 * mh-utils.el (mh-show-tool-bar-map): Change call to
7464 mh-tool-bar-search-command such that user can customize it for the
7465 current session.
7466
7467 * mh-e.el (mh-folder-tool-bar-map): Same.
7468
74692002-11-05 Bill Wohler <wohler@newt.com>
7470
7471 * mh-utils.el, mh-e.el (mh-tool-bar-search-function): Renamed from
7472 mh-tool-bar-search-command.
7473
7474 * mh-index.el (mh-index-search): Backed out previous change to
7475 prompt. There ain't no folder named "all."
7476
7477 * mh-utils.el (mh-tool-bar-search-command): Added mh-search-folder
7478 and mh-index-search to the docstring so that user can easily click
7479 on them for more information.
7480
7481 * mh-pick.el (mh-search-folder): Mention that this function uses
7482 the MH pick command to give the user more information when
7483 choosing between mh-search-folder and mh-index-folder.
7484
7485 * mh-index.el (mh-index-search): Edited the docstring. Direct the
7486 user to mh-index-program if necessary.
7487 (mh-index-program): Edited this docstring too. Viewing the help
7488 in a *Help* buffer really exposes grammatical flaws.
7489
74902002-11-05 Peter S Galbraith <psg@debian.org>
7491
7492 * mh-utils.el (mh-tool-bar-search-command): New defcustom to set
7493 what search function to use in tool-bar.
7494 (mh-show-tool-bar-map): Use it.
7495
7496 * mh-e.el (mh-folder-tool-bar-map): Use it.
7497
74982002-11-05 Bill Wohler <wohler@newt.com>
7499
7500 * mh-index.el (mh-index-search): Changed default prompt from "+"
7501 to "all". mh-prompt-for-folder doesn't seem to mind.
7502
7503 * mh-e.el (mh-folder-folder-menu): Added menu entry for
7504 mh-index-search.
7505
7506 * mh-utils.el (mh-show-folder-menu): Added menu entry for
7507 mh-index-search.
7508
7509 * mh-index.el: Added commentary on supported search engines and
7510 for getting started (initializing database).
7511
75122002-11-04 Satyaki Das <satyaki@theforce.stanford.edu>
7513
7514 * mh-index.el (mh-index-keymap, mh-index-folder-key-map): Move key
7515 binding of "i" to "Fi".
7516 (mh-index-folder-mode-help-messages): Change help message to
7517 reflect above change.
7518
75192002-11-04 Bill Wohler <wohler@newt.com>
7520
7521 * mh-index.el (mh-index-program, mh-indexer): Swapped names since
7522 the former seems like a better user variable name. If you've
7523 customized mh-indexer, be sure to toss it out and customize
7524 mh-index-program.
7525
75262002-11-04 Satyaki Das <satyaki@theforce.stanford.edu>
7527
7528 * mh-index.el (mh-indexer-choices): Not having the quotes in the
7529 binary names is a bit nicer since that maintains uniformity with
7530 the other names.
7531 (mh-index-choose): Use symbol-value instead of eval. Eval should
7532 be avoided except when it can't be :-).
7533
75342002-11-04 Bill Wohler <wohler@newt.com>
7535
7536 * mh-index.el (mh-index-program): New variable to hold the name of
7537 the indexer that was found; use this instead of clobbering
7538 user-customizable variable mh-indexer.
7539 (mh-index-search): Use it. Added comments to keep others from
7540 doing what I had done (fortunately, I caught myself before
7541 checking it in ;-).
7542 (mh-index-choose): Set mh-index-program instead of mh-indexer.
7543 Update docstring to describe side-effects.
7544
7545 * mh-index.el (mh-indexer): Added swish++ to docstring. Chances
7546 are good that if someone has both swish++ and swish, they want to
7547 use the much faster, much smaller swish, so move it up in the
7548 list.
7549 (mh-indexer-choices): Ditto for rationale for moving swish++ up in
7550 priority over swish. Also, use -binary symbols instead of
7551 hard-coding binary names. This allows package installers to
7552 customize the location of the binaries in site-lisp and still have
7553 the auto-detection code work. It also allows one to have alternate
7554 binary names (see mh-swish++-binary).
7555 (mh-index-search): Ditto (moving swish++ up).
7556 (mh-swish++-binary): Look for search++, then search. The rationale
7557 is that a package maintainer may rename search to search++ if
7558 search is already in use (e.g., Debian) so try it first.
7559 (mh-swish++-execute-search): Replaced Satyaki's path with dummy
7560 path in docstring. Also removed RecurseSubdirs since this is the
7561 default. Added comment that index might be named index++ on some
7562 systems (e.g., Debian).
7563 (mh-index-choose): Updated to work with new mh-indexer-choices.
7564
75652002-11-04 Peter S Galbraith <psg@debian.org>
7566
7567 * mh-identity.el (mh-identity-list-set): Don't call easy-menu-add
7568 here, since that adds the menu to the Customize buffer in XEmacs.
7569
75702002-11-04 Peter S Galbraith <psg@debian.org>
7571
7572 * mh-comp.el (mh-mhn-compose-insert-flag)
7573 (mh-mml-compose-insert-flag): Removed eval-when-compile defvar.
7574
7575 * mh-mime.el (mh-mhn-compose-insert-flag)
7576 (mh-mml-compose-insert-flag): Move variables to mh-utils.el.
7577 Fixes mh-letter-menu for XEmacs.
7578
75792002-11-04 Eric Ding <eding@rational.com>
7580
7581 * mh-comp.el (mh-rejected-letter-start): add another string
7582
75832002-11-04 Eric Ding <ericding@alum.mit.edu>
7584
7585 * mh-comp.el (mh-rejected-letter-start): regexp-opt doesn't take
7586 regexps as args, only regular strings
7587
75882002-11-04 Peter S Galbraith <psg@debian.org>
7589
7590 * mh-comp.el (mh-insert-mail-followup-to): Don't modify a
7591 pre-existing M-F-T field. If a nmh replgroupcomps propagates a
7592 M-F-T field in a message reply, then we have to have it alone.
7593
75942002-11-02 Bill Wohler <wohler@newt.com>
7595
7596 * mh-comp.el, mh-e.el, mh-funcs.el, mh-identity.el, mh-index.el,
7597 mh-mime.el, mh-pick.el, mh-seq.el, mh-speed.el, mh-utils.el,
7598 mh-xemacs-compat.el: Added Local Variables section. Defined
7599 sentence-end-double-space to be nil so that those who might not
7600 buy my setting of this variable can at least run checkdoc without
7601 a whole lot of noise.
7602
76032002-11-02 Peter S Galbraith <psg@debian.org>
7604
7605 * mh-identity.el: New file. Multiple Identify support for MH-E.
7606 Used to easily set different fields such as From and Organization,
7607 as well as diffrent signature files. This file won't be included
7608 with V7.0.
7609
76102002-11-02 Bill Wohler <wohler@newt.com>
7611
7612 * mh-mime.el (mh-mm-save-part): New function to wrap mm-save-part
7613 from Gnus 5.10 to make it explicit which code has been
7614 commandeered.
7615 (mh-mime-save-part): Call mh-mm-save-part instead of cut-n-pasted
7616 code from Gnus 5.10.
7617
76182002-11-02 Peter S Galbraith <psg@debian.org>
7619
7620 * mh-comp.el (mh-yank-from-start-of-msg): Edit docstring to
7621 mention related variables mh-reply-show-message-flag and
7622 mh-delete-yanked-msg-window.
7623 (mh-reply): Change the "Reply to whom" prompt.
7624
76252002-11-01 Bill Wohler <wohler@newt.com>
7626
7627 * mh-e.el (mh-show-hook): Moved to mh-utils.el where it is used.
7628 (mh-folder-list-change-hook): Converted this from defvar in other
7629 files to defcustom here. It is called, not documented as
7630 obsolete, and might as well be documented.
7631 (mh-inc-folder, mh-quit, mh-delete-a-msg, mh-refile-a-msg,
7632 mh-process-commands, mh-update-unseen): Added missing
7633 documentation about hook, or made verbiage about hook consistent
7634 throughout, even if the function isn't interactive.
7635
7636 * mh-utils.el (mh-folder-list-change-hook): Moved defvar to mh-e
7637 and made it a defcustom.
7638 (mh-show-mode-hook): Put it back in (actually, it was in mh-e.el,
7639 but this is the place where it is called).
7640 (mh-show-hook): Moved here from mh-e.el since it's called here.
7641 (mh-show-mode): Call mh-show-mode-hook.
7642 (mh-show-mode, mh-show-msg, mh-find-path, mh-prompt-for-folder,
7643 mh-prompt-for-folder, mh-set-folder-list): Added missing
7644 documentation about hook, or made verbiage about hook consistent
7645 throughout, even if the function isn't interactive.
7646
7647 * mh-comp.el (mh-send-letter): Made verbiage about hook consistent
7648 throughout.
7649 (mh-insert-prefix-string): Made docstring more descriptive of what
7650 is going on.
7651
7652 * mh-funcs.el (mh-kill-folder): Added missing documentation about
7653 hook.
7654
7655 * mh-index.el (mh-index-show-hook): Moved defvar to defcustom.
7656 (mh-index-show): Made verbiage about hook consistent throughout.
7657
7658 * mh-mime.el (mh-edit-mhn-hook): Moved defvar to defcustom.
7659 (mh-edit-mhn): Added missing documentation about hook.
7660
7661 * mh-pick.el (mh-pick-mode): Made verbiage about hook consistent
7662 throughout. Call the damn hook.
7663
76642002-11-01 Satyaki Das <satyaki@theforce.stanford.edu>
7665
7666 * mh-comp.el (mh-insert-mail-followup-to-list): Fix typo so that
7667 it will look right in info.
7668
7669 * mh-index.el (mh-index-search): Change argument name from
7670 new-buffer-p to new-buffer-flag.
7671 (mh-index-search-again, mh-index-search): New index-buffers were
7672 being named *mh-index*<2>, *m-index*<2><2> and so on. This problem
7673 is fixed.
7674 (mh-index-scroll-up, mh-index-scroll-down): Scrolling in index
7675 show buffers (after the first one) was broken.
7676 (mh-index-quit): Bury show buffer instead of killing it. Killing
7677 it, without killing the corresponding folder buffer, can cause
7678 confusion with two folder buffers trying to display in the same
7679 show buffer.
7680
7681 * mh-seq.el (mh-thread-prune-containers): Rewritten without
7682 recursion. Also removed the top-level-p argument since it isn't
7683 required anymore.
7684 (mh-thread-sort-containers): New function factored out from
7685 previous definition of mh-thread-prune-containers. It sorts
7686 message containers in ascending order wrt their message indices.
7687 (mh-thread-generate): Use new mh-thread-prune-containers.
7688
7689 * mh-e.el (mh-remove-all-notation): Fix the test. It was testing
7690 at the wrong place!
7691
76922002-10-31 Bill Wohler <wohler@newt.com>
7693
7694 * Makefile, README, import-emacs, mh-comp.el, mh-e.el,
7695 mh-funcs.el, mh-index.el, mh-mime.el, mh-pick.el, mh-seq.el,
7696 mh-speed.el, mh-utils.el: Replaced mh-e with MH-E.
7697
76982002-10-31 Satyaki Das <satyaki@theforce.stanford.edu>
7699
7700 * mh-seq.el (mh-thread-parse-scan-line): Modified to remove user
7701 sequence notation and leave notation for other things alone. This
7702 ensures that threading doesn't lose notations for replied-to
7703 messages.
7704
7705 * mh-e.el (mh-inc-folder): Remove call to mh-widen here and
7706 instead do it in mh-get-new-mail. This way the widening happens
7707 only if new mail is incorporated.
7708 (mh-generate-new-cmd-note): The function now returns the point
7709 from which the new messages start. This will allow threading to do
7710 the right thing.
7711 (mh-get-new-mail): Always call mh-remove-cur-notation. Otherwise
7712 adaptive scan mode leaves two messages marked as current in
7713 certain cases. Fix indentation of if statement. If there are
7714 messages to be incorporated, the folder is widened. If mh-cmd-note
7715 changes set start-of-inc correctly.
7716 (mh-remove-all-notation): Change this function to only remove user
7717 sequence notation and leave notation for replied-to messages and
7718 similar notation alone. This means operations like narrowing to
7719 subject sequence and widening don't lose notations.
7720
77212002-10-31 Bill Wohler <wohler@newt.com>
7722
7723 * mh-comp.el (mh-insert-mail-followup-to-list): Fixed typo in
7724 docstring and other minor edits. Checkdoc removed trailing spaces.
7725 (mh-insert-signature): Checkdoc flagged docstring. Reverted to
7726 previous value. Added specific name of hook that is run.
7727 (mh-regexp-in-field-p, mh-insert-letter): Checkdoc removed
7728 trailing spaces.
7729
77302002-10-31 Jeffrey C Honig <jch@honig.net>
7731
7732 * mh-e.el (mh-show-mode-hook): Remove the unused
7733 mh-show-mode-hook, mh-show-hook is the one that is used.
7734
7735 * mh-utils.el (mh-show-mode): Change the documentation to refer to
7736 mh-show-hook instead of the unused mh-show-mode-hook.
7737
77382002-10-31 Peter S Galbraith <psg@debian.org>
7739
7740 * mh-comp.el (mh-insert-mail-followup-to-list): Set default to nil
7741 and include example in doc string.
7742
77432002-10-31 Satyaki Das <satyaki@theforce.stanford.edu>
7744
7745 * mh-index.el (mh-indexer): Add customization choice for swish++.
7746 (mh-indexer-choices): Add swish++ choice.
7747 (mh-index-search): Change doc to reflect addition of swish++ option.
7748 (mh-swish++-binary, mh-swish++-directory): New variables for
7749 swish++ interface.
7750 (mh-swish++-execute-search): New function to execute swish++
7751 search.
7752 (mh-swish++-next-result): Function aliased to mh-swish-next-result
7753 since the result format of swish++ is the same as that of swish-e.
7754 (mh-index-search): Always overwrite window-configuration with new
7755 value. This is needed since we don't kill the index-buffer when
7756 quitting which means the window configuration wasn't getting set
7757 properly.
7758 (mh-index-search-again): If index buffer is reused, reset the old
7759 window config to its original value.
7760
77612002-10-30 Bill Wohler <wohler@newt.com>
7762
7763 * Makefile (emacs, xemacs): New targets.
7764 (all): Use these targets instead of calling specific targets.
7765 (.PHONY): Added emacs, xemacs, autoloads, custom-loads. Broke up
7766 target and moved pieces into their own sections.
7767
7768
77692002-10-30 Peter S Galbraith <psg@debian.org>
7770
7771 * mh-utils.el (mh-show-font-lock-keywords): Wrap an
7772 'eval-and-compile around its defvar, otherwise byte-compilation
7773 fails on `mh-show-font-lock-keywords-with-cite'.
7774
77752002-10-29 Jeffrey C Honig <jch@honig.net>
7776
7777 * mh-comp.el (mh-letter-insert-signature-hook)
7778 (mh-insert-signature): Add a hook to be called before inserting
7779 the signature. Do not attempt to insert the signature if
7780 mh-insert-signature-file-name is nil.
7781
77822002-10-29 Peter S Galbraith <psg@debian.org>
7783
7784 * mh-e.el (mh-inc-folder): Call mh-widen when mh-narrowed-to-seq
7785 (Closes SF #629233: inc in narrowed folder suboptimal)
7786
7787 * mh-comp.el (mh-insert-letter): Stop using mhl to include a
7788 message before it mangles the header, and supercite fails
7789 (Closes SF #629153: mh-insert-letter uses mhl?).
7790 (mh-insert-prefix-string): Leave point at beginning instead of
7791 end, since that's what sc-cite-original does.
7792 (mh-yank-cur-msg): Adjust for mh-insert-prefix-string change.
7793
77942002-10-30 Steve Youngs <youngs@xemacs.org>
7795
7796 * mh-e.el (mh-folder-mode): Check for 'font-lock-auto-fontify'
7797 when in XEmacs so we don't do font-locking unconditionally.
7798
7799 * mh-utils.el (mh-show-mode): Ditto.
7800
78012002-10-29 Peter S Galbraith <psg@debian.org>
7802
7803 * mh-e.el (mh-folder-refiled-face, mh-folder-cur-msg-number-face)
7804 (mh-folder-to-face, mh-folder-body-face): Define faces instead of
7805 copying them from font-lock faces. This mh-e will look the same
7806 in XEmacs as it does in Emacs.
7807 * mh-utils.el (mh-show-cc-face, mh-show-date-face)
7808 (mh-show-header-face): Ditto.
7809
78102002-10-29 Jeffrey C Honig <jch@honig.net>
7811
7812 * mh-comp.el (mh-send-letter): I meant to use
7813 mh-goto-header-field, not mh-get-header-field. The former returns
7814 nil if the header is not found and doesn't need a conditional.
7815
78162002-10-29 Peter S Galbraith <psg@debian.org>
7817
7818 * mh-comp.el (mh-forward): Bug fix. Change 'kill-line for a
7819 'delete-region, because I don't want that text yanked with C-y.
7820
7821 * mh-seq.el (mh-put-msg-in-seq): Add support for selected
7822 region (Closes SF feature request #630324).
7823
78242002-10-28 Satyaki Das <satyaki@theforce.stanford.edu>
7825
7826 * mh-seq.el (mh-thread-prune-subject): Make the regexp a little
7827 general so that a subject of the form "Re[218]: howdy" would be
7828 properly pruned.
7829
7830 * mh-mime.el (mh-mime-save-part): Copy function definition of
7831 mm-save-part from cvs gnus since that function is buggy in gnus
7832 that comes with emacs21.2.
7833
78342002-10-28 Peter S Galbraith <psg@debian.org>
7835
7836 * mh-e.el (mh-scan-subject-regexp): Add an expression to match an
7837 optional bracketed number after "Re", such as in "Re[2]:"
7838 (Patch by Satyaki; I checked it and applied).
7839 (mh-folder-font-lock-subject): Adapt to new mh-scan-subject-regexp.
7840 * mh-seq.el (mh-subject-to-sequence): Ditto.
7841
7842 * mh-e.el (mh-folder-sequence-menu): Remove "Toggle Subject
7843 Thread" from menu. mh-toggle-threads is in the Folder menu.
7844
7845 * mh-e.el (mh-folder-sequence-menu): Minor menu text edits.
7846
7847 * mh-utils.el (mh-show-update-sequences): Added to
7848 mh-defun-show-buffer builds; needed for menu.
7849 (mh-show-sequence-menu, mh-show-message-menu)
7850 (mh-show-folder-menu): 3 new menus in mh-show-mode-map that mirror
7851 the menus used in mh-folder-mode.
7852 (mh-show-mode): easy-menu-add the 3 menus.
7853
78542002-10-28 Satyaki Das <satyaki@theforce.stanford.edu>
7855
7856 * mh-utils.el (mh-goto-msg): Fix the regexp to search so that we
7857 go to the right message. In a threaded folder message 2 may be
7858 present after 26 and the previous regexp would go to 26 when we
7859 really wanted to go to 2!
7860
7861 * mh-seq.el (mh-widen): Add call to mh-recenter to make it like
7862 mh-narrow-to-seq.
7863
78642002-10-28 Bill Wohler <wohler@newt.com>
7865
7866 * mh-utils.el (mh-show-mime-save-parts): Deleted definition.
7867 (mh-show-mime-map, tool-bar-map): Use mh-mime-save-parts instead
7868 of mh-show-mime-save-parts.
7869
78702002-10-28 Peter S Galbraith <psg@debian.org>
7871
7872 * mh-comp.el (mh-letter-tool-bar-map): tool-bar-add-item key name
7873 bug fix.
7874 * mh-utils.el (mh-show-tool-bar-map): Same.
7875 * mh-e.el (mh-folder-tool-bar-map, mh-folder-seq-tool-bar-map): Same
7876
78772002-10-27 Satyaki Das <satyaki@theforce.stanford.edu>
7878
7879 * mh-seq.el (mh-toggle-threads): Add call to mh-recenter to make
7880 its behavior like that of mh-narrow-to-seq.
7881
78822002-10-27 Bill Wohler <wohler@newt.com>
7883
7884 * mh-mime.el (mh-mime-save-parts): Renamed from
7885 mh-store-mime-parts for consistency with mh-mime-save-part. Fixed
7886 bug whereby mh-mime-save-parts-directory was not getting
7887 initialized properly from a string-valued
7888 mh-mime-save-parts-default-directory.
7889 (mh-mime-save-parts-default-directory): Ditto. Check your
7890 customizations!
7891 (mh-mime-save-parts-directory): Ditto.
7892
7893 * mh-utils.el (mh-show-mime-save-parts): Renamed from
7894 mh-store-mime-parts.
7895 (mh-show-mime-map): Added keybinding "K a" for
7896 mh-show-mime-save-parts.
7897
7898 * mh-e.el (mh-mime-save-parts) Renamed from mh-store-mime-parts.
7899 (mh-mime-map): Added keybinding "K a" for mh-mime-save-parts.
7900 (mh-help-messages): Added help for "K a".
7901
79022002-10-27 Peter S Galbraith <psg@debian.org>
7903
7904 * mh-comp.el (mh-search-addr-regexp, mh-regexp-in-field-p): Rename
7905 the first to the second (and recode a bit).
7906 (mh-insert-mail-followup-to): Use it.
7907
79082002-10-27 Bill Wohler <wohler@newt.com>
7909
7910 * mh-utils.el (mh-invisible-headers): Backed out change. Removed
7911 Mail-Followup-To due to objections from Peter and Mark.
7912
79132002-10-27 Satyaki Das <satyaki@theforce.stanford.edu>
7914
7915 * mh-seq.el (mh-msg-is-in-seq): Modified to show info about
7916 whether the message being queried about has been marked to be
7917 deleted or refiled.
7918
7919 * mh-mime.el (mh-insert-mime-security-button): Make
7920 pressed-details a local.
7921
79222002-10-27 Steve Youngs <youngs@xemacs.org>
7923
7924 * .cvsignore: New file.
7925
79262002-10-26 Steve Youngs <youngs@xemacs.org>
7927
7928 * mh-seq.el (mh-notate-deleted-and-refiled): Don't bind local
7929 variable 'dest', it isn't used anywhere.
7930
7931 * mh-pick.el (mh-do-pick-search): Don't bind local variable
7932 'finding-messages', it isn't used anywhere.
7933
7934 * mh-utils.el: Byte-compiler warning suppression.
7935 (mh-gnus-article-highlight-citation): Rather than redefining
7936 'gnus-cite-face-list', just re-order it.
7937 (mh-show-mode): Force turning on font-lock in XEmacs.
7938
7939 * mh-seq.el: Byte-compiler warning suppression.
7940
7941 * mh-index.el: Byte-compiler warning suppression.
7942
7943 * mh-comp.el: Byte-compiler warning suppression.
7944
7945 * mh-xemacs-compat.el: Add defaliases for 'timerp' &
7946 'cancel-timer' to the equivalent 'itimer' functions.
7947 (rfc822): Require it for 'rfc822-goto-eoh'.
7948 Byte-compiler warning suppression.
7949
7950 * mh-e.el (mh-folder-mode): Force turning on font-lock in XEmacs.
7951 (mh-toggle-threads): Remove duplicate autoload.
7952 Byte-compiler warning suppression.
7953 (mh-folder-unseen-seq-list): Use 'with-temp-buffer' to fix a bug
7954 in XEmacs when font-lock is on.
7955 (mh-folder-unseen-seq-name): Ditto.
7956
79572002-10-27 Mark D. Baushke <mdb@gnu.org>
7958
7959 * Makefile: Reorganize to allow for building also compiling for
7960 XEmacs too. Sanitize so that it will work using least-common
7961 denominator versions of 'make'. Tested using GNU make, Solaris make,
7962 and Berkely make.
7963 (all): Use recursive invokation based on the emacs or xemacs
7964 executable passed on the 'make EMACS=xemacs' command line.
7965 (XEMACS_OPTIONS): The incantation to be passed to an xemacs editor
7966 to compile things properly.
7967 (AUTO_PRELOADS): Magic XEmacs glue.
7968 (clean): Ditto.
7969 (autoloads): Ditto.
7970 (custom-loads): Ditto.
7971
79722002-10-26 Satyaki Das <satyaki@theforce.stanford.edu>
7973
7974 * mh-e.el (mh-last-msg): Add call to mh-recenter.
7975
79762002-10-26 Peter S Galbraith <psg@debia.org>
7977
7978 * mh-comp.el (mh-search-addr-regexp, mh-re-search-to-cc): Remove
7979 `mh-re-search-to-cc' in favour of more generalized new function
7980 `mh-search-addr-regexp'.
7981 (mh-insert-mail-followup-to): Use it.
7982
79832002-10-26 Satyaki Das <satyaki@theforce.stanford.edu>
7984
7985 * mh-seq.el (mh-copy-seq-to-eob): Avoid rethreading when the
7986 folder is already threaded. This is more efficient and also avoids
7987 problems when the folder is widened.
7988 (mh-thread-inc): Don't try to restore the point to original
7989 location since mh-inc-folder from where this is called changes
7990 point location after calling this function.
7991
7992 * mh-e.el (mh-make-folder-mode-line): Fix a small bug where the
7993 test was wrong.
7994
79952002-10-26 Peter S Galbraith <psg@debian.org>
7996
7997 * mh-comp.el (mh-insert-mail-followup-to): Fix for new defcustom.
7998
79992002-10-26 Satyaki Das <satyaki@theforce.stanford.edu>
8000
8001 * mh-seq.el (mh-notate-deleted-and-refiled): Remove unused binding
8002 of dest. The problem was pointed out by Steve as well.
8003
8004 * mh-e.el (mh-toggle-threads): Remove duplicate autoload as
8005 pointed out by Steve.
8006
80072002-10-26 Bill Wohler <wohler@newt.com>
8008
8009 * mh-utils.el (mh-invisible-headers): Added Mail-Followup-To.
8010
80112002-10-26 Peter S Galbraith <psg@debian.org>
8012
8013 * mh-comp.el (mh-insert-mail-followup-to-list): Change defvar to
8014 defcustom.
8015
80162002-10-25 Satyaki Das <satyaki@theforce.stanford.edu>
8017
8018 * mh-e.el (mh-remove-all-notation): New function that removes all
8019 notation.
8020
8021 * mh-seq.el (mh-narrow-to-seq): When hiding the original folder
8022 remove all notation. This avoids stale notation hanging around.
8023 Also changes in show buffer and position in folder buffer are
8024 avoided if possible.
8025 (mh-widen): When widening the scan-lines are notated based on the
8026 current state of the folder. This means any changes made when the
8027 folder was narrowed are shown consistently.
8028 (mh-notate-deleted-and-refiled): Update the documentation.
8029 (mh-thread-parse-scan-line): For some reason the ASCII value of
8030 the space character was being used here. This is fixed.
8031 (mh-thread-inc, mh-toggle-threads): Avoid change of point in
8032 folder and message being displayed in shown buffer.
8033
8034 * mh-utils.el (mh-recenter): Rewrite mh-recenter to show fewer
8035 blank lines when point is towards the end of the folder buffer.
8036
80372002-10-25 Peter S Galbraith <psg@debian.org>
8038
8039 * mh-comp.el (mh-insert-mail-followup-to-flag): New boolean
8040 defcustom to append a Mail-Followup-To field to the header. The
8041 insertion is done if the To: or Cc: fields matches an entry in
8042 `mh-insert-mail-followup-to-list'."
8043 (mh-insert-mail-followup-to-list): New defvar. List of addresses
8044 for which a Mail-Followup-To field is inserted.
8045 (mh-re-search-to-cc): New function. Search for REGEXP in To: and
8046 Cc: fields.
8047 (mh-insert-mail-followup-to): New function. Insert
8048 Mail-Followup-To: if To or Cc match `mh-insert-mail-followup-to-list'.
8049 (mh-compose-and-send-mail): Call mh-insert-mail-followup-to if
8050 mh-insert-mail-followup-to-flag is true.
8051
80522002-10-25 Mark D. Baushke <mdb@gnu.org>
8053
8054 * mh-utils.el (mh-show-maximum-size): New variable to control
8055 the display of large messages.
8056 (mh-display-msg): Use it (Closes SF #488696).
8057
8058 * mh-seq.el (mh-toggle-threads): Checkdoc fix.
8059
8060 * mh-e.el (mh-reset-threads-and-narrowing): Checkdoc fix.
8061
8062 * mh-comp.el (mh-insert-x-mailer-flag): Renamed from
8063 mh-insert-x-mailer-p. Update docstring.
8064 (mh-send-letter): Use it.
8065 (mh-reply-show-message-flag): Renamed from
8066 mh-reply-show-message-p. Update docstring.
8067 (mh-reply): Use it.
8068 This addresses part of SF #627015.
8069
8070 * mh-e.el (mh-recenter-summary-flag): Renamed from
8071 mh-recenter-summary-p. Update docstring.
8072 (mh-set-scan-mode): Use it.
8073 This addresses part of SF #627015.
8074
80752002-10-25 Satyaki Das <satyaki@theforce.stanford.edu>
8076
8077 * mh-e.el (mh-reset-threads-and-narrowing): New function which
8078 resets all thread and narrowing state to completely unthreaded and
8079 widened state. As a side effect, the folder buffer is erased.
8080 (mh-rescan-folder): Reset threads and narrowing state.
8081
8082 * mh-funcs.el (mh-pack-folder-1): Reset threads and narrowing state.
8083
8084 * mh-seq.el (mh-copy-seq-to-eob): Change mh-view-ops after
8085 threading is over so that if user aborts threading, it doesn't
8086 leave mh-e in an inconsistent state.
8087 (mh-toggle-threads): Use mh-scan-folder to populate the folder
8088 buffer instead of mh-rescan-folder which resets threading and
8089 narrowing state.
8090
80912002-10-24 Bill Wohler <wohler@newt.com>
8092
8093 * mh-e is completely checkdoc clean now.
8094
8095 * mh-utils.el (mh-clean-message-header-flag): Renamed from
8096 mh-clean-message-header.
8097 (mh-bury-show-buffer-flag): Renamed from mh-bury-show-buffer.
8098 (mh-show-use-goto-addr-flag): Renamed from mh-show-use-goto-addr.
8099 This addresses part of SF #627015.
8100
8101 * mh-mime.el (mh-clean-message-header-flag): Renamed from
8102 mh-clean-message-header.
8103 Checkdoc fixes. This addresses part of SF #627015.
8104
8105 * mh-index.el (mh-clean-message-header-flag): Renamed from
8106 mh-clean-message-header. This addresses part of SF #627015.
8107
8108 * mh-funcs.el (mh-do-not-confirm-flag): Renamed from
8109 mh-do-not-confirm. This addresses part of SF #627015.
8110
8111 * mh-e.el (mh-do-not-confirm-flag): Renamed from
8112 mh-do-not-confirm.
8113 (mh-clean-message-header-flag): Renamed from
8114 mh-clean-message-header.
8115 This addresses part of SF #627015.
8116
8117 * mh-comp.el: checkdoc fixes.
8118
81192002-10-24 Satyaki Das <satyaki@theforce.stanford.edu>
8120
8121 * mh-seq.el (mh-copy-seq-to-eob): Rewritten to scan the headers
8122 fresh instead of yanking from buffer. This is needed to get
8123 correct threading in copied sequence.
8124 (mh-thread-inc, mh-thread-update-scan-line-map)
8125 (mh-thread-parse-scan-line): Eliminate the use, and hence the
8126 definition of, the kludgy mh-thread-update-scan-line-map. Instead
8127 the functions mh-notate-deleted-and-refiled and
8128 mh-notate-user-sequences are used to get the message marks right.
8129 (mh-thread-generate-scan-lines): Updated to allow the thread tree
8130 to be used in a narrowed folder buffer.
8131 (mh-thread-folder, mh-toggle-threads): Remove
8132 mh-folder-threaded-view-flag.
8133 (mh-thread-old-scan-line-map): New buffer-local variable that
8134 remembers the original scan-line map so that the sequence thread,
8135 narrow, widen will work.
8136 (mh-narrow-to-seq, mh-widen): Remember the scan-line map when
8137 narrowing and restore it when widening.
8138
8139 * mh-e.el (mh-folder-threaded-view-flag, mh-folder-folder-menu)
8140 (mh-regenerate-headers, mh-get-new-mail)
8141 (mh-make-folder-mode-line, mh-process-commands)
8142 (mh-delete-scan-msgs): Remove mh-folder-threaded-view-flag.
8143 Instead (memq 'unthread mh-view-ops) is used to test if the folder
8144 is threaded.
8145
8146 * mh-mime.el (mh-display-emphasis): Shadow article-goto-body here
8147 since we want to do emphasis on the whole of the region and not
8148 just after the first blank line.
8149 (mh-mm-display-part): When displaying a text part show smilies and
8150 emphasis.
8151
8152 * mh-index.el (mh-index-insert-scan): Attempt to keep number of
8153 args to scan small if there are lots of adjacent matches.
8154 (mh-index-quit): Bury index-buffer on quit instead of killing it.
8155 This behavior is more like that of mh-quit.
8156
8157 * mh-seq.el (mh-widen): If folder was threaded after narrowing
8158 then make mh-widen undo the threading instead of erroring out.
8159
81602002-10-24 Peter S Galbraith <psg@debian.org>
8161
8162 * mh-seq.el (mh-toggle-threads): Add a cond (as suggested by
8163 Satyaki) to properly unthread a narrowed-to-sequence.
8164
8165 * mh-seq.el (mh-thread-generate-scan-lines): Fix threading
8166 breakage from partial switch to mh-container-real-child-flag and
8167 to dupl-flag.
8168
8169 * mh-comp.el (mh-yank-cur-msg): Bug fix: specify
8170 (eq t mh-yank-from-start-of-msg) when that's what we want.
8171
81722002-10-24 Mark D. Baushke <mdb@gnu.org>
8173
8174 * mh-seq.el (mh-thread-prune-subject): Renamed subject-pruned-p as
8175 subject-pruned-flag.
8176 (mh-thread-inc): Renamed old-buffer-modified-p as
8177 old-buffer-modified-flag.
8178 (mh-thread-generate-scan-lines): Renamed dupl-p as dupl-flag.
8179 This addresses part of SF #627015.
8180
8181 * mh-index.el (mh-index-advance): Renamed backward-p
8182 local variable as backward-flag.
8183 (mh-index-next-button): Renamed backward-p
8184 argument as backward-flag.
8185 (mh-index-show): Renamed display-headers-p argument as
8186 display-headers-flag.
8187 This addresses part of SF #627015.
8188
8189 * mh-e.el (mh-scan-format, mh-version): Use mh-nmh-flag.
8190 (mh-folder-mime-action): Renamed include-security-p
8191 argument as include-security-flag.
8192 (mh-goto-next-button, mh-next-button): Renamed backward-p
8193 argument as backward-flag.
8194 (mh-get-new-mail): Renamed new-mail-p local variable as
8195 new-mail-flag.
8196 (mh-goto-cur-msg): Renamed minimal-changes-p argument as
8197 minimal-changes-flag.
8198 (redraw-needed-flag): Renamed redraw-needed-p local variable as
8199 redraw-needed-flag.
8200 (mh-seq-containing-msg): Renamed include-internal-p argument as
8201 include-internal-flag.
8202 (mh-page-msg): Use mh-page-to-next-msg-flag.
8203 This addresses part of SF #627015.
8204
8205 * mh-mime.el (mh-mhn-compose-insert-flag): Renamed from
8206 mh-mhn-compose-insert-p. Make it buffer-local.
8207 (mh-mhn-compose-type, mh-mhn-compose-external-type,
8208 mh-mhn-compose-forw, mh-edit-mhn): Use mh-mhn-compose-insert-flag.
8209 (mh-mml-to-mime, mh-mml-secure-message-encrypt-pgpmime,
8210 mh-mime-display-part, mh-mime-display-single): Use
8211 mh-gnus-pgp-support-flag renamed from mh-gnus-pgp-support-p.
8212 (mh-mime-display-single): Renamed small-image-p local
8213 variable as small-image-flag.
8214 (mh-mime-inline-part): Renamed local variable inserted-p as
8215 inserted-flag.
8216 (mh-mime-inline-part): Renamed local variable displayed-p as
8217 displayed-flag.
8218 This addresses part of SF #627015.
8219
8220 * mh-comp.el (mh-letter-menu, mh-letter-mode, mh-send-letter):
8221 mh-mhn-compose-insert-flag.
8222 (mh-repl-group-formfile, mh-forward): Use mh-nmh-flag
8223 renamed from mh-nmh-p.
8224 (mh-reply, mh-insert-x-mailer, mh-send-letter): Use mh-nmh-flag.
8225 (mh-letter-mode-map): Use mh-gnus-pgp-support-flag renamed from
8226 mh-gnus-pgp-support-p.
8227 (mh-mml-secure-message-sign-pgpmime): Use
8228 mh-gnus-pgp-support-flag.
8229 This addresses part of SF #627015.
8230
8231 * mh-utils.el (mh-page-to-next-msg-flag): Renamed from
8232 mh-page-to-next-msg-p.
8233 (mh-show-msg): Use mh-page-to-next-msg-flag.
8234 (mh-gnus-pgp-support-flag): Renamed from
8235 mh-gnus-pgp-support-p.
8236 (mh-show-font-lock-fontify-region): Fix docstring per checkdoc.
8237 (with-mh-folder-updating): Renamed argument
8238 save-modification-flag-p as mh-save-modification-flag.
8239 (mh-prompt-for-folder): Renamed new-file-p local
8240 variable as new-file-flag.
8241 This addresses part of SF #627015.
8242
82432002-10-24 Mark D Baushke <mdb@gnu.org>
8244
8245 * mh-comp.el (mh-forward): Fix mh-mml-compose-insert-p reference
8246 in last commit to be mh-mml-compose-insert-flag.
8247 (mh-mml-compose-insert-flag): Move defvar to fix compiler warning.
8248
82492002-10-24 Jeffrey C Honig <jch@honig.net>
8250
8251 * mh-comp.el (mh-forward): Add support for transient-mark mode.
8252 When using nmh, always specify -mime so as to preserve the
8253 original message(s). If mh-compose-insertion is 'gnus, convert
8254 the mhbuild format forwarding directives into MML.
8255
82562002-10-24 Eric Ding <ericding@alum.mit.edu>
8257
8258 * mh-comp.el (mh-send-letter): Fix for earlier change that added
8259 "-mime" for bcc'ed MIME mail; still doesn't work with nmh 1.0, but
8260 at least no longer triggered for every outgoing message!
8261
82622002-10-24 Peter S Galbraith <psg@debian.org>
8263
8264 * mh-comp.el (mh-yank-cur-msg): Fix selected regions for supercite
8265 (see text below).
8266
8267 * mh-comp.el (mh-yank-cur-msg): Fix for supercite. Someone played
8268 with the point and mark setting prior to the call to
8269 'mh-insert-prefix-string and that broke supercite. I put comments
8270 to make it obvious to future coders why those settings exists.
8271 Note that supercite is still broken when a region is selected in
8272 the show buffer. Presumably it's been like that for a long time.
8273 We need to insert the header as well as the selected region oin
8274 that case. I'll submit an SF bug.
8275
82762002-10-24 Jeffrey C Honig <jch@honig.net>
8277
8278 * mh-comp.el (mh-yank-from-start-of-msg, mh-reply): Use -noformat
8279 flag to reply when 'autosupercite or 'autoattrib are specified to
8280 prevent duplicate cites of the body of a message.
8281
82822002-10-23 Satyaki Das <satyaki@theforce.stanford.edu>
8283
8284 * mh-utils.el (font-lock-default-fontify-region): Add autoload to
8285 avoid compiler warning.
8286
82872002-10-23 Peter S Galbraith <psg@debian.org>
8288
8289 * mh-comp.el (mh-letter-mode): set fill-paragraph-function to our
8290 own 'mh-fill-paragraph-function instead of simply
8291 'mail-mode-fill-paragraph (because it doesn't handle a non-nil
8292 fill-prefix correctly).
8293 (mh-fill-paragraph-function): New function for mh-letter-mode
8294 fill-paragraph-function in order to handle non-nil fill-prefix.
8295 Call sendmail's mail-mode-fill-paragraph if in the mail header,
8296 else call default fill-paragraph with fill-prefix set to nil.
8297 (Closes SF #489927)
8298
8299 * mh-comp.el (mh-letter-mode): Let's use font-lock even if gnus is
8300 used in show-mode. The reason is that gnus uses static text
8301 properties which are not appropriate for a buffer that will be
8302 edited. So the choice here is either fontify the citations and
8303 header or the header only.
8304
8305 * mh-utils.el (mh-show-font-lock-fontify-region): Limit font-lock
8306 in mh-show-mode to the header. Used when mh-highlight-citation-p
8307 is set to gnus, leaving the body to be dealt with by gnus
8308 highlighting. This fixes gnus text emphasis in mh-show-mode.
8309 (mh-show-mode): In font-lock-defaults, set
8310 font-lock-fontify-region-function to mh-show-font-lock-fontify-region.
8311
83122002-10-23 Bill Wohler <wohler@newt.com>
8313
8314 * mh-mime.el (mh-mml-attach-file): Prompt for disposition should
8315 be Disposition, not Content-Type. The Content-Type has been
8316 determined automatically.
8317
83182002-10-23 Mark D. Baushke <mdb@gnu.org>
8319
8320 * MH-E-NEWS:
8321 s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
8322 s/mh-show-use-xface/mh-show-use-xface-flag/
8323 s/mh-tool-bar-reply-3-buttons/mh-tool-bar-reply-3-buttons-flag/
8324 This addresses part of SF #627015.
8325
8326 * mh-comp.el:
8327 s/mh-mml-compose-insert-p/mh-mml-compose-insert-flag/
8328 s/mh-xemacs-p/mh-xemacs-flag/
8329 (mh-letter-menu): Use mh-mml-compose-insert-flag.
8330 (mh-insert-x-mailer): Use mh-xemacs-flag.
8331 (mh-mml-compose-insert-flag): Renamed from
8332 mh-mml-compose-insert-p.
8333 (mh-send-letter): Use mh-mml-compose-insert-flag.
8334 This addresses part of SF #627015.
8335
8336 * mh-e.el:
8337 s/mh-folder-threaded-view-p/mh-folder-threaded-view-flag/
8338 s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
8339 s/mh-xemacs-p/mh-xemacs-flag/
8340 (mh-folder-threaded-view-flag): Renamed from
8341 mh-folder-threaded-view-p. Make it buffer local.
8342 (mh-folder-tool-bar-map): Use mh-tool-bar-reply-3-buttons-flag.
8343 (mh-remove-xemacs-horizontal-scrollbar): Use mh-xemacs-flag.
8344 (mh-make-folder, mh-regenerate-headers, mh-get-new-mail): Use
8345 mh-adaptive-cmd-note-flag.
8346 (mh-folder-folder-menu, mh-regenerate-headers, mh-get-new-mail,
8347 mh-make-folder-mode-line, mh-process-commands,
8348 mh-delete-scan-msgs): Use mh-folder-threaded-view-flag.
8349 This addresses part of SF #627015.
8350
8351 * mh-index.el:
8352 s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
8353 (mh-index-search): Use mh-adaptive-cmd-note-flag.
8354 This addresses part of SF #627015.
8355
8356 * mh-mime.el:
8357 s/mh-mml-compose-insert-p/mh-mml-compose-insert-flag/
8358 s/mh-xemacs-p/mh-xemacs-flag/
8359 (mh-mml-compose-insert-flag): Renamed from
8360 mh-mml-compose-insert-p. Make it buffer local.
8361 (mh-mml-attach-file, mh-mml-secure-message-sign-pgpmime,
8362 mh-mml-secure-message-encrypt-pgpmime): Use it.
8363 (gnus-local-map-property): Use mh-xemacs-flag.
8364 This addresses part of SF #627015.
8365
8366 * mh-seq.el:
8367 s/mh-folder-threaded-view-p/mh-folder-threaded-view-flag/
8368 (mh-thread-generate, mh-thread-folder, mh-toggle-threads): Use
8369 mh-folder-threaded-view-flag.
8370 This addresses part of SF #627015.
8371
8372 * mh-speed.el:
8373 s/mh-speed-run-flists-p/mh-speed-run-flists-flag/
8374 s/mh-speed-refresh-p/mh-speed-refresh-flag/
8375 (mh-speed-run-flists-flag): Renamed from mh-speed-run-flists-p.
8376 (mh-folder-speedbar-buttons): Use it.
8377 (mh-speed-refresh-flag): Renamed from mh-speed-refresh-p.
8378 (mh-speed-update-current-folder, mh-speed-invalidate-map,
8379 mh-speed-add-folder): Use it.
8380 This addresses part of SF #627015.
8381
8382 * mh-utils.el:
8383 s/mh-xemacs-p/mh-xemacs-flag/
8384 s/mh-tool-bar-reply-3-buttons/mh-tool-bar-reply-3-buttons-flag/
8385 s/mh-show-use-xface/mh-show-use-xface-flag/
8386 (mh-xemacs-flag): Renamed from mh-xemacs-p.
8387 (mh-show-xface-function): Use it.
8388 (mh-tool-bar-reply-3-buttons-flag): Renamed from
8389 mh-tool-bar-reply-3-buttons.
8390 (mh-show-tool-bar-map): Use it.
8391 (mh-adaptive-cmd-note-flag): Renamed from mh-adaptive-cmd-note.
8392 (mh-cmd-note): Use it in description.
8393 (mh-show-use-xface-flag): Renamed from mh-show-use-xface. Use
8394 mh-xemacs-flag.
8395 (mh-show-xface): Use mh-show-use-xface-flag.
8396 This addresses part of SF #627015.
8397
83982002-10-23 Bill Wohler <wohler@newt.com>
8399
8400 * Makefile (all): Rather than have to run "make clean all" all the
8401 time, make the default target do a clean so all you have to say is
8402 "make".
8403
8404 * mh-e.el (mh-folder-map): Moved "t (mh-toggle-threads)" to T
8405 prefix.
8406
84072002-10-22 Satyaki Das <satyaki@theforce.stanford.edu>
8408
8409 * mh-index.el (mh-indexer-choices, mh-swish-binary): The
8410 executable swish-e can be used to search (just like swish-search).
8411 However the Makefile in swish-e-2.2.2 doesn't install
8412 swish-search. So it is preferable to use swish-e.
8413
84142002-10-22 Bill Wohler <wohler@newt.com>
8415
8416 * mh-comp.el (mh-letter-mode-map): Added aliases for keybindings.
8417 For example, you now have "C-c C-m C-i" in addition to "C-c C-m
8418 i".
8419
84202002-10-22 Mark D. Baushke <mdb@gnu.org>
8421
8422 * mh-mime.el (mh-graphical-smileys-flag): Renamed from
8423 mh-graphical-smileys-p.
8424 (mh-display-smileys): Use it.
8425 (mh-graphical-emphasis-flag): Renamed from
8426 mh-graphical-emphasis-p.
8427 (mh-display-emphasis): Use it. This addresses part of SF #627015.
8428
84292002-10-22 Satyaki Das <satyaki@theforce.stanford.edu>
8430
8431 * mh-mime.el (mh-insert-mime-security-button): A message is
8432 produced if PGP decryption/verification fails. This addresses
8433 SF# 627025.
8434
84352002-10-21 Bill Wohler <wohler@newt.com>
8436
8437 * mh-seq.el (mh-widen): Checkdoc removed the period in the error.
8438 The info node (elisp) Coding Conventions says: "An error message
8439 should start with a capital letter but should not end with a
8440 period."
8441
8442 * mh-e.el, mh-utils.el (mh-tool-bar-reply-3-buttons): Moved
8443 defcustom to mh-utils because I got an error about a nil value for
8444 mh-tool-bar-reply-3-buttons when I fired up mh-rmail.
8445
8446 * mh-comp.el, mh-funcs.el, mh-mime.el, mh-pick.el: Moved (provide)
8447 to the end of the file to be consistent with most other files (see
8448 additional rationale in mh-e.el description below).
8449
8450 * mh-e.el: Had to remove eval-when-compile from the (require 'cl)
8451 here too (because the remove-if generated a warning in CVS Emacs).
8452 Moved (provide) to the end of the file to be consistent with most
8453 other files. My guess is that this is good to keep a feature from
8454 being "provided" if the file craps out while being loaded.
8455
84562002-10-21 Satyaki Das <satyaki@theforce.stanford.edu>
8457
8458 * mh-utils.el (mh-reply, Info-goto-node): Add autoloads to avoid
8459 compiler warnings.
8460 (mh-tool-bar-reply-3-buttons): Add defvar to avoid compiler
8461 warning.
8462
8463 * mh-seq.el (mh-narrow-to-seq): Remember that a narrowing has
8464 occurred.
8465 (mh-valid-view-change-operation-p): New function that checks if
8466 the widening or unthreading that we are about to perform is
8467 allowed.
8468 (mh-widen): Check if widening is applicable.
8469 (mh-thread-inc, mh-thread-folder): Use delete-region instead of
8470 erase-buffer. This means if the buffer is narrowed then the hidden
8471 parts aren't removed. This allows widening of the folder later on.
8472 (mh-toggle-threads): Maintain mh-view-ops.
8473
8474 * mh-e.el (mh-view-ops, mh-folder-mode): New buffer-local variable
8475 that keeps track of the sequence in which threading and narrowing
8476 of the folder buffer has been carried out. This is needed so that
8477 narrowing followed by threading (or vice versa) behaves in a
8478 reasonable manner.
8479 (mh-regenerate-headers): Use delete-region instead of
8480 erase-buffer.
8481 (mh-make-folder-mode-line): Change mh-first-msg-num and
8482 mh-last-msg-num conservatively. This might show a larger range in
8483 the mode-line but allows the unthreading to not miss messages
8484 present initially.
8485
84862002-10-21 Bill Wohler <wohler@newt.com>
8487
8488 * mh-mime.el (mh-graphical-emphasis-p): Added _underline_ to the
8489 docstring, as well as the source of the strings,
8490 gnus-emphasis-alist.
8491 (mh-graphical-emphasis-p, mh-graphical-smileys-p): Set the default
8492 to t.
8493
84942002-10-21 Peter S Galbraith <psg@debian.org>
8495
8496 * mh-utils.el (mh-show-mode): Invoke new toolbar.
8497 (mh-show-tool-bar-map): New tool-bar for mh-show-mode, similar to
8498 mh-letter-mode.
8499
85002002-10-21 Satyaki Das <satyaki@theforce.stanford.edu>
8501
8502 * mh-utils.el (mh-display-msg): Call the smiley display function
8503 after the call to mh-show-mode. This is needed since mh-show-mode
8504 kills all buffer-local variables and resets the variable that
8505 controls display of graphical smileys.
8506
85072002-10-21 Bill Wohler <wohler@newt.com>
8508
8509 * mh-e.el (mh-folder-mime-action): Change mime to MIME in message.
8510
8511 * mh-comp.el (mh-mml-to-mime autoload): Ditto.
8512
85132002-10-21 Mark D Baushke <mdb@gnu.org>
8514
8515 * mh-mime.el (smiley-region): Use load for a non-fatal dependency
8516 on the smiley library.
8517
85182002-10-21 Jeffrey C Honig <jch@honig.net>
8519
8520 * mh-comp.el (mh-forward): Search for a blank line as well as
8521 mail-header-separator.
8522 (mh-letter-mode): Search for a blank line as well as
8523 mail-header-separator.
8524 (mh-send-letter): The default BCC encapsulation will make a MIME
8525 message unreadable. If we are running nmh and the letter contains
8526 a Bcc: and a Content-Type: field, add the -mime switch to to the
8527 arguments to send.
8528
85292002-10-21 Peter S Galbraith <psg@debian.org>
8530
8531 * mh-utils.el: Add a mh-defun-show-buffer call to define
8532 mh-show-pack-folder.
8533
85342002-10-21 Peter S Galbraith <psg@debian.org>
8535
8536 * mh-mime.el (mh-store-mime-parts): Simplify code a bit.
8537
8538 * mh-e.el (mh-help-messages): Update help message for changed
8539 keybindings.
8540
85412002-10-21 Satyaki Das <satyaki@theforce.stanford.edu>
8542
8543 * mh-speed.el (mh-speed-invalidate-map): Invalidate
8544 mh-speed-folders-cache before it is used by mh-speed-folders. Also
8545 fix indentation of if statement.
8546 (mh-speed-folder-size): The folder name should be extracted from
8547 the speedbar buffer and not from the temp buffer has was happening
8548 before.
8549 (mh-speed-folder-size): Harden the function some more. It
8550 shouldn't produce errors any more unless flist really didn't work.
8551
85522002-10-21 Bill Wohler <wohler@newt.com>
8553
8554 * mh-seq.el (mh-put-msg-in-seq): Formatting only. The reason I was
8555 in there is because I was trying to use mh-put-msg-in-seq and
8556 mh-msg-is-in-seq non-interactively and found that although the
8557 docstring says it uses the current message by default, I got
8558 errors if I passed in nil for the message. Is this expected, or is
8559 this a bug? I suppose the fix would be to make the arguments
8560 optional, right? This would cause the arguments in
8561 mh-put-msg-in-seq to be reversed, however. Might be a backwards
8562 compatibility problem.
8563
8564 * mh-speed.el (mh-speed-view): Convert default size to string
8565 before passing it to read-string. This was done because XEmacs
8566 can't handle a numeric value for the default.
8567
85682002-10-20 Satyaki Das <satyaki@theforce.stanford.edu>
8569
8570 * mh-utils.el (mh-show-mode-map, mh-show-folder-map)
8571 (mh-show-sequence-map, mh-show-thread-map, mh-show-extract-map)
8572 (mh-show-digest-map, mh-show-mime-map): Interactive functions
8573 callable in show buffer are now prefixed with mh-show.
8574
8575 * mh-seq.el (mh-notate-deleted-and-refiled): Take into account the
8576 changes to mh-refile-list and the removal of the 'deleted
8577 sequence.
8578 (mh-toggle-threads): Changing from threaded to normal view doesn't
8579 try to push out message refiles and deletions to MH.
8580
8581 * mh-e.el (mh-rescan-folder, mh-scan-folder): Add a new optional
8582 argument to both functions that prevents them from carrying out
8583 pending refiles and deletes.
8584 (mh-undo): Remove dead code.
8585 (mh-delete-a-msg, mh-undo-msg): Get rid of the 'deleted sequence.
8586 The same information is present in mh-delete-list any way.
8587 (mh-refile-a-msg, mh-undo-msg, mh-process-commands): Change the
8588 semantics of mh-refile-list to make it self-contained. This
8589 variable now contains a list of lists. The first element of each
8590 sublist is the destination folder name. The remaining elements are
8591 the messages that are to be refiled to the destination folder.
8592 (mh-toggle-threads, mh-folder-folder-menu): Use mh-toggle-threads
8593 instead of mh-thread-folder.
8594
85952002-10-20 Peter S Galbraith <psg@debian.org>
8596
8597 * mh-mime.el (mh-store-mime-parts): Bug fix? Make this command
8598 work when in the show buffer, and not just in the folder buffer
8599 pointing to a message.
8600
86012002-10-20 Peter S Galbraith <psg@debian.org>
8602
8603 * mh-seq.el (mh-narrow-to-subject-sequence): Renamed from
8604 mh-narrow-to-subject-thread.
8605 (mh-subject-to-sequence): Renamed from mh-subject-thread-to-sequence.
8606 (mh-delete-subject-sequence): Renamed from mh-delete-subject-thread.
8607 (mh-next-unseen-subject-sequence): Renamed from
8608 mh-next-unseen-subject-thread.
8609 (mh-toggle-subject-thread): Removed. :-(
8610
8611 * mh-e.el: s/subject-thread/subject-sequence/
8612 (mh-thread-map): Bind mh-widen to "w".
8613
8614 * mh-utils.el: s/subject-thread/subject-sequence/
8615 (mh-show-thread-map): Bind mh-widen to "w".
8616
86172002-10-20 Satyaki Das <satyaki@theforce.stanford.edu>
8618
8619 * mh-seq.el (mh-thread-folder): This function is no longer
8620 interactive. The mh-toggle-threads is the interactive function
8621 that gets called by the user. Also the already computed values in
8622 mh-first-msg-num and mh-last-msg-num are used instead of
8623 recomputing the first and last message indices in the current
8624 folder.
8625 (mh-toggle-threads): New interactive function that toggles
8626 threaded view of the folder.
8627
8628 * mh-utils.el (mh-letter-toggle-threads): New interactive function
8629 which toggles thread view from show buffer. This function replaces
8630 mh-letter-thread-folder.
8631 (mh-show-folder-map): Use mh-letter-toggle-threads instead of
8632 mh-letter-thread-folder.
8633
8634 * mh-e.el (mh-folder-map): Use mh-toggle-threads instead of
8635 mh-thread-folder.
8636
86372002-10-20 Bill Wohler <wohler@newt.com>
8638
8639 * mh-e.el (mh-scan-folder): Formatting only.
8640 (mh-goto-cur-msg): Removed call to mh-last-msg in those cases
8641 where there isn't a current message. Since I've started using the
8642 speedbar to read my mh-e mail, I've had to use M-< every time to
8643 go to the beginning of the new messages. Very annoying! Thus, if
8644 there isn't a current message, the cursor is left alone, which
8645 sounds like the right thing to do anyway.
8646
86472002-10-19 Peter S Galbraith <psg@debian.org>
8648
8649 * mh-seq.el (mh-subject-thread-to-sequence): Bug fix. After
8650 making the 'subject sequence real, I now have to delete it globally.
8651
8652 * mh-seq.el (mh-toggle-subject-thread): Make toggle back to full
8653 scan exactly mh-widen (removed moving to current message).
8654
8655 * mh-seq.el (mh-subject-thread-to-sequence): Make 'subject
8656 sequence a real one, exported to MH. This means you can, for
8657 example, mh-forward it. But it also shows up with a mark in the
8658 scan output. (Closes SF #489445).
8659
86602002-10-19 Bill Wohler <wohler@newt.com>
8661
8662 * mh-speed.el (mh-speed-view): If there weren't any unseen
8663 messages, and you specified a string (a sequence like "last") when
8664 prompted for the number of messages to display, you got an error.
8665 This has been fixed.
8666
86672002-10-19 Mark D Baushke <mdb@gnu.org>
8668
8669 * mh-e.el (mh-last-destination-folder): Destination of last refile
8670 command.
8671 (mh-last-destination-write): Destination of last write command.
8672 (mh-refile-msg): Use 'mh-last-destination-folder and update both it
8673 and 'mh-last-destination.
8674 (mh-write-msg-to-file): Use 'mh-last-destination-write and update
8675 both it and 'mh-last-destination (Closes SF #580772).
8676
86772002-10-19 Bill Wohler <wohler@newt.com>
8678
8679 * mh-comp.el (mh-yank-from-start-of-msg): Changed default to
8680 'attribution.
8681 (mh-letter-mode-map): Removed commented-out keybindings as well as
8682 alias "C-c C-m a (mh-compose-insertion)." Prefer "C-c C-m i."
8683
8684 * mh-utils.el: Removed autoload of help. It no longer appears to
8685 be necessary in cvs Emacs (21.4).
8686
86872002-10-18 Bill Wohler <wohler@newt.com>
8688
8689 * mh-e.el (mh-execute-commands): Doc fix.
8690 (mh-compat-write-file-hook): Renamed to
8691 mh-write-file-functions-compat.
8692 (mh-folder-mode): Add mh-write-file-functions-compat instead of
8693 mh-compat-write-file-hook
8694
86952002-10-18 Peter S Galbraith <psg@debian.org>
8696
8697 * mh-utils.el (mh-invisible-headers-show-xface): Killed this
8698 variable.
8699 (mh-invisible-headers): Use 'mh-show-use-xface instead of
8700 'mh-invisible-headers-show-xface to determine whether to render
8701 the X-Face header line visible or not.
8702
87032002-10-18 Satyaki Das <satyaki@theforce.stanford.edu>
8704
8705 * mh-e.el (mh-compat-write-file-hook, mh-folder-mode): Use the new
8706 macro mh-compat-write-file-hook to use write-file-functions for
8707 Emacs 21.4 and local-write-file-hooks for older versions.
8708
87092002-10-18 Mark D Baushke <mdb@gnu.org>
8710
8711 * mh-utils.el (mh-invisible-headers): Add more anti-spam headers.
8712
87132002-10-18 Peter S Galbraith <psg@debian.org>
8714
8715 * mh-mime.el (mh-mml-forward-message): mml-attach-file constructs
8716 a malformed composition if the description string is empty, so
8717 test for that and call mml-attach-file without that argument if
8718 it's an empty string (closes SF #625168).
8719
87202002-10-17 Satyaki Das <satyaki@theforce.stanford.edu>
8721
8722 * mh-index.el (mh-index-keymap): Removed extra binding of " ".
8723 (mh-index-folder-mode-help-messages): Made the cheat sheet entry
8724 of quit like the others.
8725 (mh-index-search): If space was pressed in the index buffer before
8726 a search result has been shown with ".", the old show buffer would
8727 be scrolled. This is confusing since the index and show buffer
8728 contents are contradictory. Killing the show buffer here avoids
8729 this problem.
8730 (mh-index-configure-windows): Refine the window configuration
8731 logic. Avoid the two window view unless there is a message being
8732 displayed in the show buffer.
8733 (mh-index-scroll-up): Rewrite this function. The old version had a
8734 bizarre problem where the show buffer wouldn't be scrolled if the
8735 speedbar was present.
8736 (mh-index-scroll-down): Rewritten because of similar reason as
8737 above.
8738
87392002-10-17 Peter S Galbraith <psg@debian.org>
8740
8741 * mh-comp.el (mh-reply): Add an undo boundary in the undo list
8742 before calling 'mh-yank-cur-msg (closes SF #623693).
8743
87442002-10-17 Satyaki Das <satyaki@theforce.stanford.edu>
8745
8746 * mh-e.el (mh-folder-mode): Use local-write-file-hooks instead of
8747 write-file-hooks. This is required for XEmacs and also the right
8748 thing according to GNU Emacs21 documentation.
8749
87502002-10-16 Satyaki Das <satyaki@theforce.stanford.edu>
8751
8752 * mh-seq.el (mh-thread-generate): Get threading to work correctly
8753 on partial folders. The fix here disregards messages that aren't
8754 already present in the buffer.
8755 (mh-thread-folder): When querying scan about thread info try to
8756 avoid asking about messages that aren't present in the folder
8757 buffer. A more efficient fix would be to ask scan about just the
8758 messages that are present instead of a range of messages. However
8759 that runs the risk of sending long command lines to scan. Another
8760 change was to populate the mh-scan-line-map early so that the
8761 change in mh-thread-generate would work.
8762 (mh-thread-generate-scan-lines): In case duplicates are present
8763 make one of them the pseudo parent of the rest. This makes it look
8764 prettier if there are multiple duplicates at top level.
8765
8766 * mh-comp.el (mh-edit-again): If a buffer in show-mode is being
8767 reused then reinsert message file. This should fix SF #624283.
8768
8769 * mh-mime.el (mh-mm-display-part): Make sure mh-display-part is
8770 always called when we want to remove the displayed MIME part.
8771
87722002-10-16 Bill Wohler <wohler@newt.com>
8773
8774 * mh-speed.el (mh-speed-folder-size): checkdoc fix.
8775 (mh-speed-view): Tweaked output to mirror gnus verbiage. Offer
8776 to view number of messages in folder rather than mh-large-folder.
8777 Replaced (intern mh-unseen-seq) with mh-unseen-seq since the
8778 former was generating errors.
8779
87802002-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
8781
8782 * mh-speed.el (mh-large-folder): New customizable variable to
8783 control mh-e's perception of large folders.
8784 (mh-speed-folder-size): New function which computes the size of
8785 folder on current line.
8786 (mh-speed-view): Modified to handle large folders. If the folder
8787 being clicked has unseen messages then only those messages are
8788 shown. Otherwise if number of messages in folder is larger than
8789 mh-large-folders then the user is asked for the number of messages
8790 to be shown. If the folder satisfies neither of the above cases
8791 then it is displayed in its entirety
8792
87932002-10-15 Bill Wohler <wohler@newt.com>
8794
8795 * mh-index.el (mh-index-keymap): Use gnus-define-keys. Sorted.
8796 Noticed that there were two key bindings for SPACE...
8797
8798 * mh-speed.el (mh-folder-speedbar-key-map): Ditto (except for the
8799 dup SPACE binding).
8800
8801 Completed help in other modes:
8802
8803 * mh-utils.el (mh-xemacs-p): Fixed doc.
8804 (mh-show-mode-map, mh-show-folder-map, mh-show-sequence-map)
8805 (mh-show-thread-map, mh-show-extract-map): Added binding for
8806 mh-help.
8807
8808 * mh-pick.el (mh-search-folder): Added startup help message.
8809 (mh-pick-mode-help-messages): New variable that contains help
8810 messages for pick buffer.
8811 (mh-pick-mode): Set local buffer variable mh-help-messages to
8812 mh-pick-mode-help-messages.
8813
8814 * mh-index.el (mh-index-keymap): Added binding for mh-help
8815 (mh-index-folder-mode-help-messages): New variable that contains
8816 help messages for MH Index buffer.
8817 (mh-index-folder-mode): Set local buffer variable mh-help-messages
8818 to mh-index-mode-help-messages.
8819
8820 * mh-funcs.el (mh-help, mh-prefix-help): Call
8821 substitute-command-keys on the help messages.
8822
8823 * mh-e.el (mh-help-messages): Added ,. Ran C-M-q.
8824 (mh-help): This autoload doc is now used for more than just the
8825 MH-Folder, so drop that specific text.
8826
8827 * mh-comp.el (mh-edit-again, mh-extract-rejected-mail)
8828 (mh-forward, mh-reply, mh-send-sub): Call mh-letter-mode-message
8829 to display a help message at startup.
8830 (mh-letter-mode): Set local buffer variable mh-help-messages to
8831 mh-letter-mode-help-messages.
8832 (mh-letter-mode-help-messages): New variable with help messages
8833 for the MH-Letter buffer.
8834 (mh-letter-mode-message): New function that displays a startup
8835 help message.
8836 (mh-letter-mode-map): Added binding for mh-help. Sorted.
8837
88382002-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
8839
8840 * mh-speed.el (mh-speedbar-selected-folder-with-unseen-messages-face)
8841 (mh-speedbar-folder-face, mh-speedbar-selected-folder-face)
8842 (mh-speedbar-folder-with-unseen-messages-face): New faces for mh-e
8843 speedbar.
8844 (mh-folder-speedbar-buttons, mh-speed-update-current-folder)
8845 (mh-speed-add-buttons): Use the new faces.
8846 (mh-speed-normal-face, mh-speed-bold-face): Functions to convert
8847 to bold face and back to normal face.
8848 (mh-speed-set-face): Removed.
8849 (mh-speed-highlight): Modified to allow it to be used instead of
8850 mh-speed-set-face. Also changes were made to fontify folders with
8851 unread messages.
8852 (mh-speed-parse-flists-output, mh-speed-parse-flists-output)
8853 (mh-speed-invalidate-map): Use mh-speed-highlight instead of
8854 mh-speed-set-face.
8855
88562002-10-15 Bill Wohler <wohler@newt.com>
8857
8858 * mh-mime.el, mh-seq.el, mh-speed.el, mh-utils.el: It appears that
8859 the cl package has been restructured in 21.4 in such a way that
8860 the use of eval-when-compile no longer suppresses warnings when
8861 compiling so that (require 'cl) must be called directly (maybe
8862 this is a bug in 21.4 ;-). Thus the autoloads of cl are no longer
8863 needed. Now compiles clean under 21.4.
8864
8865 * mh-e.el (mh-folder-mode): The use of local-write-file-hooks is
8866 deprecated in Emacs 21.4, so use add-hook write-file-functions (or
8867 write-file-hook for older versions) with the LOCAL argument
8868 instead. Now compiles clean under 21.4.
8869
8870 * mh-comp.el (mh-yank-cur-msg): Push a mark at the opposite end of
8871 the included text to make it easy to jump or delete to the other
8872 end of the included text.
8873
88742002-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
8875
8876 * mh-comp.el (mh-insert-prefix-string): Remove the erroneous use
8877 of set-mark and other related functions.
8878
88792002-10-14 Bill Wohler <wohler@newt.com>
8880
8881 * mh-comp.el (mh-yank-from-start-of-msg): Fixed documentation. It
8882 isn't ignored if there is a region. It is still used for the
8883 attribution.
8884 (mh-yank-cur-msg): Removed unnecessary push-mark when snarfing the
8885 entire message. Move the cursor to the end of the snarfed message
8886 if there is a region. In this case, push a mark so user can pop to
8887 the beginning of the snarfed fragment.
8888 (mh-insert-prefix-string): This calls set-mark which I find
8889 suspect since I found that my last user mark was deleted after
8890 yanking a message. Added a comment to this effect. Will probably
8891 add a bug report...
8892
8893 * README (Installed, Supported versions): To appear in GNU Emacs
8894 21.3; supported on Emacs 21, 20.7 and XEmacs 21.
8895
8896 * mh-funcs.el (mh-concat-list): Deleted. Use mapconcat instead.
8897 (mh-help, mh-prefix-help): Use mapconcat instead of mh-concat-list.
8898 (mh-ephem-message): Use "%s" in message.
8899
8900 * mh-funcs.el (mh-concat-list): New function to concatenate a list
8901 of strings into a single string. I would have thought elisp
8902 already contained a function like this, but I couldn't find it.
8903 (mh-ephem-message): New function to display a message in the
8904 minibuffer ephemerally. minibuffer-message seemed like the right
8905 function, but it writes to the current buffer oddly enough.
8906 (mh-help, mh-prefix-help): New functions to display command
8907 cheat sheets in the minibuffer (closes SF #493740). It would be
8908 nice to refactor these two into a single function if possible.
8909
8910 * mh-e.el (mh-folder-mode-map, mh-folder-map, mh-sequence-map)
8911 (mh-thread-map, mh-extract-map): Added ? keybinding for `mh-help'
8912 and `mh-prefix-help' (closes SF #493740).
8913 (mh-help-messages): New variable to hold various help messages.
8914 (mh-help, mh-prefix-help): Autoload from mh-funcs.el.
8915
89162002-10-13 Bill Wohler <wohler@newt.com>
8917
8918 * mh-index.el (mh-glimpse-directory, mh-swish-directory,
8919 mh-namazu-directory): New variables that hold the name of the
8920 configuration and indexing directory. All are now hidden `.'
8921 directories.
8922
8923 * mh-e.el, mh-funcs.el, mh-index.el, mh-mime.el, mh-pick.el,
8924 mh-seq.el, mh-xemacs-compat.el (Docstrings): Converted comments to
8925 docstrings, reworded some docstrings to conform to Emacs
8926 documentation conventions, and eliminated all checkdoc warnings
8927 (except for -flag, which we'll fix after 6.2 is released).
8928
89292002-10-13 Satyaki Das <satyaki@theforce.stanford.edu>
8930
8931 * mh-index.el (mh-swish-next-result): Fix a bug in a corner case
8932 where the lack of a trailing "/" caused the function to wrongly
8933 filter out correct hits. This should fix SF #622679.
8934
89352002-10-12 Steve Youngs <youngs@xemacs.org>
8936
8937 * mh-utils.el (mh-xemacs-p): Simplify it, don't test for
8938 'defvaralias' and don't use 'running-xemacs'.
8939
89402002-10-11 Bill Wohler <wohler@newt.com>
8941
8942 * mh-comp.el: (Docstrings): Eliminated all checkdoc warnings by
8943 converting comments to docstrings and rewording some docstrings to
8944 conform to Emacs documentation conventions.
8945
89462002-10-11 Steve Youngs <youngs@xemacs.org>
8947
8948 * mh-utils.el (mh-xemacs-p): New.
8949 (mh-show-use-xface): Use it.
8950 (mh-show-xface-function): Ditto.
8951
8952 * mh-e.el (toplevel): Ditto.
8953 (mh-remove-xemacs-horizontal-scrollbar): Ditto.
8954 (mh-folder-mode-map): Ditto.
8955
8956 * mh-comp.el (mh-insert-x-mailer): Ditto.
8957
8958 * mh-mime.el (gnus-local-map-property): Ditto.
8959 (mh-mml-to-mime): Move (require 'mh-utils) to toplevel.
8960 (mh-prompt-for-folder): Autoloading this not needed because
8961 mh-utils is now required at toplevel.
8962 (mh-show-xface): Ditto.
8963 (mh-show-addr): Ditto.
8964
89652002-10-11 Bill Wohler <wohler@newt.com>
8966
8967 * Makefile (EMACS_HOME): Set default to $(TOP)/../emacs so it
8968 would be useful.
8969
8970 * mh-utils.el (mh-invisible-headers): Added various spam header
8971 fields.
8972 (mh-path-search): Removed argument `func-p' and related code. It
8973 was not documented and no one used it.
8974 (Docstrings): Converted comments to docstrings, reworded some
8975 docstrings to conform to Emacs documentation conventions, and
8976 basically eliminated all checkdoc warnings (except for -flag
8977 warnings).
8978
89792002-10-11 Satyaki Das <satyaki@theforce.stanford.edu>
8980
8981 * mh-seq.el (mh-thread-generate): Kill dead code.
8982
89832002-10-10 Satyaki Das <satyaki@theforce.stanford.edu>
8984
8985 * mh-seq.el (mh-region-to-sequence): Don't include point-max in
8986 region (closes SF #621632).
8987
8988 * mh-utils.el (mh-defun-show-buffer): Fix call of
8989 frame-first-window to work with XEmacs. Also avoid warning about
8990 cur-buffe-name in XEmacs.
8991 (mh-modify, mh-goto-msg): Remove dead code.
8992
8993 * mh-speed.el (mh-speed-toggle, mh-speed-add-buttons): Remove dead
8994 code.
8995
8996 * mh-seq.el (mh-subject-thread-to-sequence, mh-thread-get-message,
8997 mh-thread-generate, mh-thread-folder): Remove dead code.
8998
8999 * mh-mime.el (mh-mm-inline-message): Remove dead code.
9000
9001 * mh-index.el (mh-index-search): Remove dead code.
9002
9003 * mh-comp.el (mh-open-line): Remove dead code.
9004
9005 * mh-e.el (mh-folder-mode): Use the macro
9006 mh-remove-xemacs-horizontal-scrollbar to avoid compiler-warning in
9007 Emacs.
9008 (mh-remove-xemacs-horizontal-scrollbar): New macro to avoid
9009 compiler-warnings.
9010
90112002-10-10 Mark D Baushke <mdb@gnu.org>
9012
9013 * Makefile (EMACS_OPTIONS): New macro for command-line compile
9014 options.
9015 (EMACS): Allow the user to specify which emacs command to use for
9016 the compile.
9017 (COMPILE_COMMAND): Combine the compile command with its options.
9018 (.el.elc): Use the new $(COMPILE_COMMAND).
9019
90202002-10-10 Mark D Baushke <mdb@gnu.org>
9021
9022 * mh-speed.el (mh-speed-select-attached-frame): Define a new
9023 compatibility macro for getting to the attached-frame.
9024 (mh-speed-update-current-folder): Use it.
9025
90262002-10-10 Mark D Baushke <mdb@gnu.org>
9027
9028 * mh-speed.el (mh-speed-update-current-folder): Use
9029 'dframe-select-attached-frame if we are in a newer speedbar
9030 version that no longer supports the 'speedbar-attached-frame
9031 variable.
9032
90332002-10-10 Steve Youngs <youngs@xemacs.org>
9034
9035 * mh-speed.el (mh-speed-update-current-folder): Use
9036 'dframe-select-attached-frame' if we're in XEmacs.
9037
9038 * mh-e.el (mh-folder-mode): Remove the horizontal scrollbar from
9039 the MH-Folder buffer if we're in XEmacs.
9040
90412002-10-09 Satyaki Das <satyaki@theforce.stanford.edu>
9042
9043 * mh-utils.el (mh-show-xface-function): New global that stores
9044 what function needs to be called to display X-Face.
9045 (mh-show-xface): Rewritten to avoid compiler warning.
9046
90472002-10-09 Peter S Galbraith <psg@debian.org>
9048
9049 * mh-utils.el (mh-exchange-point-and-mark-preserving-active-mark):
9050 Simplify code for all emacsen to avoid byte-compilation warnings.
9051
90522002-10-09 Satyaki Das <satyaki@theforce.stanford.edu>
9053
9054 * mh-mime.el (mh-mm-display-part): If a sub-part of the current
9055 part is an inline image then clicking the button keeps the image
9056 around. The change fixes this bug.
9057
90582002-10-09 Peter S Galbraith <psg@debian.org>
9059
9060 * mh-utils.el (mh-exec-cmd-output): Use new function
9061 'mh-exchange-point-and-mark-preserving-active-mark instead of
9062 'exchange-point-and-mark. Fixes a bug in emacs20 and XEmacs21.
9063 (mh-exchange-point-and-mark-preserving-active-mark): New function.
9064 Does like 'exchange-point-and-mark but doesn't activate the mark.
9065
9066 * mh-comp.el (mh-letter-menu): Allow access to "Pull in All
9067 Compositions" menu entries when edits have really occurred.
9068 Works with "forw: -mime" mh_profile entry, so this fixes a bug.
9069
9070 * mh-mime.el (mh-mime-inline-part, mh-mm-display-part): Use
9071 line-beginning-position and line-end-position instead of
9072 point-at-bol and point-at-eol XEmacs functions.
9073 * mh-xemacs-compat.el: Added line-end-position and
9074 line-beginning-position compatibility aliases.
9075
90762002-10-08 Mark D. Baushke <mdb@gnu.org>
9077
9078 * mh-utils.el (mh-scan-msg-format-regexp): The regexp to find
9079 %number(msg).
9080 (mh-scan-msg-format-string): Format to be used with the current
9081 maximum width of message number for the folder in the
9082 `mh-upate-scan-format' function.
9083 (mh-update-scan-format): Use `mh-scan-msg-format-regexp' for greater
9084 flexibility. The message number is no longer anchored to the
9085 beginning of the `mh-scan-format-nmh' or `mh-scan-format-mh' format
9086 strings. The `mh-update-scan-format' allows for using zero-filled
9087 message numbers.
9088
90892002-10-08 Peter S Galbraith <psg@debian.org>
9090
9091 * mh-e.el (mh-folder-folder-menu): Add entry for "Thread Folder".
9092
90932002-10-07 Satyaki Das <satyaki@theforce.stanford.edu>
9094
9095 * mh-seq.el (mh-thread-generate): Use mh-progs to get path to mh
9096 executables.
9097
9098 * mh-speed.el (mh-speed-flists): Use mh-progs to get path to mh
9099 executables right.
9100 (mh-speed-folders-actual): Same as above.
9101
91022002-10-05 Steve Youngs <youngs@xemacs.org>
9103
9104 * mh-comp.el (mh-yank-from-start-of-msg): Make default setting 't'
9105 a const.
9106
9107 * mh-xemacs-compat.el (match-string-no-properties): Rewrite as a
9108 defsubst using 'buffer-substring-no-properties' so we don't grab
9109 any extents.
9110 (rfc822-goto-eoh): Removed. This exists in the XEmacs mail-lib
9111 package.
9112 (mail-header-end): Ditto.
9113 (mail-mode-fill-paragraph): Ditto.
9114
91152002-10-05 Satyaki Das <satyaki@theforce.stanford.edu>
9116
9117 * mh-speed.el (mh-speed-invalidate-map): When called interactively
9118 the function will clear mh-speed-folders-cache.
9119
91202002-10-02 Satyaki Das <satyaki@theforce.stanford.edu>
9121
9122 * mh-mime.el (mh-insert-mime-button): Rewrite without using
9123 replace-match.
9124
91252002-10-01 Satyaki Das <satyaki@theforce.stanford.edu>
9126
9127 * mh-mime.el (mh-file-mime-type-substitutions): Reorder code to
9128 avoid compiler warning.
9129
91302002-10-01 Bill Wohler <wohler@newt.com>
9131
9132 * Makefile (MH-E-ETC): Moved ChangeLog into MH-E-ETC-ETC since it
9133 shouldn't get installed in Emacs.
9134 (install-emacs): Install MH-E-IMG into Emacs' lisp/toolbar and
9135 MH-E-IMG2 into Emacs' lisp/mail.
9136
91372002-10-01 Peter S Galbraith <psg@debian.org>
9138
9139 * mh-e.el (mh-tool-bar-reply-3-buttons): New customization.
9140 Non-nil means use three buttons for reply commands in tool-bar.
9141 If you have room on your tool-bar because you are using a large
9142 font, you may set this variable to expand the single reply
9143 button into three buttons that won't lead to minibuffer prompt
9144 about who to reply to.
9145 (mh-folder-tool-bar-map): Use mh-tool-bar-reply-3-buttons to
9146 decide how many buttons to use for replying.
9147
9148 * mh-mime.el (mh-file-mime-type-substitutions)
9149 (mh-file-mime-type-substitute): Fix typos and doc strings.
9150
91512002-09-30 Peter S Galbraith <psg@debian.org>
9152
9153 * mh-mime.el (mh-file-mime-type): Run Content-Type string returned
9154 by file command through mh-file-mime-type-substitute (see below).
9155 (mh-file-mime-type-substitute): Possibly change Content-Type
9156 string using mh-file-mime-type-substitutions variable. This is
9157 mostly because all MS-Office file are seen as application/msword
9158 by the file command.
9159 (mh-file-mime-type-substitutions): New variable. Defines
9160 substitutions to make for Content-Type returned from file command.
9161
91622002-09-27 Bill Wohler <wohler@newt.com>
9163
9164 * README: Moved Id to end of file since it broke outline mode at
9165 the beginning.
9166
9167 * import-emacs (release): Renamed "mainline" tag to
9168 "emacs-mainline" to correspond with existing CVS tag.
9169 (EMACS_HOME): Fixed typo in docstring.
9170
9171 * mh-utils.el (mh-folder-name-p, mh-defun-show-buffer): Lowercase
9172 NIL and T in docstring.
9173 (mh-update-scan-format): Fixed typo.
9174
9175 * mh-comp.el, mh-e.el, mh-pick.el, mh-utils.el: Updated from CVS
9176 Emacs. The only new thing appears to be to downcase NIL and T in
9177 the documentation.
9178
91792002-09-26 Satyaki Das <satyaki@theforce.stanford.edu>
9180
9181 * mh-seq.el (mh-thread-generate): The threading code will now be
9182 more resistant to corruption of messages. Before the change any
9183 corruption of message x would cause all messages with indices
9184 higher than x to be neglected when threading!
9185
91862002-09-23 Peter S Galbraith <psg@debian.org>
9187
9188 * mh-mime.el (mh-store-mime-parts): Don't store value into
9189 user-customizable variable mh-store-mime-parts-default-directory
9190 and use mh-store-mime-parts-directory instead.
9191
91922002-09-20 Satyaki Das <satyaki@theforce.stanford.edu>
9193
9194 * mh-seq.el (mh-thread-prune-subject): Use regular expressions to
9195 make the subject pruning behave the way it is specified in the
9196 imap-thread RFC.
9197
9198 * mh-speed.el (mh-speed-folders-actual): Don't use pop when we
9199 are not going to use the first element. This avoids a compilation
9200 warning with cvs emacs.
9201
92022002-09-19 Satyaki Das <satyaki@theforce.stanford.edu>
9203
9204 * mh-utils.el (mh-display-msg): Put the call to
9205 set-buffer-modified after mh-show-mode. This is needed for CVS
9206 emacs since calling mh-show-mode marks the buffer as modified if
9207 font-lock is on.
9208
92092002-09-17 Peter S Galbraith <psg@debian.org>
9210
9211 * mh-mime.el (mh-store-mime-parts-default-directory): Renamed from
9212 mh-store-mime-parts-directory
9213 (mh-store-mime-parts-directory): Renamed from
9214 mh-store-mime-parts-directory-default.
9215
92162002-09-16 Peter S Galbraith <psg@debian.org>
9217
9218 * mh-comp.el (mail-citation-hook): Doc tweaks suggested by Bill.
9219
92202002-09-08 Satyaki Das <satyaki@theforce.stanford.edu>
9221
9222 * mh-e.el (autoloads): Reorder autoload of mh-reply to avoid
9223 compiler warning.
9224
92252002-09-03 Peter S Galbraith <psg@debian.org>
9226
9227 * mh-mime.el (mh-store-mime-parts-directory): New defcustom.
9228 Default directory to use for mh-store-mime-parts.
9229 (mh-store-mime-parts): New Command. Store the MIME parts of the
9230 current message.
9231 (mh-store-mime-parts-directory-default): New internal working
9232 variable. Default to use for mh-store-mime-parts-directory, set
9233 from last use.
9234
9235 * mh-e.el (mh-folder-seq-tool-bar-map): Add mh-store-mime-parts to
9236 toolbar.
9237
9238
92392002-08-22 Satyaki Das <satyaki@theforce.stanford.edu>
9240
9241 * mh-seq.el (mh-thread-generate-scan-lines): In threaded view,
9242 complete scan lines are printed for all messages (not just the
9243 ones at the top of a thread).
9244
9245 * mh-index.el (mh-index-insert-scan): Replace use of kill-line
9246 since that pollutes the kill-ring.
9247
9248 * mh-comp.el (autoloads): Add autoloads for search and subseq to
9249 get rid of compiler warnings.
9250
92512002-08-19 Peter S Galbraith <psg@debian.org>
9252
9253 * reply-to.xpm, reply-to.pbm, reply-from.xpm, reply-from.pbm,
9254 * reply-all.xpm, reply-all.bpm: New icons for various reply methods.
9255 * mh-e.el (mh-folder-tool-bar-map): Split reply button into three
9256 that won't prompt for "from", "to" and "all".
9257 * mh-comp.el (mh-reply): Put variable reply-to in the interactive
9258 list since it's specified on the command line for the new toolbar.
9259
9260 * mh-comp.el (mail-citation-hook): Tweak docs concerning
9261 historical usage for supercite.
9262 (mh-yank-from-start-of-msg): Add settings 'supercite and
9263 'autosupercite. Rename 'automatic to 'autoattrib.
9264 (mh-insert-prefix-string): Invoke sc-cite-original if
9265 mh-yank-from-start-of-msg is et to 'supercite or 'autosupercite.
9266
92672002-08-17 Satyaki Das <satyaki@theforce.stanford.edu>
9268
9269 * mh-comp.el (compilation-fix): Reorder defvars to avoid warnings
9270 during compilation.
9271
92722002-08-17 Peter S Galbraith <psg@debian.org>
9273
9274 * mh-comp.el (mh-yank-from-start-of-msg): Add 'automatic choice.
9275 Do as for `attribution' automatically when show buffer matches the
9276 message being replied-to.
9277 (mh-reply): Call 'mh-yank-cur-msg when mh-yank-from-start-of-msg
9278 is set to 'automatic and show buffer matches message number being
9279 replied-to.
9280 (mh-show-buffer-message-number): New helper function to get the
9281 message number of the current show-buffer.
9282 (mh-yank-cur-msg): Handle 'automatic choice the same as 'attribution.
9283 (mh-yank-cur-msg): Bug fix. It would bail on error if
9284 mh-show-buffer didn't exists.
9285
92862002-08-16 Peter S Galbraith <psg@debian.org>
9287
9288 * mh-comp.el (mh-insert-x-mailer): It wrongly assumed that Emacs
9289 was used even when XEmacs was used. Fixed so X-Mailer header is
9290 more exact about what we are using.
9291
92922002-08-15 Peter S Galbraith <psg@debian.org>
9293
9294 * mh-e.el (mh-version): Change CVS version number to 6.1+cvs just
9295 so X-Mailer header is more exact about what we are using.
9296
9297 * mh-mime.el (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp,
9298 mh-mml-attach-file):
9299 "Jeffrey P. Morgenthaler" <jpmorgen@congee.gsfc.nasa.go> reported
9300 that "require" in emacs 20.3 doesn't handle 3 arguments. We
9301 use "load" at the top of file elsewhere anyway to handle such a
9302 case of non-essential loading, so switch to that here.
9303
93042002-08-06 Satyaki Das <satyaki@theforce.stanford.edu>
9305
9306 * mh-funcs.el (autoload): Add autoload for mh-speed-invalidate-map.
9307
9308 * mh-speed.el (mh-speed-add-folder): New function to make the
9309 speedbar aware of new folders when they are created by mh-e.
9310
9311 * mh-utils.el (mh-prompt-for-folder): Use mh-speed-add-folder to
9312 tell speedbar that new folder is being created. Also use folder
9313 instead of mkdir to create new folders.
9314
93152002-08-01 Peter S Galbraith <psg@debian.org>
9316
9317 * mh-utils.el (mh-decode-quoted-printable): Conditionalize the
9318 limit of search for quoted-printable. If we're using mm-decode
9319 for MIME decoding, it's possible that `mimedecode' could mess our
9320 message, so we only run a full search for quoted-printable parts
9321 when not using gnus' mm-decode. When using mm-decode, mimedecode
9322 can still help by handling the case of the whole message being
9323 quoted-printable as opposed to only a part.
9324
93252002-07-31 Peter S Galbraith <psg@debian.org>
9326
9327 * mh-comp.el (mh-compose-insertion): Moved from mh-mime.el because
9328 the pulldown menu were broken in XEmacs21 from this variable being
9329 undefined.
9330
93312002-07-28 Mark D. Baushke <mdb@gnu.org>
9332
9333 * mh-utils.el (mh-show-mode): Use the default paragraph-start
9334 rather than the inherited text-mode value.
9335
93362002-07-28 Satyaki Das <satyaki@theforce.stanford.edu>
9337
9338 * mh-seq.el (mh-thread-duplicates): New hash table to track
9339 duplicate messages.
9340 (mh-thread-get-message): Remove debug code.
9341 (mh-thread-canonicalize-id): Modified to handle messages without
9342 message-id header. Such messages are given distinct copies of the
9343 empty string as message-id.
9344 (mh-thread-generate): The function was inadvertently rebuilding
9345 the thread tree when message refiles and message deletes are
9346 processed. The change here fixes that. Also code has been added to
9347 keep track of duplicate message-id's.
9348 (mh-thread-generate-scan-lines): Modified to print scan lines for
9349 duplicate messages (that is messages with the same message-id).
9350 (mh-thread-forget-message): Modified to maintain
9351 mh-thread-duplicates.
9352
93532002-07-22 Satyaki Das <satyaki@theforce.stanford.edu>
9354
9355 * mh-speed.el (mh-speed-parse-flists-output): Use delete-region
9356 instead of kill-region. Otherwise the kill ring gets polluted.
9357
93582002-07-16 Satyaki Das <satyaki@theforce.stanford.edu>
9359
9360 * mh-seq.el (mh-thread-update-scan-line-map): New function to
9361 refresh the stale scan lines.
9362 (mh-thread-inc): Update old scan lines when mh-thread-inc is
9363 called. Otherwise notations for deleted and refiled messages get
9364 lost and the folder display gets out of sync with real mh-e state.
9365
9366 * mh-mime.el (mh-mm-display-part): Call Gnus citation highlight
9367 code when text part is displayed. Otherwise buttonized text parts
9368 aren't correctly fontified when they are displayed.
9369
93702002-07-15 Mark D. Baushke <mdb@gnu.org>
9371
9372 * mh-utils.el (mm-decode): Use load for the Non-fatal depencency
9373 on the mm-decode library.
9374 * mh-mime.el (mm-decode, mm-uu, mm-view): Use load for the
9375 Non-fatal depencencies on the mm-decode, mm-uu and mm-view
9376 libraries.
9377
93782002-07-15 Satyaki Das <satyaki@theforce.stanford.edu>
9379
9380 * mh-utils.el (mh-require, mh-autoload): Remove these macros.
9381 (mh-decode-mime): Initialized to t iff the mm-decode library is
9382 present in the load-path.
9383 * mh-mime.el (mh-require): Don't use it anymore.
9384
93852002-07-15 Mark D Baushke <mdb@gnu.org>
9386
9387 * mh-utils.el (mh-update-scan-format): Rewrite for compatibility
9388 with Xemacs as replace-match appears not to have identical
9389 functionality with FSF emacs.
9390 (mh-scan-msg-format-regexp): Deleted. This regexp is now hardcoded
9391 into the mh-update-scan-format function.
9392
93932002-07-12 Satyaki Das <satyaki@theforce.stanford.edu>
9394
9395 * mh-seq.el: Add message threading code.
9396
9397 * mh-utils.el (mh-letter-thread-folder): New interactive function
9398 that allows switching to threaded view from show buffer.
9399 (mh-show-folder-map): Bound "F t" to call mh-letter-thread-folder.
9400 (mh-goto-msg): Replace the function to not assume that messages
9401 are sorted in the folder buffer.
9402
9403 * mh-e.el (mh-folder-threaded-view-p): New buffer local variable
9404 in the folder buffer that records whether threaded view is being
9405 used currently.
9406 (mh-scan-subject-regexp, mh-scan-format-regexp): Get font lock
9407 working for threaded view as well.
9408 (mh-regenerate-headers): Reset mh-folder-threaded-view-p to nil.
9409 (mh-get-new-mail, mh-process-commands): Do incremental threading
9410 if folder is in threaded view.
9411 (mh-delete-scan-msgs): Update thread tables if folder is in
9412 threaded view.
9413 (mh-folder-map): Add "F t" as key binding for mh-thread-folder
9414
9415 * mh-comp.el (mh-yank-cur-msg): Bug fix. mh-show-buffer is only
9416 has a meaningful value in the folder buffer.
9417
94182002-07-11 Peter S Galbraith <psg@debian.org>
9419
9420 * mh-comp.el (mh-yank-cur-msg): Run only if mh-show-buffer
9421 actually exists (otherwise a back-traceable error occurred).
9422
9423 * mh-utils.el (mh-find-progs): Run PATH search only when mh-progs,
9424 mh-lib and mh-lib-progs are not all already set. This allows the
9425 user to set them using a simple setq prior to loading mh-e. This
9426 is useful for implementation of mh-e on win32. Note that many
9427 commands still call mh-find-path which also parses the mh_profile
9428 file (that may still fail on win32), so this is still done often.
9429 But it lets us change the mh_profile file and have mh-e see the
9430 changed file without exiting emacs and starting over so I left
9431 that in.
9432
94332002-07-04 Satyaki Das <satyaki@theforce.stanford.edu>
9434
9435 * mh-index.el (mh-index-show): Fixed a bug in mh-index-show which
9436 caused it to lose track of point when called from show buffer.
9437
94382002-07-04 Mark D. Baushke <mdb@gnu.org>
9439
9440 * Makefile: Add more information and common methods to allow both
9441 GNU make and Berkeley make to properly build everything.
9442
94432002-07-04 Satyaki Das <satyaki@theforce.stanford.edu>
9444
9445 * mh-mime.el (mh-push-button): Bug fix for mime display with
9446 mouse. Select show window before executing the mime display
9447 functions.
9448
94492002-07-01 Mark D. Baushke <mdb@gnu.org>
9450
9451 * Makefile: Use a conditional variable assignment operator rather
9452 than ifndef to let Makefile be used by both GNU make and Berkeley
9453 make (or similar versions of make). This does not help Solaris
9454 /usr/ccs/bin/make, but Solaris make has problems with the ifndef
9455 syntax too.
9456
94572002-07-01 Satyaki Das <satyaki@theforce.stanford.edu>
9458
9459 * mh-index.el (mh-index-search): Check for mh-decode-mime before
9460 adding mh-mime-cleanup to kill-buffer-hook.
9461
9462 * mh-mime.el (mm-destroy-parts): Add definition for old emacs.
9463
94642002-06-30 Mark D Baushke <mdb@gnu.org>
9465
9466 * mh-utils.el (mh-update-scan-format): Add documentation string.
9467 (mh-scan-msg-format-regexp): Update the regexp to find %(msg).
9468 (mh-set-cmd-note): When mh-scan-format-file is not t, dynamic
9469 update of mh-cmd-note is wrong. Do not assume that
9470 mh-scan-format-nmh and mh-scan-format-mh can be kept in lock-step
9471 with mh-cmd-note via mh-set-cmd-note. The mh-scan-format function
9472 is now where the updated mh-cmd-note value is put into the scan
9473 format.
9474
9475 * mh-e.el (mh-generate-new-cmd-note): Add documentation string.
9476 (mh-scan-format): Use mh-update-scan-format to get updated copies
9477 of mh-scan-format-nmh and mh-scan-format-mh to avoid format skew.
9478 (mh-get-new-mail): Do not try to adapt mh-cmd-note unless
9479 mh-scan-format-file is equal to t.
9480 (mh-scan-format-nmh): No longer buffer local.
9481 (mh-scan-format-mh): No longer buffer local.
9482
94832002-06-30 Satyaki Das <satyaki@theforce.stanford.edu>
9484
9485 * mh-index.el (mh-index-max-msg-index): New variable to keep track
9486 of max message index among search results. If mh-adaptive-cmd-note
9487 is non-nil this is used to compute the width of the index field.
9488 (mh-index-search): Keep track of max index seen while parsing the
9489 search results and set it if mh-adaptive-cmd-note is non-nil.
9490 (mh-index-find-max-width): New function to find the required width
9491 of the message index field.
9492 (mh-defun-index): Binding buffer local variables is bad, so don't
9493 do that.
9494 (mh-index-show): New argument display-headers-p decides whether
9495 the message is displayed in raw form or not.
9496 (mh-index-header-display): New interactive function bound to ","
9497 which shows the message in raw form.
9498 (mh-index-keymap): Add appropriate bindings for backtab and ",".
9499 (read-from-string): Add ignore-errors around it so that the code
9500 doesn't die when it gets unexpected input.
9501
95022002-06-29 Satyaki Das <satyaki@theforce.stanford.edu>
9503
9504 * mh-index.el (mh-count-windows): This function works around the
9505 lack of the window-list builtin function in emacs20.
9506
95072002-06-29 Mark D Baushke <mdb@gnu.org>
9508
9509 * mh-utils.el (mh-message-number-width): New function to scan
9510 the last message of a folder and return its width.
9511 (mh-adaptive-cmd-note): New variable, if Non-nil indicates that
9512 mh-set-cmd-note should be called with the message width for the
9513 folder.
9514 (mh-cmd-note): Update documentation.
9515 (mh-update-scan-format): Helper function for updating the
9516 mh-scan-format-nmh and mh-scan-format-mh variables.
9517 (mh-scan-msg-overflow-regexp): New variable to help find problem
9518 messages after an inc.
9519 (mh-scan-msg-format-regexp): New variable to find the old message
9520 width in one of the mh-scan-format-nmh or mh-scan-format-mh
9521 variables.
9522 (mh-set-default-cmd-note): Replaced by mh-set-cmd-note.
9523 (mh-set-cmd-note): New function to replace update mh-cmd-note
9524 value.
9525
9526 * mh-e.el (mh-regenerate-headers): If mh-adaptive-cmd-note is
9527 non-nil, use mh-set-cmd-note on empty folder buffers.
9528 (mh-make-folder): Ditto.
9529 (mh-generate-new-cmd-note): New function to adapt the mh-cmd-note
9530 to fit when mh-get-new-mail gets message number truncation.
9531 (mh-get-new-mail): Maybe use mh-generate-new-cmd-note if
9532 mh-adaptive-cmd-note is Non-nil.
9533
95342002-06-29 Satyaki Das <satyaki@theforce.stanford.edu>
9535
9536 * mh-speed.el (mh-speed-view): The display gets confused if the
9537 cursor is in the show buffer when mh-speed-view is called. This is
9538 a fix for that.
9539
95402002-06-27 Satyaki Das <satyaki@theforce.stanford.edu>
9541
9542 * mh-e.el (mh-next-undeleted-msg): Get rid of optional arg
9543 reverse-p. If there are no more undeleted messages the the point
9544 remains at its original position and a message is produced (closes
9545 SF #494304).
9546 (mh-previous-undeleted-msg): Change similar to
9547 mh-next-undeleted-msg.
9548 (mh-next-msg, mh-refile-msg, mh-delete-msg): Backout previous
9549 change.
9550 (mh-folder-map): Bind "S-tab" and "K S-tab" to mh-prev-button.
9551
9552 * mh-utils.el (mh-show-mode-map): Bind "S-tab" and "K S-tab" to
9553 mh-letter-prev-button.
9554
9555 * mh-mime.el (gnus-newsgroup-name): Initialize it to nil, so that
9556 mm-uu-dissect doesn't cause error.
9557
95582002-06-27 Mark D Baushke <mdb@gnu.org>
9559
9560 * mh-utils.el (mh-cmd-note): Make buffer-local. Changes to this
9561 variable should be made via the new mh-set-default-cmd-note
9562 function.
9563 (mh-set-default-cmd-note): New function to setq-default the
9564 mh-cmd-note, mh-scan-format-mh and mh-scan-format-nmh values to
9565 related values.
9566
9567 * mh-e.el (mh-scan-format-mh): Make buffer-local.
9568 (mh-scan-format-nmh): Ditto.
9569 (mh-scan-good-msg-regexp): Use a more general regular expression
9570 so that the width of message numbers, mh-cmd-note, may vary.
9571 (mh-scan-deleted-msg-regexp): Ditto.
9572 (mh-scan-refiled-msg-regexp): Ditto.
9573 (mh-scan-cur-msg-number-regexp): Ditto.
9574 (mh-scan-cur-msg-regexp): Ditto.
9575 (mh-scan-subject-regexp): Ditto.
9576
95772002-06-26 Satyaki Das <satyaki@theforce.stanford.edu>
9578
9579 * mh-speed.el: Speedbar support code.
9580
9581 * Makefile: Add mh-speed.el to MH-E-SRC.
9582
9583 * mh-utils.el (mh-prompt-for-folder): Add speedbar hook if
9584 speedbar is being used.
9585
9586 * mh-funcs.el (mh-kill-folder): Add speedbar hook if speedbar is
9587 being used.
9588
9589 * mh-e.el (speedbar-autoloads): Autoload speedbar initialization
9590 functions so that speedbar can find them.
9591
95922002-06-25 Satyaki Das <satyaki@theforce.stanford.edu>
9593
9594 * mh-index.el (mh-grep-execute-search, mh-grep-next-result): Allow
9595 grep to be used to search mail.
9596 (mh-index-font-lock-keywords): Modified to avoid bug when using
9597 lazy font-lock.
9598
9599 * mh-e.el (mh-delete-msg, mh-refile-msg): Modify so that if no
9600 undeleted (or unrefiled) message exists in the current movement
9601 direction then try to find an undeleted (or unrefiled) message in
9602 the opposite direction instead.
9603 (mh-next-undeleted-msg): Added a new optional argument. If non-nil
9604 search for undeleted message backwards if none exists in the
9605 forward direction.
9606 (mh-previous-undeleted-msg): Added an optional argument. If
9607 non-nil search for undeleted message in the forward direction if
9608 none exists in the backward direction.
9609 (mh-next-msg): Optional argument to change direction if undeleted
9610 messages are not found in the current direction.
9611
9612 * mh-index.el (mh-cmd-note): Use mh-cmd-note instead of hardcoding
9613 the index field size to 4.
9614
9615 * mh-utils.el (mh-show-addr, mh-show-xface): New functions added
9616 to do xface display and goto-addr interface to allow reuse by the
9617 mime display code.
9618 (mh-show-mode): Use mh-show-addr and mh-show-xface. Only add
9619 mh-mime-cleanup to kill-buffer-hook if mime decoding is enabled.
9620 (mh-modify): Use mh-letter-mode instead of mh-show-mode when
9621 editing messages.
9622
9623 * mh-mime.el (mh-mm-inline-message): Arrange for xface and
9624 highlighting to work in forwarded messages.
9625
96262002-06-23 Peter S Galbraith <psg@debian.org>
9627
9628 * mh-comp.el (mh-yank-from-start-of-msg): Add 'attribution' option
9629 to add an attribution line in mh-yank-cur-msg.
9630 (mh-extract-from-attribution-verb): Verb to use for attribution
9631 when a message is yanked by mh-yank-cur-msg. Provides a method
9632 for setting a different language.
9633 (mh-yank-cur-msg): Add support for 'attribution' option.
9634 (mh-extract-from-attribution): Function to get the attribution
9635 line, or the sender from the From: line in the current show buffer.
9636
96372002-06-20 Satyaki Das <satyaki@theforce.stanford.edu>
9638
9639 * mh-index.el (mh-index-show): mh-display-msg was not being called
9640 in the show buffer. This causes weird results on some mime messages.
9641
9642 * mh-mime.el (gnus-newsgroup-charset): Defvar to avoid error in
9643 pgp messages if gnus hasn't been used yet.
9644
9645 * mh-comp.el (mh-letter-mode-map): Typo fix.
9646
96472002-06-19 Satyaki Das <satyaki@theforce.stanford.edu>
9648
9649 * mh-mime.el (mh-mml-secure-message-encrypt-pgpmime): Typo fix.
9650 (compiler-warnings): Add autoloads to remove compiler warnings.
9651
9652 * mh-index.el (autoload-fixes): Fix autoload forms.
9653
96542002-06-18 Satyaki Das <satyaki@theforce.stanford.edu>
9655
9656 * mh-comp.el (mh-letter-mode-map): Change binding of "\C-c\C-ma"
9657 to mh-compose-insertion. Remove duplicate binding for "C-c\C-mf".
9658 (compiler-warnings): Add defvar to remove compiler-warning.
9659
96602002-06-18 Peter S Galbraith <psg@debian.org>
9661
9662 * mh-comp.el (mh-letter-menu): Conditionalize GPG function on
9663 mh-gnus-pgp-support-p.
9664
9665 * mh-mime.el (mh-mml-forward-message): s/subseq/substring/.
9666 (mh-compose-forward): cut&paste typo: s/messages/message/.
9667 (mml-minibuffer-read-file): autoload added.
9668 (mml-minibuffer-read-description): autoload added.
9669 (mml-insert-empty-tag): autoload added.
9670 (mh-mml-secure-message-sign-pgpmime): Check mh-gnus-pgp-support-p.
9671 (mh-mml-secure-message-encrypt-pgpmime): Check mh-gnus-pgp-support-p.
9672
96732002-06-17 Peter S Galbraith <psg@debian.org>
9674
9675 * mh-utils.el (mh-show-use-xface): Check for availability of
9676 `uncompface' executable on system.
9677
9678 * mh-mime.el (mh-compose-forward): New front end for both
9679 mh-mml-forward-message and mh-mhn-compose-forw.
9680 (mh-compose-insertion): New front end for both mh-mml-attach-file
9681 and mh-mhn-compose-insertion.
9682 (mh-mml-to-mime): New function. Compose mime message from mml
9683 directives.
9684 (mh-mml-forward-message): New function. Forward a message as
9685 attachment.
9686 (mh-mml-attach-file): New function. Attach a file to the outgoing
9687 MIME message.
9688 (mh-mml-compose-insert-p): New variable. Buffer-local variable to
9689 know whether MIME insertion was done. Triggers an automatic call
9690 to `mh-mml-to-mime' in `mh-send-letter'.
9691 (mh-mml-secure-message-sign-pgpmime): New function.
9692 Front end to mml-secure-message-sign-pgpmime.
9693 (mh-mml-secure-message-encrypt-pgpmime): New function.
9694 Front end to mml-secure-message-encrypt-pgpmime.
9695
9696 * mh-comp.el (mh-send-letter): automatic call to `mh-mml-to-mime'
9697 if mh-mml-compose-insert-p is set.
9698 (mh-letter-mode-map): Add keys for new mh-mime functions above.
9699 * mh-comp.el: Added autoloads for new mh-mime functions above.
9700
97012002-06-17 Peter S Galbraith <psg@debian.org>
9702
9703 * mh-utils.el (mh-show-use-xface): new defcustom to determine
9704 whether to call external package x-face to display the x-face.
9705 (mh-invisible-headers-show-xface): variable now defaults to value
9706 of mh-show-use-xface.
9707 (mh-show-mode): When mh-show-use-xface is t, invoke
9708 external package x-face to display the x-face.
9709
97102002-06-15 Satyaki Das <satyaki@theforce.stanford.edu>
9711
9712 * mh-e.el (mh-prev-button): New interactive function which moves
9713 point to the previous mime button in the show buffer.
9714 (mh-folder-mode-map): Bind M-TAB and K M-TAB to mh-prev-button.
9715
9716 * mh-utils.el (mh-show-mode-map): Bind M-TAB and K M-TAB to call
9717 mh-letter-prev-button (which is analogous to mh-prev-button).
9718 (mh-gnus-pgp-support-p): New global variable to replace the
9719 variable mh-recent-gnus-p. The name better describes what it is
9720 used for.
9721
9722 * mh-mime.el (mh-mime-display-part, mh-mime-display-single): Use
9723 mh-gnus-pgp-support-p instead of mh-recent-gnus-p.
9724
97252002-06-12 Satyaki Das <satyaki@theforce.stanford.edu>
9726
9727 * mh-mime.el (mh-display-buttons-for-inline-parts): New
9728 customizable variable. When non-nil inline parts have are
9729 displayed with a button (that is initially expanded).
9730 (mh-maybe-insert-newline): The function has been removed.
9731 (mh-mime-display-single): Add code to display buttons for inline
9732 parts. Reduce the insertion of extra newlines between inline parts
9733 and also for pgp signature parts.
9734 (mh-mm-display-part): The function has been rewritten and cleaned
9735 up. There was a bug which could change the show buffer if the user
9736 pressed C-g while a mime part was being displayed has been fixed.
9737 (mh-press-button, mh-push-button): Use unwind-protect to make sure
9738 that set-buffer-modified-p is always called after mime display.
9739 (mh-mime-inline-part): The behavior of the function has been
9740 changed so that it toggles the display of the raw bytes.
9741 (mh-mime-display-security): Remove the display of too many
9742 newlines.
9743 (documentation): Remove most check-doc warnings.
9744
9745 * mh-comp.el (mh-filter-out-non-text): Updated since whitespace
9746 added around mime buttons have changed.
9747
97482002-06-10 Satyaki Das <satyaki@theforce.stanford.edu>
9749
9750 * mh-index.el (mh-index-last-search, mh-index-search): The default
9751 prompt in mh-index-search has been removed since currently there
9752 is no good way of reading "+" with mh-prompt-for-folder.
9753 (mh-index-folder-mode, mh-index-show-mode): New major modes
9754 derived from mh-folder-mode and mh-show-mode respectively. They
9755 use a restricted keymap compared to the parent modes.
9756 (mh-index-folder-face): New customizable face to display folder
9757 names in the index buffer.
9758 (documentation): Change two spaces after period back to one.
9759
97602002-06-08 Satyaki Das <satyaki@theforce.stanford.edu>
9761
9762 * mh-e.el (mh-folder-toggle-mime-part): New interactive function
9763 to control mime display from folder buffer.
9764 (mh-folder-inline-mime-part): New interactive function to inline
9765 raw mime part from folder buffer.
9766 (mh-folder-save-mime-part): New interactive function to save mime
9767 part from folder buffer.
9768 (mh-folder-mode-map): Add keybindings for "K v", "K o", "K i" and
9769 "K \t" to mh-folder-mode-map.
9770 (mh-goto-next-button): Modified to allow searching for next button
9771 that satisfies some condition.
9772 (mh-folder-mime-action): Support function for
9773 mh-folder-save-mime-part, mh-folder-inline-mime-part and
9774 mh-folder-toggle-mime-part.
9775
9776 * mh-utils.el (mh-show-mode-map): Modify keymap to add appropriate
9777 bindings for "K v", "K o", "K i" and "K \t".
9778
9779 * mh-index.el (documentation): Fix docs according to checkdoc
9780 format.
9781
97822002-06-07 Satyaki Das <satyaki@theforce.stanford.edu>
9783
9784 * mh-seq.el, mh-funcs.el (Compiler): Remove (require 'view) and
9785 instead add defvar for view-exit-action.
9786
97872002-06-06 Satyaki Das <satyaki@theforce.stanford.edu>
9788
9789 * mh-comp.el (mh-insert-x-face): If transient-mark-mode is enabled
9790 the call to mark returns error. So avoid using mark.
9791
9792 * mh-index.el: Support for new interactive function
9793 mh-index-search.
9794
9795 * mh-e.el (mh-next-button, mh-goto-next-button): Refactor
9796 mh-next-button so that the code may be reused by mh-index.el.
9797 (mh-folder-map): Add key "F i" to call mh-index-search.
9798
9799 * mh-utils.el (mh-recent-gnus-p): Fix documentation.
9800 (mh-msg-folder, mh-display-msg): The new function mh-msg-folder
9801 maps a MH folder name to the buffer displaying it. In normal
9802 operation the two names are identical but they are different in a
9803 folder buffer generated by index search. Minor modification to
9804 mh-display-msg to use mh-msg-folder to enable mh-index-search to
9805 reuse code.
9806 (mh-show-mode-map): Add key "F i" to call mh-index-search.
9807
9808 * Makefile: Add mh-index.el
9809
98102002-06-05 Peter S Galbraith <psg@debian.org>
9811
9812 * mh-e.el (mh-folder-message-menu): Add an entry for mh-modify.
9813
98142002-05-31 Satyaki Das <satyaki@theforce.stanford.edu>
9815
9816 * mh-utils.el (mh-decode-quoted-printable): Only decode if the
9817 whole message is encoded. So restrict the search for the
9818 content-transfer-encoding header to the headers of the message
9819 itself.
9820
9821 * mh-mime.el (mh-mime-display-alternative): Make sure that point
9822 is moved after mm-display-part is called.
9823
98242002-05-29 Satyaki Das <satyaki@theforce.stanford.edu>
9825
9826 * mh-mime.el (mh-mime-display-single): Fix the logic that
9827 determines when an attachment is buttonized. For inline parts that
9828 can't be displayed a button is now created.
9829
98302002-05-29 Satyaki Das <satyaki@theforce.stanford.edu>
9831
9832 * mh-e.el (mh-regenerate-headers): Fix an error in which the
9833 mh-mode-line-annotation was not being set properly.
9834
9835 * mh-mime.el, mh-utils.el (compilation): Macros mh-require and
9836 mh-autoload are used to make sure that emacs20 doesn't croak when
9837 it tries to load non-existent mm-* files.
9838 (mh-decode-mime): Make it default to nil for Emacs major version
9839 below 21.
9840
98412002-05-28 Satyaki Das <satyaki@theforce.stanford.edu>
9842
9843 * mh-e.el (mh-regenerate-headers): Generalize the function to
9844 handle multiple ranges.
9845
98462002-05-25 Satyaki Das <satyaki@theforce.stanford.edu>
9847
9848 * compilation: Reduce use of eval-when-compile so that load-path
9849 is not changed if lisp files are loaded without compilation. Small
9850 changes were made to Makefile, mh-comp.el mh-e.el, mh-funcs.el,
9851 mh-seq.el, mh-utils.el
9852
9853 * mh-e.el (mh-next-button, mh-folder-mode-map): New interactive
9854 function to advance point to next MIME button. It is bound to TAB.
9855
9856 * mh-utils.el (mh-letter-next-button, mh-show-mode-map): New
9857 interactive function mh-letter-next-button has been added to
9858 advance point to the next MIME button. It is bound to TAB.
9859
9860 * mh-mime.el (comments): Added some comments.
9861
98622002-05-24 Satyaki Das <satyaki@theforce.stanford.edu>
9863
9864 * mh-mime.el (compilation): Replace (eval-when-compile ...) by
9865 (eval-when (compile) ...) to remove a bug when mh-e is loaded
9866 without compilation.
9867
98682002-05-23 Satyaki Das <satyaki@theforce.stanford.edu>
9869
9870 * mh-comp.el (compilation): Some code was rearranged to avoid
9871 compiler warnings.
9872
9873 * mh-e.el (compilation): Code rearrangement and extra autoloads to
9874 remove compiler warnings
9875 (mh-quit): Add call to mh-destroy-postponed-handles to remove
9876 handles that are associated with external viewers. Also fixed a
9877 bug that I accidentally introduced by adding an extra line when
9878 cut and pasting my changes.
9879
9880 * mh-func.el (compilation): Code rearrangement to remove compiler
9881 warnings.
9882
9883 * mh-mime.el (compilation): Code rearrangement to remove compiler
9884 warnings.
9885 (mh-defun-compat): New macro to define to useful functions that
9886 aren't present present in old Gnus.
9887 (mh-destroy-postponed-handles): New function to cleanup handles
9888 that are associated with external viewers.
9889 (mh-handle-set-external-undisplayer): New function to replace
9890 mm-handle-set-external-undisplayer. It associates handles for
9891 external viewers with the folder buffer. These are released when
9892 the user quits the folder.
9893 (mh-mime-display, mh-press-button, mh-push-button): Hook in
9894 mh-handle-set-external-undisplayer.
9895 (mh-maybe-insert-newline): New function to avoid inserting too
9896 many newlines between mime parts.
9897 (mh-mm-display-part): Workaround for Gnus bug which causes new
9898 lines to be inserted when images are shown inline.
9899 (mh-mime-display-security): Cut down on newlines inserted.
9900
9901 * mh-pick.el (compilation): Code rearrangement to remove compiler
9902 warnings.
9903
9904 * mh-seq.el (compilation): Code rearrangement to remove compiler
9905 warnings.
9906 (comments): Remove @SD from comments.
9907
9908 * mh-utils.el (compilation): Slight code rearrangement.
9909 (mh-defun-show-buffer): Fix documentation so that the first line
9910 is not too long as was the case earlier. Use
9911 mh-previous-window-config to remember where the cursor should
9912 return functions like mh-reply.
9913 (mh-display-msg): Initialize handles data-structure for the folder
9914 buffer so that postponed handles can be added to it.
9915 (mh-add-msgs-to-seq): Always keep messages in the sequences
9916 sorted. This removes some unexpected behavior when working with
9917 sequences that go out of sync with the corresponding MH sequences.
9918 (mh-canonicalize-sequence): New function to sort and remove
9919 duplicates from mh-e sequence.
9920
99212002-05-21 Satyaki Das <satyaki@theforce.stanford.edu>
9922
9923 * mh-utils.el (require): Load mm-decode.el here so that
9924 mm-inline-media-tests is properly initialized.
9925
9926 * mh-comp.el (mh-yank-cur-msg): Don't try to remove the displayed
9927 mime parts when yanking the message. This also fixes the problem
9928 of regions not being respected during the yank.
9929
99302002-05-20 Satyaki Das <satyaki@theforce.stanford.edu>
9931
9932 * mh-utils.el (compiler-warnings): Some code was rearranged to
9933 remove all compiler warnings.
9934 (mh-decode-mime): New defcustom to control whether
9935 mime attachments are shown using Gnus.
9936 (mh-globals-hash): New global variable which maps a given buffer
9937 to the corresponding mime data structures.
9938 (mh-recent-gnus-p): New global variable which checks if Gnus is
9939 recent enough so that PGP/GPG encrypted messages can be handled.
9940 (mh-mm-inline-media-tests): Tests to determine whether a mime part
9941 can be shown inline.
9942 (mh-gnus-article-highlight-citation): Shadow the Gnus function,
9943 gnus-article-add-button before gnus-article-highlight-citation is
9944 called. This prevents the insertion of useless buttons in the
9945 message.
9946 (mh-show-mode): Don't set font-lock-support-mode to nil. Modify
9947 kill-buffer-hook to call mh-mime-cleanup.
9948 (mh-modify): Only the edit buffer is shown.
9949 (mh-display-msg): Add call to mh-mime-display, mh-display-smileys,
9950 mh-display-emphasis when mh-decode-mime is non-nil.
9951
9952 * mh-mime.el (mh-buffer-data): New structure to keep track of
9953 per-buffer mime information.
9954 (compiler-warnings): Some code was rearranged to get rid of all
9955 compiler warnings.
9956 (mh-graphical-smileys-p): New defcustom which controls whether
9957 graphical smileys are shown.
9958 (mh-graphical-emphasis-p): New defcustom for graphical emphasis.
9959 (mh-max-inline-image-width, mh-max-inline-image-height): New
9960 defcustoms for inlining image.
9961 (gnus-local-map-property, mm-merge-handles): Copy utility
9962 functions for use with version of Gnus that ships with Emacs21.1.
9963 (mh-mime-cleanup): New function to free mime data-structures.
9964 (mh-add-missing-mime-version-header): New function to add missing
9965 Mime-Version header if a Content-Type header exists.
9966 (mh-display-smileys): New function to show graphical smileys.
9967 (mh-display-emphasis): New function to show graphical emphasis.
9968 (new-globals): New variables mh-mime-button-* and
9969 mh-mime-security-* were added to control mime buttons.
9970 (mh-mime-display): New function to display mime messages. The
9971 functions mh-mime-display-part, mh-mime-display-alternative,
9972 mh-mime-display-mixed, mh-mime-part-index, mh-small-image-p,
9973 mh-mime-display-single, mh-insert-mime-button, mh-mm-display-part,
9974 mh-press-button, mh-push-button, mh-mime-save-part,
9975 mh-mime-inline-part, mh-widget-press-button, mh-mm-inline-message,
9976 mh-mime-display-security, mh-mime-security-show-details,
9977 mh-mime-security-press-button and mh-insert-mime-security-button
9978 were added to support mh-mime-display.
9979
9980 * mh-e.el (mh-header-display): Bind mh-decode-mime to nil when
9981 mh-show-msg is called, so that mime isn't decoded when headers are
9982 displayed.
9983 (mh-quit): The show buffer is killed instead of invalidating and
9984 burying it.
9985
9986 * mh-comp.el (mh-yank-cur-msg): Filter out the mime buttons from
9987 the yanked message.
9988 (mh-filter-out-non-text): New function to filter out attachments
9989 from message being yanked.
9990
99912002-05-20 Bill Wohler <Bill.Wohler@openwave.com>
9992
9993 * mh-utils.el (mh-invisible-headers-show-xface): First sentence of
9994 docstring was not entirely on first line so was truncated in
9995 customize and help buffers. Reworded so first sentence could fit
9996 within 80 columns per checkdoc recommendation.
9997 (mh-defun-show-buffer): Reworded per checkdoc recommendations.
9998 Removed @SD while I was in there.
9999
100002002-05-18 Satyaki Das <satyaki@theforce.stanford.edu>
10001
10002 * mh-seq.el (mh-narrow-to-seq): This function now removes the
10003 current message notation in the folder. Otherwise, two current
10004 message notations may be present after mh-widen is called. Also
10005 mh-copy-seq-to-eob is called instead of mh-copy-seq-to-point since
10006 the latter has a bug.
10007 (mh-copy-seq-to-point): This function has a tricky problem. It
10008 calls mh-map-to-seq-msgs which uses mh-goto-msg. mh-goto-msg
10009 assumes that the folder is sorted (since it uses binary
10010 search). The assumption isn't true, so it may not copy all the
10011 messages. Since this function is not used any more it has been
10012 removed.
10013 (mh-copy-seq-to-eob): This function is a specialized (and
10014 hopefully correct) replacement for mh-copy-seq-to-point.
10015
100162002-05-17 Satyaki Das <satyaki@theforce.stanford.edu>
10017
10018 * mh-utils.el (mh-gnus-article-highlight-citation): Workaround for
10019 problem caused by low value of recursive-load-depth-limit in
10020 Emacs21.1 and CVS version of Gnus.
10021 (mh-show-mode-map): New keymap variable to facilitate use of
10022 summary commands from the show buffer.
10023 (mh-show-folder-buffer): New local variable which keeps track of
10024 the folder-buffer corresponding to the message being shown.
10025 (mh-defun-show-buffer): New macro to convert interactive functions
10026 callable in the summary buffer to interactive functions callable
10027 in the show buffer.
10028 (mh-show-mode): Make buffer read-only and use mh-show-mode-map as
10029 keymap (closes SF #527946).
10030 (mh-modify): New interactive function to edit a message in-place.
10031
10032 * mh-e.el (mh-goto-cur-msg): Add an optional argument,
10033 minimal-changes-p. If non-nil, the function will just change
10034 the point to current message and do not change folder display.
10035 (mh-folder-mode-map): Make "M" call mh-modify.
10036
100372002-05-07 Peter S Galbraith <psg@debian.org>
10038
10039 * mh-utils.el (mh-invisible-headers-show-xface): New defcustom
10040 variable. If non-nil, the X-Face header line will be excluded from
10041 the variable `mh-invisible-headers'. Set this when using a
10042 package such as x-face-el to display X-Face icons in mh-show-mode.
10043 This variable's setting will eventually be set automatically when
10044 mh-e does its own X-Face decoding (or this variable will be replaced
10045 by one telling mh-e to decode the X-Face). We may not ship the
10046 next release with this variable.
10047
100482002-05-07 Peter S Galbraith <psg@debian.org>
10049
10050 * mh-comp.el (mh-x-face-file): New defcustom variable. File name
10051 containing the encoded X-Face string to insert in outgoing mail.
10052 (mh-insert-x-face): New function. Appends an X-Face field to the
10053 header, but only if it doesn't already exist and if 'mh-x-face-file'
10054 is non-nil and points to an existing file.
10055 (mh-send-letter): Invoke mh-insert-x-face.
10056
100572002-04-29 Mike Kupfer <m.kupfer@acm.org>
10058
10059 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Check
10060 whether XEmacs region is actually active (needed at least for 21.1).
10061 [Patch committed by psg]
10062
100632002-04-29 Mike Kupfer <m.kupfer@acm.org>
10064
10065 * mh-utils.el (mh-prompt-for-folder): Remove "default" argument
10066 from completing-read as XEmacs-21.1 doesn't have it (21.4 does
10067 however) and using the argument adds no functionality.
10068 [Patch committed by psg]
10069
100702002-04-11 Peter S Galbraith <psg@debian.org>
10071
10072 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Add support for
10073 XEmacs to act on selected region when active.
10074
100752002-04-10 Peter S Galbraith <psg@debian.org>
10076
10077 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): XEmacs fix; Add
10078 check to see if mark-active is bound, because Mandrake Linux include
10079 XEmacs initialization code that binds transient-mark-mode. This
10080 fix gets around a problem in Mandrake only. It wasn't a problem
10081 on XEmacs generally. Fixes SF #541915.
10082
100832002-04-08 Bill Wohler <wohler@newt.com>
10084
10085 Released mh-e version 6.1.
10086
10087 * mh-e.el (mh-folder-unseen-seq-name): Use "mhparam -component
10088 Unseen-Sequence" command and "Unseen-Sequence: \\(.*\\)$" regexp
10089 to increase robustness.
10090 (mh-folder-unseen-seq-list): Use `expand-file-name' as
10091 `mh-expand-file-name' isn't needed and the former saves function
10092 call.
10093 (Version, mh-version): Updated for release 6.1.
10094
100952002-04-08 Peter S Galbraith <psg@debian.org>
10096
10097 * mh-e.el (mh-folder-unseen-seq-list): Specify mh-progs path in
10098 call to mark command. Fixes a bug in which unseen messages
10099 weren't highlighted if "mark" wasn't in the path.
10100
101012002-04-07 Bill Wohler <wohler@newt.com>
10102
10103 * MH-E-NEWS: Updated for release 6.1.
10104
10105 * README: Updated for release 6.1. Updated verbiage about reading
10106 MH-E-NEWS.
10107
10108 * mh-comp.el, mh-e.el, mh-funcs.el, mh-mime.el, mh-seq.el,
10109 mh-utils.el, mh-xemacs-compat.el: Updated copyright in files
10110 modified this year.
10111
10112 * mh-xemacs-compat.el: Put Author field back in, but set to FSF.
10113
10114 * mh-comp.el, mh-funcs.el, mh-mime.el, mh-seq.el,
10115 mh-utils.el: Fixed all checkdoc errors, except for no
10116 documentation, and documentation in comments. Also removed the-
10117 prefix from certain local variables.
10118
10119 * mh-e.el: Fixed all checkdoc errors, except for no documentation,
10120 and documentation in comments. Also removed the- prefix from
10121 certain local variables.
10122 (mh-folder-unseen-seq-name): Refactored to make default sequence
10123 name more explicit and to handle undefined Unseen-Sequence MH
10124 profile entry better.
10125
101262002-04-02 Peter S Galbraith <psg@debian.org>
10127
10128 * mh-e.el: 'defvar mh-folder-unseen-seq-name' called a function to
10129 set it's value, and this happens also on byte-compilation (where
10130 it can fail if the user's MH environment is not setup correctly).
10131 I now set the value of mh-folder-unseen-seq-name at runtime when I
10132 first need it. This should fix Debian bugs
10133 http://bugs.debian.org/140232 and http://bugs.debian.org/140817
10134
101352002-03-25 Peter S Galbraith <psg@debian.org>
10136
10137 * mh-utils.el: remove "(require 'mh-e)" since mh-utils.el should
10138 be at the bottom of the dependency tree.
10139 * mh-e.el (mh-folder-unseen-seq-name): Make sure mh-progs is set
10140 and use it as path to mhparam command in call-process.
10141
101422002-01-23 Peter S Galbraith <psg@debian.org>
10143
10144 * mh-e.el (mh-folder-font-lock-keywords): Add call to
10145 mh-folder-font-lock-unseen to fontify unseen messages in bold.
10146 (mh-folder-unseen-seq-name): Provide name of unseen sequence from
10147 mhparam. Used as default for variable of same name.
10148 (mh-folder-unseen-seq-list): Returns a list of unseen messages
10149 numbers for current folder.
10150 (mh-folder-unseen-seq-cache): Cache variable to hold list of
10151 unseen message numbers while font-lock iterates. This variable is
10152 buffer-local.
10153 (mh-folder-font-lock-unseen): Returns unseen message lines to
10154 font-lock one by one.
10155
101562002-01-15 Peter S Galbraith <psg@debian.org>
10157
10158 * mh-comp.el (mh-insert-prefix-string): Wrap a
10159 "(let ((zmacs-regions nil))" around (mark) so it works in XEmacs.
10160 Bug reported and fix suggested by Will Partain <partain@dcs.gla.ac.uk>
10161 Indeed, this is how it appears in XEmacs-21's mh-comp.el.
10162
101632001-12-16 Jeffrey C Honig <jch@honig.net>
10164
10165 * mh-comp.el (mh-forward): Move the assignment to `fwd-msg-file'
10166 to before the assignment to `draft' as the later changes buffers
10167 and invalidates `mh-seq-list' (which is used in a function called
10168 by (mh-seq-to-msgs)). Resolves SF #489448.
10169
10170 * mh-utils.el: Add defcustoms for `mh-temp-folders-buffer' and
10171 `mh-temp-sequences-buffer'.
10172
10173 * mh-e.el (mh-quit): If they exist, kill 'mh-temp-buffer,
10174 'mh-temp-folders-buffer and 'mh-temp-sequences-buffer when
10175 quitting.
10176
10177 * mh-funcs.el (mh-list-folders): Use `mh-temp-folders-buffer'
10178 (a defcustom initialized to "*Folders*") for folder listing. Put
10179 into view mode and set it up to kill the buffer when exiting view
10180 mode.
10181
10182 * mh-seq.el (mh-list-sequences): Use `mh-temp-sequences-buffer'
10183 (a defcustom initialized to "*Sequences") for sequences listing.
10184 Put into view mode and set it up to kill the buffer when exiting
10185 view mode.
10186
101872001-12-16 Bill Wohler <wohler@newt.com>
10188
10189 Released mh-e version 6.0.
10190
10191 * MH-E-NEWS: Be a little more specific about incompatible changes.
10192 Added info about outdated manual.
10193 Removed variables in mh-scan regexp table that did not exist in
10194 5.0.2.
10195 Added helpful documentation about finding relevant variables
10196 containing regexps to mh-scan-format-file's description.
10197
10198 * mh-e.el (mh-scan-format-file): Added information about getting a
10199 list of regexp variables that you'll need to change if you
10200 customize your scan's output.
10201 (mh-folder-mode): Added documentation about `mh-scan-format-file'
10202 for those users who modify their scan formats.
10203
10204 * README: New file. Describes packages and provides simple
10205 installation instructions.
10206
10207 * Makefile (clean, dist, install-emacs): Replaced $(RM) with rm
10208 -rf (closes SF #488661).
10209
102102001-12-14 Bill Wohler <wohler@newt.com>
10211
10212 Released mh-e version 5.0.93.
10213
10214 * Makefile (MH-E-SRC): Added mh-xemacs-compat.el.
10215 (MH-E-IMG): Added .pbm images for all. Removed mail_ prefix from
10216 all.
10217 (MH-E-IMG2): New variable to hold images in mail sub-directory.
10218 (dist): Updated target to make mail sub-directory and copy
10219 MH-E-IMG2 images there.
10220
10221 * mh-xemacs-compat.el: Modified docs per GNU coding conventions.
10222
10223 * mh-e.el: Reorganized variables having to do with the scan line.
10224 Moved some random variables that were interspersed out of the
10225 middle. Moved `mh-scan-format-file' first and let the variables
10226 flow from there.
10227
10228 As the number of variables increases, it is becoming important to
10229 organize the mh-e namespace. Several variables having to do with
10230 the format of scan lines were renamed, as follows:
10231 (mh-good-msg-regexp): Renamed to mh-scan-good-msg-regexp.
10232 (mh-deleted-msg-regexp): Renamed to mh-scan-deleted-msg-regexp.
10233 (mh-refiled-msg-regexp): Renamed to mh-scan-refiled-msg-regexp.
10234 (mh-valid-scan-line): Renamed to mh-scan-valid-regexp.
10235 (mh-cur-msg-number-regexp): Renamed to mh-scan-cur-msg-number-regexp.
10236 (mh-cur-msg-line-regexp): Renamed to mh-scan-cur-msg-regexp.
10237 (mh-scan-rcpt-addr-regexp): Renamed to mh-scan-rcpt-regexp.
10238 (mh-scan.font-lock-regexp): Renamed to mh-scan-format-regexp.
10239 (mh-folder-scan-font-lock-face): Renamed to
10240 mh-folder-scan-format-face.
10241 (mh-folder-cur-msg-line-face): Renamed to mh-folder-cur-msg-face).
10242
102432001-12-13 Bill Wohler <wohler@newt.com>
10244
10245 * mh-utils.el (mh-msg-number-regexp): Renamed to
10246 mh-scan-msg-number-regexp.
10247 (mh-msg-search-regexp): Renamed to mh-scan-msg-search-regexp.
10248
10249 * Corrected typos, quoted variables in doc strings, and made minor
10250 wording changes in docs.
10251
102522001-12-13 Peter S Galbraith <psg@debian.org>
10253
10254 * mh-xemacs-compat.el: defalias 'match-string-no-properties to
10255 'match-string for XEmacs. I've seen a better function for this
10256 that actually removes text properties, but this will do for now.
10257
10258 * mh-utils.el (mh-decode-quoted-printable): deactivate-mark not
10259 bound in XEmacs.
10260
10261 * mh-xemacs-compat.el: GNU Emacs Functions needed by XEmacs.
10262 New file.
10263 * mh-e.el: (require 'mh-xemacs-compat) when running XEmacs.
10264
102652001-12-12 Peter S Galbraith <psg@debian.org>
10266
10267 * mh-comp.el (mh-send-letter): function local-variable-p needs two
10268 arguments in XEmacs.
10269 (mh-send-letter): sendmail-coding-system not bound in XEmacs.
10270 (mh-send-letter): default-buffer-file-coding-system not bound in
10271 Xemacs.
10272
10273 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo):
10274 transient-mark-mode not bound in XEmacs. The feature of
10275 operations made on all messages in the selected range when
10276 transient-mark-mode is on doesn't work in XEmacs.
10277
10278 * mh-e.el, mh-utils.el: Conditionalize calls to
10279 'add-to-list 'facemenu-unlisted-faces for XEmacs.
10280
102812001-12-11 Jeffrey C Honig <jch@honig.net>
10282
10283 * mh-e.el (mh-scan-format): Add `mh-scan-format-file' variable to
10284 specify the scan format string or file to use. Define formats for
10285 MH and nmh that are compatible with the standard format, but
10286 provide hints for font-lock. Define (mh-scan-format) for use by
10287 (mh-regenerate-headers) and (mh-get-new-mail) to specify the args
10288 necessary to inform the scan program which scan format string or
10289 file to use.
10290
102912001-12-07 Peter S Galbraith <psg@debian.org>
10292
10293 * mh-e.el (scan.font-lock): New format file documented in comments.
10294 (mh-scan.font-lock-regexp): Adapted to new format.
10295 (mh-folder-font-lock-keywords): Use new format.
10296
10297 * mh-e.el (page-down.xpm): Icon renamed from nextpage.
10298
10299 * mh-utils.el (mh-decode-quoted-printable): Bug fix. Better check
10300 on what actually is a quoted-printable attachment.
10301
103022001-12-06 Eric Ding <ericding@alum.mit.edu>
10303
10304 * mh-mime.el (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp):
10305 require mailcap.el here rather than using autoload at top of
10306 mh-mime.
10307 (mh-file-mime-type): get rid of unused variables (why were they
10308 there to begin with?)
10309
103102001-12-06 Peter S Galbraith <psg@debian.org>
10311
10312 * mh-e.el (mh-cur-msg-number-regexp, mh-cur-msg-line-regexp):
10313 mh-cur-scan-msg-regexp splits into these two variables.
10314 The whole-line fontification is disabled, but easily restored by a
10315 user (although it could be a defcustom with choices DISABLED or
10316 the correct regexp?)
10317 (mh-folder-cur-msg-line-face): mh-folder-current-msg-face renamed
10318 to this.
10319 (mh-folder-cur-msg-number-face): mh-folder-current-face renamed to
10320 this.
10321
10322 * cabinet.xpm: Revert to rescan icon name.
10323 * mh-e.el (mh-folder-tool-bar-map): s/cabinet/rescan/
10324
10325 * mh-e.el (mh-folder-font-lock-keywords): Reorder and tweak such
10326 that current message line highlight doesn't mess up other highlights.
10327
103282001-12-05 Eric Ding <ericding@alum.mit.edu>
10329
10330 * mh-utils.el (mh-show-from-face): Change mh-show-from-face to
10331 cyan on dark backgrounds; through a series of changes, it had
10332 become the same color as mh-show-subject-face!
10333
103342001-12-05 Bill Wohler <Bill.Wohler@openwave.com>
10335
10336 * mh-e.el, mh-utils.el: Fixed typos in face definitions, and made
10337 a couple of small doc string tweaks while I was in there. Peter,
10338 if you don't agree, let me know and I'll back them out. I thought
10339 the "mh-e" in the text was redundant since the variables start
10340 with "mh"; I was also thinking ahead to how the documentation may
10341 read.
10342
103432001-12-05 Peter S Galbraith <psg@debian.org>
10344
10345 * mh-e.el (mh-cur-scan-msg-regexp): Match 0 is the whole line.
10346 (mh-folder-current-msg-face): New face with only a background
10347 settings, used in font-lock for the current message.
10348 (mh-folder-font-lock-keywords): Use mh-folder-current-msg-face for
10349 mh-cur-scan-msg-regexp.
10350
10351 * mh-utils.el (mh-show-from-face): Use red3 instead of red for
10352 light backgrounds. It's not as bright on the eyes.
10353 (mh-show-subject-face): copy from mh-folder-subject-face instead.
10354 Makes the look consistent with folder-mode.
10355
10356 * mh-e.el (mh-folder-subject-face): Moved to mh-utils since we
10357 need it to copy to mh-show-subject-face.
10358
103592001-12-05 Bill Wohler <wohler@newt.com>
10360
10361 * mh-e.el (mh-folder-mode-map): Moved `mh-extract-rejected-mail'
10362 from "a" to "E". Better mnemonic, nicer to folks used to using a
10363 for `mh-reply'.
10364
103652001-12-04 Bill Wohler <wohler@newt.com>
10366
10367 * mh-e.el (mh-folder-map): Added "S" for `mh-sort-folder'.
10368
103692001-12-04 Peter S Galbraith <psg@debian.org>
10370
10371 * mh-e.el (mh-folder-subject-face et al.): Yet another attempt at
10372 colours for folder-mode. Still themed, but fewer and darker
10373 colours (Blame Eric this time!). I'll get to underlining tomorrow
10374 night.
10375
10376 * mh-e.el (mh-folder-tool-bar-map): Renamed all icons so they
10377 don't have the word mail in them. Also generated a pbm format of
10378 each icon for users without XPM support conpiled into Emacs.
10379
103802001-12-04 Eric Ding <ericding@alum.mit.edu>
10381
10382 * mh-utils.el (mh-show-font-lock-keywords): Use
10383 mh-header-subject-font-lock instead of regexp for subject headers,
10384 which may go multiple lines.
10385 (mh-header-subject-font-lock): New function.
10386 Fix typos (hightlight -> highlight).
10387
103882001-12-04 Eric Ding <ericding@alum.mit.edu>
10389
10390 * mh-e.el: changes to face colors on dark backgrounds.
10391 (mh-folder-followup-face): change to LightGoldenRod.
10392 (mh-folder-date-face): change to snow3.
10393 (mh-folder-msg-number-face): change to snow4.
10394
103952001-12-04 Bill Wohler <wohler@newt.com>
10396
10397 Released mh-e version 5.0.92.
10398
10399 * mh-utils.el (gnus-cite-face-list)
10400 (mh-gnus-article-highlight-citation): Don't autoload. Revert to
10401 requiring in `mh-gnus-article-highlight-citation' as before. With
10402 the autoloads, if you ran mh-e before gnus, you'd get an undefined
10403 gnus variable when viewing an article in gnus. Go figure.
10404
104052001-12-03 Bill Wohler <wohler@newt.com>
10406
10407 Released mh-e version 5.0.91.
10408
10409 * MH-E-NEWS: Removed info about bumping up `max-specpdl-size' now
10410 that workaround has been implemented.
10411
10412 * Makefile (MH-E-OBJ): New variable to hold .elc files.
10413 (all): Just compile.
10414 (clean): New target that blows away MH-E-OBJ.
10415 (dist): Added $(MH-E-OBJ) to tarball.
10416
10417
10418 Attempt to quiet compilation errors to a dull roar.
10419
10420 * mh-e.el: Require easymenu, added autoload of info.
10421 (mh-smail, mh-smail-other-window): Comment says these were needed
10422 by Emacs 18. Out!
10423
10424 * mh-utils.el: Don't require sendmail, but require mh-e.
10425 Moved autoloads to top of file, and autoload gnus-cite and
10426 sendmail too.
10427
10428 * mh-pick.el: Require easymenu. Remove cond on
10429 `easy-menu-define'--it exists.
10430
10431 * mh-mime.el: Autoload mailcap.
10432
10433 * mh-comp.el: Require mh-e and easymenu, moved autoloads to top of
10434 file.
10435
10436
10437 * Makefile: (EMACS): New constant to hold emacs calling sequence.
10438 (install): Renamed to install-emacs.
10439 (compile): New target to compile all files.
10440 (dist): Make dependent on compile.
10441 (import): Renamed to import-emacs.
10442 (%.elc): New implicit rule to compile elisp files.
10443
10444 * mh-e.el (mh-thread-map): Added "Td" for
10445 mh-delete-subject-thread.
10446
104472001-12-03 Peter S Galbraith <psg@debian.org>
10448
10449 * mh-e.el (mh-folder-tool-bar-map): Change tooltip for exec icon.
10450
10451 * mh-e.el (mh-folder-subject-face): Change to IndianRed1.
10452 (mh-folder-followup-face): Change to IndianRed.
10453 (mh-folder-deleted-face): Use sedate face instead of bright one.
10454
104552001-12-03 Bill Wohler <wohler@newt.com>
10456
10457 * mh-utils.el (mh-invisible-headers): Increase size of
10458 `max-specpdl-size' locally to work around insufficient default.
10459 (mh-invisible-headers): Added X-Info and X-VSMLoop (NTMail).
10460
104612001-12-03 Jeffrey C Honig <jch@honig.net>
10462
10463 * mh-utils.el (mh-find-progs): Searches should not stop if the
10464 strings are not found, there is error detection at the end of the
10465 routine (closes SF #488231).
10466
104672001-12-02 Bill Wohler <wohler@newt.com>
10468
10469 * MH-E-NEWS: Added info about bumping up `max-specpdl-size'.
10470
10471 * Makefile (MH-E-IMG): New variable that contains images used by
10472 mh-e. Add these files to release.
10473
10474 * MH-E-NEWS: Second draft of mh-e 6.0 (was 5.1) release notes.
10475
10476 * mh-e.el (mh-folder-updated-hook): Reworded to avoid ambiguity.
10477 Is the hook called when you type `d' or when you type `x'?
10478 (mh-unseen-updated-hook): Reworded to be consistent with
10479 `mh-folder-updated-hook.'
10480
10481 * mh-utils.el (mh-recenter): Accepted Gerd's change which is
10482 evaluated at compile time.
10483
104842001-12-02 Bill Wohler <wohler@newt.com>
10485
10486 * mh-e.el Major, major keymap changes. The specific changes are
10487 listed below, but view the sources, or use "C-h m" in MH Folder
10488 mode for the complete list.
10489
10490 Use of sub-keymaps inspired by gnus. The changes tripped me up at
10491 first too, but after about 5 minutes of shock (which is to be
10492 expected, I've been using the old keybindings for 16 years), I
10493 honestly found the new bindings to be nice indeed. It will also
10494 provide flexibility to allow for future functionality. I hate to
10495 do this on the eve of the beta release, but you asked for it! It's
10496 likely I'll have to pull an Eric and back this change out, but if
10497 we can live with pink subjects, this can't be so bad ;-).
10498 Question: will the users revolt? If they do, I suppose we can
10499 release 6.0.1 the next day ;-).
10500 (mh-folder-map, mh-sequence-map, mh-extract-map, mh-digest-map):
10501 New keymaps which start with F, S, X, and D, respectively. The
10502 mhstore commands can go in the mh-extract-map eventually.
10503 (mh-thread-map): Renamed from mh-folder-thread-map.
10504
10505 Keymap changes and rationale. The sub-keymaps allowed some
10506 consistency (e.g., esp. with l(ist) and k(ill).
10507
10508 e Deleted. Already have x. Now used by mh-edit-again.
10509 a Deleted. Already have r. Now used by mh-extract-rej..
10510 j Deleted. Already have g.
10511
10512 M-a -> e Better mnemonic. Matches rmail. Frees movement cmd.
10513 M-e -> a Try `a'gain!
10514
10515 M-f -> Fv Frees movement command
10516 M-f -> Ff Alias (keep?)
10517 M-f -> Fo Alias (keep?)
10518 M-k -> Fk No reason but to keep with folder commands
10519 M-l -> Fl No reason but to keep with folder commands
10520 M-p -> Fp No reason but to keep with folder commands
10521 M-r -> Fr Frees movement command
10522 M-s -> Fs No reason but to keep with folder commands
10523 M-u -> Fu No reason but to keep with folder commands
10524
10525 M-% -> Sd Better mnemonic
10526 M-# -> Sk Better mnemonic
10527 M-q -> Sl Better mnemonic
10528 C-xn -> Sn Frees up standard key binding
10529 % -> Sp Better mnemonic for putting a message in a sequence
10530 ? -> Ss Shows sequences that message is in
10531 C-xw -> Sw Frees up standard key binding
10532
10533 M-n -> Xs Better mnemonic (shar)
10534 M-n -> Xu Better mnemonic (uuencode)
10535
10536 M-SPC -> DSPC Frees mark command
10537 M-\177 -> D\177 No reason but to keep with digest commands
10538 M-b -> Db Frees movement command
10539
105402001-12-01 Bill Wohler <wohler@newt.com>
10541
10542 * mh-e.el: Use gnus style of keymaps. Now requires gnus-util.
10543 (mh-folder-thread-map): New map, created by gnus-define-keys.
10544 Reached when typing T in mh-folder-mode-map. Moved threading
10545 functions to this new keymap so we can use dired again.
10546 (mh-folder-mode-map): Defined by gnus-define-keys. Otherwise than
10547 the new threading functions, no changes to the UI were made at
10548 this point--saving that for the next check-in.
10549
10550 * mh-pick.el (mh-pick-mode-map): Use gnus-define-keys. Now
10551 requires gnus-util.
10552
10553 * mh-comp.el (mh-letter-mode-map): Use gnus-define-keys. Now
10554 requires gnus-util.
10555
105562001-12-01 Jeffrey C Honig <jch@honig.net>
10557
10558 * mh-e.el: Update the documentation for the regexps used by
10559 `mh-folder-font-lock-keywords' to specify how many parethesized
10560 expressions they are expected to have and what those expressions
10561 are expected to match.
10562
105632001-12-01 Bill Wohler <wohler@newt.com>
10564
10565 * mh-e.el (mh-folder-mode): Removed iteration of key bindings,
10566 \\{mh-folder-mode-map} suffices. Removed variable documentation
10567 also as this is already out of date and a maintenance hassle.
10568 Reference new mh customization group instead.
10569
10570 * mh-comp.el (mh-letter-mode): Ditto. Also added new information
10571 about MIME directives getting processed automatically if inserted
10572 via mh-e commands.
10573
10574 * mh-pick.el (mh-pick-mode): Edited documentation so it reads like
10575 the other modes.
10576
10577 * mh-e.el (mh-compat-quit): Deleted obsolete and unused function.
10578 Comment in this function said that `b' shouldn't be used for
10579 burst-digest, as it is used for `back' in info, less, and rn. But
10580 what does `back' mean in MH Folder? I suppose if you visit a
10581 folder, you would go `back' to the original folder. Hmmm, I guess
10582 we'll leave the `b' binding alone for now.
10583
10584 * mh-utils.el: Moved some of the variable comments to the first
10585 column so they wouldn't wrap in such an ugly fashion.
10586 (mh-showing-mode): Renamed variable and function from mh-showing
10587 to conform with minor mode conventions. Added optional arg to
10588 function so it would behave like a normal minor mode: no or nil
10589 arg toggles mode, 0 arg turns off, non-nil turns on. It also turns
10590 out that desktop-create-buffer would barf when recreating mh-e
10591 buffers because it was calling mh-show with an arg.
10592 (mh-show-mode): Use define-derived-mode to simplify definition a
10593 *lot*.
10594 (mh-set-mode-name): Deprecated by use of define-derived-mode.
10595 Removed.
10596
10597 * mh-pick.el (mh-pick-mode): Use define-derived-mode to simplify
10598 definition a *lot*.
10599
10600 * mh-e.el (mh-scan-prog): Removed message about "Buffer local" as
10601 this message will appear in a future version of Emacs.
10602 (mh-inc-folder): mh-showing renamed to mh-show-mode and made a
10603 real minor mode.
10604 (mh-folder-mode): Use define-derived-mode to simplify definition a
10605 *lot*.
10606
10607 * import-emacs (release): Change `(none)' to `mainline' so import
10608 doesn't choke after running `cvs up -A' on Emacs.
10609 (COPYING): Moved from $EMACS_HOME/etc to $EMACS_HOME.
10610 (cvs update): Whoops! Forgot the second join (-jemacs).
10611 make import works fine again.
10612
106132001-11-30 Peter S Galbraith <psg@debian.org>
10614
10615 * mh-e.el (mh-folder-font-lock-keywords): Change order of
10616 font-lock patterns such that subject body text doesn't get date
10617 fontification.
10618
10619 * mh-e.el (mh-scan-subject-regexp): Bug fix. Remove a dot.
10620 scan.font-lock users have to setq it separately.
10621
106222001-11-30 Eric Ding <ericding@alum.mit.edu>
10623
10624 * mh-utils.el (mh-clean-msg-header): Go back to using
10625 mh-delete-line. Using invisible text property is nicer in some
10626 ways, but winds up with somewhat mysterious behavior should user
10627 kill/yank stuff from the header (i.e., text gets yanked invisibly
10628 and won't be seen by user until file is reloaded).
10629
106302001-11-29 Bill Wohler <wohler@newt.com>
10631
10632 * mh-e.el (mh-page-msg): Use mh-next-direction to page in the
10633 right direction.
10634
106352001-11-29 Jeffrey C Honig <jch@honig.net>
10636
10637 * mh-e.el (mh-scan-folder): Fix logic to not attempt to go to
10638 the current message if there are no messages in the folder.
10639
106402001-11-29 Peter S Galbraith <psg@debian.org>
10641
10642 * mh-e.el (mh-folder-font-lock-subject): New fontifier function
10643 for subject lines in folder-mode
10644 (mh-scan-followup-regexp): Deleted obsolete regexp. Use
10645 mh-scan-subject-regexp instead.
10646 (mh-folder-font-lock-keywords): Use mh-folder-font-lock-subject
10647 instead of obsolete mh-scan-followup-regexp variable.
10648 (mh-folder-date-face, mh-folder-msg-number-face):
10649 (mh-folder-subject-face, mh-folder-followup-face):
10650 Now defined as proper faces instead of copied from font-lock
10651 faces.
10652
10653 * mh-mime.el (mh-media-type-regexp): New variable. Regexp matching
10654 valid media types used in MIME attachment compositions.
10655 (mh-file-mime-type): Use mh-media-type-regexp instead of
10656 hard-wiring its value.
10657
10658 * mh-utils.el (mh-show-unquote-From): New function to unquote
10659 "^>From" in mh-show-mode (not saved to disk).
10660 (mh-show-mode): Call mh-show-unquote-From.
10661
106622001-11-29 Eric Ding <ericding@alum.mit.edu>
10663
10664 * mh-utils.el (mh-clean-msg-header): Use mh-make-line-invisible
10665 rather than mh-delete-line.
10666 (mh-make-line-invisible): New function to make line(s) invisible
10667 rather than deleting line(s). Optional argument specifies number
10668 of lines to delete.
10669 (mh-show-msg): screen-height has been deprecated; use no more.
10670 (mh-notate): screen-width has been deprecated; use no more.
10671
106722001-11-29 Jeffrey C Honig <jch@honig.net>
10673
10674 * mh-utils.el: (mh-find-progs): Change mh-find-progs to rely on
10675 the existence of mhparam. The location of mhparam is used to find
10676 `mh-progs'. It uses the libdir and etcdir to find the
10677 `mh-lib-progs' and `mh-lib' directories. If etcdir doesn't return
10678 anything we assume `mh-lib-progs' is the same as `mh-lib' and that
10679 we are using MH instead of nmh.
10680
106812001-11-29 Peter S Galbraith <psg@debian.org>
10682
10683 * mh-e.el (mh-scan.font-lock-regexp): Change docs to reflect that
10684 second paren expression is the user match.
10685 (mh-folder-font-lock-keywords): Change from 1st to 2nd parenthesized
10686 expression to match user name, after Jeffrey's change to the regexps.
10687
106882001-11-29 Bill Wohler <Bill.Wohler@openwave.com>
10689
10690 * mh-utils.el (mh-clean-message-header): Default is now t.
10691 (mh-invisible-headers): Padded out to contain all the headers that
10692 the mh-e developers don't like to see (closes SF #415759).
10693
106942001-11-28 Bill Wohler <Bill.Wohler@openwave.com>
10695
10696 * mh-comp.el (mh-rejected-letter-start): Added MIME MDN. While
10697 this allows mh-extract-rejected-mail to strip the start of the
10698 MDN, there is still a closing MIME marker at the end. This should
10699 be cleaned up eventually.
10700
107012001-11-28 Peter S Galbraith <psg@debian.org>
10702
10703 * mh-e.el (mh-folder-seq-tool-bar-map): New tool-bar used for
10704 folder-mode when narrowed to sequence.
10705 * mh-seq.el (mh-narrow-to-seq): Set tool-bar to
10706 mh-folder-seq-tool-bar-map.
10707 (mh-widen): Set tool-bar to mh-folder-tool-bar-map.
10708 * widen.xpm: New icon used in mh-folder-seq-tool-bar-map.
10709
10710 * mh-mime.el (mh-file-mime-type): Much better check on validity of
10711 'file' output.
10712
10713 * mh-e.el (mh-scan-subject-regexp): New regexp variable for
10714 subject string in folder mode. Used to extract subject sequence,
10715 and will be used for font-lock soon.
10716 * mh-seq.el (mh-subject-thread-to-sequence): More robust code by
10717 using mh-scan-subject-regexp, allows users with non-standard
10718 scan format to use subject sequences.
10719
10720 * mh-comp.el (mh-letter-fill-column): Fill column to use in
10721 mh-letter-mode. (Yes, I'm doing this in spite of what Bill said;
10722 Someone can always undo it later)
10723 (mh-letter-mode): setq fill-column to mh-letter-fill-column.
10724
107252001-11-28 Bill Wohler <wohler@newt.com>
10726
10727 * mh-e.el (mh-page-msg): The first time the end of page is hit,
10728 set mh-page-to-next-msg-p to t. The second time the end of page is
10729 hit, go to the next message.
10730
10731 * mh-utils.el: (mh-show-msg): Initialize mh-page-to-next-msg-p to
10732 nil.
10733
107342001-11-27 Bill Wohler <wohler@newt.com>
10735
10736 * mh-mime.el (mh-mime-content-types): Updated list of types to
10737 contain types used by mh-e developers, but not including types not
10738 listed in
10739 http://www.isi.edu/in-notes/iana/assignments/media-types/media-types.
10740
107412001-11-27 Peter S Galbraith <psg@debian.org>
10742
10743 * mh-seq.el (mh-subject-thread-to-sequence) New function placing
10744 all messages with similar subject line into a sequence named
10745 'subject.
10746 (mh-narrow-to-subject-thread): New command to narrow to all
10747 messages with similar subject line into a sequence named 'subject.
10748 (mh-toggle-subject-thread): New command to toggle between a new
10749 'subject sequence or the wide view of a folder.
10750 (mh-delete-subject-thread): New command to delete all following
10751 messages with similar subject lines (leaving preceeding ones
10752 untouched).
10753 (mh-next-unseen-subject-thread): New command to create and move to
10754 a new subject thread created from the next unseen message as a
10755 starting point.
10756 * mh-e.el (mh-folder-message-menu): New menu entries for subject
10757 threads.
10758 (mh-folder-mode-map): New keybindings for subject threads.
10759 (mh-lessp): New function to sort messages.
10760
10761 * mh-utils.el (mh-show-font-lock-keywords): and various
10762 faces... scoped within eval-after-load "font-lock" to avoid
10763 requiring font-lock to use its faces.
10764 * mh-e.el (mh-folder-font-lock-keywords): Same.
10765
107662001-11-27 Jeffrey C Honig <jch@honig.net>
10767
10768 * mh-mime.el (mh-file-mime-type): Use mh-temp-buffer instead of
10769 " *mh-temp".
10770
10771 * mh-comp.el (mh-insert-x-mailer): Kill mh-temp-buffer after use.
10772
107732001-11-26 Eric Ding <ericding@alum.mit.edu>
10774
10775 * mh-utils.el: revert to using external mimedecode to decode
10776 MIME quoted-printable parts
10777
107782001-11-26 Jeffrey C Honig <jch@honig.net>
10779
10780 * mh-e.el (mh-process-commands): Added mh-folder-updated-hook.
10781 * mh-e.el (mh-update-unseen): Added mh-unseen-updated-hook.
10782
107832001-11-26 Peter S Galbraith <psg@debian.org>
10784
10785 * mh-mime.el (mh-file-mime-type): Make sure output from file
10786 command is known to mailcap file, otherwise prompt the user.
10787 (mh-mime-content-types): Add "image/png" type.
10788
10789 * mh-e.el (mh-folder-font-lock-keywords): Use a bunch of new
10790 mh-folder-*-face faces.
10791 * mh-utils.el (mh-show-font-lock-keywords): Use a bunch of new
10792 mh-show-*-face faces.
10793
10794 * mh-utils.el (mh-letter-header-font-lock): Bug fix. Fix infinite
10795 loop in emacs20 font-locking.
10796 (mh-header-field-font-lock): Preventive fix with similar change.
10797
10798 * mh-comp.el (mh-reply-show-message-p): Typo. diplayed -> displayed.
10799 * MH-E-NEWS: Same.
10800
10801 * mh-e.el (mh-folder-tool-bar-map): Bug fix. I had
10802 mh-repack-folder instead of mh-pack-folder.
10803
108042001-11-26 Bill Wohler <wohler@phone.com>
10805
10806 * mh-e.el:
10807 Updated header for consistency and to conform with (elisp)Library
10808 Headers.
10809 (mh-do-not-confirm): Updated documentation string to reflect
10810 reality (e.g., is no longer used by mh-kill-folder and is used by
10811 more functions than just mh-undo-folder).
10812 (mh-page-msg): Now shows the next undeleted message if looking at the
10813 bottom of the current message.
10814 (mh-process-or-undo-commands): Fixed indentation.
10815
10816 * mh-mime.el:
10817 (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp): If MIME type
10818 cannot be determined with file command, use mailcap-mime-types (if
10819 available) to provide list for completing read.
10820
10821 * MH-E-NEWS: First draft of mh-e 5.1 release notes.
10822
108232001-11-26 Eric Ding <ericding@alum.mit.edu>
10824
10825 * mh-utils.el (mh-decode-quoted-printable): Implement
10826 quoted-printable decoding in elisp (starting with code copied
10827 from FLIM).
10828 (mh-decode-quoted-printable-region): Move (require 'hexl) outside
10829 while loop.
10830 (mh-decode-quoted-printable): give user a choice between using
10831 internal code or external program to decode quoted-printable
10832 content. Resurrect code that calls external mimedecode program.
10833
108342001-11-25 Peter S Galbraith <psg@debian.org>
10835
10836 * mh-utils.el (mh-highlight-citation-p): New variable to determine
10837 whether to hightlight citations in message body with gnus,
10838 font-lock or not at all.
10839 (mh-show-font-lock-keywords): removed citations from keywords.
10840 (mh-show-font-lock-keywords-with-cite): New variable, equivalent
10841 to prior mh-show-font-lock-keywords.
10842 (mh-gnus-article-highlight-citation): hook into gnus for
10843 multi-level citation highlighting.
10844 (mh-show-mode): Use either mh-show-font-lock-keywords or
10845 mh-show-font-lock-keywords-with-cite, depending on value of
10846 mh-highlight-citation-p, and possibly call
10847 mh-gnus-article-highlight-citation.
10848 * mh-comp.el (mh-letter-mode): Same as for mh-show-mode above.
10849
108502001-11-25 Jeffrey C Honig <jch@honig.net>
10851
10852 * mh-comp.el (mh-redistribute): Added mh-redist-background
10853 variable to cause mh-redistribute to run the redist command in the
10854 background. This causes the transaction log to be visible, like
10855 with send.
10856
108572001-11-25 Peter S Galbraith <psg@debian.org>
10858
10859 * mh-e.el (mh-inc-folder): 'inc' finishes by displaying the first
10860 new message if already showing messages.
10861
108622001-11-22 Peter S Galbraith <psg@debian.org>
10863
10864 * mh-utils.el (mh-prompt-for-folder): Exit with error if no folder
10865 specified, otherwise mh-refile-msg may try to create a folder with
10866 empty name, and this creates problems; even mh-undo can't handle
10867 it (Closes SF #476824).
10868
10869 * mh-comp.el (mh-letter-tool-bar-map): Info button needed to
10870 require 'info. Also tweaked help texts.
10871 (mh-letter-menu): Use headline capitalization (Closes SF #483203).
10872 * mh-e.el (mh-folder-tool-bar-map): Same as above.
10873 (mh-folder-folder-menu, mh-folder-message-menu):
10874 (mh-folder-sequence-menu): Same as above.
10875 * mh-pick.el (mh-pick-menu): Same as above.
10876
108772001-11-21 Peter S Galbraith <psg@debian.org>
10878
10879 * mh-comp.el (mh-reply-show-message-p): The setting of this
10880 variable determines whether the MH show-buffer is diplayed with
10881 the current message when using mh-reply without a prefix argument.
10882 Set it to nil if you already include the message automatically in
10883 your draft using "repl: -filter repl.filter" in your ~/.mh_profile
10884 file.
10885 (mh-reply): Don't show message in other window if
10886 mh-reply-show-message-p is nil.
10887
10888 * mh-e.el (mh-folder-tool-bar-map): Add mail_exec.xpm icon for
10889 mh-execute-commands.
10890
10891 * mh-utils.el (mh-show-mouse): New function to click on a message
10892 in folder-mode and show that message.
10893 * mh-e.el (mh-folder-mode-map): Bind mh-show-mouse to mouse-2.
10894
10895 * mh-e.el (mh-page-msg): Show buffer first if not displayed,
10896 instead of simply complaining there's no other window.
10897
10898 * mh-e.el (mh-folder-tool-bar-map): New tool-bar for folder mode!
10899 (mh-folder-mode): Setup tool-bar.
10900
10901 * mh-mime.el (mh-have-file-command): try to non-fatally load
10902 executable.el because emacs20 doesn't autoload it.
10903 * mh-utils.el (load "executable" t t): Idem.
10904
10905 * mh-utils.el (mh-clean-msg-header): Bug fix. locally bind
10906 after-change-functions to nil, working around a strange font-lock
10907 bug in emacs20 when (add-hook 'mh-show-mode-hook 'turn-on-font-lock)
10908 was used.
10909
10910 * mh-comp.el (require 'sendmail): Moved from mh-comp.el to
10911 mh-utils.el because it is needed in reading mail too.
10912 (mh-header-field-end, mh-in-header-p): Moved to mh-utils.el
10913 because they are needed by mh-show-mode's font-lock code.
10914 Unfortunately, this splits the field related code into two files.
10915 Perhaps it should all go into mh-utils?
10916
109172001-11-20 Eric Ding <ericding@alum.mit.edu>
10918
10919 * mh-utils.el (mh-show-from-face): Fix typo in defface
10920
109212001-11-20 Bill Wohler <wohler@newt.com>
10922
10923 * mh-utils.el (mh-mail-header-separator): Set to -------- as
10924 defined by MH (components, and replcomps files). This variable
10925 cannot be a regexp since it is used as an argument to insert and
10926 is passed through regexp-quote before being used. The previous
10927 value broke a lot of code, including mailcrypt.
10928
10929 * mh-comp.el (mh-letter-mode, mh-send-letter): Insert X-Mailer
10930 header field from mh-send-letter.
10931 (mh-edit-again, mh-extract-rejected-mail): Call
10932 mh-insert-header-separator to ensure that there is a separator.
10933 Packages such as mailcrypt depend on it.
10934 (mh-insert-header-separator): New function to insert
10935 mh-mail-header-separator if it doesn't exist.
10936
109372001-11-20 Peter S Galbraith <psg@debian.org>
10938
10939 * mh-comp.el (mh-letter-mode): Make font-lock-defaults a local variable
10940 * mh-e.el (mh-folder-mode): Same.
10941 * mh-utils.el (mh-show-mode): Same.
10942
10943 * mh-e.el (mh-scan-msg-num-regexp): Delete variable and replace
10944 with mh-good-msg-regexp.
10945
10946 * mh-utils.el (mh-mail-header-separator): Bug fix. Moved from
10947 mh-comp.el to mh-utils.el (which mh-comp.el loads).
10948
10949 * mh-comp.el (mh-in-header-p): Recycle sendmail.el code (as
10950 suggested by Bill).
10951 * mh-utils.el (mh-letter-header-font-lock): Use mh-in-header-p.
10952
10953 * mh-comp.el (mh-letter-tool-bar-map): tool-bar customize button goes
10954 to customizing mh-compose group.
10955
10956 * mh-utils.el (mh-show-mode): font-lock bug fix. Locally set
10957 font-lock-support-mode to nil.
10958 (mh-letter-header-font-lock, mh-header-field-font-lock): font-lock
10959 bug fix. Don't return match beyond font-lock search limit.
10960
10961 * mh-comp.el (mh-letter-mode): Emacs20 bug fix. tool-bar-mode is
10962 not a bound variable.
10963
109642001-11-19 Peter S Galbraith <psg@debian.org>
10965
10966 * mh-comp.el (mh-letter-tool-bar-map): tool-bar help button goes
10967 to 'Draft Editing' info node.
10968
10969 * mh-utils.el (mh-show-from-face, mh-show-to-face): New faces used
10970 for font-lock.
10971 (mh-header-to-font-lock, mh-header-cc-font-lock)
10972 (mh-header-field-font-lock): New helper function returning whole
10973 header field arguments to font-lock.
10974 (mh-show-font-lock-keywords): Heavily modified using the above.
10975
10976 * mh-e.el (mh-scan-msg-num-regexp): Regexp matching the message
10977 number in scan lines.
10978 (mh-scan-date-regexp): Regexp matching a valid date in scan lines.
10979 (mh-scan-rcpt-addr-regexp): Regexp specifying the recipient in
10980 scan lines for messages we sent.
10981 (mh-scan-followup-regexp): Regexp matching a followup subject
10982 line, starting with Re:
10983 (mh-scan-body-regexp):
10984 Regexp matching the message body beginning displayed in scan lines.
10985 (mh-scan.font-lock-regexp): Regexp matching output of the the
10986 optional scan.font-lock format file.
10987 (mh-folder-font-lock-keywords): New font-lock for folder-mode that
10988 uses the above regexps.
10989
109902001-11-19 chad <y@mit.edu>
10991
10992 * mh-comp.el (mh-letter-tool-bar-map): made both references to
10993 mh-letter-tool-bar-map conditional on tool-bar-mode, instead of
10994 just one.
10995
109962001-11-19 Bill Wohler <wohler@newt.com>
10997
10998 * mh-comp.el (mh-position-on-field): Move to the end of the header
10999 if the field is not present. This function was documented to do
11000 this, but wasn't doing so.
11001 (mh-insert-x-mailer): Simplified by using existing
11002 mh-goto-header-field and mh-insert-fields functions. Now that
11003 mh-insert-fields is used to insert X-Mailer header field, no
11004 longer need to include X-Mailer in mh-x-mailer-string.
11005
110062001-11-18 Peter S Galbraith <psg@debian.org>
11007
11008 * mh-comp.el (mh-letter-tool-bar-map): New version of
11009 mh-letter-mode tool-bar. Changed order of buttons; made customize
11010 and info buttons specific to mh-e.
11011
11012 * mh-e.el (mh-folder-font-lock-keywords): New font-lock regexp
11013 uses variables mh-deleted-msg-regexp, mh-refiled-msg-regexp and
11014 mh-cur-scan-msg-regexp, so will better adapt to non-default scan
11015 formats. Also, lines marked for refiling are now fontified.
11016
110172001-11-18 Bill Wohler <wohler@newt.com>
11018
11019 * mh-utils.el (mh-show-mode): Added local variable
11020 mail-header-separator which is initialized to
11021 mh-mail-header-separator.
11022
11023 * mh-comp.el (mh-mail-header-separator): Updated to include ^$.
11024 Needed when running mh-edit-again, since by then the separator is
11025 gone. Added documentation saying one should use
11026 mail-header-separator and initialize it from
11027 mh-mail-header-separator.
11028 (mh-forward): Initialize mail-header-separator since
11029 mh-letter-mode hasn't kicked in yet (which does initialize
11030 mail-header-separator).
11031 (mh-letter-mode): Initialize mail-header-separator from
11032 mh-mail-header-separator, not hard-coded string.
11033
11034 * mh-comp.el (mh-insert-x-mailer-p): New variable to control
11035 whether X-Mailer string is inserted. Default: t.
11036 (mh-x-mailer-string): New variable that caches actual X-Mailer
11037 string.
11038 (mh-letter-mode): Call mh-insert-x-mailer if mh-insert-x-mailer-p
11039 is t.
11040 (mh-insert-x-mailer): New function that inserts X-Mailer header
11041 field.
11042
110432001-11-17 Peter S Galbraith <psg@debian.org>
11044
11045 * mh-utils.el (mh-letter-header-font-lock): New function to return
11046 the entire mail header to font-lock for sedate font-locking.
11047 (mh-show-font-lock-keywords): Modified to fontify whole lines and use
11048 mh-letter-header-font-lock above to fontify whole header.
11049
110502001-11-17 Bill Wohler <wohler@newt.com>
11051
11052 * mh-comp.el (mail-header-separator): Added ^ and $ to make more
11053 specific.
11054 (mh-forward, mh-letter-mode): Replaced hard-coded string with
11055 mail-header-separator.
11056
110572001-11-16 Bill Wohler <wohler@newt.com>
11058
11059 * mh-e.el (mh-e-RCS-id): Renamed to mh-version.
11060 (mh-version): The variable: Set to a number instead of Id since
11061 the Id didn't have the mh-e version number, and both Emacs and
11062 gnus do it this way too.
11063 (mh-version): The function: Fixed for nmh. Now displays mh-e
11064 version correctly. Cleaned up output and display mh-progs, etc.
11065 (Closes SF #405620.)
11066
110672001-11-15 Peter S Galbraith <psg@debian.org>
11068
11069 * mh-comp.el (mh-letter-tool-bar-map): New tool-bar support for
11070 mh-letter-mode in emacs21. Uses icons from gnus/message.el.
11071 * mh-comp.el (mh-letter-mode): Add buffer-local binding of
11072 tool-bar-map to mh-letter-tool-bar-map.
11073
110742001-11-15 Peter S Galbraith <psg@debian.org>
11075
11076 * mh-mime.el (mh-have-file-command): Add check for existence of
11077 executable-find command, which Jeffrey didn't exist in emacs-20.4.
11078 * mh-utils.el (mh-decode-quoted-printable-have-mimedecode): same
11079 as above.
11080 * mh-mime.el (mh-file-mime-type): Bug Fix. Some versions of
11081 'file' output a string like "file: Using regular magic file..."
11082 to stderr, so discard stderr when using call-process with 'file'.
11083
110842001-11-14 Peter S Galbraith <psg@debian.org>
11085
11086 * mh-mime.el (mh-have-file-command): Check if 'file' command on
11087 system accepts arguments -i -b before accepting it for our use.
11088
110892001-11-14 Peter S Galbraith <psg@debian.org>
11090
11091 * mh-utils.el (mh-find-progs): Use expand-file-name instead of
11092 concatenating together strings into a path.
11093
110942001-11-14 Peter S Galbraith <psg@debian.org>
11095
11096 * mh-e.el (mh-folder-sequence-menu): Enable mh-widen in sequence
11097 menu only when mh-narrowed-to-seq is t.
11098
110992001-11-14 Peter S Galbraith <psg@debian.org>
11100
11101 * mh-mime.el (mh-have-file-command): Use 'executable-find' instead
11102 of more complicated and error-prone call-process to which command.
11103 * mh-utils.el (mh-decode-quoted-printable-have-mimedecode): Same
11104 change as above.
11105
111062001-11-14 Jeffrey C Honig <jch@honig.net>
11107
11108 * mh-e.el (mh-make-folder-mode-line): Bug fix. Properly deal with
11109 folders that do not have any lines in them. Print "no msgs"
11110 instead of "0 msgs". Do not try to print a range when there are
11111 no messages.
11112 * mh-e.el (mh-regenerate-headers): Bug fix. Catch and remove the
11113 "scan: band message list" message.
11114
111152001-11-13 Jeffrey C Honig <jch@honig.net>
11116
11117 * mh-utils.el (mh-find-progs): Bug fix. Add "mh/etc" to the
11118 subdirectories to search for "components". On BSD/OS, nmh is in
11119 "/usr/contrib/mh/*".
11120
111212001-11-13 Peter S Galbraith <psg@debian.org>
11122
11123 * mh-comp.el (mh-letter-mode): Bug fix. Load mh-mime before
11124 setting mh-mhn-compose-insert-p (when looking at a "forw: -mime"
11125 message containing a MIME composition) such that the variable is
11126 properly declared as buffer-local.
11127
111282001-11-12 Bill Wohler <wohler@newt.com>
11129
11130 * mh-funcs.el (mh-print-msg): mhl is in the mh-lib-progs
11131 directory, not mh-lib (closes SF #481128).
11132
111332001-11-12 Peter S Galbraith <psg@debian.org>
11134
11135 * mh-seq.el (mh-widen): Bug fix (closes SF #481036).
11136 In a sequence with pending deletes and refiles, running mh-widen
11137 would wipe out their notations, even though the sequences are still
11138 defined. Fixed by calling a new function,
11139 mh-notate-deleted-and-refiled. Also changed the coping of
11140 mh-goto-msg-num since it didn't work consistently.
11141 * mh-seq.el (mh-notate-deleted-and-refiled): New functions written
11142 to fix above mh-widen bug. It's a first cut, we may want to clear
11143 all notations first, and notate the current-message sequence and
11144 user sequences. Time will tell.
11145
111462001-11-12 Peter S Galbraith <psg@debian.org>
11147
11148 * mh-seq.el (mh-widen): Make it attempt to stay on the same
11149 message number (closes SF bug #480922).
11150
111512001-11-11 Bill Wohler <wohler@newt.com>
11152
11153 * import-emacs: New shell script to import Emacs changes to mh-e.
11154
11155 * Makefile (import): New target to import Emacs changes.
11156
111572001-11-09 Peter S Galbraith <psg@debian.org>
11158
11159 * mh-mime.el (mh-file-mime-type): Bug fix. Change regexp to
11160 extract mime type from 'file -i' command output.
11161
111622001-11-08 Peter S Galbraith <psg@debian.org>
11163
11164 * mh-utils.el (mh-update-sequences-after-mh-show):
11165 New customizable variable telling whether to run
11166 mh-update-sequences in mh-show-mode. Default is t.
11167 * mh-utils.el (mh-show-msg): Run mh-update-sequences when
11168 mh-update-sequences-after-mh-show is set.
11169
111702001-11-08 Peter S Galbraith <psg@debian.org>
11171
11172 * mh-utils.el (mh-decode-quoted-printable-have-mimedecode):
11173 New variable telling whether command 'mimedecode' is on system.
11174 (http://www.freesoft.org/CIE/FAQ/mimedeco.c)
11175 * mh-utils.el (mh-decode-quoted-printable):
11176 New customizable variable telling whether to run mimedecode on
11177 MIME message containing quoted-printable parts. mimedecode will
11178 only alter quoted-printable parts , leaving others intact, and the
11179 resulting message is still fully MIME.
11180 * mh-utils.el (mh-decode-quoted-printable): New function to run
11181 mimedecode on the current buffer.
11182 * mh-utils.el (mh-display-msg): Conditionnaly call
11183 mh-decode-quoted-printable function if mh-decode-quoted-printable
11184 variable is set, to view messages containing quoted-printable
11185 characters into 8-bit.
11186
111872001-11-08 Peter S Galbraith <psg@debian.org>
11188
11189 * mh-comp.el (mh-letter-mode): Set mh-mhn-compose-insert-p if
11190 looking at a "forw: -mime" message containing a MIME composition.
11191 * mh-mime.el (mh-file-mime-type): Bug fix. Failed on files like
11192 "~/.mh_profile" because of shell construct. Wrapped filename with
11193 expand-file-name.
11194 * mh-comp.el (mh-letter-mode-map): C-cC-o keybinding in
11195 mh-letter-mode-map for mh-open-line.
11196
111972001-11-07 Peter S Galbraith <psg@debian.org>
11198
11199 * mh-comp.el (mh-open-line): New user function to split open a line
11200 when editing a reply with included text.
11201 * mh-comp.el (mh-current-fill-prefix): New function used by
11202 mh-open-line to get the fill-prefix on the current line.
11203 * mh-comp.el: Add mh-open-line to mh-letter-mode menubar.
11204
112052001-11-06 Peter S Galbraith <psg@debian.org>
11206
11207 * mh-seq.el (mh-region-to-sequence): New function, creating a
11208 sequence named 'region containing the message list in the selected
11209 region.
11210 * mh-e.el (mh-delete-msg): Mark messages in region for deletion if
11211 mark is active and in transient-mark-mode.
11212 * mh-e.el (mh-refile-msg): Mark messages in region for refiling if
11213 mark is active and in transient-mark-mode.
11214 * mh-e.el (mh-undo): Undo message marks for refile or deletion if
11215 region if mark is active and in transient-mark-mode.
11216
112172001-11-06 Peter S Galbraith <psg@debian.org>
11218
11219 * mh-comp.el (mh-letter-mode): Use sendmail.el's fill-paragraph.
11220 Copy its settings for paragraph-start, paragraph-separate,
11221 fill-paragraph-function, adaptive-fill-regexp and
11222 adaptive-fill-first-line-regexp. This make M-q (fill-paragraph)
11223 work correctly!
11224
112252001-11-05 Peter S Galbraith <psg@debian.org>
11226
11227 * mh-funcs.el (mh-kill-folder): Remove mh-do-not-confirm condition
11228 and always prompt the user for such a drastic step. Also change
11229 the prompt a bit to clarify it.
11230
112312001-11-04 Peter S Galbraith <psg@debian.org>
11232
11233 * mh-mime.el (mh-mhn-compose-insert-p): New buffer-local variable
11234 to tell when a MIME insertion was done in a letter.
11235 * mh-mime.el (mh-mhn-compose-type): Set mh-mhn-compose-insert-p.
11236 * mh-mime.el (mh-mhn-compose-external-type):
11237 Set mh-mhn-compose-insert-p.
11238 * mh-mime.el (mh-mhn-compose-forw): Set mh-mhn-compose-insert-p.
11239 * mh-mime.el (mh-edit-mhn): Clear mh-mhn-compose-insert-p.
11240 * mh-comp.el (mh-send-letter): Run mh-edit-mhn when
11241 mh-mhn-compose-insert-p is set.
11242
112432001-11-03 Peter S Galbraith <psg@debian.org>
11244
11245 * mh-mime.el (mh-have-file-command): new function testing whether
11246 file command is on the system.
11247 * mh-mime.el (mh-file-mime-type): new function returning MIME type
11248 from file command.
11249 * mh-mime.el (mh-mhn-compose-insertion): Make use of
11250 mh-file-mime-type function instead of prompting.
11251
112522001-10-30 Peter S Galbraith <psg@debian.org>
11253
11254 * mh-utils.el (mh-show-use-goto-addr): defcustom this new
11255 variable, determining whether to call goto-addr in mh-show-mode.
11256 * mh-utils.el (mh-show-mode): Call goto-address when
11257 mh-show-use-goto-addr is t.
11258
112592001-10-25 Peter S Galbraith <psg@debian.org>
11260
11261 * mh-utils.el (mh-recenter): Clarify docs and change '(t) to
11262 (list 4) to match elisp doc on what C-u prefix argument actually is.
11263
112642001-10-23 Peter S Galbraith <psg@debian.org>
11265
11266 * mh-utils.el (mh-summary-height): In my quest to make mh-e more
11267 useful out-of-the-box for new users, set mh-summary-height to a
11268 minimum of 4 and a maximum of 10 depending on frame height. I
11269 typically have 70 lines in my Emacs frame, so having a default of
11270 4 was silly for my case.
11271 * mh-e.el (mh-update-sequences): Check for nil value of
11272 mh-current-folder, which happens if mh-summary-height < 4
11273 although I haven't tracked doen why that happens.
11274
112752001-10-22 Peter S Galbraith <psg@debian.org>
11276
11277 * mh-comp.el (mh-insert-fields): Test for nil value when inserting
11278 field.
11279
112802001-10-20 Peter S Galbraith <psg@debian.org>
11281
11282 * mh-comp.el (mh-user-agent-compose): Merged-in from XEmacs-21.4 source
11283 * mh-comp.el (mh-letter-mode): Add easy-menu-add statement for XEmacs21
11284 * mh-pick.el (mh-pick-mode): Add easy-menu-add statement for XEmacs21.
11285 * mh-e.el (mh-folder-mode): Add easy-menu-add statements for XEmacs21.
11286 * mh-utils.el: defalias 'screen-height to 'frame-height for XEmacs21.
11287
112882001-10-19 Peter S Galbraith <psg@debian.org>
11289
11290 * mh-mime.el (mh-edit-mhn): Use mhbuild in nmh context.
11291 * mh-utils.el (mh-find-progs): The variable mh-nmh-p (t when nmh
11292 is in use rather than MH) was set assuming that the string "nmh"
11293 will be in mh-lib-progs or mh-lib. This failed on Debian systems.
11294 Better to check for the existence of mhbuild in directory mh-progs.
11295 (closes SF bug #441776)
11296
112972001-10-18 Peter S Galbraith <psg@debian.org>
11298
11299 * mh-e.el: Add menubar entry from contrib/mh-menubar.el
11300 * mh-comp.el: Add menubar entry from contrib/mh-menubar.el
11301 * mh-pick.el: Add menubar entry from contrib/mh-menubar.el
11302
113032001-07-30 Peter S Galbraith <psg@debian.org>
11304
11305 * mh-e.el: Change font-lock patterns for folders.
11306 Fontify scan.font-lock patterns (which will be documented)
11307 and fontify subject lines prefixed with "Re:" differently.
11308 * mh-comp.el (mh-letter-mode): Add font-lock support as in
11309 mh-show-mode.
11310
113112001-04-14 chad brown <y@mit.edu>
11312
11313 Rearrange the font-lock keywords a bit.
11314
113152001-04-12 chad brown <y@mit.edu>
11316 13
11317 Preliminary (somewhat boring) font-lock support for mh-e. More 142005-10-09 Bill Wohler <wohler@newt.com>
11318 interesting font-lock support probably wants to have better
11319 support for multiple format files
11320 15
113212001-02-24 chad brown <y@mit.edu> 16 * mh-init.el (mh-image-load-path): New function that adds the path
17 to the MH-E images to the image-load-path or load-path depending
18 on the version of Emacs.
11322 19
11323 Add default nmh paths to mh-find-prog in mh-utils.el. 20 * mh-customize.el: Call mh-image-load-path just before
11324 change to mh-kill-folder in mh-funcs.el to make it more general. 21 mh-tool-bar-define so that the toolbar images can be found.
11325 22
113262001-02-19 Bill Wohler <wohler@newt.com> 232005-10-04 Bill Wohler <wohler@newt.com>
11327 24
11328 * Makefile (EMACS): Renamed to EMACS_HOME. Also, don't define if 25 * ChangeLog: Moved contents into ChangeLog.1 and trimmed.
11329 EMACS_HOME already exists to give developer a chance to set 26
11330 environment variable. 27 * ChangeLog.1: New file. Contains old ChangeLog.
11331 (install): $MH-E-SRC is copied to $(EMACS_HOME)/lisp/mail, not
11332 $(EMACS_HOME)/src.
11333 (dist): Leave release in current directory.
11334 28
11335 29
11336 Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. 30 Copyright (C) 2005 Free Software Foundation, Inc.
11337 31
11338 Copying and distribution of this file, with or without modification, 32 Copying and distribution of this file, with or without modification,
11339 are permitted in any medium without royalty provided the copyright 33 are permitted in any medium without royalty provided the copyright
diff --git a/lisp/mh-e/ChangeLog.1 b/lisp/mh-e/ChangeLog.1
new file mode 100644
index 00000000000..77d6c287c36
--- /dev/null
+++ b/lisp/mh-e/ChangeLog.1
@@ -0,0 +1,11416 @@
12005-09-30 Bill Wohler <wohler@newt.com>
2
3 * mh-customize.el (mh-refile-msg, mh-tool-bar-reply-from)
4 (mh-tool-bar-reply-to, mh-tool-bar-reply-all)
5 (mh-alias-grab-from-field, mh-pack-folder): Image files moved to
6 etc/images/mail so added "mail/" prefix.
7 (mh-reply): Ditto. Also renamed reply2.* to reply.*.
8 (mh-rescan-folder): Ditto. Renamed image file to refresh.* since
9 it can be used in the general sense. Does not have "mail/"
10 prefix.
11
122005-09-29 Bill Wohler <wohler@newt.com>
13
14 Merged in changes from CVS Emacs including:
15
16 * mh-mime.el (mh-compose-forward, mh-mhn-compose-forw):
17 * mh-comp.el (mh-insert-letter):
18 * mh-utils.el (mh-prompt-for-folder):
19 Follow convention for reading with the minibuffer. Emilio C. Lopes
20 <eclig@gmx.net> 2005-09-24.
21
222005-09-26 Bill Wohler <wohler@newt.com>
23
24 * mh-e.el (desktop-buffer-mode-handlers): Only add to this list if
25 the variable exists. Not present pre-version 22.
26
27 Merged in changes from CVS Emacs including:
28
29 * mh-print.el (mh-ps-print-msg-show): Fix misplaced parenthesis in
30 previous change. Juanma Barranquero <lekktu@gmail.com> 2005-09-19
31
32 * mh-alias.el (mh-alias-ali): Fix `message' call: first arg
33 should be a format spec.
34
35 * mh-print.el (mh-ps-spool-buffer, mh-ps-spool-a-msg)
36 (mh-ps-print-msg, mh-ps-print-msg-show): Ditto.
37
38 * mh-mime.el (mh-toggle-mh-decode-mime-flag): Ditto.
39
40 * mh-index.el (mh-index-sequenced-messages): Ditto.
41
42 * mh-e.el (mh-refile-or-write-again, mh-page-msg): Ditto.
43
44 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist)
45 (mh-spamassassin-blacklist, mh-spamassassin-whitelist): Ditto. D
46 Goel <deego@gnufans.org> 2005-09-18.
47
48 * mh-customize.el: Do not use face-alias compatibility for
49 faces that did not appear in the previous Emacs release. Dan
50 Nicolaescu <dann@ics.uci.edu> 2005-08-15.
51
52 * mh-e.el: Add handler to desktop-buffer-mode-handlers.
53 (mh-restore-desktop-buffer): Remove autoload cookie.
54 (mh-folder-mode): Add autoload cookie. Lars Hansen
55 <larsh@soem.dk> 2005-08-10.
56
57 Update FSF's address in GPL notices Lute Kamstra <lute@gnu.org>
58 2005-07-04 .
59
60 * mh-customize.el (mh-folder-body-face, mh-folder-cur-msg-face)
61 (mh-folder-cur-msg-number-face): New backward-compatibility
62 aliases for renamed faces. Lute Kamstra <lute@gnu.org> 2005-06-17.
63
64 * mh-customize.el (mh-folder-body, mh-folder-cur-msg)
65 (mh-folder-cur-msg-number, mh-folder-date, mh-folder-followup)
66 (mh-folder-msg-number, mh-folder-refiled, mh-folder-subject)
67 (mh-folder-tick, mh-folder-to, mh-index-folder)
68 (mh-letter-header-field, mh-show-cc, mh-show-date)
69 (mh-show-header, mh-show-pgg-good, mh-show-pgg-unknown)
70 (mh-show-pgg-bad, mh-show-signature, mh-show-to, mh-show-from)
71 (mh-show-xface, mh-speedbar-folder, mh-speedbar-selected-folder)
72 (mh-speedbar-folder-with-unseen-messages)
73 (mh-speedbar-selected-folder-with-unseen-messages)
74 (mh-folder-msg-number, mh-folder-subject, mh-folder-followup)
75 (mh-folder-subject): Remove "-face" suffix from face names.
76 (mh-folder-body, mh-folder-cur-msg, mh-folder-cur-msg-number)
77 (mh-folder-date-face, mh-folder-followup-face)
78 (mh-folder-msg-number-face, mh-folder-refiled-face)
79 (mh-folder-subject-face, mh-folder-tick-face, mh-folder-to-face)
80 (mh-index-folder-face, mh-letter-header-field-face)
81 (mh-show-cc-face, mh-show-date-face, mh-show-header-face)
82 (mh-show-pgg-good-face, mh-show-pgg-unknown-face)
83 (mh-show-pgg-bad-face, mh-show-signature-face, mh-show-to-face)
84 (mh-show-from-face, mh-show-xface-face, mh-speedbar-folder-face)
85 (mh-speedbar-selected-folder-face)
86 (mh-speedbar-folder-with-unseen-messages-face)
87 (mh-speedbar-selected-folder-with-unseen-messages-face):
88 New backward-compatibility aliases for renamed faces.
89 (mh-folder-body-face, mh-folder-cur-msg-face)
90 (mh-folder-cur-msg-number-face, mh-folder-date-face)
91 (mh-folder-followup-face, mh-folder-msg-number-face)
92 (mh-folder-deleted-face, mh-folder-refiled-face)
93 (mh-folder-subject-face, mh-folder-address-face)
94 (mh-folder-scan-format-face, mh-folder-to-face)
95 (mh-index-folder-face, mh-show-cc-face, mh-show-date-face)
96 (mh-show-header-face, mh-show-pgg-good-face)
97 (mh-show-pgg-unknown-face, mh-show-pgg-bad-face)
98 (mh-show-to-face, mh-show-from-face, mh-show-subject-face)
99 (mh-speedbar-folder-with-unseen-messages)
100 (mh-speedbar-selected-folder-with-unseen-messages):
101 Use renamed MH-E faces.
102
103 * mh-utils.el (mh-letter-font-lock-keywords)
104 (mh-face-display-function): Use renamed MH-E faces.
105 * mh-speed.el (mh-folder-speedbar-buttons)
106 (mh-speed-update-current-folder, mh-speed-normal-face)
107 (mh-speed-bold-face, mh-speed-add-buttons)
108 (mh-speed-invalidate-map): Likewise.
109 * mh-mime.el (mh-signature-highlight): Likewise. Miles Bader
110 <miles@gnu.org> 2005-06-17.
111
112 * mh-comp.el (mh-send-sub):
113 * mh-identity.el (mh-identity-field-handler):
114 * mh-mime.el (mh-secure-message):
115 Don't use `format' on `error' arguments. Juanma
116 Barranquero <lekktu@gmail.com> 2005-06-16.
117
118 * mh-mime.el (mh-secure-message): Follow error conventions.
119 Juanma Barranquero <lekktu@gmail.com> 2005-06-14.
120
1212005-09-24 Bill Wohler <wohler@newt.com>
122
123 * mh-unit.el (mh-unit): Changed lm-verify test to Emacs 22.
124
1252005-09-22 Bill Wohler <wohler@newt.com>
126
127 * Makefile: Incorporated ideas from Clemens Fruhwirth to
128 generalize mh-loaddefs.el to make it work for both GNU Emacs and
129 XEmacs.
130 (EMACS_OPTIONS, XEMACS_OPTIONS): Use double-dash for all long
131 options.
132 (EMACS_LOADDEFS_COOKIE): New variable for generate-autoload-cookie
133 setting. Obsoletes XEMACS_LOADDEFS_COOKIE.
134 (EMACS_EXPORT_MH_LOADDEFS): New variable for GNU Emacs commands to
135 rebuild mh-loaddefs.el.
136 (XEMACS_EXPORT_MH_LOADDEFS): New variable for XEmacs commands to
137 rebuild mh-loaddefs.el. Obsoletes XEMACS_LOADDEFS_FILE and
138 XEMACS_LOADDEFS_PKG_NAME.
139 (MH-E-LOADDEFS-SRC): New variable which is set to $(MH-E-SRC) on
140 GNU Emacs, and adds $(MH-E-XEMACS-SRC) on XEmacs.
141 (all): Modify EMACS_EXPORT_MH_LOADDEFS and MH-E-LOADDEFS-SRC on
142 XEMacs.
143 (mh-loaddefs.el): Now depends on $(MH-E-LOADDEFS-SRC) and has
144 generic compile command that works on both GNU Emacs XEmacs.
145 (xemacs): Depend on autoloads instead of deleted loaddefs-xemacs.
146 (loaddefs-xemacs): Deleted.
147
1482005-07-19 Bill Wohler <wohler@newt.com>
149
150 * README (INSTALL): Added info for Mac users.
151
1522005-07-16 Satyaki Das <satyaki@theforce.stanford.edu>
153
154 * mh-comp.el (mh-font-lock-field-data): Fix a bug where the
155 function would return t but match-data was being set to nil
156 (closes SF #1241017).
157
1582005-07-12 Jeffrey C Honig <jch@honig.net>
159
160 * mh-customize.el (mh-invisible-header-fields-internal)
161 (mh-invisible-header-fields-internal): Add Received-SPF header and
162 X-Gmail- prefixes seen from Gmail.
163
1642005-06-08 Peter S Galbraith <psg@debian.org>
165
166 * mh-comp.el (mh-insert-auto-fields): Inset identity regardless of
167 whether one was already set, since if one used a default identity
168 it would never be overridden.
169
1702005-06-02 Bill Wohler <wohler@newt.com>
171
172 * mh-customize.el (mh-customize): Use customization group mh-e.
173
174 * mh-init.el (mh-path): Use customization group mh-e. Thanks to
175 Peter Whaite for these patches (closes SF #1213716).
176
1772005-06-01 Bill Wohler <wohler@newt.com>
178
179 * mh-mime.el (mh-compose-forward): Only use mh-sent-from-msg as a
180 default message if it's a number (as is done elsewhere).
181 Otherwise, an error is thrown if this function is called from a
182 draft created by mh-forward since this variable is a list. Also
183 added a space after the "Messages [%s]:" prompt.
184
1852005-05-30 Jeffrey C Honig <jch@honig.net>
186
187 * mh-mime.el (mh-compose-forward): Allow insertion of multiple
188 forwarded messages by range (including sequences). For the sent
189 folder the default message presented is the sent message. For
190 other folders, the default message is "cur", if it exists.
191
1922005-05-28 Bill Wohler <wohler@newt.com>
193
194 * mh-e.el (Version, mh-version): Added +cvs to version.
195
1962005-05-28 Bill Wohler <wohler@newt.com>
197
198 Released MH-E version 7.84.
199
200 * MH-E-NEWS, README: Updated for release 7.84.
201
202 * mh-e.el (Version, mh-version): Updated for release 7.84.
203
2042005-05-28 Bill Wohler <wohler@newt.com>
205
206 * mh-e.el, mh-comp.el: Don't autoload Info-goto-node. It's not
207 used, and if it were, the code should use the info function
208 instead.
209
210 Use full year in copyright notices (for example, 2005, not 05).
211
212 * Makefile (mh-loaddefs.el, mh-e-autoloads.el): Added 2005 to
213 copyright notice.
214
215 * mh-inc.el: Use three ;;; to precede Local Variables to be
216 consistent with other files. Will have to ask Stefan Monnier why
217 he changed it.
218
219 * README: This version of MH-E to appear in GNU Emacs 22.1, not
220 21.5.
221
222 * ChangeLog: The * in a ChangeLog entry must only be used before a
223 filename.
224
225 Fixed compilation warnings in CVS Emacs. This included using
226 "public" functions instead of "private" ones (info instead of
227 Info-goto-node, view-mode-enter instead of view-mode), and
228 removing a customization group that didn't have a parent group. In
229 addition, string-to-int was recently deprecated; use
230 string-to-number instead.
231
232 * mh-customize.el (Info-goto-node): Deleted autoload.
233 (mh-e): Deleted mh group. Use single mh-e group instead.
234 (mh-tool-bar-folder-help, mh-tool-bar-letter-help): Use info
235 instead of Info-goto-node.
236
237 * mh-e.el (mh-read-msg-list): string-to-int deprecated; use
238 string-to-number.
239
240 * mh-funcs.el (mh-list-folders): Use view-mode-enter instead of
241 view-mode.
242
243 * mh-seq.el (mh-list-sequences): Use view-mode-enter instead of
244 view-mode.
245
246 * mh-utils.el (mh-get-msg-num): string-to-int deprecated; use
247 string-to-number.
248
249 Merged in changes from CVS Emacs including:
250
251 * mh-utils.el (mh-show-mode):
252 * mh-pick.el (mh-pick-mode): Remove spurious run-hooks. Lute
253 Kamstra <lute@gnu.org> 2005-05-26.
254
2552005-05-25 Bill Wohler <wohler@newt.com>
256
257 Merged in changes from CVS Emacs including:
258
259 * mh-customize.el (mh-speedbar-selected-folder-face): Special case
260 high number of colors displays. Dan Nicolaescu <dann@ics.uci.edu>
261 2005-04-08.
262
263 * mh-e.el, mh-identity.el, mh-mime.el: Replace `legal' with
264 `valid'. Replace `illegal' with `invalid'. Werner Lemberg
265 <wl@gnu.org> 2005-03-25.
266
267 * mh-inc.el (mh-inc-spool-list): Correctly declare the external
268 var. Stefan <monnier@iro.umontreal.ca> 2004-09-07.
269
2702005-05-18 Bill Wohler <wohler@newt.com>
271
272 * mh-comp.el (mh-reply): Mention use of mh-repl-group-formfile in
273 docstring.
274
2752005-05-05 Bill Wohler <wohler@newt.com>
276
277 * mh-e.el (Version, mh-version): Added +cvs to release number.
278
2792005-05-05 Bill Wohler <wohler@newt.com>
280
281 Released MH-E version 7.83.
282
283 * MH-E-NEWS, README: Updated for release 7.83.
284
285 * mh-e.el (Version, mh-version): Updated for release 7.83.
286
2872005-05-05 Bill Wohler <wohler@newt.com>
288
289 * README: To appear in Emacs 21.5, since 21.4 was released (but
290 without the latest MH-E).
291
292 * release-utils (usage): Added --variable-changes.
293
2942005-05-04 Bill Wohler <wohler@newt.com>
295
296 * mh-customize.el (*-face): Made docstrings consistent.
297
298 * mh-seq.el (mh-pick-args-list): Extracted function for turning
299 string of pick arguments to list. Fixed list so that multi-word
300 arguments were put in a single string (closes SF #1122655).
301 (mh-edit-pick-expr): Use it.
302
303 * mh-unit.el (mh-unit): Since 21.4 snuck out but didn't contain
304 updated lm-verify, don't run lm-verify on versions before 21.5.
305 (mh-unit-test-pick-args-list): Added.
306
307 * mh-customize.el (mh-yank-from-start-of-msg): Use headline
308 capitalization. Changed wording of some choices to be more consistent.
309 (mh-invisible-header-fields-internal): Added fields from usa.net.
310
3112005-04-24 Satyaki Das <satyaki@theforce.stanford.edu>
312
313 * mh-mime.el (mh-mime-security-button-face): New function which
314 determines the face to use to colorize encrypted or signed emails.
315 (mh-insert-mime-security-button): Modified to colorize the button
316 differently based on whether the signature was valid or not,
317 whether the decryption was successful or not, etc.
318
319 * mh-customize.el (mh-show-pgg-good-face)
320 (mh-show-pgg-unknown-face, mh-show-pgg-bad-face): Faces added to
321 highlight buttons introduced for encrpted or signed MIME parts.
322
3232005-03-19 Bill Wohler <wohler@newt.com>
324
325 * mh-customize.el (mh-mml-method-default): Sorted alphabetically.
326 (mh-insert-x-mailer-flag, mh-reply-show-message-flag): Moved from
327 mh-letter group to mh-sending-mail group. The writing of the
328 documentation revealed that these options were misplaced.
329
3302005-03-17 Bill Wohler <wohler@newt.com>
331
332 * mh-customize.el (mh-junk-background): Put in alphabetical order.
333 Synced with manual.
334 (mh-junk-program): Use double-quotes on non-symbols.
335
336 * mh-pick.el: (mh-search-folder): Synced docstrings with manual.
337
338 * mh-index.el: (mh-index-search, mh-pick-execute-search)
339 (mh-grep-execute-search, mh-mairix-execute-search)
340 (mh-swish-execute-search, mh-swish++-execute-search)
341 (mh-namazu-execute-search): Synced docstrings with manual. Note
342 that I'm now grabbing the output of an Info buffer which is why
343 the indents on the examples has changed a bit. If we all use that
344 methodology in the future, we shouldn't produce as many gratuitous
345 diffs. I also noticed that `grep' and `search' became links to
346 unrelated things, so let's use double-quotes for quoting
347 non-symbols in the docstrings.
348
349 * mh-customize.el (mh-index-new-messages-folders)
350 (mh-index-ticked-messages-folders): Synced docstrings with manual.
351
3522005-02-16 Satyaki Das <satyaki@theforce.stanford.edu>
353
354 * mh-index.el (mh-swish-execute-search): Simplify the indexing
355 recipe for swish. Thanks to Eric Jensen for the suggestion.
356
3572005-02-11 Satyaki Das <satyaki@theforce.stanford.edu>
358
359 * mh-index.el (mh-swish-execute-search)
360 (mh-swish++-execute-search): Make the indexing recipes better.
361 (mh-swish-next-result): The indexer might find matches in files
362 that aren't messages. Make the function handle that case
363 gracefully.
364
3652005-02-07 Bill Wohler <wohler@newt.com>
366
367 * mh-customize.el (mh-inc-prog, mh-inc-spool-list): Synced
368 docstrings with manual.
369
3702005-02-06 Bill Wohler <wohler@newt.com>
371
372 * mh-junk.el (mh-spamassassin-blacklist): Removed trailing
373 whitespace.
374
375 * mh-e.el (mh-refile-or-write-again): Checkdoc fix.
376
377 * mh-identity.el (mh-identity-list-set)
378 (mh-identity-field-handler, mh-identity-handler-gpg-identity)
379 (mh-identity-handler-signature)
380 (mh-identity-handler-attribution-verb)
381 (mh-identity-handler-default, mh-identity-handler-top): Docstring
382 editing.
383
384 * mh-customize.el (mh-identity-list, mh-auto-fields-list)
385 (mh-identity-default, mh-identity-handlers): Synced docstrings
386 with manual.
387
3882005-02-03 Bill Wohler <wohler@newt.com>
389
390 * mh-xemacs.el (define-behavior 'mh): Moved Ben's code here from
391 mh-e.el and added standard documentation.
392
393 * mh-e.el: Received patch from Ben Wing <ben@666.com> to add
394 define-behavior on XEmacs.
395
3962005-01-28 Jeffrey C Honig <jch@honig.net>
397
398 * mh-customize.el (mh-invisible-header-fields-internal): Added
399 X-Evolution header added by Evolution mai client.
400
4012005-01-18 Bill Wohler <wohler@newt.com>
402
403 * mh-customize.el (mh-invisible-header-fields-internal): Added
404 DomainKey-Signature (http://antispam.yahoo.com/domainkeys/).
405 There's a Comment field that goes with it, but I thought it was
406 too general to add.
407
4082005-01-06 Bill Wohler <wohler@newt.com>
409
410 * mh-junk.el (mh-spamassassin-blacklist): Fixed typo to fix an
411 error when junking spamassassin mail when mh-junk-background is
412 turned on.
413
4142004-12-25 Satyaki Das <satyaki@theforce.stanford.edu>
415
416 * mh-utils.el (mh-show-unquote-From): Make the buffer writable
417 before trying to change it (closes SF #1089870).
418
419 * mh-comp.el (mh-complete-word): Fix a typo in a variable
420 name (closes SF #1089870)
421
4222004-11-28 Jeffrey C Honig <jch@honig.net>
423
424 * mh-comp.el (mh-complete-word): Kill the *Completions* buffer in
425 any cases where we belive we are done with it. Not perfect, but
426 better than just leaving it around.
427
4282004-11-08 Satyaki Das <satyaki@theforce.stanford.edu>
429
430 * mh-acros.el (mh-funcall-if-exists): In XEmacs, presence of a
431 function at compile time doesn't guarantee it's existence at run
432 time. So make the macro handle that situation better.
433
4342004-11-05 Satyaki Das <satyaki@theforce.stanford.edu>
435
436 * mh-acros.el (advice): Load advice, since it isn't loaded in
437 XEmacs causing compilation problems.
438
4392004-10-24 Satyaki Das <satyaki@theforce.stanford.edu>
440
441 * mh-index.el (mh-mairix-execute-search)
442 (mh-mairix-regexp-builder): Update the interface to mairix so that
443 it will work with versions of mairix 0.12 and later.
444
445 * mh-funcs.el (mh-rmf-daemon): Avoid using
446 beginning-of-buffer since it clobbers the mark and it was pointed
447 out on the Emacs developers list to be the wrong thing to do.
448
449 * mh-e.el (mh-inc-folder): Only remove the window on the show
450 buffer. This means if the user has BBDB enabled then the window
451 displaying BBDB information isn't clobbered.
452 (mh-refile-or-write-again): Don't use the function
453 interactive-p. There was a long thread on the Emacs developers
454 list where it was pointed out that it is incorrect to use this
455 function most of the time.
456
457 * mh-comp.el (autoload): Don't set auto-mode-alist. This could
458 screw things up for users that don't use MH-E (closes SF #1032353).
459
4602004-10-13 Satyaki Das <satyaki@theforce.stanford.edu>
461
462 * mh-e.el (mh-refile-or-write-again): Generalize the function to
463 work on a range of messages (closes SF #1046330).
464
4652004-09-02 Satyaki Das <satyaki@theforce.stanford.edu>
466
467 * mh-e.el (mh-process-commands): The concurrent execution of mark
468 and refile can cause problems since both the commands change the
469 current folder. This change avoids that by getting rid of the
470 concurrency. Another change covers the corner case where we refile
471 messages to a previously empty folder. Before the modification
472 sequences weren't preserved even if the appropriate flag was
473 set. That is no longer the case.
474
4752004-08-26 Satyaki Das <satyaki@theforce.stanford.edu>
476
477 * mh-e.el (mh-get-new-mail): Also, update the unseen sequence from
478 disk. Otherwise, the new messages aren't highlighted.
479
480 * mh-seq.el (mh-thread-inc): Fix a bug which appears when inc is
481 run in a narrowed folder. The user sequence notation was getting
482 lost. The change fixes that.
483
484 * mh-e.el (mh-get-new-mail): Make inc more efficient by reusing
485 the existing user sequence notation and deleted/refiled notation.
486
4872004-08-24 Bill Wohler <wohler@newt.com>
488
489 * mh-e.el (Version, mh-version): Added +cvs to release number.
490
4912004-08-24 Bill Wohler <wohler@newt.com>
492
493 Released MH-E version 7.82.
494
495 * MH-E-NEWS, README: Updated for release 7.82.
496
497 * mh-e.el (Version, mh-version): Updated for release 7.82.
498
4992004-08-24 Bill Wohler <wohler@newt.com>
500
501 * mh-init.el (mh-variant-set): Change MH to mh as that's what is
502 emitted by `mh-variant-mh-info' (closes SF #1014781).
503 (mh-variant-p): Add mu-mh to docstring.
504
5052004-08-23 Satyaki Das <satyaki@theforce.stanford.edu>
506
507 * mh-acros.el (mh-require-cl): Remove unneeded autoloads.
508 (require): Add an advice to the function so that at compile time
509 the uncompiled file is loaded. This avoids compilation problems
510 when built in the Emacs tree.
511
512 * mh-mime.el (mh-identity-pgg-default-user-id): Defvar the
513 variable, to avoid compiler warnings.
514
515 * mh-e.el (mh-seq): Load mh-seq since functions defined there are
516 used here. Without this, the state mh-seq.elc would be loaded.
517
518 * mh-customize.el (mh-init, mh-identity): Load mh-init and
519 mh-identity at compile time manually, before the corresponding
520 stale elc files get autoloaded.
521
5222004-08-21 Bill Wohler <wohler@newt.com>
523
524 * mh-e.el (Version, mh-version): Add +cvs to release number.
525
5262004-08-21 Bill Wohler <wohler@newt.com>
527
528 Released MH-E version 7.81.
529
530 * MH-E-NEWS, README: Updated for release 7.81.
531
532 * mh-e.el (Version, mh-version): Updated for release 7.81.
533
5342004-08-21 Bill Wohler <wohler@newt.com>
535
536 * release-utils (variable_changes): Check for checked-out
537 directory before proceeding. Remove temporary files.
538 Rename --variable-update flag to --variable-changes.
539
5402004-08-16 Mark D. Baushke <mdb@gnu.org>
541
542 * mh-mime.el (mh-toggle-mh-decode-mime-flag: New function.
543 * mh-e.el (mh-help-messages): Add [;] help string for it.
544 (mh-folder-mode-map): Add ";" key binding for it.
545
5462004-08-15 Satyaki Das <satyaki@theforce.stanford.edu>
547
548 * mh-acros.el (mh-defstruct): Distinguishing structures created
549 by mh-defstruct just based on the number of fields is not
550 sufficient, since both the mh-thread-message and
551 mh-thread-container structures have the same length.
552
5532004-08-15 Mark D. Baushke <mdb@gnu.org>
554
555 * mh-customize.el (mh-identity-handlers): Use ":default" instead of
556 "default" to avoid problems with "Default:" as a user defined field.
557 * mh-identity.el (mh-identity-field-handler): Ditto.
558
5592004-08-15 Bill Wohler <wohler@newt.com>
560
561 * mh-e.el (Version, mh-version): Added +cvs to release number.
562
5632004-08-15 Bill Wohler <wohler@newt.com>
564
565 Released MH-E version 7.4.80.
566
567 * MH-E-NEWS, README: Updated for release 7.4.80.
568
569 * mh-e.el (Version, mh-version): Updated for release 7.4.80.
570
5712004-08-15 Bill Wohler <wohler@newt.com>
572
573 * mh-funcs.el, mh-gnus.el, mh-inc.el, mh-init.el, mh-junk.el,
574 mh-pick.el, mh-print.el, mh-xemacs.el: Added 2004 to Copyright.
575
576 * mh-acros.el, mh-alias.el: Checkdoc fixes.
577
5782004-08-12 Satyaki Das <satyaki@theforce.stanford.edu>
579
580 * mh-acros.el (cl): Load cl in this file. That is all right, since
581 this file is only used at compile time, and so cl doesn't get
582 loaded at run time. This avoids problems with stale *.elc files
583 present in the Emacs source tree during compilation.
584 (mh-defstruct): Modify it to make it more CL like and in the
585 process simplify it a bit. This makes the argument list of the
586 constructor compatible with the previous version, thereby avoiding
587 a compilation error when an old version of mh-seq.elc is present.
588
589 * mh-seq.el (mh-thread-id-container, mh-thread-get-message)
590 (mh-thread-get-message-container): Revert back to the CL style
591 of using keyword arguments, since the mh-defstruct now produces
592 code compatible to such usage.
593
5942004-08-11 Satyaki Das <satyaki@theforce.stanford.edu>
595
596 * mh-acros.el (mh-defstruct, mh-require-cl): Checkdoc fixes.
597
598 * mh-utils.el (message-tokenize-header, message-fetch-field): Add
599 autoloads.
600 (mh-folder-completing-read): Make the folder completion look
601 better with CVS Emacs.
602
603 * mh-init.el (mh-variant-set): Remove dead code.
604
6052004-08-11 Bill Wohler <wohler@newt.com>
606
607 * *.el: Use the following at the top of each file which seems to
608 do a good job of suppressing compilation warnings in 21.3 and CVS
609 Emacs (21.4). This replaces (require 'cl) or (require
610 'utils) (mh-require-cl) calls:
611
612 (eval-when-compile (require 'mh-acros))
613 (mh-require-cl)
614
6152004-08-10 Bill Wohler <wohler@newt.com>
616
617 * release-utils (DESCRIPTION): Added one.
618 (FILES, SEE ALSO, VERSION): Deleted empty and incorrect sections.
619
620 * mh-e.el (mh-colors-available-p): Call x-display-color-cells with
621 mh-funcall-if-exists since it no longer seems to be defined in
622 GNU Emacs 21.4.
623
6242004-08-10 Satyaki Das <satyaki@theforce.stanford.edu>
625
626 * mh-speed.el (mh-process-kill-without-query, mh-speed-flists):
627 Avoid a compiler warning in versions of Emacs where
628 process-kill-without-query is a deprecated function.
629
630 * mh-seq.el (mh-thread-message, mh-thread-container): Use
631 mh-defstruct instead of defstruct.
632 (mh-thread-id-container, mh-thread-get-message-container)
633 (mh-thread-get-message): Use the slightly different structure
634 constructor function.
635
636 * mh-acros.el (mh-defstruct): New macro which is a partial
637 replacement of the defstruct in CL.
638 (no-byte-compile): Don't compile the file since it isn't loaded at
639 run time, so efficiency isn't an issue.
640
641 * mh-utils.el (mh-buffer-data): Use mh-defstruct instead of
642 defstruct.
643
6442004-08-09 Satyaki Das <satyaki@theforce.stanford.edu>
645
646 * mh-funcs.el, mh-junk.el, mh-print.el: Use mh-require-cl to avoid
647 compilation warnings in Emacs-21.3.
648
649 * mh-acros.el (mh-require-cl): Add autoloads of CL functions used.
650
6512004-08-09 Bill Wohler <wohler@newt.com>
652
653 * mh-customize.el (mh-show-use-xface-flag): Mention that `fetch' and
654 `curl' are supported as well.
655
6562004-08-08 Bill Wohler <wohler@newt.com>
657
658 * mh-xemacs.el (mh-xemacs-has-toolbar-flag): Checkdoc fixes.
659
660 * mh-mime.el (mh-display-with-external-viewer): Checkdoc fixes.
661
662 * mh-identity.el: (mh-identity-attribution-verb-end): Stripped
663 trailing space; checkdoc fixes.
664
665 * mh-e.el (mh-restore-desktop-buffer): Checkdoc fixes.
666
667 * mh-customize.el: (mh-inc-spool-list,
668 mh-compose-forward-as-mime-flag, defcustom): Stripped trailing
669 space; checkdoc fixes.
670
671 * mh-comp.el (mh-reply): Stripped trailing space.
672
673 * mh-unit.el (mh-unit-files): Added mh-acros.el and mh-gnus.el.
674 (mh-unit): Don't lm-verify pre-21.4. Save buffers before killing
675 since we might have done some editing.
676
677 * import-emacs: Deleted. Functionality subsumed by release-utils.
678
679 * release-utils: New script. Performs import-emacs functionality
680 and displays new and deleted options.
681
682 * Makefile (import-emacs): Call release-utils instead of
683 import-emacs.
684
685 * mh-funcs.el (mh-undo-folder): Removed deprecated `ignore'
686 argument.
687
688 * mh-e.el (mh-scan-date-regexp): Deleted as Peter claims it is
689 obsolete.
690 (mh-folder-font-lock-keywords): Removed reference to deleted
691 variable `mh-scan-date-regexp'.
692
693 * mh-customize.el (mh-auto-fields-prompt-flag): Made reference to
694 `mh-auto-fileds-lists'.
695 (mh-forward-hook): Fixed docstring typo.
696
6972004-08-07 Bill Wohler <wohler@newt.com>
698
699 * mh-acros.el: New file. Currently holds macros needed by
700 mh-customize.el but is planned to hold all macros to avoid
701 dependency problems when compiling.
702
703 * mh-utils.el (mh-xemacs-flag): Defined in mh-customize.el now.
704 (mh-require-cl, mh-do-in-gnu-emacs, mh-do-in-xemacs)
705 (mh-funcall-if-exists, mh-make-local-hook, mh-mark-active-p):
706 Moved to new file mh-acros.el.
707
708 * mh-customize.el: Require mh-acros and cl only when compiling and
709 mh-loaddefs at runtime instead of mh-utils.
710 (mh-xemacs-flag): Define it here instead of mh-utils.el.
711
712 * Makefile (MH-E-SRC): Added mh-acros.el.
713
714 * mh-gnus.el (default-enable-multibyte-characters): Don't define
715 any more. It doesn't seem to be needed.
716
717 * mh-customize.el (mh-junk-background): New variable. If on, spam
718 programs are run in background. Running in foreground can be slow.
719 Defaults to nil to spare machines with little memory.
720
721 * mh-junk.el (mh-spamassassin-blacklist, mh-bogofilter-blacklist)
722 (mh-bogofilter-whitelist, mh-spamprobe-blacklist)
723 (mh-spamprobe-whitelist): Use new option mh-junk-background.
724
7252004-07-25 Satyaki Das <satyaki@theforce.stanford.edu>
726
727 * mh-utils.el (mh-folder-completing-read): In recent CVS Emacs,
728 the first letter of the possible choices in the completion buffer
729 is highlighted. The change is needed for this feature to work
730 during folder name completion. This is not entirely sufficient,
731 since the leading "+" in folder names is still mishandled. A patch
732 is required in Emacs itself to address that.
733
7342004-07-22 Mark D. Baushke <mdb@gnu.org>
735
736 * mh-e.el (recursive-load-depth-limit): Move
737 recursive-load-depth-limit code to ...
738 * mh-utils.el (recursive-load-depth-limit): ... here to avoid
739 problems compiling mh-utils.el and mh-alias.el with gnus-5.10.6
740 under emacs-21.1. Use eval-and-compile instead of eval-when.
741
7422004-07-20 Bill Wohler <wohler@newt.com>
743
744 * mh-customize.el (mh-invisible-header-fields-internal): Added
745 header fields emitted by T-Mobile picture phones (X-Mms-*, and
746 commented out X-Operator field saying it's like X-Mailer).
747
7482004-07-12 Bill Wohler <wohler@newt.com>
749
750 * mh-gnus.el: Set local variables indent-tabs-mode and
751 sentence-end-double-space to nil.
752
753 * mh-customize.el: Checkpoint from option docstring updates and
754 manual synchronization from last summer. For the options listed
755 below, docstring was usually completely rewritten. Use "on"
756 instead of "t" in docstring to match what is seen in customization
757 buffer. Use headline capitalization. Standardize on "Auto-detect"
758 text when option has that capibility.
759 (mh): Since we work on more than one type of Emacs, use Emacs
760 instead of GNU Emacs. Prefer GNU mailutils over GNU Mailutils.
761 (mh-variant): s/Autodetect at startup/Auto-detect/.
762 (mh-alias-insertion-location): s/Sorted
763 alphabetically/Alphabetical/. s/At the top of file/Top/. s/At the
764 bottom of file/Bottom/.
765 (mh-alias-local-users-prefix): s/Use login instead of real
766 name/Use Login/.
767 (mh-identity-list): Sorted values by fields, attribution,
768 signature, GPG key.
769 (mh-auto-fields-list): Missing quote.
770 (mh-compose-insertion): s/Use Gnus/Gnus/. s/Use mhn/mhn/.
771 (mh-compose-space-does-completion-flag): s/SPACE/<SPC>/.
772 (mh-extract-from-attribution-verb): Since we have French, added
773 German too ;-).
774 (mh-letter-complete-function): Mention default in docstring.
775 (mh-invisible-header-fields-internal): Added X-ELNK-Trace from
776 Earthlink.
777 (mh-alias-flash-on-comma, mh-alias-insert-file)
778 (mh-alias-passwd-gecos-comma-separator-flag)
779 (mh-recenter-summary-flag, mh-default-folder-for-message-function)
780 (mh-default-folder-must-exist-flag, mh-index-program)
781 (mh-index-ticked-messages-folders, mh-ins-buf-prefix)
782 (mh-delete-yanked-msg-window-flag, mh-identity-default): See
783 summary above.
784
785 * mh-init.el (mh-variant-set, mh-sys-path, mh-variant-mu-mh-info):
786 Prefer GNU mailutils over GNU Mailutils MH.
787
788 * mh-comp.el (sc-cite-original, mh-smail, mh-smail-batch)
789 (mh-edit-again, mh-extract-rejected-mail, mh-forward)
790 (mh-smail-other-window, mh-reply, mh-send, mh-send-other-window):
791 Use `mh-send' instead of \\[mh-send]] since links in the docstring
792 are more useful than a key sequence in these cases. Use "See also"
793 instead of "See also documentation for".
794
795 Merged in 7.4.4 changes, described below.
796
797 * mh-e.el (Version, mh-version): Set to 7.4.4+cvs.
798
7992004-07-10 Bill Wohler <wohler@newt.com>
800
801 Released MH-E version 7.4.4.
802
803 * MH-E-NEWS, README: Updated for release 7.4.4.
804
805 * mh-e.el (Version, mh-version): Updated for release 7.4.4.
806
807 This patch release contains the following patches:
808
809 * mh-xemacs.el: New file from concatenation of mh-xemacs-compat.el
810 and mh-xemacs-icons.el which were removed since their names
811 exceeded DOS 8+3 limits.
812
813 * Makefile:
814 (mh-e-autoloads.el): Add target to make `mh-e-autoloads.el', a
815 file containg usual entry commands into MH-E to be used for users
816 installing MH-E separately from Emacs.
817 (XEMACS_LOADDEFS_FILE): New. Used to generate mh-loaddefs.el
818 in XEmacs.
819 (XEMACS_LOADDEFS_COOKIE): Ditto.
820 (XEMACS_LOADDEFS_PKG_NAME): Ditto.
821 (XEMACS_OPTIONS): Add '-no-autoloads' to give a cleaner build
822 environment.
823 (MH-E-SRC): Moved mh-xemacs.el to new variable MH-E-XEMACS-SRC.
824 (MH-E-XEMACS-SRC): New variable to hold XEmacs source files.
825 (MH-E-XEMACS-OBJ): New variable to hold XEmacs object files.
826 (clean): Moved XEmacs-specific code to clean-xemacs.
827 (xemacs): Added clean-xemacs prerequisite. Moved down to XEmacs
828 section of file. Add target to build mh-loaddefs.el in XEmacs
829 (loaddefs-xemacs): New rule to build mh-loaddefs.el in XEmacs.
830 (clean-xemacs): New target to remove XEmacs-specific files.
831 (compile-xemacs): New. It allows for the '-no-autoloads' option
832 and byte-compiles all the source files with a single instance of
833 XEmacs.
834 (dist): Added $(MH-E-XEMACS-SRC) to tarball.
835 (AUTO_PRELOADS): Removed, in favour of 'AUTOLOAD_PACKAGE_NAME' and
836 'AUTOLOAD_FILE'.
837 (AUTOLOAD_PACKAGE_NAME): New.
838 (AUTOLOAD_FILE): New.
839 (all): Don't set $EMACS_HOME if building with XEmacs.
840 (xemacs): Use 'compile-xemacs' instead of 'compile'.
841 (auto-autoloads.elc): Use new $AUTOLOAD_* vars and allow for
842 '-no-autoloads'.
843 (custom-load.elc): Allow for '-no-autoloads'.
844
845 * mh-e.el: Don't require mh-xemacs-compat which no longer exists.
846 The XEmacs stuff gets required by mh-customize.el which is
847 required by mh-utils.el which is required by mh-e.el. This all
848 happens before mh-xemacs-compat was required, so all should be
849 well.
850 (mh-restore-desktop-buffer): Move from desktop.el. Add Parameters.
851 (mh-restore-desktop-buffer): Delete with-no-warnings.
852 (mh-folder-mode): Bind desktop-save-buffer to t.
853 (Courtesy Lars Hansen).
854
855 * mh-alias.el (mh-assoc-ignore-case): New macro to use
856 assoc-string when available (Emacs 21.4+); assoc-ignore-case
857 otherwise.
858 (mh-alias-reload, mh-alias-expand,
859 mh-alias-minibuffer-confirm-address): Use it.
860
861 * mh-seq.el: Added mh-autoload to mh-read-seq-default.
862
863 * mh-utils.el (mh-require-cl): The Emacs coding conventions
864 require that the cl package not be required at runtime. However,
865 the cl package in versions of Emacs prior to 21.4 left cl routines
866 in their macro expansions. Use mh-require-cl to provide the cl
867 routines in the best way possible (closes SF #930012).
868 (require 'mouse): To shush compiler.
869
870 Use new function mh-require-cl throughout.
871
872 Add arch taglines (courtesy Miles Bader).
873
874 * mh-unit.el (mh-unit-files): Replaced mh-xemacs-compat.el and
875 mh-xemacs-icons.el with mh-xemacs.el.
876
877 * import-emacs: Also grab the ChangeLog.
878
879 * *.pbm: Regenerated using GIMP to be consistent with other Emacs
880 icons.
881 1. Edit .xpm image in GIMP.
882 2. Image > Mode > Indexed. Check Use Black/White Palette and No
883 Color Dithering.
884 3. File > Save As file.xbm.
885 4. Run xbmtopbm < file.xbm > file.pbm.
886 Thanks to jan.h.d@swipnet.se for the help.
887
8882004-07-07 Stephen Gildea
889
890 * mh-customize.el (mh-invisible-header-fields-internal):
891 Add X-Greylist, X-Source*, and X-WebTV-Signature.
892 Replace specific X-Spam-* headers with general pattern.
893
8942004-06-15 Bill Wohler <wohler@newt.com>
895
896 * README: Vladimir Ivanovic reports that mh-rmail works with
897 XEmacs 21.5.17, so updated requirements text accordingly (closes
898 SF #644321).
899
9002004-05-12 Satyaki Das <satyaki@theforce.stanford.edu>
901
902 * mh-utils.el (mh-mail-header-end): Replace call to
903 rfc822-goto-eoh with something that allows From_ lines in the mail
904 header.
905
9062004-04-14 Bill Wohler <wohler@newt.com>
907
908 * mh-utils.el (mh-show-mouse): s/EVENT/event/. Thanks to John Paul
909 Wallington <jpw@gnu.org> for pointing this out.
910
9112004-04-12 Satyaki Das <satyaki@theforce.stanford.edu>
912
913 * mh-e.el (mh-folder-size-flist): Add -showzero option so that the
914 parsing code doesn't get confused by the presence of -noshowzero
915 in the user's .mh_profile (closes SF #933954).
916
9172004-04-07 Satyaki Das <satyaki@theforce.stanford.edu>
918
919 * mh-mime.el (mh-insert-mime-button)
920 (mh-insert-mime-security-button): Add evaporate property to
921 overlays used in MIME part buttons. This avoids problems with
922 CVS Emacs.
923
9242004-03-16 Satyaki Das <satyaki@theforce.stanford.edu>
925
926 * mh-e.el (mh-folder-from-address): Go to the end of buffer if the
927 re-search-forward fails (closes SF #917096).
928
9292004-02-02 Satyaki Das <satyaki@theforce.stanford.edu>
930
931 * mh-customize.el (mh-compose-forward-as-mime-flag): New user
932 customizable variable that controls whether messages are forwarded
933 as MIME attachments (closes SF #827203).
934
935 * mh-comp.el (mh-forward): Call forw with -mime option only if
936 mh-compose-forward-as-mime-flag is non-nil.
937
9382003-12-26 Jeffrey C Honig <jch@honig.net>
939
940 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist)
941 (mh-spamassassin-blacklist, mh-spamassassin-blacklist)
942 (mh-spamassassin-blacklist, mh-spamassassin-whitelist)
943 (mh-spamassassin-whitelist, mh-bogofilter-blacklist)
944 (mh-spamprobe-blacklist): Add progress messages. Change "Couldn't"
945 to "Unable" in error messages. Run bogofilter and spamprobe in
946 the foreground to prevent a large number of processes from
947 swamping the system.
948
9492003-12-25 Satyaki Das <satyaki@theforce.stanford.edu>
950
951 * mh-e.el (mh-prompt-for-refile-folder): Marking the whole folder
952 and then refiling all messages throws an error, since this
953 function expects point to be on a valid scan line. The change
954 relaxes this requirement, thereby avoiding the above problem.
955
9562003-12-14 Satyaki Das <satyaki@theforce.stanford.edu>
957
958 * mh-comp.el (mh-ascii-buffer-p): New function that checks if a
959 buffer is entirely composed of ASCII.
960 (mh-send-letter): Encode the draft if it contains non-ASCII
961 characters.
962
9632003-12-12 Satyaki Das <satyaki@theforce.stanford.edu>
964
965 * mh-customize.el (mh-invisible-headers): Keep only unique fields
966 in list of header fields to hide. This avoids problems in XEmacs.
967
9682003-12-10 Satyaki Das <satyaki@theforce.stanford.edu>
969
970 * mh-seq.el (mh-thread-print-scan-lines): The imenu index was not
971 getting created for threaded index buffers. The change fixes this.
972
973 * mh-index.el (mh-index-insert-folder-headers): Always create the
974 imenu index.
975 (mh-index-create-imenu-index): Set which-func-mode to t. If
976 which-function-mode is turned on after the folder buffer has been
977 prepared, display of the folder info was being inhibited. The
978 change fixes that.
979
9802003-12-09 Satyaki Das <satyakid@stanford.edu>
981
982 * mh-comp.el (mh-letter-mode): Setup mh-mail-header-separator
983 based on draft contents.
984 (mh-letter-mode, mh-letter-mail-header-end-marker)
985 (mh-letter-header-end): Remove use of the variable
986 mh-letter-mail-header-end-marker. Instead use
987 mh-mail-header-separator. This avoids problems in font locking
988 draft buffers (closes SF #855479).
989
9902003-12-09 Satyaki Das <satyakid@stanford.edu>
991
992 * mh-index.el (mh-index-insert-folder-headers): Modified so that
993 imenu--index-alist is updated.
994 (mh-index-create-imenu-index): New function that generates an
995 index usable by imenu. This adds which-func-mode support to index
996 folders (closes SF #855520).
997
998 * mh-e.el (which-func, which-func-modes): Tell which-func that
999 mh-folder-mode supports it.
1000 (mh-folder-mode): Add support for imenu.
1001
10022003-11-22 Peter S Galbraith <psg@debian.org>
1003
1004 * Makefile: renamed mh-startup.el to mh-e-autoloads.el
1005
1006 * README: renamed mh-startup.el to mh-e-autoloads.el
1007
1008 * .cvsignore: Added mh-e-autoloads.el
1009
10102003-11-18 Bill Wohler <wohler@newt.com>
1011
1012 Released MH-E version 7.4.3.
1013
1014 * MH-E-NEWS, README: Updated for release 7.4.3.
1015
1016 * mh-e.el (Version, mh-version): Updated for release 7.4.3.
1017
1018 This patch release contains the following two patches:
1019
1020 * mh-identity.el (mh-identity-make-menu): Removed condition on
1021 mh-auto-fields-list. Use it to enable or disable menu item
1022 instead.
1023
1024 * mh-customize.el (mh-identity-list): Removed defvar and moved
1025 defcustom before mh-auto-fields-list so that defvar wouldn't
1026 clobber user's customization settings.
1027
10282003-11-17 Jeffrey C Honig <jch@honig.net>
1029
1030 * mh-print.el (mh-print-msg): Do not print a message on deprecated
1031 usage, the bindings have been removed.
1032
1033 * mh-e.el (mh-folder-mode-map): Remove "l" binding for
1034 mh-print-msg.
1035
1036 * mh-utils.el (mh-show-mode-map): Remove "l" binding for
1037 mh-print-msg.
1038
10392003-11-16 Satyaki Das <satyakid@stanford.edu>
1040
1041 * mh-comp.el (mh-beginning-of-word): Use the function
1042 mh-mail-abbrev-make-syntax-table instead of the function
1043 mail-abbrev-make-syntax-table.
1044
1045 * mh-gnus.el (mh-mail-abbrev-make-syntax-table): Add a wrapper
1046 function that calls mail-abbrev-make-syntax-table if available.
1047 This is needed so that MH-E built with CVS Emacs will work with
1048 released versions of Emacs21 and vice versa.
1049
10502003-11-14 Peter S Galbraith <psg@debian.org>
1051
1052 * mh-customize.el (mh-invisible-header-fields-internal): Add
1053 "X-NAI-Spam-" and "X-Spam-Report:".
1054
10552003-11-14 Mark D. Baushke <mdb@gnu.org>
1056
1057 * mh-customize.el (mh-invisible-header-fields-internal):
1058 Add X-AntiAbuse and X-MailScanner.
1059 (Patch from Stephen Gildea.)
1060
10612003-11-13 Peter S Galbraith <psg@debian.org>
1062
1063 * mh-identity.el (mh-identity-handler-attribution-verb): New
1064 function. A new Identity handler for the attribution verb (e.g.
1065 "wrote:") to allow for different identities to use different
1066 languages.
1067 (mh-identity-insert-attribution-verb): New function. Insert the
1068 attribution verb, placing special markers so it can be deleted and
1069 replaced later.
1070 (mh-identity-attribution-verb-start): New variable. Holds the
1071 marker for the start of the attribution verb.
1072 (mh-identity-attribution-verb-end): New variable. Holds the
1073 marker for the end of the attribution verb.
1074
1075 * mh-customize.el (mh-identity-handlers): Add new
1076 ":attribution-verb" tag for the attribution-verb handler.
1077 (mh-identity-list): Idem.
1078
1079 * mh-comp.el (mh-yank-cur-msg): Insert attribution verb using
1080 mh-identity-insert-attribution-verb.
1081 (mh-extract-from-attribution): Extract only the name from the From
1082 line, without appending `mh-extract-from-attribution-verb' since
1083 markers need to be inserted around that now.
1084
10852003-11-12 Bill Wohler <wohler@newt.com>
1086
1087 * mh-e.el (mh-rmail, mh-nmail): Well, actually, we run in both GNU
1088 Emacs and XEmacs, so removed the "GNU" in the docstrings unless
1089 one is strictly talking about GNU Emacs.
1090
1091 * mh-comp.el (mh-smail, mh-smail-batch, mh-smail-other-window):
1092 Ditto.
1093
10942003-11-11 Bill Wohler <wohler@newt.com>
1095
1096 * mh-customize.el (mh-customize): Minor docstring change.
1097 (mh, mh-e): The short description for MH-E is: The GNU Emacs
1098 Interface to the MH Mail System. Therefore, updated docstrings
1099 accordingly.
1100
1101 * mh-comp.el (mh-smail, mh-smail-batch, mh-smail-other-window):
1102 Ditto.
1103
1104 * mh-e.el (mh-rmail, mh-nmail): Ditto.
1105
11062003-11-10 Satyaki Das <satyakid@stanford.edu>
1107
1108 * mh-mime.el (mh-mml-to-mime): In case errors happen in
1109 mml-to-mime, restore contents of the draft buffer (closes SF
1110 #839303).
1111
11122003-11-07 Bill Wohler <wohler@newt.com>
1113
1114 * mh-customize.el (mh-letter-mode-hook): Moved to mh-sending-mail
1115 group (where it is now documented in the manual).
1116 (mh-pick-mode-hook): Moved to mh-index group (where it is now
1117 documented in the manual).
1118
1119 * mh-loaddefs.el: Deleted per our discussion on mh-e-devel. No
1120 more conflicts! No more check-ins! Anyone pulling CVS MH-E is
1121 expected to compile. This file shall be added to the tarball so
1122 that users of the distribution are not.
1123
11242003-11-07 Mark D. Baushke <mdb@gnu.org>
1125
1126 * mh-loaddefs.el: Regenerated.
1127
1128 * mh-customize.el (mh-forward-hook): Define new hook.
1129 * mh-comp.el (mh-forward): Use it.
1130
11312003-11-07 Satyaki Das <satyakid@stanford.edu>
1132
1133 * mh-loaddefs.el: Regenerated.
1134
1135 * mh-utils.el (mh-show-toggle-mime-buttons)
1136 (mh-show-display-with-external-viewer): New interactive functions
1137 callable from the show buffer.
1138 (mh-show-mime-map): Add bindings for "K t" and "K e".
1139 (mh-show-msg): Propagate change to
1140 mh-display-buttons-for-inline-parts-flag to the show buffer.
1141
1142 * mh-mime.el (mh-display-with-external-viewer): New interactive
1143 function to display MIME parts with external viewer (closes SF
1144 #839318).
1145
1146 * mh-e.el (mh-folder-mode): Make the variable
1147 mh-display-buttons-for-inline-parts-flag buffer-local so that
1148 display of MIME buttons can be toggled.
1149 (mh-toggle-mime-buttons): New interactive function to toggle
1150 display of MIME buttons.
1151 (mh-mime-map): Modified to add bindings for "K t" and "K e".
1152
11532003-11-04 Steve Youngs <sryoungs@bigpond.net.au>
1154
1155 * Makefile (XEMACS_LOADDEFS_FILE): New. Used to generate
1156 mh-loaddefs.el in XEmacs.
1157 (XEMACS_LOADDEFS_COOKIE): Ditto.
1158 (XEMACS_LOADDEFS_PKG_NAME): Ditto.
1159 (xemacs): Add target to build mh-loaddefs.el in XEmacs
1160 (clean-xemacs): Remove `mh-loaddefs.el*'
1161 (loaddefs-xemacs): New rule to build mh-loaddefs.el in XEmacs.
1162
11632003-11-02 Peter S Galbraith <psg@debian.org>
1164
1165 * mh-init.el (mh-variant-set-variant): Reset `mh-x-mailer-string'
1166 when we select an MH variant.
1167
11682003-11-02 Jeffrey C Honig <jch@honig.net>
1169
1170 * mh-loaddefs.el: Regenerated.
1171
1172 * mh-funcs.el (mh-print-msg): Move to mh-print.el.
1173
1174 * mh-e.el (mh-folder-mode-map): Add mh-print-msg ("l") back, it
1175 will print a message that this usage is deprecated.
1176
1177 * mh-print.el (require, mh-ps-print-msg, mh-ps-print-msg-file):
1178 Require mh-funcs for mh-note-printed. PS print functions were not
1179 setting the printed notation. Move mh-print-msg here for
1180 consistency. Print message if mh-print-msg invoked via deprecated
1181 key binding.
1182
11832003-11-01 Peter S Galbraith <psg@debian.org>
1184
1185 * Makefile: Add target to make `mh-startup.el', a file containg
1186 usual entry commands into MH-E to be used for users installing
1187 MH-E separately from Emacs.
1188
1189 * README: Document the above for users.
1190
11912003-10-29 Jeffrey C Honig <jch@honig.net>
1192
1193 * mh-utils.el (mh-show-ps-print-map): Add "?" and "l" to
1194 mh-show-ps-print-map.
1195
1196 * mh-e.el (mh-ps-print-map, mh-help-messages): Add "?" and "l" to
1197 mh-ps-print-map. Add "l" to help message.
1198
11992003-10-27 Bill Wohler <wohler@newt.com>
1200
1201 * Makefile (MH-E-SRC): Moved mh-xemacs.el to new variable
1202 MH-E-XEMACS-SRC.
1203 (MH-E-XEMACS-SRC): New variable to hold XEmacs source files.
1204 (MH-E-XEMACS-OBJ): New variable to hold XEmacs object files.
1205 (clean): Moved XEmacs-specific code to clean-xemacs.
1206 (xemacs): Added clean-xemacs prerequisite. Moved down to
1207 XEmacs section of file.
1208 (clean-xemacs): New target to remove XEmacs-specific files.
1209 (compile-xemacs): Added $(MH-E-XEMACS-SRC) prerequisite.
1210 (dist): Added $(MH-E-XEMACS-SRC) to tarball.
1211
12122003-10-27 Satyaki Das <satyakid@stanford.edu>
1213
1214 * mh-loaddefs.el: Regenerated.
1215
1216 * mh-index.el (mh-indexer-choices): Remove option for the non-free
1217 glimpse indexer (closes SF #831276).
1218 (mh-glimpse-binary, mh-glimpse-directory)
1219 (mh-glimpse-execute-search, mh-glimpse-next-result): Functions
1220 and variables to implement glimpse support are removed.
1221
1222 * mh-customize.el (mh-index-program): Remove option for glimpse.
1223
12242003-10-24 Satyaki Das <satyakid@stanford.edu>
1225
1226 * mh-customize.el: Remove top-level test for toolbar enabled
1227 XEmacs since it is not needed.
1228 (mh-tool-bar-define): Add test for XEmacs toolbar in the functions
1229 mh-toolbar-init, mh-tool-bar-letter-buttons-set and
1230 mh-tool-bar-folder-buttons-set. This enables proper compilation
1231 irrespective of whether the XEmacs was built with toolbar support
1232 or not.
1233
1234 * mh-comp.el (mh-letter-mode): Remove conditional since it is not
1235 needed.
1236
1237 * mh-e.el (mh-folder-mode): Same as above.
1238
1239 * mh-utils.el (mh-show-mode): Same as above.
1240
1241 * mh-xemacs.el (mh-xemacs-icon-map): Remove condition on toolbar
1242 presence since we want the build to work if XEmacs without
1243 toolbars is used during compilation.
1244
12452003-10-23 Bill Wohler <wohler@newt.com>
1246
1247 * mh-customize.el: The Great Reorganization. Sorted groups
1248 alphabetically. Aligned variables in customization groups with
1249 manual sections. Group docstrings changed to match manual chapter
1250 titles.
1251
12522003-10-22 Satyaki Das <satyakid@stanford.edu>
1253
1254 * mh-speed.el (timer): Avoid compiler warning in XEmacs.
1255
12562003-10-22 Steve Youngs <sryoungs@bigpond.net.au>
1257
1258 * Makefile (XEMACS_OPTIONS): Add '-no-autoloads' to give a cleaner
1259 build environment.
1260 (AUTO_PRELOADS): Removed, in favour of 'AUTOLOAD_PACKAGE_NAME' and
1261 'AUTOLOAD_FILE'.
1262 (AUTOLOAD_PACKAGE_NAME): New.
1263 (AUTOLOAD_FILE): New.
1264 (all): Don't set $EMACS_HOME if building with XEmacs.
1265 (xemacs): Use 'compile-xemacs' instead of 'compile'.
1266 (auto-autoloads.elc): Use new $AUTOLOAD_* vars and allow for
1267 '-no-autoloads'.
1268 (custom-load.elc): Allow for '-no-autoloads'.
1269 (compile-xemacs): New. It allows for the '-no-autoloads' option
1270 and byte-compiles all the source files with a single instance of
1271 XEmacs.
1272
1273 * mh-e.el (mh-folder-mode): Only load the toolbar in XEmacs if
1274 toolbar support is available.
1275
1276 * mh-comp.el (mh-letter-mode): Only load the toolbar in XEmacs if
1277 toolbar support is available.
1278
1279 * mh-customize.el: Require 'mh-xemacs' at toplevel when
1280 'mh-xemacs-flag' is non-nil.
1281 Wrap all the toolbar code in a test that is true if using
1282 GNU/Emacs or a toolbar-enabled XEmacs.
1283
1284 * mh-print.el (mh-ps-spool-a-msg): Comment out
1285 `clean-message-header-flag' because it isn't used anywhere.
1286
1287 * mh-utils.el (mh-show-mode): Only load the toolbar in XEmacs if
1288 toolbar support is available.
1289
1290 * mh-xemacs.el: Autoload `regexp-opt', `customize-group',
1291 `view-mode', `with-electric-help', `pp', `sort-numeric-fields',
1292 `reverse-region', and `goto-address' at compile time.
1293 (mh-xemacs-has-toolbar-flag): New. This is non-nil when XEmacs
1294 has toolbar support.
1295 (mh-xemacs-toolbar-*-icon): Use it.
1296
12972003-10-21 Mark D. Baushke <mdb@gnu.org>
1298
1299 * mh-identity.el (mh-identity-field-handler): Fields that begin
1300 with ":" must have an mh-identity-handler defined or the user
1301 gets an error.
1302
13032003-10-17 Peter S Galbraith <psg@debian.org>
1304
1305 * mh-customize.el (mh-identity-list): This change affects users!
1306 The keyword "signature" becomes ":signature". The recently added
1307 keyword "pgg-default-user-id" becomes ":pgg-default-user-id".
1308 (mh-auto-fields-list): The keyword "Identity" becomes ":identity".
1309 (mh-identity-handlers): Idem for signature and pgg-default-user-id.
1310
1311 * mh-comp.el (mh-insert-auto-fields): Idem for Identity.
1312
13132003-10-17 Peter S Galbraith <psg@debian.org>
1314
1315 * mh-xemacs.el: Add eval-and-compile call to (load "toolbar" t t) to
1316 make sure `toolbar-make-button-list' is defined. We can't use
1317 require because Emacs doesn't have this library.
1318
13192003-10-16 Bill Wohler <wohler@newt.com>
1320
1321 * mh-customize.el (mh-signature-file-name)
1322 (mh-letter-insert-signature-hook): Merge docstring with manual.
1323
1324 * mh-comp.el (mh-file-is-vcard-p): Checkdoc fix.
1325 (mh-insert-signature): Merge docstring with manual.
1326
1327 * mh-customize.el (mh-junk): Changed manual link in defgroup from
1328 Customizing mh-e to Junk.
1329 (mh-junk-function-alist): Moved SpamAssassin to first in list on
1330 the hunch that it is the most popular and should be chosen if
1331 other anti-spam programs exist.
1332 (mh-junk-mail-folder): Since the variable can accept values other
1333 than folder names, renamed to mh-junk-disposition to more
1334 accurately reflect the content. Merge docstring with manual.
1335 (mh-junk-program): Moved SpamAssassin to the top of the menu for
1336 the same reason presented in mh-junk-function-alist. Also, fixed
1337 case of spam programs to match official usage. Merge docstring
1338 with manual.
1339
1340 * mh-junk.el (mh-junk-blacklist):
1341 s/mh-junk-mail-folder/mh-junk-disposition/. Merge docstring with
1342 manual.
1343 (mh-junk-whitelist): Merge docstring with manual.
1344 (mh-bogofilter-blacklist): No longer suggest using automatic
1345 classification so use -s instead of -Ns.
1346 (mh-bogofilter-whitelist): No longer suggest using automatic
1347 classification so use -n instead of -Sn.
1348 (mh-spamassassin-blacklist, mh-spamassassin-whitelist): Merge
1349 docstring with manual. Moved spamassassin functions to top of file
1350 so functions appear in same order that they are presented in menu.
1351
13522003-10-09 Peter S Galbraith <psg@debian.org>
1353
1354 * mh-customize.el (mail-citation-hook): Moved from mh-comp.el and
1355 made into a defcustom.
1356
13572003-10-09 Satyaki Das <satyakid@stanford.edu>
1358
1359 * mh-loaddefs.el: Regenerated.
1360
1361 * mh-comp.el (mh-get-header-field): Add autoload cookie.
1362
1363 * mh-utils.el (mh-show-ps-print-toggle-mime)
1364 (mh-show-ps-print-toggle-color, mh-show-ps-print-toggle-faces)
1365 (mh-show-ps-print-msg-file, mh-show-ps-print-msg)
1366 (mh-show-ps-print-msg-show): New interactive functions callable
1367 from the show buffer.
1368 (mh-show-ps-print-map): New key map for printing.
1369
1370 * mh-e.el (mh-folder-mode-map): Remove key binding for
1371 mh-print-msg.
1372 (mh-ps-print-map): Add new key map for printing.
1373
1374 * Makefile (MH-E-SRC): Add mh-print.el.
1375
13762003-10-07 Satyaki Das <satyakid@stanford.edu>
1377
1378 * mh-utils.el (mh-x-image-url-fetch-image): In XEmacs,
1379 make-temp-file is not present. So to avoid security problems, use
1380 a temporary file in the user's home directory. This avoids issues
1381 in creating files in a world-writable directory.
1382
1383 * mh-mime.el (mh-signature-highlight): In Emacs, arrange for the
1384 overlay to be freed when it is no longer needed. Also, implement
1385 signature highlighting in XEmacs.
1386
13872003-10-05 Satyaki Das <satyakid@stanford.edu>
1388
1389 * mh-mime.el (mh-mime-display, mh-mm-inline-message): Respect the
1390 value of `mm-verify-option' and `mm-decrypt-option'.
1391 (mh-mime-display-security): Rearrange code a bit to avoid too many
1392 new lines being inserted when message verification/decryption is
1393 carried out while the message is being read. Also use the
1394 point-m{in|ax}-marker functions to make the function easier to read.
1395 (mh-mime-security-press-button): Extend the function so that the
1396 user can verify/decrypt messages while reading them.
1397
1398 * mh-gnus.el (mm-possibly-verify-or-decrypt): Added to avoid
1399 compiler warning with old Gnus.
1400
1401 * mh-utils.el (mh-x-image-url-sane-p): New function which checks
1402 if the URL in X-Image-URL is something we can handle.
1403 (mh-x-image-url-display): Don't display image if the URL looks
1404 malformed.
1405
14062003-10-04 Mark D Baushke <mdb@gnu.org>
1407
1408 * mh-comp.el (mh-letter-menu): Simplify menu heading.
1409
14102003-10-03 Mark D Baushke <mdb@gnu.org>
1411
1412 * mh-mime.el (mh-mml-query-cryptographic-method): Avoid
1413 revisionist history and still provide a good default.
1414
1415 * mh-comp.el (mh-letter-menu): Remove the Disable Security
1416 parenthetical comment.
1417
1418 * mh-loaddefs.el: Regenerated.
1419
1420 * mh-customize.el (mh-mml-method-default): What method should be
1421 used in secure directives.
1422
1423 * mh-mime.el (mh-secure-message): New function used to generate
1424 the mml security tags.
1425 (mh-mml-unsecure-message): New wrapper function around
1426 mml-unsecure-messages.
1427 (mh-mml-secure-message-sign-pgpmime): Remove function.
1428 (mh-mml-secure-message-encrypt-pgpmime): Ditto.
1429 (mh-mml-cryptographic-method-history): New variable.
1430 (mh-mml-query-cryptographic-method): New function.
1431 (mh-mml-secure-message-encrypt): Ditto.
1432 (mh-mml-secure-message-signencrypt): Ditto.
1433 (mh-mml-secure-message-sign): Ditto.
1434
1435 * mh-comp.el (mh-letter-menu, mh-letter-mode-help-messages,
1436 (mh-letter-mode-map): Update to use new functions.
1437
14382003-09-26 Satyaki Das <satyakid@stanford.edu>
1439
1440 * mh-seq.el (mh-interactive-range): The function has been
1441 extended so that it now takes a default result to return if no
1442 interactive prefix arg is given and no region is active.
1443
1444 * mh-e.el (mh-add-sequence-notation): If transient-mark-mode is
1445 on, then the active region is deactivated based on whether a user
1446 sequence or a internal sequence is being notated. The change
1447 removes this inconsistency.
1448 (mh-catchup, mh-folder-map): A new interactive function to mark
1449 messages as read has been added and bound to "F c" in the folder
1450 mode.
1451
1452 * mh-utils.el (mh-show-catchup, mh-show-folder-map): New
1453 interactive function callable from show mode buffers has been
1454 bound to "F c".
1455
14562003-09-24 Bill Wohler <wohler@newt.com>
1457
1458 * mh-customize.el (mh-clean-message-header-flag)
1459 (mh-invisible-header-fields-default, mh-invisible-header-fields):
1460 Merge docstring with manual.
1461
14622003-09-24 Mark D. Baushke <mdb@gnu.org>
1463
1464 * mh-junk.el (mh-junk-blacklist): Junked messages should be put
1465 into the mh-seen-list to avoid propagating the unseen sequence
1466 into the spam folder.
1467
1468 * mh-loaddefs.el: Regenerated.
1469
1470 * mh-mime.el (mh-mml-secure-message-sign-pgpmime): Add an optional
1471 dontsign argument to remove an existing secure message directive.
1472 Update the docstring -- this fuction does not allow for
1473 encrypt/sign, just sign directives.
1474
1475 * mh-mime.el (mh-mml-secure-message-sign-pgpmime): Use
1476 mml-insert-tag directly to provide a sender if
1477 mh-identity-pgg-default-user-id is set.
1478 (mh-mml-secure-message-encrypt-pgpmime): Use mml-insert-tag
1479 directly to provide a sender if this message is to be both signed
1480 and encrypted and mh-identity-pgg-default-user-id is set.
1481
14822003-09-23 Bill Wohler <wohler@newt.com>
1483
1484 * mh-alias.el (Commentary): Removed as it is now in the manual.
1485 (mh-alias-system-aliases): Moved here from mh-customize.el. By
1486 definition, "system" definitions are not user-visible, and user
1487 filenames are in the the Aliasfile: profile component, so this
1488 variable really shouldn't be a defcustom
1489 (mh-alias-tstamp, mh-alias-filenames, mh-alias-reload)
1490 (mh-alias-add-alias, mh-alias-grab-from-field)
1491 (mh-alias-add-address-under-point, mh-alias-apropos): Merge
1492 docstring with manual.
1493 (mh-alias-reload-maybe): Minor comment update.
1494 (mh-alias-insert-file): Merge docstring with manual. Removed
1495 "[press TAB]" from prompt since users should know about completion
1496 and space can be used as well.
1497 (mh-alias-for-from-p): No longer returns a surprising result (t if
1498 there was **not** an alias for the From field) if the From header
1499 field is missing. This function now returns what you would expect
1500 a function of this name to return. Renamed from
1501 mh-alias-from-has-no-alias-p since negatives in the function name
1502 make logic harder to follow.
1503 (mh-alias-add-alias-to-file): Merge docstring with manual.
1504 Improved verbiage of prompt. Aliases are now inserted "[b]efore"
1505 or "[a]fter" the existing alias instead of "[i]nsert" or
1506 "[a]ppend." Note how the new usage flows better.
1507
1508 * mh-customize.el (mh-alias): Changed manual link in defgroup from
1509 Customizing mh-e to Aliases.
1510 (mh-alias-grab-from-field button): mh-alias-from-has-no-alias-p
1511 renamed to mh-alias-for-from-p and no longer returns surprising
1512 value if there isn't a From field. Therefore, enable button if
1513 there is a From header field and mh-alias-for-from-p returns nil.
1514 (mh-letter-complete-function)
1515 (mh-alias-completion-ignore-case-flag, mh-alias-flash-on-comma)
1516 (mh-alias-insert-file, mh-alias-insertion-location)
1517 (mh-alias-local-users, mh-alias-local-users-prefix)
1518 (mh-alias-passwd-gecos-comma-separator-flag): Merge docstring with
1519 manual.
1520 (mh-alias-system-aliases): Moved to mh-alias.el.
1521
1522 * mh-comp.el (mh-letter-complete-function-alist): Removed comment
1523 about making this customizable since I didn't think it seemed
1524 appropriate in the manual.
1525 (mh-letter-complete): Merge docstring with manual.
1526
15272003-09-23 Satyaki Das <satyakid@stanford.edu>
1528
1529 * mh-speed.el (mh-speed-flists): When exiting emacs, don't ask if
1530 the flists process should be killed.
1531
1532 * mh-e.el (mh-folder-message-menu): Enable undo menu entry only
1533 if something can be undone.
1534
1535 * mh-customize.el (undo): Enable undo button only if something
1536 can be undone.
1537
15382003-09-22 Peter S Galbraith <psg@debian.org>
1539
1540 * mh-customize.el (mh-identity-handlers): New defcustom. Alist of
1541 Handler functions for mh-identity (downcased) fields.
1542 (mh-identity-list): Add support for pgg-default-user-id.
1543
1544 * mh-identity.el (mh-insert-identity): Modified to use
1545 `mh-identity-handlers', adding hacking flexibility for those who
1546 might need it.
1547 (mh-identity-field-handler): New function. Return the handler for
1548 a FIELD or nil if none set. The field name is downcased.
1549 (mh-identity-handler-gpg-identity): New function; handler for pgg
1550 pgp identities. It sets a buffer-local value for
1551 `mh-pgg-default-user-id' which must be handled by mh-send-letter.
1552 (mh-identity-pgg-default-user-id): New buffer-local variable to
1553 hold the requested key ID.
1554 (mh-identity-handler-signature): New function; handler t insert
1555 and remove signature files.
1556 (mh-identity-handler-default): New function; the default handler
1557 to insert or remove generic field.
1558 (mh-identity-handler-top): Insert a field at the top of the
1559 header.
1560 (mh-identity-handler-bottom): Insert a field at the bottom of the
1561 header.
1562 (mh-header-field-delete): Make more robust wrt the field having a
1563 trailing colon or not.
1564 (mh-identity-make-menu): Add a "Customize Identities" menu entry.
1565
1566 * mh-loaddefs.el: Regenerated.
1567
15682003-09-21 Peter S Galbraith <psg@debian.org>
1569
1570 * mh-init.el (mh-variant-set): Bug fix for mh-variant long names
1571 with version numbers.
1572
1573 * mh-e.el (mh-scan-format): patch from Sergey Poznyakoff.
1574 GNU mailutils now supports the %(decode) format
1575
15762003-09-20 Satyaki Das <satyakid@stanford.edu>
1577
1578 * mh-gnus.el (mh-mm-text-html-renderer): New function to query
1579 which HTML renderer is being used by Gnus.
1580
1581 * mh-mime.el (mh-signature-highlight): Renderers used to display
1582 HTML parts garble the signature separator in various ways. The
1583 function has been modified to take that into account.
1584 (mh-mime-display-single, mh-mm-display-part): Pass the new
1585 optional argument to `mh-signature-highlight'.
1586
15872003-09-19 Mark D. Baushke <mdb@gnu.org>
1588
1589 * mh-mime.el (mh-have-file-command, mh-file-mime-type): Made an
1590 mh-autoload as they are used in mh-comp.el.
1591
1592 * mh-loaddefs.el: Regenerated.
1593
15942003-09-18 Peter S Galbraith <psg@debian.org>
1595
1596 * mh-comp.el (mh-insert-fields): Make sure field has a colon.
1597
15982003-09-18 Satyaki Das <satyakid@stanford.edu>
1599
1600 * mh-seq.el (mh-toggle-tick): Don't hardcode the name of the tick
1601 sequencence in the function. This would have caused improper
1602 highlighting of the tick sequence if the user had changed its
1603 name.
1604
16052003-09-15 Satyaki Das <satyakid@stanford.edu>
1606
1607 * mh-e.el (mh-folder-message-menu): Fix a little bug which shows
1608 up as a problem during compilation (closes SF #806577).
1609
16102003-09-15 Mark D. Baushke <mdb@gnu.org>
1611
1612 * mh-customize.el (mh-invisible-header-fields-internal): Added
1613 a new field for GNU mailutils per Sergey Poznyakoff.
1614
16152003-09-09 Satyaki Das <satyakid@stanford.edu>
1616
1617 * mh-utils.el (vcard): Unconditionally load vcard.el, if
1618 available, so that vcards are always inlined.
1619
16202003-09-09 Peter S Galbraith <psg@debian.org>
1621
1622 * mh-mime.el (mh-file-mime-type-substitutions): Add entry to
1623 convert text/plain .vcf files to text/x-vcard.
1624 (mh-mime-content-types): Add text/x-vcard.
1625
16262003-09-09 Bill Wohler <wohler@newt.com>
1627
1628 * mh-comp.el (mh-rejected-letter-start): Added strings for qmail
1629 and exim (addresses SF #404965).
1630
16312003-09-09 Satyaki Das <satyakid@stanford.edu>
1632
1633 * mh-gnus.el (mm-inline-text-vcard): Make vcard display work with
1634 Gnus-5.9. The extra file vcard.el is still needed.
1635
1636 * mh-mime.el (mh-signature-highlight): New function that
1637 highlights message signatures.
1638 (mh-mm-display-part, mh-mime-display-single): Highlight signatures
1639 using `mh-signature-highlight' (closes SF #802722). More work is
1640 needed for XEmacs.
1641 (mh-mime-display): Highlight signature in non-MIME email too.
1642
1643 * mh-customize.el (mh-show-signature-face): New face used to
1644 display message signature.
1645
16462003-09-08 Peter S Galbraith <psg@debian.org>
1647
1648 * mh-e.el (mh-version): Do something sensible when
1649 mh-variant-in-use is undefined.
1650 * mh-junk.el (mh-spamassassin-blacklist)
1651 (mh-spamassassin-whitelist): Change options to be compatoble with
1652 old version of spamassassin (V2.20).
1653
16542003-09-07 Mark D. Baushke <mdb@gnu.org>
1655
1656 * mh-mime.el (mh-access-types): Per RFC 2049, the "afs"
1657 access-type for message/external-body has been removed.
1658 Update the comments to reference the current MIME RFCs
1659 2045, 2046 and 2049 rather than the obsolete RFC 1521.
1660
16612003-09-05 Peter S Galbraith <psg@debian.org>
1662
1663 * mh-e.el (mh-version): Bumped version number to 7.4.2+cvs.
1664
16652003-09-04 Satyaki Das <satyakid@stanford.edu>
1666
1667 * mh-utils.el (mh-picon-directory-list, mh-picon-directory): The
1668 mh-picon-directory-list variable supersedes mh-picon-directory.
1669 (mh-picon-existing-directory-list): New variable that contains
1670 the list of picon directories that actually exist.
1671 (mh-picon-set-directory-list): New function to update
1672 mh-picon-existing-directory-list from mh-picon-directory-list.
1673 (mh-picon-get-image): The function has been modified to search a
1674 list of possible picon source directories. The regexp to extract
1675 the username from the email address has been made smarter so that
1676 it can recognize email addresses of the form user+random@foo.net
1677 and extract "user" from there.
1678 (mh-picon-file-contents): The file type recognition code has been
1679 moved from mh-picon-get-image into this function.
1680 (mh-picon-generate-path): The function has been generalized so
1681 that searching multiple paths is now feasible.
1682
1683 * mh-pick.el, mh-e.el: Checkdoc fixes.
1684
16852003-09-02 Satyaki Das <satyakid@stanford.edu>
1686
1687 * mh-identity.el (eval-when): It seems that the mh-comp-loaded
1688 code isn't required any more.
1689
16902003-08-30 Satyaki Das <satyakid@stanford.edu>
1691
1692 * mh-init.el (mh-variant-set): Replace `error' with `message' so
1693 that Emacs CVS will compile without errors if no MH variant is
1694 present.
1695
16962003-08-29 Satyaki Das <satyakid@stanford.edu>
1697
1698 * mh-init.el (mh-variant-set): Add interactive spec to the
1699 function.
1700
1701 * mh-mime.el (mh-mhn-compose-external-type): Optional arguments
1702 are prompted for only if prefix arg is given.
1703
17042003-08-29 Mark D. Baushke <mdb@gnu.org>
1705
1706 * mh-mime.el (mh-mhn-compose-external-type): Modified to be
1707 interactive and prompts for many of the fields. Made an
1708 mh-autoload.
1709 (mh-access-types): New table derived from RFC2017, RFC1521 and
1710 RFC1738, used in a completing-read in
1711 mh-mhn-compose-external-type.
1712
1713 * mh-loaddefs.el: Regenerated.
1714
17152003-08-26 Satyaki Das <satyakid@stanford.edu>
1716
1717 * mh-utils.el (mh-picon-image-types, mh-picon-get-image): Avoid
1718 compiler warnings.
1719 (mh-sub-folders-actual): Parsing of the output from folders has
1720 been modified, so that it also works for MH (closes SF #792300).
1721
1722 * mh-junk.el (mh-spamassassin-whitelist): Avoid calling
1723 ietf-drums-parse-address if it isn't present.
1724 (mh-spamassassin-identify-spammers): Avoid use of puthash so that
1725 Emacs20 doesn't complain.
1726
1727 * mh-e.el (mh-colors-available-p): Wrap call to
1728 display-color-cells in a mh-funcall-if-exists to avoid compiler
1729 warning in Emacs20.
1730
17312003-08-25 Satyaki Das <satyakid@stanford.edu>
1732
1733 * mh-e.el (mh-colors-available-flag, mh-folder-mode): New
1734 variable to track if colors are available and it is set
1735 appropriately in mh-folder-mode.
1736 (mh-colors-available-p, mh-colors-in-use-p): Two functions to
1737 check whether colors are available and if they are actually being
1738 used.
1739 (mh-add-sequence-notation): Just changing a scan line doesn't
1740 make font-lock refontify the line in Emacs20. So explicitly
1741 refontify the scan line in such a situation.
1742 (mh-internal-seq): If colors aren't being used then treat the
1743 tick sequence like a normal user sequence.
1744
1745 * mh-seq.el (mh-put-msg-in-seq): Do font-lock highlighting after
1746 the messages have been added to the sequence.
1747 (mh-toggle-tick): Modified so that highlighting of the ticked
1748 messages will be properly done. If font-lock isn't being used or
1749 if colors aren't supported by the Emacs where MH-E is running,
1750 then the `%' character is used to annotate ticked messages.
1751
1752 * mh-utils.el (mh-picon-image-types): Since Emacs20 doesn't have
1753 image-type-available-p, wrap calls to that function in
1754 ignore-errors.
1755 (mh-add-msgs-to-seq): Do the font-lock highlighting after the
1756 messages have been added.
1757
17582003-08-24 Bill Wohler <wohler@newt.com>
1759
1760 * Makefile (MH-E-SRC): Replaced mh-xemacs-compat.el and
1761 mh-xemacs-icons.el with mh-xemacs.el.
1762
1763 * mh-e.el: Don't require mh-xemacs-compat which no longer exists.
1764 The XEmacs stuff gets required by mh-customize.el which is
1765 required by mh-utils.el which is required by mh-e.el. This all
1766 happens before mh-xemacs-compat was required, so all should be
1767 well.
1768
1769 * mh-unit.el (mh-unit-files): Replaced mh-xemacs-compat.el and
1770 mh-xemacs-icons.el with mh-xemacs.el.
1771
1772 * mh-xemacs.el: New file from concatenation of mh-xemacs-compat.el
1773 and mh-xemacs-icons.el which were removed since their names
1774 exceeded DOS 8+3 limits.
1775
1776 * mh-customize.el (mh-compose-skipped-header-fields): Use
1777 uppercase for field names.
1778
17792003-08-21 Bill Wohler <wohler@newt.com>
1780
1781 * mh-customize.el (mh-sequences): Introduced new customization
1782 group for sequences.
1783 (mh-refile-preserves-sequences-flag, mh-tick-seq)
1784 (mh-update-sequences-after-mh-show-flag): Moved option from
1785 mh-folder to mh-sequences group. Synced docstring with manual.
1786 (mh-index-ticked-messages-folders): Since mh-tick-seq is
1787 customizable, use it instead of tick in the docstring.
1788
1789 * mh-index.el (mh-index-ticked-messages): Since mh-tick-seq is
1790 customizable, use it instead of tick in the docstring.
1791
1792 * mh-seq.el (mh-msg-is-in-seq): Can now specify an alternate
1793 message number with a prefix argument.
1794 (mh-narrow-to-tick): Since mh-tick-seq is customizable, use it
1795 instead of tick in the docstring. Also, use mh-tick-seq instead of
1796 tick in warning message.
1797
17982003-08-20 Peter S Galbraith <psg@debian.org>
1799
1800 * mh-customize.el: setq mh-variant to 'none when byte-compiling,
1801 since we don't care what MH variant (if any) is on the system at
1802 that point.
1803
1804 * mh-init.el (mh-variant-set): Don't probe for MH variant when
1805 mh-variant is set to'none (during byte-compilation).
1806
18072003-08-19 Peter S Galbraith <psg@debian.org>
1808
1809 * mh-pick.el (mh-pick-single-dash): New defconst. Search
1810 components that are supported by single-dash option in
1811 pick.
1812 (mh-pick-regexp-builder): Use `mh-pick-single-dash' and adapt
1813 patch from Sergey Poznyakoff.
1814
1815 * mh-comp.el (mh-reply): mu-mh supports `repl -group', thanks to
1816 Sergey Poznyakof.
1817
1818 * mh-init.el: checkdoc fixes.
1819
18202003-08-19 Bill Wohler <wohler@newt.com>
1821
1822 * mh-seq.el: (mh-edit-pick-expr): Renamed from mh-read-pick-regexp
1823 since the new name is more indicative of what the function does.
1824 Prompt now says "Pick expression" instead of "Pick regexp".
1825 (mh-narrow-to-subject): Rewrote function to behave like other
1826 similar functions.
1827 (mh-narrow-to-header-field, mh-narrow-to-range)
1828 (mh-narrow-to-tick): s/regexp/pick-expr/.
1829 (mh-widen, mh-narrow-to-from, mh-narrow-to-cc, mh-narrow-to-to):
1830 Synced docstrings with manual
1831
18322003-08-19 Bill Wohler <wohler@newt.com>
1833
1834 Released MH-E version 7.4.2.
1835
1836 * MH-E-NEWS, README: Updated for release 7.4.2.
1837
1838 * mh-e.el (Version, mh-version): Updated for release 7.4.2.
1839
1840 * mh-e.el (mh-folder-size, mh-folder-size-folder)
1841 (mh-folder-size-flist): If flist is not present use folder to find
1842 the number of messages in the folder. Also the .mh_sequences file
1843 is read to find the number of unseen messages (patch from 1.349
1844 and branched for 7.4.2, closes SF #791021).
1845
1846 * mh-utils.el (mh-flists-present-flag, mh-find-progs): Introduce a
1847 new variable to test for the presence of the flists program and
1848 set it in mh-find-progs.
1849 (mh-collect-folder-names): Use folders instead of flists. One
1850 advantage is that folders is available on MH while flists is not.
1851 Another is that if an explicit -sequence argument isn't given and
1852 Unseen-Sequence profile is not present then flists croaks while
1853 folders doesn't.
1854 (mh-collect-folder-names-filter): Don't consider folder names that
1855 start with a `.' character. This is needed since the folders
1856 command doesn't filter them out like flists does.
1857 (patches from 1.307 and 1.309 and branched for 7.4.2, closes SF
1858 #791021).
1859
18602003-08-18 Bill Wohler <wohler@newt.com>
1861
1862 * mh-index.el (mh-index-sequenced-messages)
1863 (mh-index-new-messages, mh-index-ticked-messages): Updated
1864 docstrings from manual (closes SF #718833).
1865
1866 * mh-customize.el (mh-variant): Checkdoc fix.
1867 (mh-index-new-messages-folders): Don't mention defvar in
1868 docstring, use `+inbox' instead.
1869 (mh-index-ticked-messages-folders): Don't mention defvar in
1870 docstring, use `tick' instead.
1871
1872 * mh-comp.el (mh-repl-group-formfile): Checkdoc fix.
1873
18742003-08-18 Peter S Galbraith <psg@debian.org>
1875
1876 * mh-init.el (mh-variant-set, mh-sys-path, mh-variant-info): Add
1877 support for GNU mailutils.
1878 (mh-variant-mu-mh-info): New function to detect mu-mh and return
1879 info about it for `mh-variants'.
1880
1881 * mh-e.el (mh-regenerate-headers): mu-mh has different error
1882 message for a invalid mesage list.
1883
18842003-08-18 Peter S Galbraith <psg@debian.org>
1885
1886 * mh-customize.el (mh-e): New defgroup. Sort of an alias for the
1887 'mh group that a user might be more likely to find.
1888
18892003-08-18 Bill Wohler <wohler@newt.com>
1890
1891 * mh-comp.el (mh-insert-auto-fields-done-local): Docstring tweak.
1892 (mh-compose-and-send-mail): Do not call mh-insert-auto-fields.
1893 This should be done only once in mh-send-letter.
1894
18952003-08-18 Peter S Galbraith <psg@debian.org>
1896
1897 * mh-comp.el (mh-letter-mode): Call `mh-find-path unconditionally,
1898 like elsewehere in MH-E.
1899
1900 * mh-utils.el (mh-find-path): Run setup code only if
1901 `mh-find-path-run' is nil such that this is only done once.
1902 Also remove the `setq' for `read-mail-command' and `mail-user-agent'.
1903
19042003-08-18 Peter S Galbraith <psg@debian.org>
1905
1906 * mh-e.el: require 'mh-utils first
1907
1908 * mh-customize.el (mh-variant): defcustom moved here.
1909
1910 * mh-init.el (mh-variants): Made an mh-autoload.
1911
19122003-08-18 Peter S Galbraith <psg@debian.org>
1913
1914 * Makefile (MH-E-SRC): Added mh-init.el to MH-E-SRC.
1915
1916 * mh-utils.el (mh-find-progs): Deleted. Make obsolete by mh-init.el.
1917 (mh-find-path): Call `mh-variants' instead of now obsolete
1918 `mh-find-progs'.
1919 (mh-path-search): Deleted. Was only used by `mh-find-progs'.
1920
1921 * mh-e.el: require mh-init.el.
1922 (mh-version): Use simpler `mh-variant-in-use'.
1923 (mh-scan-format): Use (mh-variant-p 'nmh) instead of mh-nmh-flag.
1924
1925 * mh-comp.el (mh-insert-x-mailer): Use simpler `mh-variant-in-use'.
1926
1927 * mh-utils.el (mh-progs, mh-lib, mh-lib-progs)
1928 (mh-flists-present-flag): Moved to mh-init.el.
1929 (mh-nmh-flag): Deleted. Use (mh-variant-p 'nmh) instead.
1930
1931 * mh-comp.el (mh-repl-group-formfile, mh-forward, mh-reply)
1932 (mh-send-letter): Use (mh-variant-p 'nmh) instead of mh-nmh-flag.
1933
1934 * mh-mime.el (mh-edit-mhn, mh-mime-save-parts): Use (mh-variant-p
1935 'nmh) instead of mh-nmh-flag.
1936
19372003-08-16 Bill Wohler <wohler@newt.com>
1938
1939 * mh-customize.el (mh-folder-selection): New group to hold
1940 variables described in Folder Selection section in manual.
1941 (mh-default-folder-list, mh-default-folder-must-exist-flag,
1942 mh-default-folder-prefix): Moved to mh-folder-selection group.
1943 Updated docstrings per manual update.
1944 (mh-default-folder-for-message-function): New defcustom. Was a
1945 defvar in mh-utils.el. Updated docstring per manual update.
1946
1947 * mh-utils.el (mh-default-folder-for-message-function): Moved to
1948 mh-customize.el.
1949
1950 * mh-e.el (mh-folder-from-address, mh-prompt-for-refile-folder):
1951 Updated docstrings per manual update.
1952
1953 * mh-unit.el (mh-unit-files): Added mh-init.el.
1954
19552003-08-16 Peter S Galbraith <psg@debian.org>
1956
1957 * mh-init.el: New file. Code to initialize the MH-E back-end.
1958 Highlights:
1959 (mh-variant): New defcustom. Users may customize `mh-variant' to
1960 switch between available variants.
1961 (mh-variants): Available MH variants are described in this variable.
1962 (mh-variant-in-use, mh-variant-p): Developers may check which
1963 variant is currently in use with the variable `mh-variant-in-use'
1964 or the function `mh-variant-p'.
1965
19662003-08-15 Bill Wohler <wohler@newt.com>
1967
1968 * mh-customize.el (mh-auto-fields-list): The manual uses Fcc
1969 instead of fcc, so I've changed the user-visible text
1970 accordingly. I've left the const alone for backwards
1971 compatibility.
1972
19732003-08-14 Bill Wohler <wohler@newt.com>
1974
1975 * mh-identity.el (mh-insert-identity): Changed signature deletion
1976 test to test for both markers, rather than testing to see if the
1977 start marker is bound. Since the start marker is defined in this
1978 file, it should always be bound. Suggestion by Satyaki.
1979
1980 * mh-comp.el (mh-send-letter): Go to the top of the draft so that
1981 the user can see which header fields have been inserted. I think
1982 this is more important than leaving point alone or going to the
1983 end to see the signature since Mail-Followup-To or Bcc or cc could
1984 have some deleterious effects.
1985
1986 * mh-customize.el (mh-auto-fields-prompt-flag): New variable.
1987 Non-nil means to prompt before sending if fields inserted.
1988
1989 * mh-comp.el (mh-insert-auto-fields): Now return t if fields
1990 inserted; otherwise nil.
1991 (mh-send-letter): Deleted obsolete documentation about adding
1992 X-Mailer and X-Face. Prompt before sending if auto fields added
1993 and mh-auto-fields-prompt-flag is t.
1994
1995 * mh-customize.el (mh-identity-list): Allow signature to come from
1996 mh-signature-file-name. In this case, the "signature" value is set
1997 to nil. This might not be the best implementation. Suggestions
1998 welcome.
1999
2000 * mh-identity.el (mh-insert-identity): Now that the signature can
2001 be a nil value, moved test higher up in cond so that the test for
2002 a nil value would not be executed first prevening signature
2003 handling. Handle nil signature value by calling
2004 mh-insert-signature with no arguments which means to use
2005 mh-signature-file-name.
2006
2007 * mh-comp.el (mh-insert-signature): Changed text of message if no
2008 signature inserted.
2009
2010 * mh-customize.el (mh-identity-list): Changed "Signature" constant
2011 back to "signature" so it *won't* be backwards-incompatible any
2012 more. I discovered one could use the :tag keyword to get headline
2013 captalization in the menu.
2014
2015 * mh-identity.el (mh-insert-identity): Ditto.
2016
2017 * mh-identity.el (mh-identity-make-menu): Always build menu.
2018 Always create Insert Auto Fields menu item. Just don't enable it
2019 if mh-auto-fields-list is nil. Enable radio buttons always. Make
2020 None a radio button choice with the other identities.
2021
2022 * mh-comp.el (mh-letter-menu): Removed cond on fboundp
2023 'easy-menu-define. We don't do this elsewhere.
2024
20252003-08-13 Bill Wohler <wohler@newt.com>
2026
2027 * mh-identity.el (mh-identity-make-menu, mh-insert-identity): Use
2028 headline capitalization in menu items. Even the internal names are
2029 exposed in the customize interface, so they need to be uppercase
2030 too.
2031 (mh-insert-identity): Rather than goto-char to
2032 mh-identity-signature-start before deleting, simply pass it to
2033 delete-region. When setting markers, use point-min-marker and
2034 point-max-marker instead of moving point. Set marker type of
2035 mh-identity-signature-start to t to fix a bug where changing
2036 identity deleted user's text.
2037
2038 * mh-customize.el (mh-identity-list, mh-auto-fields-list):
2039 Reworked docstring. Use headline capitalization. Commented out
2040 implementation details for later deletion or resurrection upon
2041 popular demand. N.B. If your mh-identity-list contains "signature"
2042 then you will need to either edit your .emacs file manually, or
2043 delete your existing "signature" which will become a regular field
2044 with this change and create a new signature. I figured I could get
2045 away with this since 8.0 is a major release, and coinciding with
2046 the manual update will be a MAJOR release. I apologize profusely
2047 that I didn't catch this before it was released.
2048 (mh-identity-default): Use headline capitalization in example.
2049
20502003-08-12 Jeffrey C Honig <jch@honig.net>
2051
2052 * mh-customize.el (mh-alias-reloaded-hook): Define
2053 `mh-alias-reloaded-hook'.
2054
2055 * mh-alias.el (mh-alias-reload): Run `mh-alias-reloaded-hook'
2056 after reloading the aliases.
2057
20582003-08-12 Mark D. Baushke <mdb@gnu.org>
2059
2060 * mh-comp.el (mh-insert-signature): Use functionp to avoid
2061 the possibility of doing a funcall on a void function.
2062
20632003-08-12 Bill Wohler <wohler@newt.com>
2064
2065 * mh-customize.el (mh-identity): Point group manual link to new
2066 Identities section.
2067 (mh-signature-separator-flag): New variable which can be used to
2068 suppress the output of the signature separator.
2069
2070 * mh-comp.el (mh-insert-signature): Use
2071 mh-signature-separator-flag.
2072
2073 * mh-identity.el (mh-insert-identity): If the identity's signature
2074 file didn't exist, an fboundp error was thrown. This was fixed by
2075 removing signature tests that were redundant and out of date with
2076 the tests in mh-insert-signature. Removed second signature
2077 condition as it is now handled in the first signature condition.
2078
20792003-08-12 Peter S Galbraith <psg@debian.org>
2080
2081 * mh-identity.el (mh-insert-identity): Don't insert new lines on
2082 signatures anymore.
2083
2084 * mh-comp.el (mh-insert-signature): Make sure signature file is
2085 readable before trying to insert it.
2086
20872003-08-11 Bill Wohler <wohler@newt.com>
2088
2089 * mh-comp.el (mh-insert-signature): Unconditionally insert a
2090 newline so that signatures are inserted consistently, and so that
2091 there isn't any text after the cursor so that the user can start
2092 typing his message immediately. Use new variable and function
2093 mh-signature-separator and mh-signature-separator-p.
2094
2095 * mh-customize.el (mh-delete-yanked-msg-window-flag): Checkdoc
2096 fix.
2097 (mh-signature-file-name): Updated docstring now that this variable
2098 can be a function. Added cross-references to
2099 mh-signature-separator, mh-signature-separator-regexp, and
2100 mh-signature-separator-p which might be used in such functions.
2101
2102 * mh-identity.el (mh-insert-identity): Don't include signature if
2103 signature separator already present. Useful when running
2104 mh-edit-again.
2105
2106 * mh-mime.el (mh-inline-vcard-p): Use mh-signature-separator-p.
2107
2108 * mh-utils.el (mh-signature-separator-regexp): New variable
2109 containing "^-- $" which should be used when looking for the
2110 signature separator.
2111 (mh-signature-separator): New variable containing "-- \n" which
2112 should be used when inserting the signature separator.
2113 (mh-signature-separator-p): New function that returns non-nil if
2114 mh-signature-separator-regexp is found in the buffer.
2115
21162003-08-09 Satyaki Das <satyakid@stanford.edu>
2117
2118 * mh-utils.el (mh-x-image-scaling-function): Variable that
2119 contains function used to scale images. Possible choices are
2120 mh-x-image-scale-with-convert and mh-x-image-scale-with-pnm.
2121 (mh-convert-executable): Removed.
2122 (mh-x-image-scale-with-pnm, mh-x-image-scale-with-convert): New
2123 functions that scale images using pnm tools or ImageMagick.
2124 (mh-x-image-scale-and-display, mh-x-image-url-display): Use
2125 mh-x-image-scaling-function instead of mh-convert-executable.
2126
21272003-08-08 Peter S Galbraith <psg@debian.org>
2128
2129 * mh-comp.el (mh-insert-signature): Bug fix. Handle case of nil
2130 `mh-signature-file-name' and hooks correctly.
2131
2132 * mh-identity.el (mh-insert-identity): Refactor to use
2133 mh-insert-signature
2134
2135 * mh-comp.el (mh-signature-separator-p): Removed.
2136
2137 * mh-comp.el (mh-insert-signature): Merge MIME awareness from
2138 mh-insert-identity into this command. Allow
2139 `mh-signature-file-name' to be a function to call. See if "-- "
2140 needs to be inserted only after hooks have run.
2141
21422003-08-07 Bill Wohler <wohler@newt.com>
2143
2144 * mh-customize.el (mh-compose-skipped-header-fields): Added
2145 X-Image-URL.
2146 (mh-autoload): Removed cookies. They aren't necessary in
2147 mh-e.el, mh-utils.el, or mh-customize.el.
2148
2149 * mh-e.el (mh-autoload): Removed cookies. They aren't necessary in
2150 mh-e.el, mh-utils.el, or mh-customize.el.
2151
2152 * mh-identity.el (mh-insert-identity): Made regexp for signature
2153 separator more explicit. Hmmm, maybe we should create
2154 mh-signature-separator-regexp...
2155
2156 * mh-index.el (mh-replace-string): Moved to mh-utils.el.
2157
2158 * mh-utils.el (mh-replace-string): Moved here from mh-index.el.
2159 (mh-autoload): Removed cookies. They aren't necessary in mh-e.el,
2160 mh-utils.el, or mh-customize.el.
2161
2162 * mh-comp.el (mh-insert-signature): Added file argument to insert
2163 a file other than mh-signature-file-name. Insert signature
2164 separator, unless file already contains one.
2165
21662003-08-06 Satyaki Das <satyakid@stanford.edu>
2167
2168 * mh-e.el (mh-folder-size, mh-folder-size-folder)
2169 (mh-folder-size-flist): If flist is not present use folder to
2170 find the number of messages in the folder. Also the .mh_sequences
2171 file is read to find the number of unseen messages.
2172
2173 * mh-utils.el (mh-flists-present-flag, mh-find-progs): Introduce
2174 a new variable to test for the presence of the flists program and
2175 set it in mh-find-progs.
2176
21772003-08-06 Peter S Galbraith <psg@debian.org>
2178
2179 * mh-customize.el: Change the order of `mh-identity-list' and
2180 `mh-auto-fields-list' and remove byte-compilation defvar for
2181 `mh-identity-list'. This fixes a customization bug for
2182 `mh-identity-list', where it wasn't set correctly.
2183
2184 * mh-identity.el (mh-identity-make-menu): mh-auto-fields-list may
2185 not be bound yet when initially loaded.
2186
21872003-08-06 Bill Wohler <wohler@newt.com>
2188
2189 * mh-alias.el (mh-alias-add-address-under-point): Removed trailing
2190 period from messages. The conventions say that errors should not
2191 end with a period and that "Foo...done" messages should not end in
2192 a period, but they aren't explicit about messages in general.
2193 Given what the conventions *do* say, and because most of our
2194 messages don't end with a period, let's just say that messages in
2195 general don't end in a period, just like error messages.
2196
2197 * mh-comp.el (mh-extract-rejected-mail, mh-letter-mode-message):
2198 Ditto.
2199
2200 * mh-e.el (mh-refile-a-msg): Ditto.
2201
2202 * mh-funcs.el (mh-undo-folder): Ditto.
2203
2204 * mh-mime.el (mh-mime-save-parts): Ditto.
2205
2206 * mh-seq.el (mh-subject-to-sequence-unthreaded)
2207 (mh-narrow-to-subject, mh-delete-subject): Ditto.
2208
2209 * mh-index.el (mh-index-sequenced-messages)
2210 (mh-index-new-messages, mh-index-ticked-messages): Discovered that
2211 in general we should only use question marks in yes-or-no-p or
2212 y-or-n-p prompts, but not in other prompts that use
2213 completing-read and offer defaults. In these cases, use colons
2214 instead (closes SF #730470).
2215
2216 * mh-mime.el (mh-mime-save-parts): Ditto.
2217
2218 * mh-utils.el (mh-prompt-for-folder): Ditto.
2219
2220 * mh-alias.el (mh-alias-apropos): Multiple messages are usually
2221 shown one at a time rather than appended. Send output to
2222 mh-aliases-buffer instead of *Help*.
2223 (mh-alias-local-users): Checkdoc fix.
2224
2225 * mh-funcs.el (mh-undo-folder): Removed commented-out code since
2226 its deadline had expired.
2227
2228 * mh-utils.el (mh-aliases-buffer): New buffer name, used in
2229 mh-aliases.el.
2230
22312003-08-06 Satyaki Das <satyakid@stanford.edu>
2232
2233 * mh-utils.el (mh-x-image-url-cache-canonicalize): Make this
2234 function work for XEmacs too.
2235 (mh-collect-folder-names): Use folders instead of flists. One
2236 advantage is that folders is available on MH while flists is not.
2237 Another is that if an explicit -sequence argument isn't given and
2238 Unseen-Sequence profile is not present then flists croaks while
2239 folders doesn't.
2240 (mh-collect-folder-names-filter): Don't consider folder names that
2241 start with a `.' character. This is needed since the folders
2242 command doesn't filter them out like flists does.
2243
2244 * mh-index.el (mh-replace-string): Add autoload for it.
2245
22462003-08-05 Satyaki Das <satyakid@stanford.edu>
2247
2248 * mh-mime.el (mh-compose-forward, mh-mhn-compose-forw)
2249 (mh-mml-forward-message): The variable mh-sent-from-msg can be a
2250 list. So check that the value is really a number before using it
2251 like one.
2252
2253 * mh-comp.el (mh-insert-letter): Same as above.
2254
2255 * mh-utils.el (mh-picon-get-image): Make the code that finds the
2256 address of the sender more robust.
2257 (mh-face-display-function): Make it work with XEmacs.
2258 (mh-picon-image-types): A new variable that stores what image
2259 types can be used.
2260
22612003-08-05 Satyaki Das <satyakid@stanford.edu>
2262
2263 * mh-customize.el (mh-tool-bar-define): Make the save button such
2264 that is activated only if the buffer needs to saved.
2265
2266 * mh-utils.el (mh-face-display-function, mh-picon-get-image): Some
2267 domains, for instance cs.cmu.edu, don't have xpm files. So we need
2268 to search for all three files. The change does that.
2269 (mh-picon-file-contents): A utility function to return the
2270 contents of a file as a string.
2271 (mh-picon-get-image): Write it as a loop to make it simpler.
2272 (mh-x-image-set-download-state): Make the link simpler.
2273
22742003-08-04 Satyaki Das <satyakid@stanford.edu>
2275
2276 * mh-utils.el (mh-x-image-url-display): Don't bother to try to
2277 download image if we don't have the necessary tools to display
2278 it.
2279 (mh-face-display-function): Add preliminary support for "domain"
2280 picons.
2281 (mh-picon-get-image, mh-picon-generate-path): Functions to find
2282 best match for domain in the From header field.
2283
2284 * mh-e.el (mh-previous-unread-msg): If some of the messages in the
2285 unseen sequence are not present in the folder buffer then calling
2286 this function gets stuck and can't skip over them. The change
2287 fixes this.
2288 (mh-next-unread-msg): Same as above.
2289
22902003-08-04 Bill Wohler <wohler@newt.com>
2291
2292 * mh-utils.el (mh-show-mode): Added cross reference to
2293 mh-folder-mode in docstring (closes SF #728638). Added
2294 \\{mh-show-mode-map} to show keymap.
2295
2296 * mh-e.el (mh-folder-mode): Added information about ranges to
2297 docstring (closes SF #728638).
2298
2299 * mh-speed.el (mh-speed-refresh): New function that calls
2300 mh-speed-flists and mh-invalidate-map.
2301 (mh-folder-speedbar-key-map): Replaced keybindings for
2302 mh-speed-invalidate-map and mh-speed-flists with a single binding
2303 for mh-speed-refresh.
2304 (mh-folder-speedbar-menu-items): Replaced menu items for Run
2305 Flists and Invalidate Cached Folders with the single menu item
2306 Refresh Speedbar in order to simplify the UI.
2307
2308 * mh-customize.el (mh-fetch-x-image-url): Added DOS as another
2309 reason not to set this to t.
2310
23112003-08-04 Satyaki Das <satyakid@stanford.edu>
2312
2313 * mh-e.el (mh-scan-folder): Handle ranges from user input properly.
2314
23152003-08-03 Satyaki Das <satyakid@stanford.edu>
2316
2317 * mh-utils.el (mh-find-msg-get-num): Removed. If threading isn't
2318 present, the messages are sorted by index. So `mh-goto-msg' was
2319 implemented as a binary search and this function was used in that
2320 implementation. So this isn't needed any more.
2321 (mh-msg-search-pat): Removed. Before the advent of message
2322 threading, this function was used to generate a regexp used to
2323 search for a particular message. It isn't used anymore. The
2324 variable `mh-scan-msg-number-regexp' should be updated and used in
2325 `mh-goto-msg' instead of hardcoding the regexp in the code. Then
2326 we might be able to better support other scan line formats in the
2327 future.
2328
2329 * mh-seq.el (mh-map-to-seq-msgs, mh-notate-seq): Removed. These
2330 functions were used to notate user sequences. But calling
2331 `mh-goto-msg' inside of a loop is inefficient. So the sequence
2332 notation code was rewritten thereby making these functions
2333 redundant.
2334 (mh-copy-line-to-point): Removed. This function was used in the
2335 implementation the now removed function `mh-copy-seq-to-point'.
2336 That function was problematic and was replaced by the less general
2337 `mh-copy-seq-to-eob'. This makes `mh-copy-line-to-point'
2338 redundant.
2339 (mh-region-to-msg-list): Removed since this is a special case of
2340 the more general `mh-range-to-msg-list'.
2341
2342 * mh-loaddefs.el: Regenerated.
2343
23442003-08-03 Jeffrey C Honig <jch@honig.net>
2345
2346 * mh-customize.el (mh-invisible-header-fields-default): Added
2347 several new fields to hide. Sorted the list with sort-lines.
2348
23492003-08-03 Peter S Galbraith <psg@debian.org>
2350
2351 * mh-customize.el (mh-invisible-headers): Variable renamed to
2352 `mh-invisible-header-fields-compiled'.
2353 (mh-invisible-headers): Implement above change.
2354
2355 * mh-utils.el (mh-display-msg): Idem.
2356
2357 * mh-mime.el (mh-mm-inline-message): Idem.
2358
2359 * mh-comp.el (mh-insert-letter): Idem.
2360
23612003-08-03 Bill Wohler <wohler@newt.com>
2362
2363 * mh-speed.el (mh-folder-speedbar-menu-items): Added separator
2364 between standard and MH-E menu items. Use headline capitalization
2365 in menu items.
2366
2367 * mh-utils.el (mh-temp-fetch-buffer): New constant to hold
2368 buffer name for wget output.
2369 (mh-x-image-url-fetch-image): Use mh-temp-fetch-buffer instead
2370 of hard-coded buffer name. Use make-temp-file to avoid race
2371 conditions and subsequent security issues raised in make-temp-name
2372 docstring.
2373
23742003-08-03 Satyaki Das <satyakid@stanford.edu>
2375
2376 * mh-utils.el (mh-wget-executable, mh-wget-choice, mh-wget-option)
2377 (mh-x-image-url-fetch-image): Support the use of `curl' and
2378 `fetch' as alternatives to `wget'.
2379 (mh-wget-choice): Change order of search.
2380 (mh-x-image-url-fetch-image): Rename buffer.
2381
23822003-08-03 Satyaki Das <satyakid@stanford.edu>
2383
2384 * mh-utils.el (mh-x-image-set-download-state)
2385 (mh-x-image-get-download-state): Specially named symbolic links
2386 are used to keep track of whether a X-Image-URL header field needs
2387 to downloaded the next time it is seen. These functions get and
2388 set the symlinks appropriately.
2389 (mh-x-image-url-fetch-image): Simplified since the query has been
2390 moved to `mh-x-image-url-display'. Also if wget isn't present then
2391 try again next time since the user might install wget before
2392 trying once more.
2393 (mh-x-image-scale-and-display): Handle absence of the `convert'
2394 program better. If it isn't present then we will try to display
2395 the image the next time it is encountered. Also use the -geometry
2396 option to convert since the -resize option isn't present in older
2397 versions.
2398 (mh-x-image-url-display): Move all the code that decides whether
2399 an X-Image-URL header field will be fetched in this function. Also
2400 remember the user's decision so that if the image couldn't be
2401 fetched the first time, we will try to fetch it later on without
2402 asking again.
2403
24042003-08-02 Peter S Galbraith <psg@debian.org>
2405
2406 * mh-alias.el (mh-alias-local-users): Exclude all aliases already
2407 in mh-alias-alist from `ali' (closes SF #772595).
2408
24092003-08-01 Satyaki Das <satyakid@stanford.edu>
2410
2411 * mh-utils.el (mh-x-image-display, mh-x-image-url-display): Avoid
2412 a race. The X-Image-URL is displayed asynchronously. Suppose a
2413 message with a image is shown with `mh-show'. If a different
2414 message is displayed before the image can be fetched, then the new
2415 message will have the image displayed. With this change the race
2416 is less likely to happen.
2417
24182003-08-01 Peter S Galbraith <psg@debian.org>
2419
2420 * mh-inc.el (mh-inc-spool-map): Fix what `mh-inc-spool-map-help'
2421 must look like as a fake `mh-help-messages' in order to work
2422 correctly in mh-help.
2423
24242003-07-31 Bill Wohler <wohler@newt.com>
2425
2426 * mh-inc.el (mh-inc-spool-map): Use mh-help instead of
2427 mh-ephem-message in order to display help in its own buffer
2428 instead of minibuffer.
2429
2430 * mh-utils.el (mh-help-buffer): New variable to hold the name of
2431 the MH-E help buffer name.
2432
2433 * mh-funcs.el (mh-help, mh-prefix-help): Use with-electric-help to
2434 display help messages. I observed a friend with a vision
2435 disability and the 5 seconds the help appeared on the screen was
2436 not long enough for him to lock on it. I've therefore changed the
2437 help function to display the help in its own buffer called *MH-E
2438 Help* (closes SF #493740 and SF #656631).
2439
2440 * mh-customize.el (mh-fetch-x-image-url): Changed default from nil
2441 to 'ask. Updated docstring from manual.
2442 (mh-invisible-header-fields-internal): Added X-Image-URL.
2443 (mh-show-use-xface-flag): Updated docstring from manual.
2444 (mh-x-face-file): Ditto.
2445
2446 * mh-mime.el (mh-mhn-compose-external-type): Don't insert the
2447 directory parameter if it's nil. The mhbuild man page indicates
2448 that this parameter is optional, so this should be fine.
2449
2450 * mh-comp.el (mh-letter-mode-map): Added keybindings for
2451 mh-mhn-compose-anon-ftp and
2452 mh-mhn-compose-external-compressed-tar.
2453 (mh-letter-menu): Uncommented menu items for same.
2454
24552003-07-30 Satyaki Das <satyakid@stanford.edu>
2456
2457 * mh-loaddefs.el: Regenerated.
2458
2459 * mh-pick.el (mh-do-pick-search): Removed since the function
2460 `mh-pick-do-search' performs the same action as this function.
2461
2462 * mh-index.el (mh-index-update-unseen): Removed since the
2463 generalized sequence synchronization code that keeps sequences in
2464 index folders in sync with the sequences in the source folders
2465 makes this function redundant.
2466
2467 * mh-e.el (mh-folder-unseen-seq-name, mh-folder-unseen-seq-list):
2468 Removed. These two functions were used in the unseen sequence
2469 highlighting before the sequence highlighting code was
2470 generalized. In any event calls to the function
2471 `mh-folder-unseen-seq-name' can be replaced by the variable
2472 `mh-unseen-seq' and calls to `mh-folder-unseen-seq-list' can be
2473 replaced with (cdr (assoc mh-unseen-seq mh-seq-list)).
2474 (mh-unmark-all-headers): Removed since this function has been
2475 superseded by mh-remove-all-notation.
2476 (mh-map-over-seqs): Removed since we now have the generalized
2477 iteration over message ranges (the `mh-iterate-on-range' macro)
2478 that can be used instead.
2479 (mh-notate-if-in-one-seq): Removed. This function was used for
2480 changing the `%' notation for user sequences. It can't be used for
2481 that purpose any more, since we have a different scheme now.
2482
2483 * mh-unit.el (mh-unit-tests): Removed since it isn't needed any
2484 more.
2485 (mh-unit): Run all function that start with the string
2486 "mh-unit-test-".
2487
24882003-07-30 Bill Wohler <wohler@newt.com>
2489
2490 * mh-customize.el (mh-invisible-header-fields): Checkdoc fix.
2491
2492 * mh-utils.el (mh-x-image-url-cache-canonicalize): Shortened using
2493 example in files.el:make-backup-file-name-1.
2494 (mh-face-display-function): Added X-Image-URL to docstring.
2495
2496 * mh-unit.el (mh-unit-x-image-url-cache-canonicalize): New
2497 function to test mh-x-image-url-cache-canonicalize since it lent
2498 itself well to unit testing. Had to start somewhere!
2499 (mh-unit-equal): New function that throws an error if RESULT
2500 doesn't equal EXPECTED.
2501 (mh-unit): Call mh-unit-x-image-url-cache-canonicalize.
2502
25032003-07-29 Satyaki Das <satyakid@stanford.edu>
2504
2505 * mh-unit.el (mh-unit-update-call-graph): Make the function work
2506 better with dotted lists, that is lists of the form (a b c . d)
2507 where `d' isn't nil. With this we are able to avoid marking some
2508 functions as unused even though they are actually used in alists.
2509
25102003-07-28 Peter S Galbraith <psg@debian.org>
2511
2512 * mh-comp.el (mh-insert-letter): Remove `mh-visible-headers'
2513 operation.
2514
2515 * mh-mime.el (mh-mm-inline-message): Same.
2516
2517 * mh-utils.el (mh-display-msg): Same.
2518 (mh-clean-msg-header): Make a note of above change.
2519
2520 * mh-customize.el (mh-invisible-header-fields-internal): Renamed
2521 from prior `mh-invisible-header-fields-default'.
2522 (mh-invisible-header-fields-default): Renamed from prior
2523 `mh-invisible-header-fields-default-override'.
2524 (mh-invisible-header-fields): Renamed from prior
2525 `mh-invisible-header-fields-user'.
2526 (mh-visible-headers): Removed! We use invisible fields only now.
2527 (mh-visible-header-fields): Removed!
2528
25292003-07-28 Peter S Galbraith <psg@debian.org>
2530
2531 * mh-customize.el (mh-invisible-header-fields-default): Added 3
2532 new fields to hide.
2533
25342003-07-28 Satyaki Das <satyakid@stanford.edu>
2535
2536 * mh-utils.el (mh-show): Add an extra argument to the function so
2537 that interactive use will always force redisplay of the message.
2538
2539 * mh-mime.el (mh-mime-display, mh-mm-inline-message): Bind the
2540 variables `mm-verify-option' and `mm-decrypt-option' so that
2541 verification and decryption of mail can happen without any
2542 additional tinkering.
2543
25442003-07-25 Peter S Galbraith <psg@debian.org>
2545
2546 * mh-customize.el (mh-invisible-header-fields-default): New defvar
2547 holding default fields to hide. This replaces the old
2548 `mh-invisible-header-fields' defcustom.
2549 (mh-invisible-header-fields-user): New defcustom. Users add
2550 fields to suppress that we didn't include in
2551 `mh-invisible-header-fields-default'. This could be named simply
2552 `mh-invisible-header-fields' and it wouldn't really break anything
2553 for users who have customized it to a long list now redundant with
2554 `mh-invisible-header-fields-default'.
2555 (mh-invisible-header-fields-default-override): New defcustom.
2556 Users check off the fields they want displyed from what we
2557 included in `mh-invisible-header-fields-default'.
2558 (mh-invisible-headers): Function adapted to new variables.
2559
25602003-07-25 Satyaki Das <satyakid@stanford.edu>
2561
2562 * mh-e.el (mh-inc-folder): If the user is in a different folder
2563 displaying a message and runs mh-inc-folder, then the folder
2564 changes to +inbox but the show window continues to display the
2565 message in the old folder. The change fixes this.
2566 (mh-visit-folder): Make the handling of the show window similar to
2567 that of mh-inc-folder.
2568
25692003-07-24 Satyaki Das <satyakid@stanford.edu>
2570
2571 * mh-e.el (mh-folder-message-menu, mh-folder-folder-menu): Use the
2572 predicate mh-outstanding-commands-p instead of its exapansion.
2573 Also use the same label in both menus.
2574 (mh-outstanding-commands-p): Generalized so that it will work in
2575 mh-show-mode buffers as well.
2576
2577 * mh-customize.el (mh-tool-bar-define): Enable tool-bar button for
2578 mh-execute-commands only if there are pending deletes or refiles.
2579
25802003-07-19 Satyaki Das <satyakid@stanford.edu>
2581
2582 * mh-utils.el (mh-show-msg): If a unseen message is first marked
2583 for deletion/refiling and then displayed, the bold highlighting
2584 does not go away. This change fixes that.
2585
2586 * mh-seq.el (mh-msg-is-in-seq): Fix a bug in the function. If any
2587 message was marked for refiling, then the function would have you
2588 believe that every message in the folder is being refiled.
2589
25902003-07-17 Bill Wohler <wohler@newt.com>
2591
2592 * mh-e.el: Removed email address for Stephen Gildea's in Change
2593 Log at his request (damn spammers). Removed other email addresses
2594 while I was at it since the SourceForge URL should be sufficient
2595 contact information.
2596
2597 (mh-scan-format-*mh): Fixed typo in comment above these variables.
2598 These variables are used if mh-scan-format-file is t, not nil.
2599 Also mh-scan-format-file is no longer "above" (courtesy Stephen
2600 Gildea).
2601
26022003-07-17 Satyaki Das <satyakid@stanford.edu>
2603
2604 * mh-mime.el (mh-mhn-quote-unescaped-sharp): New function that
2605 quotes `#' characters in the first column that aren't part of a
2606 MHN directive.
2607 (mh-mhn-directive-present-p): Generalized to allow the function
2608 to search for MHN directives in a part of the buffer.
2609 (mh-edit-mhn): Quote unescaped `#' characters in the draft (closes
2610 SF #762464).
2611
26122003-07-16 Satyaki Das <satyakid@stanford.edu>
2613
2614 * mh-alias.el (mh-alias-read-address-map): If
2615 mh-alias-flash-on-comma is nil when mh-alias is loaded, then
2616 setting mh-alias-flash-on-comma to t later on doesn't turn on
2617 address completion display till Emacs is restarted. The change
2618 fixes this.
2619
26202003-07-15 Bill Wohler <wohler@newt.com>
2621
2622 * mh-utils.el (mh-cmd-note): Cleaned up docstring (changed phrase
2623 to sentences). Moved to Scan Line Formats section.
2624 (mh-scan-msg-number-regexp)
2625 (mh-scan-msg-overflow-regexp, mh-scan-msg-format-regexp)
2626 (mh-scan-msg-format-string, mh-scan-msg-search-regexp): Cleaned up
2627 docstrings (changed phrases to sentences).
2628 (mh-note-seq): Cleaned up docstring (changed phrase to sentences).
2629 Also, this variable is now a character and not a string. Moved to
2630 Scan Line Formats section.
2631
2632 * mh-funcs.el (mh-note-copied, mh-note-printed): Cleaned up
2633 docstrings (changed phrases to sentences). Also, these variables
2634 are now characters and not strings.
2635
2636 * mh-e.el (mh-scan-format-mh, mh-scan-format-nmh): Filled. I was
2637 hoping to quote the hint `t' but checkdoc wouldn't let me.
2638 (mh-note-deleted, mh-note-refiled, mh-note-cur): Moved to Scan
2639 Line Formats section.
2640 (mh-scan-good-msg-regexp, mh-scan-deleted-msg-regexp)
2641 (mh-scan-refiled-msg-regexp, mh-scan-valid-regexp)
2642 (mh-scan-cur-msg-number-regexp, mh-scan-date-regexp)
2643 (mh-scan-rcpt-regexp, mh-scan-body-regexp)
2644 (mh-scan-subject-regexp, mh-scan-format-regexp): Cleaned
2645 up docstrings (changed phrases to sentences).
2646 (mh-scan-cur-msg-regexp): Marked this variable as obsolete; it
2647 should be removed for 8.0.
2648
2649 * mh-comp.el (mh-note-repl, mh-note-forw, mh-note-dist): Cleaned
2650 up docstrings (changed phrases to sentences). Also, these
2651 variables are now characters and not strings.
2652
26532003-07-15 Satyaki Das <satyakid@stanford.edu>
2654
2655 * mh-index.el (mh-index-update-single-msg)
2656 (mh-index-create-sequences): Handle the situation where there are
2657 copies of the exact same message correctly.
2658
26592003-07-15 Satyaki Das <satyakid@stanford.edu>
2660
2661 * mh-seq.el (mh-thread-update-scan-line-map): Modified since
2662 notation is already a character.
2663
2664 * mh-utils.el (mh-note-seq): Convert from string to character.
2665 (mh-notate): Modified since characters are used to notate instead
2666 of strings of length one.
2667
2668 * mh-comp.el (mh-note-repl, mh-note-forw, mh-note-dist): Convert
2669 from string to characters.
2670
2671 * mh-e.el (mh-note-deleted, mh-note-refiled, mh-note-cur): Same as
2672 above (closes SF #770772).
2673 (mh-unmark-all-headers): Modified since mh-note-* variables are
2674 now characters.
2675 (mh-remove-sequence-notation): The mh-notate function remembers
2676 the previous notation. Before the change to the mh-note-*
2677 variables, mh-notate would only remember the change if a string
2678 was used to notate the message. Now mh-notate is always called
2679 with a character notation. So the deletion has to take place
2680 explicitly.
2681
26822003-06-28 Bill Wohler <wohler@newt.com>
2683
2684 * mh-mime.el (mh-mhn-directive-present-p): If shell comments are
2685 present that have a space after the # but no content, then this
2686 function would throw an error. This has been fixed (closes SF
2687 #762458).
2688
26892003-06-27 Satyaki Das <satyakid@stanford.edu>
2690
2691 * mh-index.el (mh-index-search): Use the new and improved
2692 mh-index-new-folder.
2693 (mh-index-new-folder): Improved so that redoing the same search
2694 will reuse the old index folder.
2695 (mh-index-folder-search-regexp): New function which that extracts
2696 out the search expression that produced the index folder.
2697
26982003-06-24 Bill Wohler <wohler@newt.com>
2699
2700 * mh-e.el (Version, mh-version): Set to 7.4.1+cvs.
2701
27022003-06-25 Bill Wohler <wohler@newt.com>
2703
2704 Released MH-E version 7.4.1.
2705
2706 * MH-E-NEWS, README: Updated for release 7.4.1.
2707
2708 * mh-e.el (Version, mh-version): Updated for release 7.4.1.
2709
27102003-06-25 Bill Wohler <wohler@newt.com>
2711
2712 * mh-unit.el (require 'cl): Added. Needed when compiling
2713 separately.
2714
2715 * Makefile (clean): Now a double-colon rule. Added a second clean
2716 target to remove mh-unit.elc.
2717 (compile): Removed mh-unit.elc.
2718 (mh-unit.elc): New target used to compile mh-unit.
2719
27202003-06-24 Bill Wohler <wohler@newt.com>
2721
2722 * mh-e.el (Version, mh-version): Set to 7.4+cvs.
2723
27242003-06-24 Bill Wohler <wohler@newt.com>
2725
2726 Released MH-E version 7.4.
2727
2728 * MH-E-NEWS, README: Updated for release 7.4.
2729
2730 * mh-e.el (Version, mh-version): Updated for release 7.4.
2731
27322003-06-24 Bill Wohler <wohler@newt.com>
2733
2734 * mh-alias.el (mh-alias-gecos-name, mh-alias-local-users)
2735 (mh-alias-suggest-alias): s/gcos/gecos. The original acronym was
2736 GECOS but was later renamed to GCOS (see
2737 http://info.astrian.net/jargon/terms/g/GCOS.html). But the term
2738 really needs to match the field named pw_gecos in struct passwd in
2739 /usr/include/pwd.h
2740
2741 * mh-customize.el (mh-letter-faces): New group to house
2742 mh-letter-header-field-face.
2743 (mh-interpret-number-as-range-flag)
2744 (mh-kill-folder-suppress-prompt-hook): Use "you" instead of "the
2745 user" to make text more friendly.
2746 (mh-index-ticked-messages-folders, mh-visible-headers)
2747 (mh-visible-header-fields): Alphabetized.
2748 (mh-alias-passwd-gcos-comma-separator-flag): Alphabetized and
2749 s/gcos/gecos.
2750 (mh-alias-local-users-prefix): Fixed docstring. Prefixes are
2751 prepended, not appended. Additional checkdoc fix.
2752 (mh-letter-header-field-face): Set group to new group
2753 mh-letter-faces and moved option into this group.
2754
2755 * mh-index.el (mh-index-sequenced-messages): Improved wording of
2756 docstring and mentioned use of prefix argument.
2757
2758 * mh-seq.el (mh-widen): Made docstring more accurate (hopefully!).
2759
27602003-06-18 Satyaki Das <satyakid@stanford.edu>
2761
2762 * mh-index.el (mh-replace-string): Modified to preserve case of
2763 replacement text.
2764 (mh-index-parse-search-regexp): Preserve case of search terms.
2765 This is needed to take advantage of the acronym indexing in
2766 swish++ (closes SF #755718).
2767
27682003-06-13 Satyaki Das <satyakid@stanford.edu>
2769
2770 * mh-utils.el (mh-show-index-sequenced-messages): Interactive
2771 function callable from the show buffer.
2772 (mh-show-folder-map): Add key binding for "F q".
2773
2774 * mh-e.el (mh-folder-map): Same as above.
2775
2776 * mh-index.el (mh-index-sequenced-messages): Add interactive spec
2777 to the function (closes SF #718833).
2778
27792003-06-13 Bill Wohler <wohler@newt.com>
2780
2781 * mh-index.el (mh-flists-execute): Needed to expand mhpath too.
2782
27832003-06-12 Satyaki Das <satyakid@stanford.edu>
2784
2785 * mh-index.el (mh-flists-execute): Modified so that flists
2786 present in mh-progs is called.
2787
27882003-06-07 Jeffrey C Honig <jch@honig.net>
2789
2790 * mh-comp.el (mh-forward, mh-forward): Use (mh-mail-header-end) to
2791 find the end of headers instead of doing an re-search-forward
2792 based on mh-mail-header-separator.
2793
27942003-06-06 Satyaki Das <satyakid@stanford.edu>
2795
2796 * mh-comp.el (mh-letter-toggle-header-field-display): Make the
2797 function callable from the show buffer. This means that the
2798 buffer is temporarily made writable and the modification status
2799 of the buffer restored to the original value.
2800
28012003-06-06 Peter S Galbraith <psg@debian.org>
2802
2803 * mh-utils.el (mh-address-mail-regexp): Bug fix! It wasn't a true
2804 copy of the goto-addr variable. My modification only recognized
2805 addresses with one dot after the @. Sorry about that.
2806
28072003-06-05 Satyaki Das <satyakid@stanford.edu>
2808
2809 * mh-utils.el (mh-replace-in-string): Move comment into doc
2810 string to satisfy checkdoc.
2811
2812 * mh-alias.el (mh-alias-apropos): Checkdoc fix.
2813
28142003-06-05 Bill Wohler <wohler@newt.com>
2815
2816 * mh-customize.el (mh-identity-list): Fixed typo in docstring.
2817
28182003-06-05 Peter S Galbraith <psg@debian.org>
2819
2820 * mh-comp.el (mh-letter-complete-function-alist): Add bcc an reply-to.
2821
28222003-06-04 Peter S Galbraith <psg@debian.org>
2823
2824 * mh-comp.el (mh-letter-complete-function-alist): Add dcc.
2825
28262003-06-03 Peter S Galbraith <psg@debian.org>
2827
2828 * mh-utils.el (mh-replace-in-string): New function name instead of
2829 `dired-replace-in-string'.
2830 * mh-alias.el (mh-alias-gcos-name): Use it.
2831
2832 * mh-alias.el (mh-alias-apropos): New command. Show all aliases
2833 that match REGEXP either in name or content.
2834
2835 * mh-alias.el (mh-alias-suggest-alias): Add no-comma-swap optional
2836 arg.
2837 (mh-alias-canonicalize-suggestion): Change a comma to a period in
2838 created aliases.
2839 (mh-alias-local-users): Call `mh-alias-suggest-alias' with
2840 `no-comma-swap' arg set to t.
2841
2842 * mh-alias.el (mh-alias-local-users): Fix case of nil
2843 `mh-alias-passwd-gcos-comma-separator-flag'.
2844
2845 * mh-alias.el (mh-alias-gcos-name): Fix for case of empty gcos
2846 name field.
2847 (mh-alias-local-users): Fix same.
2848
2849 * mh-alias.el (mh-alias-canonicalize-suggestion): Replace use by
2850 verbose `replace-regexp' by a looped `replace-match'
2851
28522003-06-02 Peter S Galbraith <psg@debian.org>
2853
2854 * mh-utils.el (dired-replace-in-string): Bind if not already
2855 defined. Borrowed from dired.el
2856
2857 * mh-alias.el (mh-alias-gcos-name): switch to using
2858 dired-replace-in-string.
2859
28602003-06-02 Satyaki Das <satyakid@stanford.edu>
2861
2862 * mh-utils.el (mh-letter-font-lock-keywords): Fontify header
2863 fields in the draft buffer that aren't skipped when navigating
2864 with TAB (or S-TAB).
2865
2866 * mh-customize.el (mh-clean-message-header-flag)
2867 (mh-invisible-headers, mh-invisible-header-fields)
2868 (mh-alias-passwd-gcos-comma-separator-flag): Checkdoc fix.
2869 (mh-letter-header-field-face): New face to fontify the header
2870 fields.
2871
2872 * mh-comp.el (mh-insert-auto-fields-done-local): Checkdoc fix.
2873 (mh-letter-mode, mh-letter-mail-header-end-marker): Remember the
2874 end of the message header in a marker. This is used to fontify the
2875 header fields.
2876 (mh-font-lock-field-data, mh-letter-header-end): Functions used
2877 to fontify message header fields.
2878
2879 * mh-alias.el (mh-alias-gcos-name): Checkdoc fix.
2880
28812003-06-02 Peter S Galbraith <psg@debian.org>
2882
2883 * mh-alias.el (mh-alias-gcos-name): New function. Return a usable
2884 address string from a GCOS-NAME and USERNAME.
2885 (mh-alias-local-users): Use it.
2886
2887 * mh-customize.el (mh-alias-passwd-gcos-comma-separator-flag): New
2888 defcustom. Whether the gcos field in the passwd file uses comma as
2889 a separator.
2890
2891 * mh-customize.el (mh-alias-local-users-prefix): New
2892 defcustom. String to append to the real names of users from the
2893 passwd file. If nil, use the username string unmodified instead of
2894 the real name from the gcos field of the passwd file.
2895
2896 * mh-alias.el (mh-alias-local-users): Use it to generate aliases
2897 which by default are now the real name prefixed by "local."
2898
28992003-06-01 Peter S Galbraith <psg@debian.org>
2900
2901 * mh-comp.el (mh-modify-header-field): Bug fix. Calling with with
2902 a value that was already inserted causes it to get inserted a
2903 second time. I have wrapped the value around \b word delimiters.
2904 Hope there are no side effects for other code.
2905
2906 * mh-comp.el (mh-insert-auto-fields): Attempt regardless of
2907 `mh-insert-auto-fields-done-local' flag in interactive use.
2908
2909 * mh-comp.el (mh-insert-auto-fields-done-local): Keep track of
2910 whether `mh-insert-auto-fields' was called in a buffer.
2911 (mh-insert-auto-fields): Set it and use it. Also, don't enter an
2912 identity if one was already entered manually.
2913 (mh-send-letter): Call `mh-insert-auto-fields' again when sending
2914 message.
2915 (mh-compose-and-send-mail): Call `mh-insert-auto-fields' _after_
2916 `mh-letter-mode' so `mh-identity-local' doesn't get cleared by the
2917 mode invocation.
2918
29192003-06-01 Satyaki Das <satyakid@stanford.edu>
2920
2921 * mh-loaddefs.el: Regenerated.
2922
2923 * mh-seq.el (mh-thread-parse-scan-line): The value of
2924 mh-scan-field-from-start-offset was hardcoded in one place. The
2925 change fixes that.
2926
2927 * mh-utils.el (mh-show-mode): Setup mh-show-mode to display
2928 elipsis for truncated header fields and to skip over them quickly.
2929 (mh-clean-msg-header): Make another pass over the message header
2930 fields truncating long headers.
2931
2932 * mh-comp.el (mh-letter-complete): Remove unnecessary autoload.
2933 (mh-letter-toggle-header-field-display): Take into account that
2934 an empty line can also end the message header. The function was
2935 originally written with the draft buffer in mind.
2936
29372003-06-01 Mark D. Baushke <mdb@gnu.org>
2938
2939 * mh-comp.el (mh-letter-mode-map): Do not steal C-t. Use C-c C-t
2940 for the mh-letter-toggle-header-field-display command.
2941
29422003-05-31 Peter S Galbraith <psg@debian.org>
2943
2944 * mh-customize.el (mh-visible-headers): Changed to a defvar that
2945 will be set using new `mh-visible-headers' function using
2946 `mh-visible-header-fields' as input.
2947 (mh-visible-headers): New function, described above.
2948 (mh-visible-header-fields): New defcustom. The UI to set
2949 `mh-visible-headers'.
2950 (mh-invisible-header-fields-set): Deleted. Code merged into
2951 defcustom since it's so short.
2952
29532003-05-31 Satyaki Das <satyakid@stanford.edu>
2954
2955 * mh-comp.el (mh-letter-toggle-header-field-display): Extended to
2956 truncate headers if they are too long.
2957 (mh-letter-truncate-header-field): Make code that would be
2958 duplicated into a function.
2959 (mh-letter-hide-all-skipped-fields): Modified so that fields that
2960 are important are hidden if they are too long.
2961
29622003-05-31 Satyaki Das <satyakid@stanford.edu>
2963
2964 * mh-utils.el ("tool-bar"): Since tool-bar isn't available on
2965 XEmacs, requiring it causes problems. So load it instead.
2966 (mh-do-at-event-location): New macro to do stuff at location of
2967 events. This has been refactored out of mh-push-button.
2968
2969 * mh-mime.el (mh-push-button): Simplified since it now uses the
2970 mh-do-at-event-location macro.
2971
2972 * mh-comp.el (mh-hidden-header-keymap): Keymap to make mouse
2973 clicks on header toggle its display.
2974 (mh-letter-toggle-header-field-display-button): Interactive
2975 function to toggle header display when mouse button is clicked.
2976
29772003-05-31 Peter S Galbraith <psg@debian.org>
2978
2979 * mh-e.el (mh-folder-mode): Remove conditional on tool-bar-mode.
2980
2981 * mh-comp.el (mh-letter-mode): Same.
2982
2983 * mh-utils.el (mh-show-mode): Same.
2984
29852003-05-30 Satyaki Das <satyakid@stanford.edu>
2986
2987 * mh-utils.el (tool-bar): Load tool-bar explicitly. This avoids
2988 problems with incorrect initialization of tool-bar-map otherwise.
2989
29902003-05-30 Peter S Galbraith <psg@mixed.dyndns.org>
2991
2992 * mh-comp.el (mh-modify-header-field): Minor fix of spaces for
2993 when an entry already existed.
2994 (mh-insert-auto-fields): Make interactive. Add optional `quiet'
2995 arg for use when called systematically on every buffer. Won't be
2996 used interactively for more verbose output.
2997 (mh-letter-mode-map): Add \C-c\M-d keybinding for
2998 mh-insert-auto-fields.
2999
3000 * mh-identity.el (mh-identity-make-menu): Add a menu entry in
3001 Identity menu for mh-insert-auto-fields.
3002
3003 * mh-customize.el (mh-invisible-header-fields): Add entries for
3004 `Envelope-to' and `X-Original-To'.
3005
30062003-05-30 Satyaki Das <satyakid@stanford.edu>
3007
3008 * mh-comp.el (mh-letter-mode): Skip over invisible text quickly.
3009
30102003-05-30 Satyaki Das <satyakid@stanford.edu>
3011
3012 * mh-comp.el (mh-letter-mode): Use text properties to achieve
3013 invisibility. This is more portable and the same code can be used
3014 for all Emacs versions.
3015 (mh-letter-toggle-header-field-display): Rewritten to use text
3016 properties.
3017 (mh-dead-overlay-p, mh-letter-hidden-header-fields)): Removed.
3018
30192003-05-29 Satyaki Das <satyakid@stanford.edu>
3020
3021 * mh-comp.el (mh-letter-hidden-header-fields, mh-letter-mode): Add
3022 a hash table, initialized it in mh-letter-mode, to remember the
3023 overlays introduced to hide long headers fields.
3024 (mh-insert-x-mailer): checkdoc fix.
3025 (mh-compose-and-send-mail): Hide unimportant message header
3026 fields.
3027 (mh-letter-header-field-regexp, mh-letter-header-field-at-point)
3028 (mh-letter-next-header-field, mh-letter-previous-header-field):
3029 Add a variable that contains the header-field name regexp and use
3030 it instead of the regexp directly.
3031 (mh-letter-toggle-header-field-display, mh-letter-mode-map): Add
3032 new key binding in mh-letter-mode that toggles display of long
3033 header fields, in mh-letter-mode.
3034 (mh-dead-overlay-p): A predicate which checks if a given header
3035 field has an active overlay hiding it.
3036 (mh-letter-hide-all-skipped-fields): New function that shortens
3037 uninteresting headers.
3038
30392003-05-29 Eric Ding <ericding@acorn.bethesda.net>
3040
3041 * mh-comp.el (mh-letter-next-header-field-or-indent): Call
3042 indent-relative rather than indent-for-tab-command.
3043
30442003-05-29 Satyaki Das <satyakid@stanford.edu>
3045
3046 * mh-comp.el (mh-letter-complete-or-space): The meaning of the
3047 customizable variable was reversed. Also make the doc string more
3048 accurate.
3049
30502003-05-28 Satyaki Das <satyakid@stanford.edu>
3051
3052 * mh-customize.el (mh-compose-skipped-header-fields): New
3053 customizable variable that lists headers that are skipped.
3054 (mh-compose-space-does-completion-flag): Option to do completion
3055 with space (closes SF #745634).
3056
3057 * mh-comp.el (mh-insert-x-mailer): Check the value of
3058 mh-insert-x-mailer-flag in this function instead of in its caller.
3059 (mh-compose-and-send-mail, mh-send-letter): Insert X-Mailer and
3060 X-Face headers when the draft is first presented to the user
3061 instead of when the mail is sent (closes SF #745624).
3062 (mh-letter-complete-or-space): Allow for this key binding to be
3063 overridden.
3064 (mh-letter-next-header-field): Fix a problem with multiline header
3065 fields.
3066 (mh-letter-next-header-field, mh-letter-previous-header-field):
3067 Make these functions skip unwanted header fields.
3068 (mh-letter-skipped-header-field-p): New predicate that checks if a
3069 header field is to be skipped.
3070
3071 * mh-seq.el (mh-thread-inc): Inc'ing email in threaded mode was
3072 causing duplication of the current notation. The change fixes that.
3073
30742003-05-28 Satyaki Das <satyakid@stanford.edu>
3075
3076 * mh-comp.el (mh-beginning-of-word): Generalize it to skip
3077 arbitrary number of words.
3078 (mh-letter-complete-or-space): New interactive function that
3079 allows space character to be used for completion.
3080 (mh-letter-mode-map): Add key binding to allow space to be used
3081 for completion.
3082
30832003-05-27 Satyaki Das <satyakid@stanford.edu>
3084
3085 * mh-customize.el (mh-compose-prompt-flag): Customizable variable
3086 that controls whether the user is prompted when composing a draft.
3087 It replaces mh-dont-prompt-for-address-flag (closes SF #745622).
3088
3089 * mh-comp.el (mh-letter-next-header-field): If the point is in
3090 the header field name, then go the start of the header field
3091 instead of the next field.
3092 (mh-interactive-read-address, mh-interactive-read-string)
3093 (mh-letter-adjust-point): Use mh-compose-prompt-flag instead of
3094 mh-dont-prompt-for-address-flag.
3095
30962003-05-27 Satyaki Das <satyakid@stanford.edu>
3097
3098 * mh-customize.el (mh-tool-bar-define): Fix incorrect usage of
3099 set-specifier (closes SF #745655). Also the button enabling code
3100 interacts poorly with font-lock in XEmacs. So disable that.
3101
31022003-05-26 Satyaki Das <satyakid@stanford.edu>
3103
3104 * mh-e.el (mh-folder-from-address): The function
3105 message-fetch-field expects that the buffer is narrowed to the
3106 mail header. The change makes sure that this is indeed the case.
3107
3108 * mh-mime.el (mh-add-missing-mime-version-header)
3109 (mh-decode-message-body): Same as above.
3110
31112003-05-25 Satyaki Das <satyakid@stanford.edu>
3112
3113 * mh-alias.el (mh-alias-minibuffer-confirm-address): Modified to
3114 use mh-beginning-of-word.
3115
3116 * mh-comp.el (mh-letter-confirm-address): Calling
3117 mh-alias-reload-maybe can be expensive. So do it only if we really
3118 need to.
3119
31202003-05-25 Satyaki Das <satyakid@stanford.edu>
3121
3122 * mh-loaddefs.el: Regenerated.
3123
3124 * mh-comp.el (mh-letter-confirm-address): Load aliases if not yet
3125 loaded.
3126
3127 * mh-alias.el (mh-alias-reload-maybe): Autoload it since it is
3128 used in mh-comp.el.
3129
31302003-05-24 Satyaki Das <satyakid@stanford.edu>
3131
3132 * mh-comp.el (mh-letter-skip-leading-whitespace-in-header-field):
3133 New function to skip leading space and tab characters when placing
3134 point in a header field.
3135 (mh-letter-next-header-field, mh-letter-previous-header-field):
3136 Skip leading whitespace when using TAB to navigate to header
3137 fields.
3138 (mh-letter-confirm-address): New interactive function that
3139 displays the last expansion of the last alias when "," is typed.
3140 (mh-letter-mode-map): Add key binding for "," (closes SF #745634).
3141
31422003-05-23 Satyaki Das <satyakid@stanford.edu>
3143
3144 * mh-comp.el (mh-edit-again, mh-forward, mh-send)
3145 (mh-send-other-window, mh-send-sub): Modified so that if
3146 mh-dont-prompt-for-address-flag is non-nil, then MH-E won't prompt
3147 for addresses to send mail to and instead directly jump to the
3148 draft (closes SF #745622).
3149 (mh-letter-complete-function-alist): An alist that is used to
3150 decide which completion function to use in which header. This
3151 variable should probably be customizable.
3152 (mh-letter-complete): Now uses mh-letter-complete-function-alist.
3153 (mh-letter-header-field-at-point, mh-letter-next-header-field)
3154 (mh-letter-next-header-field-or-indent)
3155 (mh-letter-previous-header-field): Commands for easier navigation
3156 to header fields.
3157 (mh-dont-prompt-for-address-flag): Variable which controls
3158 whether MH-E prompts for addresses.
3159 (mh-interactive-read-address, mh-interactive-read-string): Two
3160 functions to ask user for input depending on the value of the
3161 above flag.
3162 (mh-letter-adjust-point): New function that sets point to the
3163 first header field.
3164 (mh-letter-mode-map): Add key bindings for TAB and S-TAB (closes
3165 SF #745627).
3166
31672003-05-23 Satyaki Das <satyakid@stanford.edu>
3168
3169 * mh-loaddefs.el: Regenerated.
3170
3171 * mh-comp.el (mh-complete-word): New function which is
3172 approximately equivalent to mail-abbrev-complete-alias.
3173 (mh-beginning-of-word): Refactor repeated code into its own
3174 function.
3175 (mh-folder-expand-at-point): Make Fcc completion work in XEmacs
3176 by not using mail-abbrev-complete-alias.
3177
3178 * mh-alias.el (mh-alias-letter-expand-alias): Make alias
3179 expansion work in XEmacs. Replace the use of the function
3180 mail-abbrev-complete-alias, which isn't present in XEmacs.
3181
3182 * mh-mime.el (mh-mml-to-mime): If a MIME message is created
3183 immediately after starting MH-E then invoking mh-mml-to-mime
3184 causes an error because "message" isn't being loaded. The change
3185 works around this problem.
3186 (mh-mime-maybe-display-alternatives): Give better indication of
3187 which MIME parts are alternatives.
3188
31892003-05-22 Satyaki Das <satyakid@stanford.edu>
3190
3191 * mh-e.el (mh-add-sequence-notation, mh-remove-sequence-notation):
3192 Just delete and add the same character in the scan line to make
3193 font-lock refontify it. The previous trick of removing all text
3194 properties didn't work in XEmacs.
3195
3196 * mh-seq.el (mh-put-msg-in-seq): Complain if the user tries to
3197 create an invalid MH sequence.
3198
3199 * mh-mime.el (mh-mime-display-alternative): Modified to
3200 optionally display alternatives as buttons.
3201 (mh-mime-maybe-display-alternatives): New function which displays
3202 alternative MIME parts as buttons.
3203 (mh-mime-save-part): Initially mh-mime-save-parts-directory is
3204 nil and calling file-name-as-directory with nil arg leads to an
3205 error. So fall back on the default-directory in that case.
3206
3207 * mh-customize.el (mh-display-buttons-for-alternatives-flag): New
3208 customizable variable that controls display of the alternative
3209 MIME parts (closes SF #741288).
3210
32112003-05-22 Peter S Galbraith <psg@debian.org>
3212
3213 * mh-customize.el (mh-invisible-header-fields): Commented out
3214 "User-Agent:". It's similar to X-Mailer, so display it.
3215
32162003-05-21 Satyaki Das <satyakid@stanford.edu>
3217
3218 * mh-customize.el (mh-tool-bar-define): Add an optional argument
3219 to the button description that can dynamically enable/disable
3220 buttons.
3221 (mh-tool-bar-define): The alias grabbing button is disabled if the
3222 current message doesn't have a From header or if the sender is
3223 already in the user's alias. This functionality was inadvertently
3224 lost when the Emacs/XEmacs toolbar unification took place.
3225
32262003-05-20 Satyaki Das <satyakid@stanford.edu>
3227
3228 * mh-unit.el (mh-unit-construct-call-graph): Be more aggressive
3229 and flag interactive functions that aren't autoloaded or have no
3230 key bindings.
3231 (mh-unit-interactive-function-p): Remove now unused function.
3232 (mh-unit, mh-unit-construct-call-graph): Replace mh-files with
3233 mh-unit-files.
3234
32352003-05-20 Bill Wohler <wohler@newt.com>
3236
3237 * mh-unit.el (mh-prune-trailing-spaces): Renamed to
3238 mh-unit-prune-trailing-spaces to clean up the namespace.
3239 (mh-files): Renamed to mh-unit-files. Ditto.
3240 (mh-unit): Checkdoc fix.
3241
3242 * mh-index.el (mh-index-p): Added autoload cookie since mh-index-p
3243 is used by mh-customize.el. This calls for another mh-unit test
3244 that looks for mh-autoloads for functions that are no longer used
3245 in other files.
3246
3247 * mh-loaddefs.el: Regenerated.
3248
32492003-05-20 Satyaki Das <satyakid@stanford.edu>
3250
3251 * mh-unit.el (mh-unit-construct-call-graph): Factor out the code
3252 to read the lisp files to a separate function. Also change it to
3253 construct a function call-graph. Autoloaded functions are taken
3254 into account.
3255 (mh-unit-find-all-used-functions, mh-unit-called-functions)
3256 (mh-unit-find-all-unused-functions): Find all unused functions by
3257 computing a fixed point starting from the set of top level
3258 functions.
3259 (mh-unit-analyze-block): Removed.
3260 (mh-unit-update-call-graph): mh-unit-functions-called was renamed
3261 with modifications to update the function call graph.
3262
32632003-05-19 Satyaki Das <satyakid@stanford.edu>
3264
3265 * mh-loaddefs.el: Regenerated.
3266
3267 * mh-utils.el (mh-notate): Modified to keep track of notation
3268 that was replaced when sequence notation is added. Thus when the
3269 sequence is deleted, the original notation is recovered.
3270 (mh-add-msgs-to-seq): Modified to work with the new sequence
3271 notation code.
3272
3273 * mh-seq.el (mh-delete-seq, mh-put-msg-in-seq): Simplified since
3274 we don't need to handle tick and unseen sequences specially any
3275 more.
3276 (mh-narrow-to-seq): Don't need to call mh-notate-user-sequences
3277 since mh-copy-seq-to-eob already does that.
3278 (mh-widen): Remove sequence notation, so that notation when
3279 messages are replied to aren't lost.
3280 (mh-copy-seq-to-eob): Simplified with the use of
3281 mh-iterate-on-range.
3282 (mh-thread-inc): This function doesn't need to notate user
3283 sequences since its callers already do that.
3284 (mh-thread-parse-scan-line): Simplified since mh-note-seq doesn't
3285 appear in scan lines it is given as arguments.
3286 (mh-thread-update-scan-line-map): Remove the test, since its
3287 caller already does the required check.
3288 (mh-thread-folder): Simplified by the use of mh-iterate-on-range.
3289 (mh-tick-add-overlay, mh-tick-remove-overlay, mh-notate-tick):
3290 These functions aren't needed any more, since overlays aren't used
3291 any more. Also overlays aren't portable to XEmacs, so nasty
3292 conditional code that used overlays in Emacs and extents in Xemacs
3293 have been eliminated.
3294 (mh-toggle-tick): Generalize it to work on a range of messages
3295 like the other interactive messages.
3296
3297 * mh-funcs.el (mh-undo-folder): Use mh-remove-all-notation
3298 instead of mh-unmark-all-headers.
3299
3300 * mh-e.el (mh-folder-font-lock-keywords): The entry for unseen
3301 sequence highlighting is now done by the macro.
3302 (mh-generate-sequence-font-lock): New macro to highlight any
3303 arbitrary sequence. This macro is invoked twice to get the
3304 highlighting for unseen and tick sequences.
3305 (mh-sequence-notation-history, mh-folder-mode): New variable that
3306 keeps track of the old notation when a message is notated with
3307 mh-note-seq.
3308 (mh-regenerate-headers, mh-get-new-mail): Add appropriate calls to
3309 mh-notate-user-sequences and mh-remove-all-notation.
3310 (mh-unmark-all-headers): Add comment that this function shouldn't
3311 be used any more.
3312 (mh-add-sequence-notation, mh-remove-sequence-notation): New
3313 functions to notate message with mh-note-seq and to remove it.
3314 (mh-remove-all-notation): Simplified to use mh-iterate-on-range.
3315 (mh-process-commands): Use mh-remove-all-notation instead of
3316 mh-unmark-all-headers.
3317 (mh-notate-user-sequences, mh-delete-msg-from-seq): Simplified
3318 since the tick and unseen sequences don't need special handling
3319 any more.
3320 (mh-internal-seq): Make it possible to dynamically change what
3321 sequences are treated as internal (internal means font lock is
3322 used to highlight the sequence).
3323 (mh-clear-text-properties): Removed since it isn't needed
3324 anymore.
3325
33262003-05-19 Satyaki Das <satyakid@stanford.edu>
3327
3328 * mh-unit.el (mh-unit-analyze-block, mh-unit-interactive-function-p)
3329 (mh-unit-find-all-unused-functions): Change argument name bl to
3330 block.
3331
33322003-05-19 Satyaki Das <satyakid@stanford.edu>
3333
3334 * mh-unit.el (mh-unit-find-all-unused-functions): New interactive
3335 function to find all unused functions in MH-E.
3336 (mh-unit-analyze-block, mh-unit-interactive-function-p)
3337 (mh-unit-functions-called): Functions used by
3338 mh-unit-find-all-unused-functions do its job.
3339
3340 * Makefile (compile): Byte-compile mh-unit.el, since the analysis
3341 to find unused code runs faster when compiled.
3342
33432003-05-18 Satyaki Das <satyakid@stanford.edu>
3344
3345 * mh-loaddefs.el: Regenerated.
3346
3347 * mh-seq.el (mh-notate-deleted-and-refiled): Add autoload
3348 declaration since this function is used in mh-index.el.
3349
3350 * mh-e.el, mh-customize.el, mh-utils.el: Adjust require/provide
3351 statements so that mh-e.el isn't loaded twice.
3352
33532003-05-15 Satyaki Das <satyakid@stanford.edu>
3354
3355 * mh-utils.el (mh-defun-show-buffer): Arrange for the current
3356 line in the folder buffer to be highlighted even when we are in
3357 the show buffer.
3358
33592003-05-14 Satyaki Das <satyakid@stanford.edu>
3360
3361 * mh-seq.el (mh-read-range): Allow this to work on invalid
3362 sequences that only MH-E knows about.
3363
3364 * mh-index.el (mh-create-sequence-map, mh-index-add-to-sequence)
3365 (mh-index-delete-from-sequence): Don't consider sequences that
3366 aren't valid MH sequences.
3367
3368 * mh-e.el (mh-valid-seq-p): New predicate to check if a symbol
3369 could be a MH sequence.
3370 (mh-undefine-sequence, mh-define-sequence): Don't execute "mark"
3371 unless the sequence name is a valid MH sequence.
3372
3373 * mh-utils.el (mh-exec-cmd): In case an error happens in the
3374 call-process and non-strings are present in ARGS, then the error
3375 message isn't properly displayed. The change fixes this.
3376
33772003-05-14 Peter S Galbraith <psg@debian.org>
3378
3379 * mh-mime.el (mh-mime-save-part): Bug Fix: Make sure
3380 `mm-default-directory' gets a trailing "/" if
3381 `mh-mime-save-parts-directory' doesn't have one. Otherwise the
3382 default in the prompt of `mh-mm-save-part' will be wrong. Perhaps
3383 `mh-mm-save-part' needs to do this check itself.
3384
33852003-05-14 Satyaki Das <satyakid@stanford.edu>
3386
3387 * mh-index.el (mh-unpropagated-sequences): New function and
3388 variable to keep track of sequences that shouldn't be propagated.
3389 (mh-create-sequence-map, mh-index-add-to-sequence)
3390 (mh-index-delete-from-sequence): Use mh-unpropagated-sequences to
3391 stop changes to some sequences being reflected back to the source
3392 folders.
3393
33942003-05-13 Satyaki Das <satyakid@stanford.edu>
3395
3396 * mh-loaddefs.el: Regenerated.
3397
3398 * mh-e.el (mh-process-commands): Preserve sequences when messages
3399 are refiled (closes SF #737128).
3400
3401 * mh-index.el (mh-create-sequence-map)
3402 (mh-index-create-sequences): Refactor code that is reused into a
3403 new function.
3404
3405 * mh-customize.el (mh-refile-preserves-sequences-flag): New
3406 customizable flag that controls whether sequences are preserved
3407 when messages are refiled.
3408
34092003-05-13 Eric Ding <ericding@alum.mit.edu>
3410
3411 * mh-e.el (mh-scan-format): The argument for scan format files
3412 should be -form, not -format.
3413
34142003-05-13 Satyaki Das <satyakid@stanford.edu>
3415
3416 * mh-seq.el (mh-widen): The scan line map stack was not being
3417 properly updated when ALL-FLAG is non-nil. The change fixes that.
3418
3419 * mh-e.el (mh-reset-threads-and-narrowing): The change resets the
3420 scan line map stack.
3421
34222003-05-12 Satyaki Das <satyakid@stanford.edu>
3423
3424 * mh-loaddefs.el: Regenerated.
3425
3426 * mh-seq.el (mh-thread-scan-line-map-stack)
3427 (mh-thread-old-scan-line-map): Instead of the old scan line map,
3428 now we need to maintain a stack of scan line maps.
3429 (mh-narrow-to-seq): Modified so that multiple level of narrowings
3430 can be done. We now maintain a stack of old views instead of
3431 hiding the old scan lines. This makes it possible to have
3432 multiple levels of narrowings.
3433 (mh-widen): A optional prefix arg was added to allow undoing all
3434 narrowing.
3435 (mh-read-seq-default, mh-read-range): Don't use
3436 mh-narrowed-to-seq, since it doesn't exist any more.
3437 (mh-thread-initialize-hash, mh-thread-initialize): The
3438 mh-thread-initialize function has been refactored.
3439 (mh-thread-update-scan-line-map): Maintain notations in the stack
3440 of scan line maps.
3441 (mh-notate-tick, mh-toggle-tick): Simplified, since we don't have
3442 mh-narrowed-to-seq any more. This means there is a slight loss of
3443 functionality. Earlier if we narrowed to the tick sequence the
3444 ticked messages weren't highlighted. This feature isn't present
3445 any more.
3446
3447 * mh-e.el (mh-execute-commands, mh-reset-threads-and-narrowing)
3448 (mh-folder-sequence-menu, mh-get-new-mail): Use
3449 mh-folder-view-stack instead of the now removed
3450 mh-narrowed-to-seq.
3451 (mh-narrowed-to-seq, mh-tick-seq-changed-when-narrowed-flag):
3452 These variables have been removed.
3453 (mh-folder-view-stack): New variable to keep track of a stack of
3454 narrowings.
3455 (mh-execute-commands, mh-get-new-mail): Add extra argument to
3456 mh-widen so that all narrowings are undone.
3457
3458 * Makefile (MH-E-SRC, MH-E-OTHERS): Move mh-gnus.el from MH-E-SRC
3459 to MH-E-OTHERS so that it isn't byte compiled.
3460
34612003-05-10 Satyaki Das <satyakid@stanford.edu>
3462
3463 * mh-seq.el (mh-read-seq): Improve the function a bit by adding
3464 history to the sequence prompt.
3465
34662003-05-09 Satyaki Das <satyakid@stanford.edu>
3467
3468 * mh-gnus.el: New file that won't be byte-compiled. From now on
3469 having different Gnus versions at run-time and compile-time won't
3470 cause errors in MH-E.
3471
3472 * mh-mime.el (mh-small-show-buffer-p, mh-display-smileys)
3473 (mh-display-emphasis): Handle all legal values of
3474 font-lock-maximum-size. The existing code assumed didn't consider
3475 the case where it could be an alist.
3476 (mh-small-image-p): Simplified, so that aliasing XEmacs functions
3477 in Emacs isn't necessary any more.
3478 (mh-mm-display-part): Remove unnecessary call to fboundp. The
3479 mh-funcall-if-exists does that for us any way.
3480 (mh-defun-compat, gnus-local-map-property, mm-merge-handles)
3481 (mm-set-handle-multipart-parameter, mm-readable-p)
3482 (mm-long-lines-p, mm-keep-viewer-alive-p, mm-destroy-parts)
3483 (mh-mm-save-part, mm-handle-multipart-ctl-parameter): These
3484 compatibility functions have been moved to mh-gnus.el.
3485
3486 * Makefile (MH-E-SRC): Add mh-gnus.el.
3487
3488 * mh-seq.el (mh-narrow-to-header-field)
3489 (mh-current-message-header-field): Checkdoc fixes.
3490
3491 * mh-e.el (mh-undefine-sequence): Since mh-coalesce-msg-list
3492 returns a list, apply is needed.
3493
34942003-05-09 Noel Cragg <noel@red-bean.com> (tiny change)
3495
3496 * mh-junk.el (mh-spamassassin-blacklist): Separate "--local" and
3497 "--no-rebuild" arguments to call-process.
3498 [Patch committed by satyaki]
3499
35002003-05-08 Satyaki Das <satyakid@stanford.edu>
3501
3502 * mh-seq.el (mh-translate-range): Take into account differnt
3503 semantics of split-string in Emacs and XEmacs.
3504 (mh-read-pick-regexp, mh-narrow-to-from, mh-narrow-to-cc)
3505 (mh-narrow-to-to, mh-narrow-to-header-field)
3506 (mh-current-message-header-field, mh-narrow-to-range): New
3507 narrowing functions that can select messages based on different
3508 message headers.
3509
3510 * mh-utils.el (mh-show-limit-map): Add new narrowing functions
3511 callable from the show buffer.
3512
3513 * mh-e.el (mh-help-messages): Add help text for new functions.
3514 (mh-limit-map): Add new narrowing functions (closes SF #732823).
3515
35162003-05-07 Satyaki Das <satyakid@stanford.edu>
3517
3518 * mh-utils.el (mh-collect-folder-names): Use mh-exec-daemon to
3519 run flists. This means we don't have to remember to expand the MH
3520 executable in the mh-progs path.
3521 (mh-exec-cmd-daemon): Return the new process object produced.
3522
35232003-05-06 Satyaki Das <satyakid@stanford.edu>
3524
3525 * mh-e.el (mh-folder-font-lock-unseen): Use mh-seq-list to do
3526 unseen sequence highlighting instead of reading the .mh_sequences
3527 file from disk every time.
3528
35292003-05-05 Satyaki Das <satyakid@stanford.edu>
3530
3531 * mh-utils.el (mh-show-sequence-map): Add key binding for S'
3532 (closes SF #732825).
3533
3534 * mh-e.el (mh-sequence-map): Ditto.
3535 (mh-help-messages): Updated for S'.
3536
35372003-05-04 Satyaki Das <satyakid@stanford.edu>
3538
3539 * mh-index.el (mh-index-write-data): The with-temp-buffer macro
3540 is a bit better than write-file, so use that instead.
3541
35422003-05-03 Satyaki Das <satyakid@stanford.edu>
3543
3544 * mh-index.el (mh-index-update-maps, mh-index-search)
3545 (mh-index-sequenced-messages): Write index data to disk. This
3546 allows us to recover index folder information if Emacs is
3547 restarted, or the index folder is visited after the buffer has
3548 been killed (closes SF #701762).
3549 (mh-index-write-data, mh-index-read-data)
3550 (mh-index-write-hashtable, mh-index-read-hashtable): Functions to
3551 store and read index data information to disk.
3552 (mh-index-insert-folder-headers, mh-index-group-by-folder): We
3553 can no longer use object identity to compare strings, since they
3554 might have been read back from disk.
3555
3556 * mh-e.el (mh-index-data-file): New variable that stores the name
3557 of the file that keeps track of index folder data.
3558 (mh-make-folder): Read index folder data if available.
3559
3560 * mh-utils.el (mh-show, mh-summary-height, mh-modify): Make
3561 checkdoc happy.
3562
3563 * mh-seq.el (mh-tick-add-overlay): Rearrange code to make code
3564 more uniform.
3565
3566 * mh-loaddefs.el: Regenerated.
3567
35682003-05-02 Satyaki Das <satyakid@stanford.edu>
3569
3570 * mh-seq.el (mh-tick-add-overlay): If a message with a short scan
3571 line is ticked, then the highlighting didn't extend to the right
3572 margin. This change fixes that.
3573
35742003-05-01 Bill Wohler <wohler@newt.com>
3575
3576 * mh-e.el (mh-help-messages): Added brackets around / and
3577 downcased limit to be consistent with other commands with
3578 punctuation keybindings. Don't document aliases.
3579
35802003-05-01 Satyaki Das <satyakid@stanford.edu>
3581
3582 * mh-loaddefs.el: Regenerated.
3583
3584 * mh-seq.el (mh-read-range): Fix comment.
3585
35862003-04-30 Mark D. Baushke <mdb@gnu.org>
3587
3588 * mh-e.el (mh-help-messages): Better documentation for the F map.
3589
35902003-04-30 Satyaki Das <satyakid@stanford.edu>
3591
3592 * mh-utils.el (mh-find-path): Cache folder names so that
3593 folder name completion is always fast.
3594 (mh-flists-partial-line, mh-flists-process): Variables used for
3595 pre-caching folder names.
3596 (mh-collect-folder-names, mh-collect-folder-names-filter)
3597 (mh-populate-sub-folders-cache): Functions to pre-cache folder
3598 names.
3599 (mh-exec-cmd): Produce more info in *MH-E Log*.
3600
3601 * mh-index.el (mh-index-search): Call the correct function.
3602 (mh-index-sequenced-messages): If folders is nil, then all mail
3603 is searched. The change restores that.
3604
36052003-04-30 Peter S Galbraith <psg@debian.org>
3606
3607 * mh-customize.el (mh-summary-height): Move variable integer out
3608 of defcustom, and instead specify that `nil' means to calculate
3609 that size dynamically. Fixes SF #723267.
3610
3611 * mh-utils.el (mh-summary-height): New function. Return ideal
3612 mh-summary-height value for current frame height.
3613 (mh-show-msg): Use it.
3614
36152003-04-30 Mark D. Baushke <mdb@gnu.org>
3616
3617 * mh-index.el (mh-index-ticked-messages): Fix prompt and
3618 description string.
3619 (mh-index-new-messages): Ditto.
3620
3621 * mh-loaddefs.el: Regenerated.
3622
3623 * mh-index.el (mh-index-sequenced-messages): Renamed from
3624 mh-index-new-messages with minor argument change.
3625 (mh-index-new-messages): Implement by calling
3626 mh-index-sequenced-messages with the appropriate arguments.
3627 (mh-index-ticked-messages): New function. Does the same thing as
3628 mh-index-new-messages, but on its own set of folders and using the
3629 mh-tick-seq instead of mh-unseen-seq.
3630
3631 * mh-e.el (mh-folder-map): Add "F'" to the map for
3632 mh-index-ticked-messages.
3633 (mh-help-messages): Replace broken [t]hread with [n]ew messages.
3634
3635 * mh-customize.el (mh-index-ticked-messages-folders): New user
3636 customizable flag that controls the folders to be searched by
3637 mh-index-ticked-messages.
3638
3639 * mh-utils.el (mh-show-index-ticked-messages): Wrapper for
3640 mh-index-ticked-messages.
3641 (mh-show-folder-map): Add "F'" to the map for
3642 mh-index-ticked-messages.
3643
36442003-04-30 Satyaki Das <satyakid@stanford.edu>
3645
3646 * mh-index.el (mh-index-search): The old cur in the source folder
3647 might not exist. This could cause mh-exec-cmd to fail. So don't
3648 add an error message in that case.
3649
36502003-04-29 Satyaki Das <satyakid@stanford.edu>
3651
3652 * mh-e.el (mh-folder-from-address): Modified to allow multiple
3653 Cc: headers to work properly.
3654 (mh-inc-folder, mh-visit-folder): Fix an off by one error.
3655
3656 * mh-utils.el (mh-notate): Update the scan line map. This fixes a
3657 tiny bug. In threaded view, if a message is replied to then the
3658 message is notated with a "-". Now if inc is done then the "-"
3659 added is lost. The change fixes this.
3660
3661 * mh-seq.el (mh-translate-range): Use the correct function.
3662 (mh-thread-update-scan-line-map): New function that updates the
3663 scan line map when a message is notated.
3664
36652003-04-28 Satyaki Das <satyakid@stanford.edu>
3666
3667 * mh-index.el (mh-index-parse-search-regexp): Avoid compiler
3668 warning in GNU Emacs 21.3.
3669
3670 * mh-seq.el (mh-widen): Ditto.
3671
36722003-04-28 Satyaki Das <satyakid@stanford.edu>
3673
3674 * mh-customize.el (mh-interpret-number-as-range-flag): New user
3675 customizable flag that controls whether a single number, N is
3676 interpreted as the range last:N.
3677
3678 * mh-seq.el (mh-read-range): Generalize it for use when reading
3679 range to scan.
3680 (mh-interactive-range): Modified to use the new mh-read-range.
3681
3682 * mh-speed.el (mh-speed-view): Use mh-read-range instead of the
3683 now removed mh-read-msg-range function.
3684
3685 * mh-funcs.el (mh-pack-folder): Ditto.
3686
3687 * mh-e.el (mh-rescan-folder, mh-visit-folder): Ditto.
3688 (mh-read-msg-range): Removed.
3689
3690 * mh-loaddefs.el: Regenerated
3691
36922003-04-27 Satyaki Das <satyakid@stanford.edu>
3693
3694 * mh-loaddefs.el: Regenerated.
3695
3696 * mh-seq.el (mh-range-completion-function): Fix checkdoc warning.
3697 (mh-iterate-on-range): Mention that the macro can iterate over a
3698 MH message range too.
3699
37002003-04-27 Bill Wohler <wohler@newt.com>
3701
3702 * mh-unit.el (mh-unit): As it turns out, lm-crack-copyright has
3703 been updated to handle multiple-line copyrights in 21.3, so
3704 updated code to run lm-verify only if user has 21.3 or greater.
3705 Delete buffers after use, unless user already had buffer open.
3706
37072003-04-27 Satyaki Das <satyakid@stanford.edu>
3708
3709 * mh-loaddefs.el: Regenerated.
3710
3711 * mh-index.el (mh-index-search): The MH command "refile" changes
3712 cur. The change restores cur in source folders.
3713 (mh-index-new-messages): Use the appropriate arguments for
3714 mh-read-seq.
3715
3716 * mh-seq.el (mh-read-seq-default, mh-read-seq): Restore these
3717 functions to just read sequence names.
3718 (mh-range-seq-names, mh-range-history, mh-range-completion-map)
3719 (mh-range-completion-function, mh-read-range): New function which
3720 reads MH range with completion and history.
3721 (mh-interactive-range): Use mh-read-range instead of
3722 mh-read-seq-default.
3723 (mh-put-msg-in-seq): Change documentation about MH message range.
3724
3725 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Change
3726 documentation about MH message range.
3727
3728 * mh-funcs.el (mh-copy-msg, mh-print-msg): Ditto.
3729
3730 * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion)
3731 (mh-refile-msg, mh-undo, mh-delete-msg-from-seq): Ditto.
3732
3733 * mh-comp.el (mh-forward): Ditto.
3734
37352003-04-26 Satyaki Das <satyakid@stanford.edu>
3736
3737 * mh-comp.el, mh-e.el, mh-funcs.el, mh-junk.el, mh-seq.el:
3738 Replace msg-or-seq with range everywhere.
3739
3740 * mh-loaddefs.el: Regenerated.
3741
37422003-04-25 Satyaki Das <satyakid@stanford.edu>
3743
3744 * mh-e.el (mh-index-sequence-search-flag, mh-folder-mode): New
3745 local variable to remember that a folder buffer contains results
3746 from a sequence search. This is needed so that "C-u F i" will work
3747 as expected.
3748 (mh-visit-folder): Create sequences in the index folder.
3749 (mh-process-commands, mh-delete-msg-from-seq): If speedbar is on
3750 then update the speedbar message counts immediately.
3751 (mh-delete-msg-from-seq): Make the code faster by calling "mark"
3752 just once. Also update source folder sequence if messages are
3753 being deleted from a sequence in an index folder.
3754 (mh-undefine-sequence): Simplified to remove the speedbar updating
3755 code. Also DTRT and don't change any sequence when called with an
3756 empty list of messages.
3757 (mh-refile-msg, mh-delete-msg): Move to next message only if the
3758 current message has been deleted or refiled, as the case may be.
3759
3760 * mh-utils.el (mh-show-msg): Update the message counts in the
3761 speedbar, if it is on, immediately.
3762 (mh-speed-flists-active-p, mh-speed-flists-inhibit-flag): A new
3763 flag has been added which inhibits updating of the speedbar. This
3764 is used to avoid needless speedbar updates when
3765 mh-execute-commands is called in index folders.
3766
3767 * mh-speed.el (mh-speed-flists): Extended so that multiple
3768 folders can be given as arguments. Also the code that kept track
3769 of the current folder, needed since flists adds an extra ?+ char
3770 at the end of the current folder name, wasn't entirely correct.
3771 That has also been fixed.
3772
3773 * mh-seq.el (mh-delete-seq, mh-put-msg-in-seq): Modified so that
3774 sequence in source folder is updated if we delete a sequence in an
3775 index folder.
3776 (mh-read-seq, mh-read-seq-default, mh-translate-range)
3777 (mh-interactive-msg-or-seq): The mh-interactive-msg-or-seq
3778 function can read in an arbitrary MH message range.
3779 (mh-iterate-on-msg-or-seq): The macro has been extended to work on
3780 a MH range.
3781 (mh-subject-to-sequence, mh-subject-to-sequence-unthreaded)
3782 (mh-subject-to-sequence-threaded, mh-thread-find-msg-subject): Fix
3783 the mh-subject-to-sequence function so that it will work in
3784 threaded folders too.
3785 (mh-tick-add-overlay): Fix a leak of overlays.
3786 (mh-toggle-tick): Ticking, or unticking, messages in the index
3787 folder is propagated to the source folders (closes SF #709664).
3788
3789 * mh-index.el (mh-flists-results-folder, mh-flists-sequence)
3790 (mh-flists-called-flag): New variables to implement searching for
3791 arbitrary sequences.
3792 (mh-index-generate-pretty-name): Updated so that folder names are
3793 generated for flists search that can take any sequence name.
3794 (mh-index-search): Since sequences are now properly maintained the
3795 unseen-flag argument isn't needed and hence removed. Also redoing
3796 a sequence search with "C-u F i" is handled correctly. Finally
3797 the speedbar is updated to reflect the new index folder created.
3798 (mh-index-create-sequences): New function that creates sequences
3799 in the index folder.
3800 (mh-index-matching-source-msgs, mh-index-execute-commands):
3801 Improved so that scan lines for refiled/deleted messages are
3802 removed from the source folders as well.
3803 (mh-index-add-to-sequence, mh-index-delete-from-sequence): New
3804 functions to update sequences in source folder to reflect changes
3805 in index folder.
3806 (mh-index-quote-for-shell): A utility function to that quotes
3807 characters with special meaning to /bin/sh.
3808 (mh-flists-execute, mh-index-new-messages): Updated to search for
3809 arbitrary sequences (closes SF #718833).
3810
3811 * mh-loaddefs.el: Regenerated.
3812
38132003-04-25 Bill Wohler <wohler@newt.com>
3814
3815 * mh-customize.el (mh-kill-folder-suppress-prompt-hook): New hook
3816 used by mh-kill-folder to suppress the prompt.
3817
3818 * mh-funcs.el (mh-kill-folder): Suppress prompt not if
3819 mh-index-data is non-nil, but if any functions in
3820 mh-kill-folder-suppress-prompt-hook return non-nil.
3821
3822 * mh-index.el (mh-index-p): New function with returns non-nil if
3823 the current folder was generated by an index search for use by
3824 mh-kill-folder-suppress-prompt-hook
3825
3826 * mh-unit.el (mh-unit): Commented out lm-verify step until code
3827 updated to handle split Copyright lines.
3828
3829 * mh-e.el (mh-version): Set to 7.3+cvs.
3830
38312003-04-24 Bill Wohler <wohler@newt.com>
3832
3833 Released MH-E version 7.3.
3834
3835 * MH-E-NEWS, README: Updated for release 7.3.
3836
3837 * mh-e.el (Version, mh-version): Updated for release 7.3.
3838
38392003-04-24 Satyaki Das <satyakid@stanford.edu>
3840
3841 * mh-xemacs-compat.el (mh-utils): Require mh-utils at compile
3842 time, since the mh-do-in-xemacs macro is used.
3843
3844 * mh-inc.el (cl): Require cl at compile time since we are using
3845 the loop and setf macros.
3846
38472003-04-24 Satyaki Das <satyakid@stanford.edu>
3848
3849 * mh-unit.el (mh-files): Fix the list of files to check.
3850
38512003-04-24 Bill Wohler <wohler@newt.com>
3852
3853 * ChangeLog: Appended copyright to end of file.
3854
3855 * Makefile: Added copyright and license.
3856
3857 * README: Added copyright.
3858
3859 * import-emacs: Changed copyright from Newt Software to Bill
3860 Wohler and use license from mh-e.el, except that this file is
3861 a part of MH-E, not GNU Emacs.
3862
3863 * mh-alias.el: Updated copyright so that it doesn't wrap upon
3864 advice from Richard Stallman who said to use two-digit years when
3865 they are surrounded by 4-digit years that are in the same century
3866 and to break up copyrights on multiple lines.
3867 * mh-comp.el: Ditto.
3868 * mh-e.el: Ditto.
3869 * mh-funcs.el: Ditto.
3870 * mh-identity.el: Ditto.
3871 * mh-mime.el: Ditto.
3872 * mh-seq.el: Ditto.
3873 * mh-utils.el: Ditto.
3874 * mh-xemacs-compat.el: Ditto.
3875
3876 * mh-unit.el: New file. Unit tests for MH-E. This version merely
3877 runs checkdoc and lm-verify which is useful before releasing the
3878 software. It can and should be expanded to do real unit tests.
3879
38802003-04-22 Mark D Baushke <mdb@gnu.org>
3881
3882 * mh-alias.el: Update Copyright.
3883 * mh-comp.el: Ditto.
3884 * mh-customize.el: Ditto.
3885 * mh-e.el: Ditto.
3886 * mh-funcs.el: Ditto.
3887 * mh-identity.el: Ditto.
3888 * mh-index.el: Ditto.
3889 * mh-mime.el: Ditto.
3890 * mh-pick.el: Ditto.
3891 * mh-seq.el: Ditto.
3892 * mh-speed.el: Ditto.
3893 * mh-utils.el: Ditto.
3894 * mh-xemacs-compat.el: Ditto.
3895
38962003-04-22 Satyaki Das <satyaki@theforce.stanford.edu>
3897
3898 * mh-utils.el (mh-normalize-folder-name): Make the completion
3899 code work properly with XEmacs. This change is neeeded since
3900 split-string behaves differently in XEmacs than it does in GNU
3901 Emacs.
3902 (mh-exec-cmd-error): Add a comment, so that we change it later on.
3903
39042003-04-18 Steve Youngs <youngs@xemacs.org>
3905
3906 * mh-xemacs-icons.el (mh-xemacs-icons): Provide 'mh-xemacs-icons'
3907 not 'mh-xemacs-toolbar'.
3908
3909 * mh-xemacs-compat.el (mh-xemacs-toolbar): Remove require, it's
3910 now called 'mh-xemacs-icons' and it is required from
3911 'mh-customize'.
3912
3913 * mh-customize.el: Require 'mh-xemacs-icons' instead of
3914 'mh-xemacs-toolbar'.
3915
39162003-04-17 Peter S Galbraith <psg@debian.org>
3917
3918 * mh-xemacs-icons.el: New file (renamed from mh-xemacs-toolbar.el).
3919 Holds XEmacs icons.
3920
3921 * mh-xemacs-toolbar.el: Deleted.
3922
3923 * Makefile: Incorporate the file renaming.
3924
39252003-04-15 Bill Wohler <wohler@newt.com>
3926
3927 * mh-comp.el (mh-forward): Pass a list of messages into
3928 mh-compose-and-send-mail instead of msg-or-seq.
3929 (mh-annotate-msg): The previous version called
3930 mh-iterate-on-msg-or-seq in the letter buffer. The new version
3931 simply adds the ability to operate on message lists. Thanks to
3932 Satyaki for the fix and suggestion for passing a list from
3933 mh-forward.
3934
39352003-04-14 Bill Wohler <wohler@newt.com>
3936
3937 * mh-comp.el (mh-annotate-msg): Updated to handle msg-or-seq for
3938 mh-forward was passing a msg-or-seq to mh-compose-and-send-mail
3939 which in turn passed the msg-or-seq to mh-annotate-msg. In
3940 particular, forwarding a region failed. Note that the msgs
3941 argument in much of mh-comp.el should really be converted to
3942 msg-or-seq accordingly. But not now, unless something is broken as
3943 was the case here. We can revamp after the release.
3944
39452003-04-13 Bill Wohler <wohler@newt.com>
3946
3947 * mh-funcs.el (mh-kill-folder): Added space after prompt to give
3948 the (yes or no) bit a little elbow room.
3949
3950 * mh-xemacs-toolbar.el: Removing a copyright is a no-no.
3951 Reinstated Steve's copyright.
3952
39532003-04-12 Satyaki Das <satyaki@theforce.stanford.edu>
3954
3955 * mh-utils.el (mh-do-in-gnu-emacs, mh-do-in-xemacs): Add
3956 indentation hooks for the macros.
3957
39582003-04-11 Bill Wohler <wohler@newt.com>
3959
3960 * mh-alias.el, mh-comp.el, mh-customize.el, mh-funcs.el,
3961 mh-identity.el, mh-inc.el, mh-index.el, mh-junk.el, mh-utils.el:
3962 Merged in changes from CVS GNU Emacs. These included the removal
3963 of trailing whitespace.
3964
3965 * mh-customize.el: The "anti-entropy" check-in. Moved groups
3966 around slightly to reflect commentary. Moved defcustoms around
3967 to preserve alphabetization. Big diff, little content.
3968 (mh-xemacs-use-toolbar-flag): Doc fix.
3969 (mh-xemacs-toolbar-position): Fixed typo in docstring.
3970 (mh-default-folder-list): Updated docstring to reflect new Check
3971 Recipient tag. Also, set type of Address to regexp.
3972 (mh-x-mailer-string): Moved to mh-comp.el where it is used.
3973
3974 * mh-comp.el (mh-x-mailer-string): Moved here from customize.el.
3975 Not quite sure how it got to mh-customize.el in the first place.
3976
3977 * mh-e.el (mh-folder-folder-menu): Added Folder -> View New
3978 Messages menu item.
3979
3980 * mh-utils.el (mh-show-folder-menu): Ditto.
3981
3982 * mh-inc.el: Added Change Log comment (lm-verify fix).
3983
3984 * mh-index.el (mh-index-search): Added documentation about prefix
3985 argument for users, in addition to documentation for programmers.
3986
3987 * mh-mime.el (mh-edit-mhn, mh-edit-mhn, mh-mml-to-mime): Docstring
3988 fixes germaine to the change whereby we now check for MIME
3989 directives before sending.
3990
3991 * mh-xemacs-toolbar.el: Fixed copyright. Added Change Log comment
3992 (lm-verify fix). Added standard MH-E local variables. Removed
3993 time-stamp stuff.
3994
39952003-04-11 Satyaki Das <satyaki@theforce.stanford.edu>
3996
3997 * mh-seq.el (mh-iterate-on-msg-or-seq): Add a missed comma.
3998
39992003-04-10 Satyaki Das <satyaki@theforce.stanford.edu>
4000
4001 * mh-index.el (mh-index-visit-folder): Prompt before reusing
4002 existing folder buffer.
4003
4004 * mh-xemacs-toolbar.el (require): Require mh-utils at compile
4005 time to avoid compilation error when doing "make bootstrap" in
4006 CVS Emacs.
4007
4008 * mh-inc.el (mh-inc-spool-list): Declare it so that a compile
4009 time warning is avoided when doing "make bootstrap" in CVS Emacs.
4010
40112003-04-10 Peter S Galbraith <psg@debian.org>
4012
4013 * mh-inc.el (mh-inc-spool-generator): Changed to a defun instead
4014 of a defmacro, applying Satyaki's patch.
4015 (mh-inc-spool-def-key): same.
4016 (mh-inc-spool-make): same.
4017
4018 * mh-utils.el: define-key "I" in mh-show-mode-map for
4019 mh-inc-spool-map.
4020
4021 * mh-comp.el (mh-modify-header-field): Remove debug message.
4022
40232003-04-10 Peter S Galbraith <psg@debian.org>
4024
4025 * mh-inc.el (mh-inc-spool-map-help): Default to nil.
4026 (mh-inc-spool-map): Make "?" key display message when
4027 `mh-inc-spool-map-help' is nil (instead of mh-inc-spool-map-help
4028 containing the message).
4029
4030 * mh-e.el: require mh-inc.el
4031 * mh-e.el: define-key "I" in mh-folder-mode-map for mh-inc-spool-map.
4032 (mh-help-messages): Add help string for "I" key.
4033
40342003-04-09 Peter S Galbraith <psg@debian.org>
4035
4036 * mh-inc.el: New file. New feature to `inc' mail from various
4037 spool files into different folders.
4038
4039 * mh-loaddefs.el: Regenerate for mh-inc's mh-inc-spool-list-set.
4040
4041 * Makefile (MH-E-IMG): Add highlight icon.
4042 (MH-E-SRC): Add mh-inc.el file.
4043
4044 * mh-customize.el (mh-inc-spool-list): New variable for new
4045 feature to `inc' mail from various spool files into different
4046 folders.
4047
40482003-04-09 Satyaki Das <satyaki@theforce.stanford.edu>
4049
4050 * mh-utils.el (mh-mail-delivery-buffer): Add a defconst for
4051 mh-mail-delivery-buffer.
4052
4053 * mh-comp.el (mh-send-letter): Use mh-mail-delivery-buffer.
4054
4055 * mh-mime.el (mh-small-image-p): Add mh-funcall-if-exists to
4056 avoid compiler warning in GNU Emacs.
4057
40582003-04-08 Satyaki Das <satyaki@theforce.stanford.edu>
4059
4060 * mh-mime.el (mh-small-image-p): Make the function slightly more
4061 error-resistant in XEmacs.
4062
4063 * mh-seq.el (mh-narrow-to-seq, mh-widen): Update tool-bar-map in
4064 the show buffer if needed. This allows us to display the widen
4065 button in the show buffer only when the folder is narrowed.
4066
4067 * mh-customize.el (mh-tool-bar-define): Changed so that a
4068 separate tool-bar-map is used in show-mode when folder is
4069 narrowed to a sequence.
4070
40712003-04-08 Satyaki Das <satyaki@theforce.stanford.edu>
4072
4073 * mh-seq.el (mh-iterate-on-msg-or-seq): Reinstate the use of
4074 make-symbol since using gensym causes compiler warnings in CVS
4075 Emacs.
4076
40772003-04-08 Bill Wohler <wohler@newt.com>
4078
4079 * mh-comp.el (mh-forward): Function didn't handle a region of
4080 messages. Use new function mh-msg-or-seq-to-msg-list to get a list
4081 of messages in all circumstances. Also, use mh-coalesce-msg-list
4082 on message list before submitting to forw since this should always
4083 be done when calling a program to reduce the chance of exceeding
4084 command-line limits.
4085
4086 * mh-seq.el (mh-iterate-on-msg-or-seq): Backed out previous
4087 change. A nil msg-or-seq should mean no messages, and Satyaki is
4088 going to use gensym instead of make-symbol.
4089 (mh-msg-or-seq-to-msg-list): New function to convert a msg-or-seq
4090 to a list of message numbers.
4091
4092 * mh-e.el (mh-coalesce-msg-list): Touched up the docstring a
4093 little.
4094
4095 * mh-funcs.el (mh-print-msg): Can now print regions, message
4096 lists, sequences and, of course, single messages. This version
4097 works a little differently from the old version. Instead of
4098 calling mhl | lpr once on all messages, mhl | lpr is called once
4099 per message in order to put each message's number in the header.
4100 Thanks to Satyaki for some code and ideas.
4101
4102 * mh-seq.el (mh-iterate-on-msg-or-seq): The argument msg-or-seq
4103 can now be nil which means the current message. Make local symbols
4104 so that local variables don't step on user's symbols (the msgs
4105 symbol got me).
4106
41072003-04-06 Bill Wohler <wohler@newt.com>
4108
4109 * mh-comp.el (mh-forward): Updated docstrings to indicate that a
4110 list of messages is acceptable as well.
4111
4112 * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion, mh-refile-msg)
4113 (mh-undo, mh-notate-user-sequences, mh-delete-msg-from-seq): Ditto.
4114
4115 * mh-funcs.el (mh-copy-msg, mh-print-msg): Ditto.
4116
4117 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Ditto.
4118
4119 * mh-seq.el (mh-put-msg-in-seq, mh-iterate-on-msg-or-seq)
4120 (mh-interactive-msg-or-seq): Ditto.
4121
41222003-04-06 Satyaki Das <satyaki@theforce.stanford.edu>
4123
4124 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Call
4125 mh-refile-a-msg and mh-delete-a-msg with nil as the message
4126 number since that is more efficient.
4127
4128 * mh-seq.el (mh-iterate-on-msg-or-seq): Extended so that it will
4129 handle lists of messages numbers as well.
4130 (mh-put-msg-in-seq): Use mh-iterate-on-msg-or-seq to simplify the
4131 function.
4132
4133 * mh-funcs.el (mh-copy-msg): Same as above.
4134
4135 * mh-e.el (mh-refile-msg): Make it more efficient. Using nil in
4136 mh-refile-a-msg avoids needing to re-search-forward to that
4137 message.
4138 (mh-undo): Fix typo in interactive spec.
4139 (mh-notate-user-sequences): Generalize the function to take a
4140 msg-or-seq as argument.
4141 (mh-delete-msg-from-seq): Extend the function so that it is now
4142 able to subtract messages belonging in one sequence from another.
4143 (mh-undo): Unify the region and sequence handling. The message
4144 number branch of the function does extra stuff, so we can't merge
4145 that in.
4146
41472003-04-06 Bill Wohler <wohler@newt.com>
4148
4149 * mh-comp.el (mh-forward): Use mh-interactive-msg-or-seq. Inserted
4150 consistent verbiage in docstring for msg-or-seq.
4151 (mh-reply): Don't mention default in opening line in all
4152 docstrings.
4153
4154 * mh-e.el (mh-delete-msg, mh-refile-msg)
4155 (mh-undo, mh-delete-msg-from-seq): Use mh-interactive-msg-or-seq.
4156 Inserted consistent verbiage in docstring for msg-or-seq. In
4157 mh-delete-msg-from-seq, renamed msg-or-region to msg-or-seq.
4158
4159 * mh-funcs.el (mh-copy-msg, mh-print-msg): Use
4160 mh-interactive-msg-or-seq. Inserted consistent verbiage in
4161 docstring for msg-or-seq.
4162
4163 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Inserted
4164 consistent verbiage in docstring for msg-or-seq.
4165
4166 * mh-seq.el (mh-msg-is-in-seq): Don't mention default in opening
4167 line in all docstrings.
4168 (mh-put-msg-in-seq): Use mh-interactive-msg-or-seq. Inserted
4169 consistent verbiage in docstring for msg-or-seq.
4170
4171 * mh-e.el (mh-delete-msg, mh-delete-msg-no-motion, mh-refile-msg):
4172 Rewritten to use new mh-interactive-msg-or-seq function and
4173 mh-iterate-on-msg-or-seq macro. mh-delete-msg-no-motion gained the
4174 ability to operate on regions.
4175
4176 * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Rewritten to
4177 use new mh-interactive-msg-or-seq function and
4178 mh-iterate-on-msg-or-seq macro thereby gaining the ability to
4179 operate on sequences or regions.
4180
4181 * mh-seq.el (mh-iterate-on-msg-or-seq): New macro to execute code
4182 on a message, a region of messages, or a sequence. This macro
4183 should be in all functions that operate on messages to provide a
4184 uniform interface.
4185 (mh-interactive-msg-or-seq): New function used in interactive
4186 calls to obtain a message number, region, or sequence. This
4187 function should be in all functions that operate on messages to
4188 provide a uniform interface.
4189
4190 * mh-utils.el (with-mh-folder-updating, mh-in-show-buffer): Use
4191 'defun lisp-indent-hook property instead of 1 to fix indentation
4192 of these macros.
4193
41942003-04-05 Peter S Galbraith <psg@debian.org>
4195
4196 * mh-loaddefs.el: Regenerated.
4197 * mh-funcs.el (mh-ephem-message): autoload.
4198
41992003-04-04 Peter S Galbraith <psg@debian.org>
4200
4201 * mh-e.el (mh-folder-from-address): Minor Fix. Wrong ending of
4202 `when' block.
4203
42042003-04-04 Satyaki Das <satyaki@theforce.stanford.edu>
4205
4206 * mh-mime.el (mh-mml-directive-present-p): The regexp has been
4207 modified to recognize directives to encrypt/sign messages.
4208
42092003-04-03 Mark D. Baushke <mdb@gnu.org>
4210
4211 * mh-e.el (mh-folder-from-address): E-mail messages missing the
4212 To: field, but which have a Cc: field should also be handled.
4213
42142003-04-03 Bill Wohler <wohler@newt.com>
4215
4216 * mh-e.el (mh-inc-folder): Modified the prompt text to read
4217 better.
4218
4219 * mh-comp.el (mh-forward): Deleted local variable `compose'.
4220 Deleted obsolete setting of mh-{mmh|mml}-compose-insert-flag.
4221 (mh-letter-menu): Use mh-{mmh|mml}-directive-present-p instead of
4222 obsolete. mh-{mmh|mml}-compose-insert-flag.
4223 (mh-letter-mode): Deleted obsolete setting of
4224 mh-{mmh|mml}-compose-insert-flag.
4225 (mh-send-letter): This function now automatically runs the
4226 directive-to-MIME conversion if any directives are detected,
4227 rather than relying on the unreliable
4228 mh-{mmh|mml}-compose-insert-flag variables. Updated docstring
4229 accordingly.
4230
4231 * mh-identity.el (mh-insert-identity): Use
4232 mh-{mmh|mml}-directive-present-p instead of obsolete.
4233 mh-{mmh|mml}-compose-insert-flag.
4234
4235 * mh-loaddefs.el: Regenerated.
4236
4237 * mh-mime.el (mh-mhn-compose-type, mh-mhn-compose-external-type)
4238 (mh-mhn-compose-forw, mh-edit-mhn, mh-mml-to-mime)
4239 (mh-mml-forward-message, mh-mml-attach-file)
4240 (mh-mml-secure-message-sign-pgpmime)
4241 (mh-mml-secure-message-encrypt-pgpmime): Deleted obsolete setting
4242 of mh-{mmh|mml}-compose-insert-flag.
4243 (mh-mml-directive-present-p): Checkdoc fix.
4244
4245 * mh-utils.el (mh-mhn-compose-insert-flag,
4246 mh-mml-compose-insert-flag): Deleted. Replaced by
4247 mh-{mhn|mml}-directive-present-p.
4248
42492003-04-03 Mark D. Baushke <mdb@gnu.org>
4250
4251 * mh-e.el (mh-folder-from-address): Fix minor problem with To:
4252 address processing.
4253
4254 * mh-e.el (mh-folder-from-address): Bugfix match ?+ character not
4255 a "?+" string.
4256
42572003-04-03 Peter S Galbraith <psg@debian.org>
4258
4259 * mh-e.el (mh-inc-folder): Add second optional argument for the
4260 folder to inc new mail into instead of mh-inbox.
4261
42622003-04-03 Peter S Galbraith <psg@debian.org>
4263
4264 * mh-e.el (mh-folder-from-address): The first match found in
4265 `mh-default-folder-list' is used.
4266
4267 * mh-customize.el (mh-default-folder-list): Tweak docs
4268
42692003-04-03 Satyaki Das <satyaki@theforce.stanford.edu>
4270
4271 * mh-loaddefs.el: Regenerated.
4272
4273 * mh-mime.el (mh-mhn-directive-present-p): New function to test if
4274 a MHN directive is present in the current buffer.
4275 (mh-mml-directive-present-p): New function to test if a MML
4276 directive is present in the current buffer.
4277
4278 * mh-comp.el (mh-letter-mode): Originally this function checked if
4279 a #forw directive was present and set mh-mhn-compose-insert-flag
4280 to t. The modification generalizes this test so that one of the
4281 variables mh-{mml|mhn}-compose-insert-flag will get set if we have
4282 any sort of MHN or MML directive is already present.
4283
4284 * mh-seq.el (tool-bar-map): Add a defvar to avoid compiler
4285 warnings in CVS version of GNU Emacs.
4286
4287 * mh-utils.el (tool-bar-map): Same as above.
4288
4289 * mh-e.el (tool-bar-map): same as above.
4290
42912003-04-02 Satyaki Das <satyaki@theforce.stanford.edu>
4292
4293 * mh-xemacs-toolbar.el (mh-xemacs-toolbar-toggle-tick-icon):
4294 Change color to match mh-folder-tick-face.
4295
4296 * highlight.xpm: Same as above.
4297
42982003-04-02 Peter S Galbraith <psg@debian.org>
4299
4300 * mh-e.el (mh-folder-from-address): Check `mh-default-folder-list'
4301 for cases against the recipient instead of the originator.
4302
4303 * mh-customize.el (mh-default-folder-list): Add extra boolean flag
4304 to conditionally check the recipient address instead of the
4305 originator.
4306
43072003-04-02 Peter S Galbraith <psg@debian.org>
4308
4309 * mh-customize.el (mh-folder-tick-face): Change tick highlight
4310 face to a background yellow-green, as suggested by Bill.
4311
43122003-04-01 Peter S Galbraith <psg@debian.org>
4313
4314 * highlight.xpm: New icon for mh-toggle-tick.
4315
4316 * mh-xemacs-toolbar.el (mh-xemacs-icon-map): Add tool-bar entry
4317 for mh-toggle-tick.
4318 (mh-xemacs-toolbar-toggle-tick-icon): New constant.
4319
4320 * mh-customize.el: Add tool-bar entry for mh-toggle-tick.
4321
43222003-03-31 Satyaki Das <satyaki@theforce.stanford.edu>
4323
4324 * mh-loaddefs.el: Regenerated.
4325
4326 * mh-utils.el (mh-show-narrow-to-tick, mh-show-limit-map)
4327 (mh-show-sequence-menu): Add new interactive function
4328 mh-show-narrow-to-tick callable from the show buffer and arrange
4329 for a key binding and a menu entry.
4330
4331 * mh-seq.el (mh-narrow-to-tick): New interactive function that
4332 narrows to the tick sequence.
4333
4334 * mh-e.el (mh-folder-sequence-menu, mh-limit-map): Arrange for a
4335 key binding and a menu entry for mh-narrow-to-tick.
4336
4337 * mh-comp.el (mh-letter-mode): Enable undo since we could be
4338 reusing a show buffer where undo is disabled (closes SF #712777).
4339
43402003-03-31 Peter S Galbraith <psg@debian.org>
4341
4342 * mh-e.el (mh-folder-sequence-menu): Add entry for mh-toggle-tick.
4343
4344 * mh-utils.el (mh-show-sequence-menu): Add entry for
4345 mh-show-toggle-tick.
4346
43472003-03-28 Satyaki Das <satyaki@theforce.stanford.edu>
4348
4349 * mh-seq.el (mh-delete-seq): If the tick sequence is killed with
4350 "S k" then the highlighting wasn't getting removed. The change
4351 fixes this.
4352
43532003-03-27 Satyaki Das <satyaki@theforce.stanford.edu>
4354
4355 * mh-e.el (mh-notate-user-sequences): Extend it so that only the
4356 messages in a part of the folder are notated.
4357 (mh-delete-msg-from-seq): Extend it so that it will delete all
4358 messages in the marked region.
4359 (mh-delete-a-msg-from-seq): New function that deletes a single
4360 message from a sequence.
4361 (mh-clear-text-properties): If there is a ticked unseen message
4362 and the message is removed from the unseen list with "S d" then
4363 unticking the message doesn't change the highlight. This change
4364 fixes this.
4365
43662003-03-27 Peter S Galbraith <psg@debian.org>
4367
4368 * mh-xemacs-toolbar.el (mh-xemacs-toolbar-*-icon): Use original
4369 24x24 icons, changing background only.
4370
43712003-03-27 Satyaki Das <satyaki@theforce.stanford.edu>
4372
4373 * mh-junk.el (mh-spamassassin-identify-spammers): Remove unused
4374 variable buffer-exists.
4375 (mh-spamassassin-identify-spammers): Remove unused variable user.
4376
4377 * mh-customize.el (mh-junk-choose): Tweak it to remove XEmacs
4378 compiler warning.
4379
43802003-03-26 Satyaki Das <satyaki@theforce.stanford.edu>
4381
4382 * mh-seq.el (mh-thread-print-scan-lines): Handling of a boundary
4383 condition when messages from the last source folder had been
4384 removed was incorrect. This caused a folder header to appear
4385 without any messages listed under it. This change fixes this.
4386 (mh-thread-forget-message): Remove the entry from the scan line
4387 table as well. This is needed for proper display of threaded view
4388 of index folders.
4389
43902003-03-26 Bill Wohler <wohler@newt.com>
4391
4392 * Makefile, README, import-emacs, mh-alias.el, mh-comp.el,
4393 mh-customize.el, mh-e.el, mh-funcs.el, mh-identity.el,
4394 mh-index.el, mh-loaddefs.el, mh-mime.el, mh-pick.el, mh-seq.el,
4395 mh-speed.el, mh-utils.el, mh-xemacs-compat.el,
4396 mh-xemacs-toolbar.el: Removed RCS keywords per Emacs conventions
4397 (closes SF #680731).
4398
4399
44002003-03-26 Satyaki Das <satyaki@theforce.stanford.edu>
4401
4402 * mh-index.el: Fix commentary to mention that mairix is supported
4403 as well.
4404
4405 * mh-loaddefs.el: Regenerated.
4406
4407 * mh-utils.el (mh-show-junk-blacklist, mh-show-junk-whitelist):
4408 Interactive functions callable from the show buffer.
4409 (mh-show-junk-map): Key bindings in show mode.
4410
4411 * mh-e.el (mh-junk-map): Key bindings to call spam program.
4412 (mh-help-messages): Update help text.
4413
4414 * mh-customize.el (mh-junk): New customization group for spam
4415 program interface.
4416 (mh-junk-choice, mh-junk-function-alist, mh-junk-choose):
4417 Functions and variables that decide which junk program is used.
4418 (mh-junk-program, mh-junk-mail-folder): User customizable
4419 variables that control the choice of spam program and the action
4420 performed on received spam.
4421
4422 * Makefile (MH-E-SRC): Add mh-junk.el.
4423
44242003-03-26 Satyaki Das <satyaki@theforce.stanford.edu>
4425
4426 * mh-loaddefs.el: Regenerated.
4427
4428 * mh-utils.el (mh-show-toggle-tick, mh-show-mode-map): New
4429 interactive function callable from the show buffer and a key
4430 binding for it.
4431
4432 * mh-seq.el (mh-delete-seq): Remove highlight from tick sequence.
4433 (mh-put-msg-in-seq): Disable adding messages to tick sequence.
4434 (mh-widen): Reset mh-tick-seq-changed-when-narrowed-flag.
4435 (mh-tick-add-overlay, mh-tick-remove-overlay, mh-notate-tick)
4436 (mh-toggle-tick): New functions to highlight/unhighlight tick
4437 sequence and the interactive function that is used to toggle
4438 tick.
4439
4440 * mh-e.el (mh-tick-seq-changed-when-narrowed-flag): New variable
4441 that remembers if we are narrowed to the tick sequence. In that
4442 case the highlighting isn't shown, since it adds no extra info.
4443 (mh-folder-mode): Initialize mh-tick-seq-changed-when-narrowed-flag.
4444 (mh-notate-user-sequences): Notate the tick sequence.
4445 (mh-internal-seq): Treat mh-tick-seq like an internal sequence.
4446 (mh-delete-msg-from-seq): Don't allow deletion from tick sequence.
4447 (mh-folder-mode-map): Add key binding for "'"
4448
4449 * mh-customize.el (mh-tick-seq, mh-folder-tick-face): New
4450 customizable variables that contain the name of the tick sequence
4451 and the face to use to highlight it.
4452
44532003-03-25 Satyaki Das <satyaki@theforce.stanford.edu>
4454
4455 * mh-loaddefs.el: Regenerated.
4456
4457 * mh-seq.el (mh-thread-print-scan-lines): New function which
4458 prints out thread tree. It maintains the original folder info if
4459 the folder was created by index search (closes SF #709672).
4460 (mh-copy-seq-to-eob, mh-thread-inc, mh-thread-folder): Use
4461 factored out function mh-thread-print-scan-lines.
4462 (mh-toggle-threads): Since threading is allowed in index folders
4463 there can be lines in the folder which aren't valid message scan
4464 lines. So it is OK for mh-get-msg-num to fail once in a while.
4465
4466 * mh-index.el (mh-index-update-maps): Make the parsing of messages
4467 that need to annotated with the X-MHE-Checksum header more robust.
4468 If the search yielded no results then an error was being produced.
4469 (mh-index-search): Enable automatic threading of index folders if
4470 mh-show-threads-flag is non-nil (closes SF #709667).
4471 (mh-index-next-folder): Relax error checking since index folder
4472 can be threaded while the source folder info is visible.
4473 (mh-index-group-by-folder): New function that is used in
4474 mh-thread-folder to keep source folder info visible during
4475 threading.
4476
44772003-03-25 Bill Wohler <wohler@newt.com>
4478
4479 * mh-loaddefs.el: Regenerated.
4480
4481 * mh-customize.el (mh-index-new-messages-folders): New variable
4482 that controls which folders "F n (mh-index-new-messages)"
4483 accesses. Was mh-flists-search-folders.
4484
4485 * mh-index.el (mh-flists-search-folders): Still used internally,
4486 but users now use new option mh-index-new-messages-folders.
4487 Removed documentation since to avoid duplication with
4488 mh-index-new-messages-folders.
4489 (mh-flists-recursive-search-flag): Deleted. Use
4490 mh-recursive-folders-flag instead.
4491 (mh-flists-execute): Updated docs to specify which global
4492 variables are used. Use mh-recursive-folders-flag instead of
4493 mh-flists-recursive-search-flag.
4494 (mh-index-new-messages): Edited doc, and refer to new option
4495 mh-index-new-messages-folders. Ditto within code. Don't need to
4496 prepend + to folder name as flists does that for us. Use
4497
44982003-03-24 Satyaki Das <satyaki@theforce.stanford.edu>
4499
4500 * mh-e.el (mh-refile-msg): Add optional argument that controls
4501 whether mh-last-destination-folder is updated or not.
4502
45032003-03-22 Satyaki Das <satyaki@theforce.stanford.edu>
4504
4505 * mh-customize.el (mh-tool-bar-define): Fix a problem in the
4506 XEmacs version which caused the show mode toolbar to have the
4507 buttons in the reverse order. Also the add-hooks are no longer
4508 needed since mh-toolbar-init is called in the appropriate modes.
4509
4510 * mh-comp.el (mh-letter-mode): Call mh-toolbar-init in XEmacs to
4511 initialize toolbar.
4512
4513 * mh-utils.el (mh-show-mode): Same as above.
4514
4515 * mh-e.el (mh-folder-mode): Same as above.
4516
45172003-03-21 Satyaki Das <satyaki@theforce.stanford.edu>
4518
4519 * mh-utils.el (mh-exec-cmd-env-daemon): New function which
4520 executes a command asynchronously with its own environment.
4521
4522 * mh-comp.el (mh-redistribute): The function has been modified so
4523 that /bin/sh isn't used to run send. It has also been refactored
4524 so that the same code isn't repeated.
4525
45262003-03-21 Bill Wohler <wohler@newt.com>
4527
4528 * mh-customize.el (mh-invisible-header-fields): Added X-Bogosity
4529 for bogofilter.
4530
45312003-03-21 Satyaki Das <satyaki@theforce.stanford.edu>
4532
4533 * mh-loaddefs.el: Regenerated.
4534
4535 * mh-xemacs-toolbar.el: Remove the code since that gets generated
4536 when mh-tool-bar-define is expanded.
4537 (mh-xemacs-icon-map): A alist to map GNU Emacs icon names to the
4538 actual icons to be used in XEmacs. This is used in
4539 mh-tool-bar-define.
4540
4541 * mh-customize.el (mh-toolbar): Use this group in XEmacs as well.
4542 (mh-tool-bar-item-*): All these constants have been removed since
4543 they aren't needed in the new scheme.
4544 (mh-tool-bar-reply-3-buttons-flag): This variable has been
4545 removed.
4546 (mh-tool-bar-search-function): This is now used in XEmacs as well.
4547 (mh-tool-bar-folder-set, mh-tool-bar-folder-buttons-set)
4548 (mh-tool-bar-letter-buttons-set, mh-tool-bar-show-set)
4549 (mh-tool-bar-letter-set): These functions aren't defined at the
4550 top level any more.
4551 (mh-tool-bar-reply-generator): A macro to generate the required
4552 functions for the three reply buttons.
4553 (mh-tool-bar-search, mh-tool-bar-customize)
4554 (mh-tool-bar-folder-help, mh-tool-bar-letter-help)
4555 (mh-tool-bar-reply-from, mh-show-tool-bar-reply-from)
4556 (mh-tool-bar-reply-to, mh-show-tool-bar-reply-to)
4557 (mh-tool-bar-reply-all, mh-show-tool-bar-reply-all): New
4558 interactive functions that are called when tool bar buttons are
4559 clicked.
4560 (mh-xemacs-use-toolbar-flag, mh-xemacs-toolbar-position):
4561 Additional customizable variables that are present only for
4562 XEmacs.
4563 (mh-tool-bar-define): A macro that generates the required code
4564 for GNU Emacs and XEmacs tool bar.
4565 (mh-tool-bar-define): Define the MH-E tool bar.
4566
45672003-03-17 Satyaki Das <satyaki@theforce.stanford.edu>
4568
4569 * mh-seq.el (mh-notate-cur): Notate current message only if it
4570 hasn't been marked for deletion or refiling.
4571
45722003-03-15 Bill Wohler <wohler@newt.com>
4573
4574 * mh-customize.el (mh-invisible-header-fields): Added
4575 X-Spam-Checker-Version.
4576 (mh-auto-fields-list): checkdoc fix.
4577
45782003-03-12 Satyaki Das <satyaki@theforce.stanford.edu>
4579
4580 * mh-index.el (mh-index-new-messages): If the destination folder
4581 where the unseen messages are supposed to be copied to was
4582 already present, but MH-E doesn't have it open, then a new folder
4583 was being created. The change fixes this.
4584 (mh-index-update-unseen, mh-flists-recursive-search-flag): Fix
4585 checkdoc warnings.
4586
4587 * mh-loaddefs.el: Regenerated.
4588
45892003-03-11 Satyaki Das <satyaki@theforce.stanford.edu>
4590
4591 * mh-index.el (mh-flists-results-folder): Subfolder under
4592 +mhe-index where the results of the flists call is put.
4593 (mh-index-generate-pretty-name): Make sure that normal index
4594 searching will never use the folder reserved for the flists
4595 results.
4596 (mh-index-search): Add an extra parameter that marks all the
4597 messages in the index folder to the unseen sequence.
4598 (mh-index-update-unseen): Function to keep unseen sequence of
4599 index folder synced with the actual folders from where the
4600 messages were copied. This works only if the unseen messages are
4601 displayed with mh-show. Killing the unseen sequence in the index
4602 folder or adding/removing messages to it doesn't change the
4603 unseen sequence in the source folders yet.
4604 (mh-flists-search-folders): Variable that decides the folders on
4605 which flists is run.
4606 (mh-flists-recursive-search-flag): If non-nil, flists is passed
4607 the -recurse option.
4608 (mh-flists-execute): Function which uses /bin/sh to execute
4609 flists and then print out the list of message files that match.
4610 (mh-index-new-messages): New interactive function which searches
4611 for messages in the unseen sequence (closes SF #701756).
4612
4613 * mh-utils.el (mh-show-folder-map): Add binding for
4614 mh-index-new-messages.
4615 (mh-show-msg): Update the unseen sequence in the source folder.
4616
4617 * mh-e.el (mh-folder-font-lock-unseen): The function assumes that
4618 the end of buffer is reached when there isn't a valid scan line
4619 on the current line. This doesn't work in the index folder since
4620 we have lines containing the folder name and empty lines in
4621 between the actual scan lines. The modification removes this
4622 assumption.
4623 (mh-folder-map): Add key binding for "Fn"
4624
4625 * mh-seq.el (mh-iterate-on-messages-in-region): If the point is
4626 not at the beginning of the line, then the first message in the
4627 region would be missed. The fix avoids this.
4628
4629 * mh-mime.el (mh-inline-vcard-p): Don't try to inline vcards if
4630 we don't have the right libraries.
4631
46322003-03-10 Satyaki Das <satyaki@theforce.stanford.edu>
4633
4634 * mh-e.el (mh-next-undeleted-msg, mh-previous-undeleted-msg)
4635 (mh-next-msg): Add optional argument wait-after-complaining-flag.
4636 If non-nil and there are no undeleted messages after (or before)
4637 the current one, then pause for a second after printing out the
4638 message.
4639 (mh-refile-or-write-again): Modify call to mh-next-msg to use the
4640 wait-after-complaining-flag.
4641
46422003-03-10 Satyaki Das <satyaki@theforce.stanford.edu>
4643
4644 * mh-e.el (mh-refile-or-write-again): If mh-next-msg fails to find
4645 a message to go to it prints out a diagnostic, which overwrites
4646 the diagnostic about the folder the message was refiled to. The
4647 change fixes this.
4648
46492003-03-09 Satyaki Das <satyaki@theforce.stanford.edu>
4650
4651 * mh-seq.el (mh-widen, mh-narrow-to-seq): Update
4652 mh-narrowed-to-seq before notating sequences. This is a bit
4653 helpful for mh-tick.el.
4654 (mh-put-msg-in-seq): Fix a minor bug. No internal sequence should
4655 be notated -- the original code was doing the right thing only for
4656 the "unseen" sequence.
4657
4658 * mh-index.el (mh-index-choose): Add autoload cookie for
4659 mh-index-choose. This is needed for GNU Emacs 20.5.
4660
4661 * mh-loaddefs.el: Regenerated.
4662
46632003-03-09 Bill Wohler <wohler@newt.com>
4664
4665 * mh-mime.el (mh-display-smileys): This function originally had a
4666 test to see if font-lock-maximum-size was bound, but this was
4667 recently removed. The test was put in for a reason; if
4668 font-lock-maximum-size isn't bound, void-variable errors would
4669 ensue. I put the bound test back in.
4670
46712003-03-08 Steve Youngs <youngs@xemacs.org>
4672
4673 * mh-mime.el (mh-mime-security-button-map): Use 'mh-push-button'
4674 in XEmacs as well.
4675
46762003-03-07 Satyaki Das <satyaki@theforce.stanford.edu>
4677
4678 * mh-xemacs-toolbar.el: Declare a whole bunch of stuff for GNU
4679 Emacs, so that we don't get so many compiler warnings. Also
4680 surround calls to set-specifier and toolbar-make-button-list with
4681 mh-funcall-if-exists. Maybe GNU Emacs shouldn't try to compile
4682 this file in the first place.
4683
4684 * mh-xemacs-compat.el (mh-modeline-glyph): Declare it within
4685 mh-do-in-xemacs to avoid compiler warning in GNU Emacs.
4686 (mh-xemacs-push-button): Removed.
4687
4688 * mh-mime.el (mh-mime-button-map): Use the generalized
4689 mh-push-button function.
4690 (mh-push-button): Enhance it so that it works on XEmacs too.
4691
46922003-03-08 Steve Youngs <youngs@xemacs.org>
4693
4694 * mh-xemacs-compat.el (mh-modeline-logo): New constant holding the
4695 modeline image.
4696 (mh-modeline-glyph): Use it.
4697
46982003-03-08 Steve Youngs <youngs@xemacs.org>
4699
4700 * mh-xemacs-toolbar.el: New file that defines and displays a
4701 toolbar in XEmacs.
4702
4703 * mh-xemacs-compat.el (mh-xemacs-toolbar): Require it here.
4704
4705 * Makefile (MH-E-SRC): Add mh-xemacs-toolbar.el.
4706
4707 * mh-customize.el (mh-toolbar):
4708 (mh-tool-bar-letter-buttons):
4709 (mh-tool-bar-letter-buttons-set):
4710 (mh-tool-bar-folder-buttons):
4711 (mh-tool-bar-folder-buttons-set):
4712 (mh-tool-bar-search-function):
4713 (mh-tool-bar-reply-3-buttons-flag):
4714 (mh-tool-bar-item-inc):
4715 (mh-tool-bar-item-save-mime):
4716 (mh-tool-bar-item-prev-msg):
4717 (mh-tool-bar-item-page-msg):
4718 (mh-tool-bar-item-next-msg):
4719 (mh-tool-bar-item-delete):
4720 (mh-tool-bar-item-refile):
4721 (mh-tool-bar-item-undo):
4722 (mh-tool-bar-item-perform):
4723 (mh-tool-bar-item-toggle-show):
4724 (mh-tool-bar-item-reply-from):
4725 (mh-tool-bar-item-reply-to):
4726 (mh-tool-bar-item-reply-all):
4727 (mh-tool-bar-item-reply):
4728 (mh-tool-bar-item-alias):
4729 (mh-tool-bar-item-compose):
4730 (mh-tool-bar-item-rescan):
4731 (mh-tool-bar-item-repack):
4732 (mh-tool-bar-item-search):
4733 (mh-tool-bar-item-visit):
4734 (mh-tool-bar-item-prefs):
4735 (mh-tool-bar-item-help):
4736 (mh-tool-bar-item-widen):
4737 (mh-tool-bar-item-send):
4738 (mh-tool-bar-item-attach):
4739 (mh-tool-bar-item-spell):
4740 (mh-tool-bar-item-save):
4741 (mh-tool-bar-item-undo-op):
4742 (mh-tool-bar-item-kill):
4743 (mh-tool-bar-item-copy):
4744 (mh-tool-bar-item-paste):
4745 (mh-tool-bar-item-kill-draft):
4746 (mh-tool-bar-item-comp-prefs):
4747 The MH-E toolbar for XEmacs is defined differently from the
4748 GNU/Emacs version, so only define these if we're in GNU/Emacs.
4749 XEmacs doesn't need to see them and it's always good to cut down
4750 on pollution.
4751
47522003-03-08 Steve Youngs <youngs@xemacs.org>
4753
4754 * mh-mime.el (mh-mime-button-map): Bind the 2nd mouse button to
4755 `mh-xemacs-push-button' in XEmacs.
4756 (mh-mime-security-button-map): Ditto.
4757
4758 * mh-xemacs-compat.el: Shush the byte-compiler.
4759 (mh-xemacs-push-button): New function to make MIME buttons work in
4760 XEmacs.
4761
47622003-03-08 Steve Youngs <youngs@xemacs.org>
4763
4764 * mh-mime.el (mh-display-emphasis): Don't test
4765 `font-lock-maximum-size' to see if it is bound, just test for a
4766 non-nil value. This variable can have a nil value which makes it
4767 bound and dividing nil by 8 throws an error.
4768 This fixes a bug in MH-E under XEmacs when
4769 `font-lock-maximum-size' is nil that prevented article emphasis
4770 and smiley display which in turn was causing the "Flush changes in
4771 article x y/n" errors.
4772 (mh-display-smileys): Ditto.
4773
47742003-03-08 Steve Youngs <youngs@xemacs.org>
4775
4776 * mh-utils.el (mh-logo-display): Display logo in XEmacs as well.
4777
4778 * mh-xemacs-compat.el (mh-modeline-glyph): New. The MH-E modeline
4779 logo for XEmacs.
4780
47812003-03-06 Satyaki Das <satyaki@theforce.stanford.edu>
4782
4783 * mh-utils.el (mh-allow-root-folder-flag): New global variable
4784 that decides if "+" is an acceptable folder name.
4785 (mh-folder-completion-function): Refine the test for existing
4786 folders to take mh-allow-root-folder-flag into account.
4787 (mh-folder-completing-read, mh-prompt-for-folder): Use the
4788 allow-root-folder-flag argument of mh-prompt-for-folder and add a
4789 similar argument to mh-folder-completing-read.
4790 (mh-exec-cmd-error): Make the function nicer by using
4791 process-environment to pass the environment variable assignments.
4792
47932003-03-05 Satyaki Das <satyaki@theforce.stanford.edu>
4794
4795 * mh-mime.el (mh-push-button): Preserve point in the show buffer
4796 if the mouse is used to expand/contract a button.
4797
4798 * mh-customize.el (mh-x-face-file): Mention X-Image-URL in
4799 documentation.
4800
4801 * mh-comp.el (mh-insert-x-face): Modified to allow insertion of
4802 X-Image-URL header field.
4803
48042003-03-04 Satyaki Das <satyaki@theforce.stanford.edu>
4805
4806 * mh-utils.el (mh-face-display-function): Modified to facilitate
4807 display of X-Image-URL images.
4808 (mh-find-path): Initialize X-Image-URL cache directory.
4809 (mh-x-image-url-cache-canonicalize, mh-x-image-url-fetch-image)
4810 (mh-x-image-scale-and-display, mh-x-image-url-display)
4811 (mh-x-image-display): New functions for X-Image-URL image display
4812 and cache management.
4813
4814 * mh-customize.el (mh-show-use-xface-flag): Add info about
4815 requirements for X-Image-URL display.
4816 (mh-fetch-x-image-url): New customizable variable that controls
4817 fetching of X-Image-URL.
4818
48192003-03-04 Satyaki Das <satyaki@theforce.stanford.edu>
4820
4821 * mh-utils.el (mh-make-local-hook): New macro which works around
4822 API changes in add-hook. Version of GNU Emacs before 21.1 and
4823 XEmacs require a call to make-local-hook and just the LOCAL
4824 argument of add-hook is not sufficient.
4825 (mh-show-mode): Make kill-buffer-hook buffer local.
4826
4827 * mh-e.el (mh-folder-mode): Same as above.
4828
4829 * mh-comp.el (mh-compose-and-send-mail): Same as above.
4830
48312003-03-02 Satyaki Das <satyaki@theforce.stanford.edu>
4832
4833 * mh-mime.el (mh-push-button): Clicking on a MIME button used to
4834 cause the window with the show buffer to be selected. With this
4835 change the selected window doesn't change.
4836
48372003-03-01 Satyaki Das <satyaki@theforce.stanford.edu>
4838
4839 * mh-speed.el (mh-speed-flists): Avoid a potential race condition.
4840 When flists is called manually, or when an unseen message is read,
4841 mh-speed-partial-line was not reinitialized.
4842
4843 * mh-e.el (mh-visit-folder): If mh-visit-folder is used to visit
4844 the folder currently being visited (effectively doing a rescan)
4845 then mh-previous-window-config is erroneously set. The change
4846 fixes this.
4847
4848 * mh-customize.el (mh-index-show-hook): Remove unused variable.
4849
48502003-02-28 Satyaki Das <satyaki@theforce.stanford.edu>
4851
4852 * mh-e.el (mh-scan-folder): Call mh-reset-threads-and-narrowing
4853 only after the user has replied to question. This avoids premature
4854 clearing of the folder.
4855 (mh-rescan-folder, mh-visit-folder): Remove calls to
4856 mh-reset-threads-and-narrowing since it is now called in
4857 mh-scan-folder anyway.
4858
4859 * mh-funcs.el (mh-sort-folder): Same as above.
4860
48612003-02-26 Satyaki Das <satyaki@theforce.stanford.edu>
4862
4863 * mh-alias.el (mh-alias-alist): Change initial value to a symbol,
4864 so that it is different from the empty list, which could also
4865 mean that there are no aliases.
4866 (mh-alias-reload-maybe): Change test so that empty alist of
4867 aliases is properly handled (closes SF #693859).
4868
48692003-02-25 Satyaki Das <satyaki@theforce.stanford.edu>
4870
4871 * mh-mime.el (mh-decode-message-header): The message header could
4872 be encoded, for instance the author's name could contain
4873 characters not in ASCII. This function will decode such header
4874 fields.
4875 (mh-mm-inline-message): Use mh-decode-message-header.
4876
4877 * mh-utils.el (mh-display-msg): Use mh-decode-message-header.
4878 (mh-message-number-width): Use mh-scan-prog instead of "scan".
4879
4880 * mh-loaddefs.el: Regenerated.
4881
48822003-02-24 Satyaki Das <satyaki@theforce.stanford.edu>
4883
4884 * mh-utils.el (mh-truncate-log-buffer): Refine it so that the
4885 function will do the right thing even if called from a buffer
4886 other than mh-log-buffer.
4887
48882003-02-22 Peter S Galbraith <psg@debian.org>
4889
4890 * mh-alias.el (mh-alias-add-alias): Really fix SF #690216.
4891 This functions needs to strip brackets on standalone addresses as
4892 well.
4893
48942003-02-21 Satyaki Das <satyaki@theforce.stanford.edu>
4895
4896 * mh-xemacs-compat.el (replace-regexp-in-string): Remove the
4897 definition since it isn't used any more.
4898
48992003-02-20 Peter S Galbraith <psg@debian.org>
4900
4901 * mh-alias.el (mh-alias-which-file-has-alias): Bug fix. Needed to
4902 specify `noerror' on search.
4903
4904 * mh-alias.el (mh-alias-suggest-alias): Add condition for input
4905 string being an email address in brackets. We need to strip out
4906 the brackets. (closes SF #690216)
4907
49082003-02-20 Satyaki Das <satyaki@theforce.stanford.edu>
4909
4910 * mh-pick.el (mh-search-folder): The function was setting the
4911 global value of the variables mh-current-folder and
4912 mh-previous-window-config. This can lead to problems in code which
4913 assumes that these variables are nil when we aren't in a folder
4914 buffer. So make the variables local before setting them.
4915
49162003-02-19 Satyaki Das <satyaki@theforce.stanford.edu>
4917
4918 * mh-mime.el (mh-mime-display): All the MIME display code has been
4919 wrapped in a condition-case so that if something goes wrong, the
4920 raw message will be displayed.
4921
4922 * mh-funcs.el (mh-undo-folder): Comment out call to sit-for that
4923 seems unnecessary.
4924
4925 * mh-e.el (mh-scan-folder): Messages marked for deletion or
4926 refiling weren't getting annotated properly. The change fixes
4927 this.
4928 (mh-process-or-undo-commands): Change prompt to reflect what
4929 really happens in the code.
4930
49312003-02-18 Satyaki Das <satyaki@theforce.stanford.edu>
4932
4933 * mh-comp.el (mh-folder-expand-at-point): The function
4934 mail-abbrev-complete-alias often returns nil. This had the
4935 unfortunate consequence of always causing an error. The change
4936 fixes this.
4937
4938 * mh-alias.el (mh-alias-canonicalize-suggestion): New function
4939 which obviates the our need replace-regexp-in-string.
4940 (mh-alias-suggest-alias): Use mh-alias-canonicalize-suggestion to
4941 eliminate calls to replace-regexp-in-string. This avoids problems
4942 in Emacs20.
4943
4944 * mh-utils.el (mh-notate): Handle the case when nil is passed as
4945 notation gracefully.
4946 (mh-speed-flists-active-p): New function that returns non-nil if
4947 flists is being used in the speedbar to update message counts.
4948
4949 * mh-seq.el (mh-put-msg-in-seq): Fix a bug which made it
4950 impossible to add messages to the unseen sequence. Also adding
4951 messages to the unseen sequence will now update the speedbar
4952 message counts immediately.
4953
4954 * mh-e.el (mh-get-new-mail, mh-process-commands)
4955 (mh-undefine-sequence): Update speedbar message counts, if the
4956 speedbar is active and is displaying message counts.
4957 (mh-delete-msg-from-seq): In addition to updating message counts,
4958 unhighlight the message so that interactively removing messages
4959 from the unseen sequence makes the bold highlight of unseen
4960 messages in the scan buffer go away.
4961 (mh-clear-text-properties): New function that removes all text
4962 properties from the current scan line.
4963
49642003-02-15 Satyaki Das <satyaki@theforce.stanford.edu>
4965
4966 * mh-utils.el (mh-face-display-function): Wrap call of
4967 insert-image in mh-funcall-if-exists. This avoids a compiler
4968 warning in Emacs20.
4969
4970 * mh-speed.el (mh-speed-flists): Weaken test a bit to avoid
4971 compiler warning in Emacs20.
4972 (mh-speedbar-change-expand-button-char): Wrap call of
4973 speedbar-insert-image-button-maybe in mh-funcall-if-exists. This
4974 function isn't present in the speedbar that ships with Emacs20, so
4975 calling it there causes an error.
4976
4977 * mh-seq.el (mh-msg-is-in-seq): Adjust loop call a bit to avoid
4978 compiler warning in XEmacs. The XEmacs compiler should be improved
4979 so that such spurious warnings from builtin macros are suppressed.
4980
4981 * mh-index.el (mh-index-search): Same as above.
4982
4983 * mh-e.el (tool-bar-mode): The declaration is needed for Emacs20
4984 too.
4985
4986 * mh-comp.el (mailabbrev): Try loading it any way. Some day XEmacs
4987 will get it and then MH-E will just use it.
4988 (tool-bar-mode, tool-bar-map): These declarations are needed for
4989 Emacs20 too.
4990 (mh-mail-abbrev-make-syntax-table, mh-folder-expand-at-point):
4991 Remove mh-mail-abbrev-make-syntax-table since mh-funcall-if-exists
4992 can be used instead.
4993
4994 * mh-alias.el (require): Avoid autoloading functions that may not
4995 be defined.
4996 (mh-read-address, mh-alias-letter-expand-alias): Rewrite using
4997 mh-funcall-if-exists.
4998
49992003-02-15 Satyaki Das <satyaki@theforce.stanford.edu>
5000
5001 * mh-loaddefs.el: Regenerated.
5002
5003 * mh-speed.el (mh-folder-speedbar-buttons, mh-speed-add-buttons)
5004 (mh-speed-toggle): Reuse markers instead of creating more of them.
5005 (mh-speed-flists-folder, mh-speed-flists): Add optional folder
5006 argument to mh-speed-flists so that message counts are updated
5007 only for that one folder.
5008 (mh-speed-parse-flists-output): If no change in counts then avoid
5009 consing.
5010
5011 * mh-index.el (mh-index-execute): Rewritten to use a temporary
5012 buffer that is not left behind.
5013
5014 * mh-funcs.el (mh-store-buffer): Use mh-log-buffer instead of the
5015 special purpose *Store Output* buffer.
5016
50172003-02-14 Satyaki Das <satyaki@theforce.stanford.edu>
5018
5019 * mh-customize.el (mh-show-xface-face): Make it always be black
5020 foreground on a white background (the reverse of that can make
5021 some X-Face images look creepy).
5022
5023 * mh-utils.el (mh-truncate-log-buffer): Modify the function to
5024 return the current size of mh-log-buffer. Also we are now a bit
5025 more careful in adding separators between consecutive messages.
5026 (mh-exec-cmd): Fix a bug where the the log buffer would be
5027 displayed even if no error happened in the current command but
5028 the log buffer had messages from a previous error.
5029
5030 * mh-mime.el (mh-mime-save-parts): Use mh-log-buffer to show
5031 error messages.
5032
5033 * mh-alias.el (mh-alias-local-users): Add a space between parens.
5034
50352003-02-14 Steve Youngs <youngs@xemacs.org>
5036
5037 * mh-utils.el (mh-face-display-function): Call
5038 `x-face-xmas-wl-display-x-face' using `mh-funcall-if-exists'.
5039
5040 * mh-xemacs-compat.el (replace-regexp-in-string): New.
5041
50422003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
5043
5044 * mh-utils.el (mh-log-buffer-lines): New variable that keeps
5045 track of the number of lines to keep in mh-log-buffer.
5046 (mh-truncate-log-buffer): New function that is used to make sure
5047 that the log buffer doesn't grow to unbounded size.
5048 (mh-exec-cmd, mh-exec-cmd-daemon, mh-handle-process-error): Use
5049 mh-truncate-log-buffer instead of erase-buffer to keep some
5050 number of previous log messages around (closes SF #685476).
5051
50522003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
5053
5054 * mh-e.el (tool-bar-mode): Declare it in XEmacs.
5055 (mh-folder-mode): Use mh-funcall-if-exists to call hl-line-mode.
5056
5057 * mh-utils.el (mh-funcall-if-exists): New macro that calls a
5058 function only if it exists.
5059 (mh-logo-display, mh-defun-show-buffer): Use mh-funcall-if-exists
5060 to call the functions find-image and deactivate-mark.
5061
5062 * mh-mime.el (mh-mime-cleanup, mh-small-image-p)
5063 (mh-mm-display-part): Use mh-funcall-if-exists to call the
5064 functions image-size and remove-images.
5065
5066 * mh-comp.el (tool-bar-map, tool-bar-mode): Declare the variables
5067 in XEmacs.
5068 (mh-folder-expand-at-point): Use mh-funcall-if-exists to call
5069 mail-abbrev-complete-alias if it exists.
5070
5071 * mh-alias.el (mh-read-address): Use mh-funcall-if-exists for
5072 future extensibility.
5073
50742003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
5075
5076 * mh-utils.el (mh-logo-display): The function find-image is
5077 present only in GNU Emacs.
5078 (mh-defun-show-buffer): The function deactivate-mark is present
5079 only in GNU Emacs.
5080 (default-enable-multibyte-characters): Declare it in XEmacs to
5081 avoid compiler warning.
5082 (mh-face-display-function): Avoid inserting space if there isn't
5083 any Face or X-Face header field to display.
5084
5085 * mh-seq.el (mh-thread-last-ancestor): Move declaration of
5086 variable before its first use to silence XEmacs warning.
5087
5088 * mh-mime.el (default-enable-multibyte-characters, dots, type):
5089 Declare these in XEmacs to remove compiler warnings in XEmacs.
5090 (mh-mime-cleanup, mh-mm-display-part): Call remove-images only in
5091 GNU Emacs.
5092 (mh-small-image-p): Call image-size only in GNU Emacs.
5093
5094 * mh-index.el (mh-mairix-next-result): Fix a bug where a quote
5095 was missing.
5096 (mh-swish++-regexp-builder): Remove the unused binding meta.
5097
5098 * mh-e.el (mh-folder-size): Pass on an extra value to remove
5099 XEmacs warning.
5100 (mh-folder-mode): Surround calls to hl-line-mode and
5101 tool-bar-mode with mh-do-in-gnu-emacs since these functions
5102 aren't present in XEmacs.
5103
5104 * mh-customize.el (mh-tool-bar-show-set, mh-tool-bar-letter-set)
5105 (mh-tool-bar-folder-set): These functions call tool-bar-*
5106 functions which are present only in GNU Emacs. So surround them
5107 with mh-do-in-gnu-emacs.
5108
5109 * mh-comp.el (mh-letter-mode, mh-folder-expand-at-point): Only
5110 call these functions in GNU Emacs.
5111 (mail-abbrevs): Declare it in XEmacs.
5112
5113 * mh-alias.el (mh-read-address): Call completing-read-multiple
5114 only in GNU Emacs.
5115 (mail-abbrevs): Declare it in XEmacs.
5116 (mh-alias-add-alias-to-file): Remove unused code.
5117
51182003-02-14 Ville Skyttä <scop@xemacs.org>
5119
5120 * mh-comp.el: Add autoloaded auto-mode-alist association.
5121
51222003-02-13 Satyaki Das <satyaki@theforce.stanford.edu>
5123
5124 * mh-utils.el (mh-face-display-function): Make the XEmacs part a
5125 little simpler.
5126
51272003-02-14 Steve Youngs <youngs@xemacs.org>
5128
5129 * mh-customize.el (mh-show-xface-face): XEmacs doesn't have the
5130 ':inherit' keyword for defface, rewrite with sane defaults.
5131
5132 * mh-utils.el (mh-face-display-function): Fix bug that was
5133 corrupting xface images when displayed with XEmacs' internal
5134 xface image support. Also make XEmacs honour 'mh-show-xface-face'
5135 when using internal xface image support.
5136
51372003-02-12 Peter S Galbraith <psg@debian.org>
5138
5139 * mh-comp.el (mh-modify-header-field): New function. To header
5140 FIELD add VALUE. If OVERWRITE-FLAG is non-nil then the old value,
5141 if present, is discarded. This is more flexible than before.
5142 (mh-insert-auto-fields): Use it. This and the new function are a
5143 courtesy of Satyaki. Thanks!
5144
5145 * mh-customize.el (mh-auto-fields-list): Doc tweaks suggested by
5146 Bill.
5147
51482003-02-12 Satyaki Das <satyaki@theforce.stanford.edu>
5149
5150 * mh-comp.el (mh-folder-expand-at-point): Tweak the error
5151 message. Completion in the Fcc header field is only supported in
5152 GNU Emacs 21.
5153
51542003-02-12 Peter S Galbraith <psg@debian.org>
5155
5156 * mh-customize.el (mh-auto-fields-list): Reorder after
5157 `mh-identity-list' since it needs it to be defined. Move to
5158 mh-identity customization group.
5159
51602003-02-11 Peter S Galbraith <psg@debian.org>
5161
5162 * mh-customize.el (mh-insert-mail-followup-to-flag): Removed.
5163 Obsolete.
5164 (mh-insert-mail-followup-to-list): Removed. Obsolete. Use
5165 `mh-auto-fields-list' instead, which is a more general solution.
5166 (mh-auto-fields-list): New defcustom. Alist of addresses for
5167 which header lines are automatically inserted. Replaces
5168 `mh-insert-mail-followup-to-list'.
5169
5170 * mh-comp.el (mh-insert-mail-followup-to): Removed. Obsolete.
5171 (mh-insert-auto-fields): New function. Insert custom fields if To
5172 or Cc match `mh-auto-fields-list', replacing
5173 mh-insert-mail-followup-to with a more general solution.
5174 (mh-compose-and-send-mail): Call mh-insert-auto-fields instead of
5175 mh-insert-mail-followup-to. Also don't call mh-insert-identity to
5176 insert default setting if mh-insert-auto-fields inserted an
5177 identity.
5178
51792003-02-11 Satyaki Das <satyaki@theforce.stanford.edu>
5180
5181 * mh-utils.el (mh-show-xface-function): Try to load the external
5182 x-face library only if XEmacs doesn't have xface support.
5183 (mh-face-display-function): Renamed. Also handle various
5184 permutations of x-face and xface support in XEmacs better.
5185
5186 * mh-customize.el (mh-show-use-xface-flag): Any emacs whose
5187 major version is greater than or equal to 21 supports display of
5188 X-Face and Face header fields.
5189
51902003-02-11 Satyaki Das <satyaki@theforce.stanford.edu>
5191
5192 * mh-utils.el (mh-do-in-gnu-emacs, mh-do-in-xemacs): Macros that
5193 execute code only in GNU Emacs and XEmacs respectively.
5194 (mh-emacs21-face-display-function): Refactor to make it slightly
5195 nicer. Get rid of compiler warnings in GNU Emacs by using the
5196 above macros. Also check for presence of xface feature (in XEmacs
5197 specific code) before trying to display X-Face header field image.
5198
51992003-02-11 Steve Youngs <youngs@xemacs.org>
5200
5201 * mh-customize.el (mh-show-use-xface-flag): If using XEmacs and
5202 can't find the external x-face pkg still enable X-Face images if
5203 feature 'xface is present.
5204 Update the doc string.
5205
5206 * mh-utils.el (mh-emacs21-face-display-function): Make it work in
5207 XEmacs.
5208 (mh-show-xface-function): If using XEmacs without xface support,
5209 use x-face.el pkg. If using XEmacs with xface support, or Emacs
5210 21, use mh-emacs21-face-display-function.
5211
52122003-02-11 Mark D. Baushke <mdb@gnu.org>
5213
5214 * mh-customize.el (mh-invisible-header-fields): Add
5215 "X-Notes-Item:" which is generated by Lotus Notes Domino. See
5216 URL<http://www-12.lotus.com/ldd/doc/domino_notes/Rnext/help6_admin.nsf
5217 /f4b82fbb75e942a6852566ac0037f284/5eda03c647f879c285256c1d00396051
5218 ?OpenDocument&Highlight=0,x-notes-item> for details on how Domino
5219 users may disable (restore the default) generation of these headers.
5220
52212003-02-10 Satyaki Das <satyaki@theforce.stanford.edu>
5222
5223 * mh-comp.el (mh-folder-expand-at-point): Add function doc string
5224 and produce a nicer error message for Emacs versions that lack
5225 mail-abbrev-complete-alias.
5226
5227 * mh-utils.el (mh-handle-process-error): Check doc fix.
5228
5229 * mh-e.el (mh-folder-from-address): Same as above.
5230
52312003-02-10 Peter S Galbraith <psg@debian.org>
5232
5233 * mh-comp.el: require mailabbrev, except in XEmacs.
5234 (mh-mail-abbrev-make-syntax-table): New defmacro to call
5235 mail-abbrev-make-syntax-table introduced in Emacs21.
5236 (mh-folder-expand-at-point): Handle nested folders.
5237 All of the above was written by Satyaki. I just applied the patch
5238 and tested.
5239
52402003-02-09 Satyaki Das <satyaki@theforce.stanford.edu>
5241
5242 * mh-comp.el: Fixes to keep the byte compiler happy.
5243
5244 * mh-customize.el (mh-invisible-header-fields): Modified to
5245 remove space after ":" in header field names.
5246
52472003-02-09 Peter S Galbraith <psg@mixed.dyndns.org>
5248
5249 * mh-comp.el (mh-letter-complete): Add completion for fcc lines.
5250 (mh-folder-expand-at-point): Do completion at point for folder
5251 name. Like `mh-alias-letter-expand-alias' for aliases, it doesn't
5252 work on XEmacs because it relies on `mail-abbrev-complete-alias'
5253 to do completion. Maybe Steve could update XEmacs' mailabbrev.el?
5254
52552003-02-09 Peter S Galbraith <psg@debian.org>
5256
5257 * mh-customize.el (mh-invisible-header-fields): Remove trailing
5258 space in "X-Face: " and "Face: " entries since those line often
5259 break there.
5260
52612003-02-08 Satyaki Das <satyaki@theforce.stanford.edu>
5262
5263 * mh-utils.el (mh-emacs21-face-display-function): Use
5264 mh-show-xface-face to colorize X-Face image.
5265
5266 * mh-customize.el (mh-invisible-header-fields): Add extra headers
5267 to ignore.
5268 (mh-show-xface-face): Allow customization of the X-Face colors.
5269
52702003-02-07 Satyaki Das <satyaki@theforce.stanford.edu>
5271
5272 * mh-utils.el (mh-uncompface-executable, mh-uncompface): Remember
5273 the path of the uncompface executable so that we don't need to
5274 search for it every time.
5275 (mh-emacs21-face-display-function): If more than one X-Face (or
5276 Face) header field was present then the fields would get
5277 concatenated, leading to garbled output. The change only displays
5278 the first image.
5279
5280 * mh-customize.el (mh-x-face-file): Change documentation since it
5281 can now be used to insert a Face header field.
5282
5283 * mh-comp.el (mh-insert-x-face): Generalized to allow insertion
5284 of Face header field.
5285
52862003-02-06 Bill Wohler <wohler@newt.com>
5287
5288 * mh-utils.el (mh-emacs21-face-display-function): Updated
5289 docstring. It is a common mistake to refer to a header field as a
5290 header. The term header refers to the entire header while the term
5291 header field refers to a single field.
5292
5293 * mh-customize.el (mh-show-use-xface-flag): Ditto.
5294
52952003-02-06 Satyaki Das <satyaki@theforce.stanford.edu>
5296
5297 * mh-utils.el (mh-show-xface-function): Modified to use
5298 mh-emacs21-face-display-function if we are running GNU Emacs 21.
5299 (mh-face-to-png): New function to convert a Face header to a png
5300 image.
5301 (mh-uncompface): New function which converts an X-Face header to
5302 a pbm image.
5303 (mh-icontopbm): New function that does the job of icontopbm.
5304 (mh-emacs21-face-display-function): New function that displays
5305 Face/X-Face image in GNU Emacs 21.
5306 (mh-show-xface): Modified to test if we are running in X.
5307 Otherwise face display is suppressed.
5308
5309 * mh-customize.el (mh-show-use-xface-flag): Tweak it, now that
5310 MH-E supports face display natively on Emacs 21. Also remove the
5311 check for window-system since it doesn't belong in a customizable
5312 variable.
5313
53142003-02-06 Satyaki Das <satyaki@theforce.stanford.edu>
5315
5316 * mh-utils.el (sendmail): Require it so that XEmacs can find
5317 rfc822-goto-eoh.
5318 (mh-mail-header-end): A substitute for mail-header-end that
5319 doesn't widen the buffer. This is essential to avoid problems when
5320 dealing with nested messages.
5321 (mh-in-header-p, mh-letter-header-font-lock)
5322 (mh-header-field-font-lock, mh-show-font-lock-fontify-region)
5323 (mh-show-unquote-From): Use mh-mail-header-end instead of
5324 mail-header-end.
5325
5326 * mh-mime.el (mh-decode-message-body): same as above (closes SF
5327 #681518).
5328
5329 * mh-comp.el (mh-yank-cur-msg): same as above.
5330
53312003-02-05 Satyaki Das <satyaki@theforce.stanford.edu>
5332
5333 * mh-utils.el (mh-display-msg): Call mh-show-mode before invisible
5334 headers are cleaned. This means that any surviving X-Face header
5335 can be removed unconditionally in mh-clean-msg-header.
5336 (mh-clean-msg-header): Since the function is now called with a
5337 read-only buffer, make the buffer temporarily writable.
5338
5339 * mh-mime.el (mh-mm-inline-message): Do X-Face display before
5340 invisible headers are removed.
5341
5342 * mh-customize.el (mh-invisible-headers): Simplified since the
5343 X-Face header isn't treated specially any more.
5344 (mh-invisible-header-fields): Add Face: and X-Face: to list of
5345 invisible headers.
5346
5347 * mh-mime.el (mh-mime-display): If body is empty the headers would
5348 be treated like the body. The change fixes this (closes SF #681162).
5349 (mh-mime-display): This change really fixes the above problem.
5350
53512003-02-04 Satyaki Das <satyaki@theforce.stanford.edu>
5352
5353 * mh-utils.el (mh-current-folder-name): Global variable that
5354 keeps track of current folder.
5355 (mh-normalize-folder-name): Substitute @ with
5356 mh-current-folder-name (closes SF #666774).
5357 (mh-prompt-for-folder): Bind mh-current-folder-name. Also
5358 invalidate cache if we are visiting a folder that wasn't found in
5359 the sub-folder cache. This is an indication that folders may have
5360 been created outside of MH-E and so the cache may be stale.
5361
53622003-02-03 Satyaki Das <satyaki@theforce.stanford.edu>
5363
5364 * mh-utils.el (mh-decode-content-transfer-encoded-message): Removed.
5365 (mh-display-msg): Remove the use of the above function.
5366 (mh-normalize-folder-name): Leading "/" characters were being
5367 lost. The change fixes this (closes SF #676890).
5368
5369 * mh-mime.el (mh-decode-message-body): New function, factored out
5370 from mh-mime-display and enhanced, to decode message based on
5371 charset and content-transfer-encoding. This eliminates the need
5372 for the external mimencode (closes SF #674857).
5373 (mh-mime-display): Use mh-decode-message-body.
5374
5375 * mh-e.el (mh-header-display): Don't need the binding since the
5376 variable isn't present any more.
5377 (mh-inc-folder): Avoid calling mh-show if point is not on a valid
5378 scan line (closes SF #678115).
5379
5380 * mh-customize.el
5381 (mh-decode-content-transfer-encoded-message-flag): Removed.
5382
53832003-02-03 Bill Wohler <wohler@newt.com>
5384
5385 * import-emacs: MH-E now has its own directory in Emacs.
5386
5387 * mh-e.el: (mh-version): Set to 7.2+cvs.
5388
53892003-02-03 Bill Wohler <wohler@newt.com>
5390
5391 Released MH-E version 7.2.
5392
5393 * MH-E-NEWS, README: Updated for release 7.2.
5394
5395 * mh-e.el (Version, mh-version): Updated for release 7.2.
5396
53972003-02-03 Bill Wohler <wohler@newt.com>
5398
5399 * Makefile (dist): mkdir needs to happen *before* files are
5400 copied.
5401
5402 * MH-E-NEWS: Fixed some awkward verbiage.
5403
54042003-02-02 Bill Wohler <wohler@newt.com>
5405
5406 * mh-customize.el (mh-invisible-headers): Surround regexp-opt
5407 expression in parens to avoid problems viewing certain messages.
5408
54092003-01-30 Satyaki Das <satyaki@theforce.stanford.edu>
5410
5411 * mh-speed.el (mh-speed-flists): Search for flists in mh-progs.
5412 The original was inadvertently searching for flists in the user's
5413 path.
5414
54152003-01-27 Bill Wohler <wohler@newt.com>
5416
5417 * mh-customize.el (mh-default-folder-must-exist-flag): Changed
5418 default to t according to the principle of least surprise.
5419
54202003-01-26 Bill Wohler <wohler@newt.com>
5421
5422 * mh-utils.el: Checkdoc fixes.
5423
5424 * mh-pick.el (mh-do-search, mh-search-folder): Checkdoc fixes.
5425
5426 * mh-loaddefs.el: Regenerated (lm-verify fixes).
5427
5428 * mh-index.el (mh-mairix-next-result): Checkdoc fixes.
5429
5430 * mh-alias.el: lm-verify fix.
5431
5432 * Makefile (MH-E-SRC): Added ChangeLog, now that Emacs has a
5433 lisp/mh-e directory.
5434 (MH-E-ETC-ETC): Removed ChangeLog.
5435 (dist): Moved creation of mail directory next to copy of files
5436 into mail directory.
5437 (install-emacs): Copy $(MH-E-SRC) into new directory
5438 $(EMACS_HOME/lisp/mh-e.
5439 (MH-E-SRC): Moved ChangeLog into new variable MH-E-OTHERS and
5440 include MH-E-LOADDEFS there too.
5441 (mh-loaddefs.el): Added lines so that lm-verify passes.
5442 (dist, install-emacs): Use MH-E-OTHERS instead of MH-E-LOADDEFS.
5443
54442003-01-26 Jeffrey C Honig <jch@honig.net>
5445
5446 * mh-comp.el (mh-tidy-draft-buffer, mh-compose-and-send-mail):
5447 Rename mh-kill-draft-hook to mh-tidy-draft-buffer.
5448
54492003-01-25 Jeffrey C Honig <jch@honig.net>
5450
5451 * mh-utils.el (mh-exec-cmd, mh-exec-cmd-daemon)
5452 (mh-process-daemon): Use mh-log-buffer for the output of commands
5453 from mh-exec-cmd.
5454
5455 * mh-utils.el (mh-temp-folders-buffer): Sequences and folders
5456 loose the -temp from their buffer names as they are interesting to
5457 the user.
5458
5459 * mh-seq.el (mh-list-sequences): New name, mh-sequences-buffer as
5460 it is intended to be interesting to the user.
5461
5462 * mh-funcs.el (mh-list-folders): New name, mh-folders-buffer as it
5463 is intended to be interesting to the user.
5464
5465 * mh-comp.el (mh-check-whom, mh-compose-and-send-mail): Use
5466 mh-recipients-buffer constant. Add a kill buffer hook to delete
5467 the recipients buffer when a draft buffer is killed.
5468
54692003-01-25 Satyaki Das <satyaki@theforce.stanford.edu>
5470
5471 * mh-customize.el (mh-customize): New interactive argument
5472 deletes other windows.
5473 (mh-tool-bar-show-set, mh-tool-bar-letter-set)
5474 (mh-tool-bar-folder-set): Modified so that clicking the customize
5475 and help buttons deletes the other windows in the frame.
5476
5477 * mh-mime.el (mh-mm-inline-message): Remove unused code.
5478
5479 * mh-seq.el (mh-notate-deleted-and-refiled): Fix a small bug where
5480 the wrong notation was being used.
5481 (mh-toggle-threads): The function had a bug if you did the
5482 following starting from an unthreaded wide folder:
5483 (1) Create a sequence with S p
5484 (2) Narrow to new sequence with S n
5485 (3) Thread narrowed folder with T t
5486 (4) Kill sequence with S k
5487 (5) Unthread narrowed folder with T t
5488 At this point we would have an empty folder. The change fixes
5489 this.
5490 (mh-toggle-threads): Fix documentation.
5491
5492 * mh-customize.el (mh-invisible-header-fields): Add
5493 X-MHE-Checksum to invisible headers.
5494
5495 * mh-comp.el (mh-insert-x-mailer): Slightly more informative
5496 X-Mailer header.
5497
54982003-01-24 Satyaki Das <satyaki@theforce.stanford.edu>
5499
5500 * mh-e.el (mh-header-display): Modified so that quoted-printable
5501 or base64 encoded messages are left untouched.
5502
5503 * mh-utils.el (mh-decode-content-transfer-encoded-message): Munge
5504 the Content-Transfer-Encoding header so that the MIME decoding
5505 routines of Gnus doesn't get confused.
5506 (mh-display-msg): Use insert-file-contents-literally so that
5507 display will work for non-ascii.
5508
5509 * mh-mime.el (mh-mime-display): Use charset info to decode
5510 message file (closes SF #655123).
5511
55122003-01-24 Bill Wohler <wohler@newt.com>
5513
5514 * mh-alias.el (mh-alias-add-alias-to-file): Removed period from
5515 error message and added parens around error function.
5516
55172003-01-24 Satyaki Das <satyaki@theforce.stanford.edu>
5518
5519 * mh-customize.el (mh-decode-quoted-printable-flag): Removed.
5520 (mh-decode-content-transfer-encoded-message-flag): This replaces
5521 mh-decode-quoted-printable-flag.
5522
5523 * mh-utils.el (mh-decode-content-transfer-encoded-message): New
5524 function which handles messages that are encoded as base64 or
5525 quoted-printable (closes SF #674190).
5526 (mh-decode-quoted-printable): Removed.
5527 (mh-display-msg): Use mh-decode-content-transfer-encoded-message
5528 instead of mh-decode-quoted-printable.
5529
55302003-01-23 Satyaki Das <satyaki@theforce.stanford.edu>
5531
5532 * mh-seq.el (mh-thread-generate-scan-lines): Fix a little bug
5533 that would occasionally cause angles ('<' and '>') to appear at
5534 root level.
5535
55362003-01-21 Satyaki Das <satyaki@theforce.stanford.edu>
5537
5538 * mh-seq.el (mh-notate-cur): Enable overlay arrow display in text
5539 mode too.
5540
5541 * mh-e.el (mh-folder-mode): Initialize overlay-arrow-string so
5542 that a '>' is displayed in text mode.
5543
55442003-01-20 Satyaki Das <satyaki@theforce.stanford.edu>
5545
5546 * mh-utils.el (mh-scan-msg-overflow-regexp): Change the variable
5547 so that a space is always maintained in the beginning of the scan
5548 line.
5549
5550 * mh-seq.el (mh-notate-seq, mh-notate-cur): Make the functions
5551 faster by cutting down on the use of mh-goto-msg.
5552 (mh-toggle-threads): Add call to mh-notate-cur, since inserting
5553 the folder names in a search results folder screws up the
5554 location of the overlay arrow.
5555
5556 * mh-index.el (mh-index-delete-folder-headers): Position the
5557 point on a message line if possible.
5558
5559 * mh-funcs.el (mh-copy-msg): Use the mh-iterate macro to make the
5560 function faster.
5561
5562 * mh-e.el (mh-scan-folder): Reuse mh-notate-deleted-and-refiled.
5563
5564 * mh-loaddefs.el: Regenerated.
5565
5566 * mh-utils.el (mh-add-msgs-to-seq): Add a new parameter that
5567 suppresses the annotation of the sequence since it is
5568 inefficient.
5569
5570 * mh-seq.el (mh-delete-seq): Speed up the part of the function
5571 that removes the sequence notation.
5572 (mh-put-msg-in-seq, mh-notate-deleted-and-refiled): Use
5573 mh-iterate-on-messages-in-region to make the function fasters when
5574 operating on regions. The key idea is to loop over the folder
5575 buffer exactly once and do all annotations. The existing algo
5576 would walk over the buffer multiple times thereby slowing things
5577 down.
5578 (mh-iterate-on-messages-in-region): Added an extra parameter which
5579 is bound to the message index as the loop is executed.
5580 (mh-region-to-msg-list, mh-thread-delete, mh-thread-refile): Use
5581 the new mh-iterate-on-messages-in-region macro.
5582
5583 * mh-e.el (mh-delete-msg-no-motion, mh-refile-msg, mh-undo): Same
5584 as above.
5585 (mh-notate-user-sequences): Change algorithm to make notating of
5586 user sequences fast.
5587
55882003-01-19 Satyaki Das <satyaki@theforce.stanford.edu>
5589
5590 * mh-logo.xpm: New image file that contains the MH-E logo.
5591 Change foreground color to the blue in the MH-E logo.
5592
5593 * Makefile (MH-E-IMG): Add mh-logo.xpm to list of image files.
5594
5595 * mh-utils.el (mh-show-buffer-mode-line-buffer-id): Adjust it to
5596 keep space in the beginning for the logo.
5597 (mh-logo-cache): New variable that caches the logo image file
5598 location.
5599 (mh-logo-display): Display the MH-E logo on the mode line.
5600 (mh-display-msg): Display logo in mh-show-mode.
5601
5602 * mh-e.el (mh-make-folder-mode-line): Display logo in
5603 mh-folder-mode.
5604
5605 * mh-comp.el (mh-compose-and-send-mail): Display logo in
5606 mh-letter-mode.
5607
5608 * mh-loaddefs.el: Regenerated.
5609
5610 * mh-seq.el (mh-iterate-on-messages-in-region): New macro to
5611 iterate on all messages in a region.
5612 (mh-region-to-msg-list): Simplified since it uses
5613 mh-iterate-on-messages-in-region now.
5614
5615 * mh-e.el (mh-delete-msg, mh-refile-msg): Change interactive spec
5616 to pass the region that is to be deleted when appropriate.
5617 (mh-delete-msg-no-motion, mh-refile-msg, mh-undo): Operate on
5618 regions directly without creating the list of messages to be
5619 deleted/refiled.
5620 (mh-delete-a-msg, mh-refile-a-msg, mh-undo-msg): The msg
5621 parameter in these functions can now be nil. If so, the current
5622 message is deleted, refiled or undone respectively. Avoids the
5623 use of mh-goto-msg in this case and speeds up operations on
5624 regions quite a bit.
5625
56262003-01-19 Peter S Galbraith <psg@debian.org>
5627
5628 * mh-alias.el (mh-read-address): Bug Fix. In XEmacs and Emacs20,
5629 it would always prompt using "To: " instead of using the command
5630 argument (closes SF #670913).
5631
56322003-01-19 Satyaki Das <satyaki@theforce.stanford.edu>
5633
5634 * mh-utils.el (mh-folder-completion-function): If there is a
5635 +foo/bar folder and the user types foo//bar then the completion
5636 function would say a match happened without showing the
5637 normalized folder name. This change fixes that.
5638
56392003-01-18 Satyaki Das <satyaki@theforce.stanford.edu>
5640
5641 * mh-e.el (mh-rmail): Modified so that new and unseen messages
5642 are shown (closes SF #667542).
5643
56442003-01-17 Satyaki Das <satyaki@theforce.stanford.edu>
5645
5646 * mh-index.el (mh-index-generate-pretty-name): Generate nicer
5647 names. In particular all '-' characters are removed.
5648
56492003-01-16 Satyaki Das <satyaki@theforce.stanford.edu>
5650
5651 * mh-customize.el (mh-index-program): Documentation fix.
5652
5653 * mh-loaddefs.el: Regenerated.
5654
5655 * mh-customize.el (mh-index-program): Add choices for mairix and
5656 pick.
5657
5658 * mh-index.el (mh-indexer-choices): Add search interfaces for
5659 mairix and pick.
5660 (mh-index-search): Add links for mairix and pick.
5661 (mh-index-pick-folder, mh-pick-binary): Variables needed to
5662 implement pick support.
5663 (mh-pick-execute-search, mh-pick-next-result): New functions to
5664 implement pick support.
5665 (mh-mairix-binary, mh-mairix-directory, mh-mairix-folder): New
5666 variables for mairix support.
5667 (mh-mairix-execute-search, mh-mairix-next-result)
5668 (mh-mairix-regexp-builder, mh-mairix-convert-to-sop*): New
5669 functions for mairix.
5670
5671 * mh-funcs.el (mh-kill-folder): Move message to the end.
5672
5673 * mh-e.el (mh-folder-mode): Make overlay-arrow-position and
5674 overlay-arrow-string local variables so that the arrow will
5675 remain even if some other folder is visited.
5676 (mh-remove-cur-notation, mh-remove-all-notation): The test isn't
5677 required any more since overlay-arrow-position is local.
5678 (mh-goto-cur-msg): Remove overlay arrow if current message
5679 doesn't exist.
5680
5681 * mh-seq.el (mh-notate-cur): Don't need to set
5682 overlay-arrow-string any more since it is local and has been set
5683 at initialization.
5684
56852003-01-15 Satyaki Das <satyaki@theforce.stanford.edu>
5686
5687 * mh-speed.el (mh-speed-current-folder): Keep track of current
5688 folder when flists is called.
5689 (mh-speed-flists, mh-speed-parse-flists-output): Try to avoid
5690 ambiguity when folders are present with + at the end of the name.
5691 Unfortunately it can't always be avoided.
5692
5693 * mh-e.el (mh-folder-size): Remove the unnecessary error check.
5694 (mh-parse-flist-output-line): Add extra argument which
5695 occasionally avoid problems with folder names that end with '+'.
5696
5697 * mh-utils.el (mh-sub-folders-actual): Fix the folder name
5698 parsing so that it doesn't get confused by trailing '+' chars in
5699 the folder name.
5700
57012003-01-14 Satyaki Das <satyaki@theforce.stanford.edu>
5702
5703 * mh-utils.el (mh-normalize-folder-name): Enhanced so that it can
5704 now handle ".." and "." correctly during folder name completion.
5705 (mh-normalize-folder-name): Avoid error in boundary condition
5706 where the folder string is empty.
5707
57082003-01-14 Mark D. Baushke <mdb@gnu.org>
5709
5710 * mh-e.el (mh-visit-folder): Pass `current-prefix-arg' to
5711 the `mh-read-msg-range' function as the optional
5712 always-prompt-flag.
5713
57142003-01-14 Satyaki Das <satyaki@theforce.stanford.edu>
5715
5716 * mh-utils.el (mh-normalize-folder-name): New function that
5717 normalizes folder names.
5718 (mh-sub-folders): Use mh-normalize-folder-name. Also the function
5719 has been modified so that a trailing slash is only added if the
5720 folder potentially has subfolders.
5721 (mh-sub-folders-actual): Simplified since the folder has already
5722 been normalized in mh-sub-folders.
5723 (mh-remove-from-sub-folders-cache): Modified so that the cached
5724 results of two of the folders ancestors are invalidated.
5725 (mh-folder-completion-map): Ugly hack to make the error go away
5726 when minibuffer-complete-word is called.
5727 (mh-folder-completion-function): The completion function will now
5728 be more selective in adding '/' at the end of completed folder
5729 names.
5730 (mh-folder-completing-read): The folder name is normalized before
5731 return. The minibuffer-local-completion-map is shadowed to avoid
5732 error with SPC (bound to minibuffer-complete-word). We really
5733 need a better solution.
5734
57352003-01-13 Bill Wohler <wohler@newt.com>
5736
5737 * mh-seq.el: Edited comment and docstring text to conform with RFC
5738 2822 terminology. Message-ID is the header field. It contains a
5739 message identifier.
5740
57412003-01-13 Satyaki Das <satyaki@theforce.stanford.edu>
5742
5743 * mh-utils.el (mh-sub-folders): Add an argument that returns
5744 sub-folders with a / character appended at the end.
5745 (mh-folder-completion-function): Modify the function so that one
5746 tab is now sufficient to complete the folder name and add a
5747 trailing /.
5748 (mh-folder-completing-read): Remove the trailing / that the
5749 completion function now adds to the folder name. Also multiple /
5750 characters in the folder input are removed. So if the user inputs
5751 +foo///bar//baz///// then that will be converted to +foo/bar/baz.
5752 This will improve the performance of caching.
5753
5754 * mh-seq.el (mh-notate-cur): Check that a valid current message
5755 exists before trying to notate (closes SF #667331).
5756 (mh-message-id-regexp): New variable to store regexp to recognize
5757 message-ids.
5758 (mh-thread-generate): Use mh-message-id-regexp to filter out non
5759 message-id's from the References: header.
5760
57612003-01-12 Satyaki Das <satyaki@theforce.stanford.edu>
5762
5763 * mh-seq.el (mh-notate-cur): Disable overlay-arrow display if we
5764 aren't on a graphic display.
5765
57662003-01-11 Satyaki Das <satyaki@theforce.stanford.edu>
5767
5768 * mh-seq.el (mh-notate-cur): New function to notate the current
5769 message. The marker in the fringe is updated too.
5770 (mh-narrow-to-seq, mh-widen, mh-thread-inc, mh-thread-folder): Use
5771 the specialized function mh-notate-cur instead of mh-notate-seq.
5772
5773 * mh-e.el (mh-arrow-marker): New buffer local variable to store
5774 the position where the marker in the fringe is going to be
5775 displayed (closes SF #664824).
5776 (mh-folder-mode): Create a marker for the fringe.
5777 (mh-update-sequences, mh-get-new-mail, mh-goto-cur-msg): Call the
5778 specialized function mh-notate-cur instead of mh-notate-seq or
5779 mh-notate.
5780 (mh-remove-cur-notation, mh-remove-all-notation): Reset the
5781 overlay-arrow-position if needed.
5782
5783 * mh-loaddefs.el: Regenerated.
5784
57852003-01-10 Satyaki Das <satyaki@theforce.stanford.edu>
5786
5787 * mh-utils.el (mh-remove-from-sub-folders-cache): Modified so that
5788 creating nested folders doesn't produce inconsistent results.
5789 (mh-prompt-for-folder): Remove call of mh-folder-list-change-hook.
5790
5791 * mh-funcs.el (mh-kill-folder): Don't ask for confirmation if
5792 called on a folder holding index search results. Also the now
5793 removed mh-folder-list-change-hook is called no more.
5794
5795 * mh-customize.el (mh-auto-folder-collect-flag)
5796 (mh-folder-list-change-hook): Removed.
5797
5798 * mh-loaddefs.el: Regenerated.
5799
58002003-01-10 Bill Wohler <wohler@newt.com>
5801
5802 * mh-customize.el (mh-default-folder-must-exist-flag): New
5803 variable to suppress suggested folder if the folder doesn't
5804 already exist (closes SF #657096).
5805 (mh-default-folder-list): New variable that
5806 holds mapping between an address and the desired folder for
5807 filing (closes SF #657096).
5808 (mh-default-folder-prefix, mh-default-folder-must-exist-flag): In
5809 docstring, refer to documentation for mh-prompt-for-refile-folder
5810 and mh-folder-from-address.
5811 (mh-highlight-citation-p, mh-compose-insertion,
5812 (mh-insert-mail-followup-to-list, mh-index-program,
5813 (mh-identity-default): Fixed case of tags.
5814
5815 * mh-e.el (mh-folder-from-address): Use new variable
5816 mh-default-folder-must-exist-flag to return nil if this variable
5817 is t and the folder doesn't already exist. In addition, can now
5818 look up a default folder in the new variable
5819 mh-default-folder-list (closes SF #657096).
5820 (mh-prompt-for-refile-folder): In docstring, refer to
5821 documentation in mh-folder-from-address.
5822
5823 * mh-index.el (mh-swish-execute-search): Changed \..* to \\..* in
5824 the FileRules filename in the sample config file. Otherwise, the
5825 users don't see the backslash at all, and no files are indexed!
5826 (closes SF #665888).
5827
58282003-01-10 Satyaki Das <satyaki@theforce.stanford.edu>
5829
5830 * mh-seq.el (mh-thread-folder): Get headers for exactly the
5831 messages that are present. If only messages 1-10 and 3800-3900
5832 are being shown then we will now scan exactly those messages and
5833 not the full range from 1-3900 as was being done earlier.
5834 (mh-toggle-threads): When converting from threaded to normal view
5835 only the messages present in the buffer are scanned. Earlier all
5836 messages from the minimum to the maximum would be scanned (closes
5837 SF #626117).
5838
5839 * mh-pick.el (mh-search-folder): Fix typo.
5840 (mh-pick-do-search): Fix bug from cut and paste. Also set window
5841 config properly.
5842
5843 * mh-utils.el (mh-prompt-for-folder): Add new argument to allow
5844 it to accept + as a folder name. This allows the user to search
5845 all folders when "Fs" is used.
5846
5847 * mh-pick.el (mh-search-folder): Fix interactive spec of function.
5848 (mh-pick-do-search): Rewritten to call pick in one go. This will
5849 make adding pick as a default index search program easier. Also
5850 pick now accepts the same query syntax as the index search
5851 programs (closes SF #664816).
5852 (mh-next-pick-field): Removed.
5853 (mh-pick-parse-search-buffer): New function to parse the search
5854 buffer.
5855 (mh-pick-construct-regexp, mh-pick-regexp-builder): New function
5856 to produce a pick query from the parsed representation.
5857
5858 * mh-index.el (mh-index-do-search): Refactor the search pattern
5859 parser into a new function and use that instead.
5860
5861 * mh-loaddefs.el: Regenerated.
5862
58632003-01-10 Satyaki Das <satyaki@theforce.stanford.edu>
5864
5865 * mh-loaddefs.el: Regenerated.
5866
5867 * mh-utils.el (mh-remove-from-sub-folders-cache)
5868 (mh-prompt-for-folder): Replace mh-update-sub-folders-cache with
5869 mh-remove-from-sub-folders-cache.
5870 (mh-exec-cmd-daemon): Mention set-process-filter in documentation.
5871
5872 * mh-pick.el (mh-searching-function): New buffer local variable
5873 that keeps track of the default searching function to be used.
5874 (mh-pick-mode): Make mh-searching-function buffer local.
5875 (mh-search-folder): Set mh-searching-function to use pick.
5876 (mh-search-folder, mh-pick-menu, mh-pick-mode-help-messages)
5877 (mh-pick-mode, mh-do-pick-search, mh-pick-do-search): Rename
5878 mh-do-pick-search to mh-pick-do-search. But keep
5879 mh-do-pick-search as a deprecated function.
5880 (mh-do-search): New interactive function that performs the
5881 default search.
5882 (mh-pick-mode-map): Update keymap.
5883
5884 * mh-index.el (mh-index-search): Set mh-searching-function to do
5885 index search.
5886 (mh-index-new-folder): Replace mh-update-sub-folders-cache with
5887 mh-remover-from-sub-folders-cache.
5888
5889 * mh-funcs.el (mh-kill-folder): Same as above.
5890
5891 * mh-index.el (mh-index-evaluate, mh-swish++-regexp-builder):
5892 Checkdoc fixes.
5893
5894 * mh-customize.el: Fixes to make byte compiler in CVS Emacs
5895 perfectly happy.
5896
58972003-01-09 Bill Wohler <wohler@newt.com>
5898
5899 * mh-e.el (mh-folder-from-address): New function that proposes the
5900 name of a folder with an alias for the address in the current message.
5901 (mh-prompt-for-refile-folder): Use it (closes SF #657096).
5902
5903 * mh-customize.el (mh-default-folder-prefix): New variable used by
5904 mh-folder-from-address.
5905 (mh-invisible-header-fields): Edited docstring.
5906
5907 * mh-alias.el (mh-alias-address-to-alias): Added ;;;###mh-autoload
5908 cookie (used by mh-folder-from-address in mh-e.el). Edited text in
5909 comment.
5910
5911 * mh-utils.el: Provided naming conventions for buffer and buffer
5912 variable names.
5913 (mh-temp-folders-buffer): Renamed buffer to " *mh-folders*".
5914 (mh-temp-sequences-buffer): Renamed buffer to " *mh-sequences*".
5915 (mh-info-buffer): Renamed from mh-temp-info-buffer.
5916 (mh-log-buffer): New buffer variable to hold name of "*MH-E Log*"
5917 buffer which is expected to be used for the output of MH commands.
5918 Perhaps we always create this buffer at initialization and append
5919 to it rather than erase it each time?
5920
5921 * mh-e.el (mh-quit): Loop over all buffers and delete MH-E
5922 temporary and working buffers. As long as the buffer naming
5923 conventions are followed, new buffers will be automatically
5924 killed.
5925 (mh-version): Renamed mh-temp-info-buffer to mh-info-buffer.
5926
5927 * mh-comp.el (mh-insert-x-mailer): Renamed mh-temp-info-buffer to
5928 mh-info-buffer.
5929
59302003-01-09 Satyaki Das <satyaki@theforce.stanford.edu>
5931
5932 * mh-e.el (mh-folder-size): If the user doesn't have a
5933 Unseen-Sequence definition in .mh_profile then an error was
5934 produced. This change fixes that.
5935
5936 * mh-seq.el (mh-thread-generate): Replace the *mh-thread* buffer
5937 with a temporary buffer which is cleaned up when the function
5938 exits.
5939
5940 * mh-e.el (mh-prompt-for-refile-folder): New function which
5941 refactors out the intelligent folder guessing code from
5942 mh-refile-msg.
5943 (mh-refile-msg): Use mh-prompt-for-refile-folder.
5944
5945 * mh-seq.el (mh-thread-refile): Use mh-prompt-for-refile-folder to
5946 do the same intelligent destination folder guessing as
5947 mh-refile-msg (closes SF #664829).
5948
5949 * mh-utils.el (mh-folder-list, mh-make-folder-list-process)
5950 (mh-folder-list-temp, mh-folder-list-partial-line)
5951 (mh-set-folder-list): Removed.
5952 (mh-sub-folders-cache, mh-sub-folders, mh-sub-folders-actual):
5953 Moved over from mh-speed.el to implement hierarchical completion.
5954 (mh-update-sub-folders-cache): Utility function called when
5955 new folders are created or folders are removed.
5956 (mh-folder-completion-function): New function is the folder name
5957 completion function used in completing-read.
5958 (mh-folder-completing-read): A thin wrapper function that is used
5959 instead of completing-read directly. In the future we might want
5960 to allow the user a customizable variable which will turn off
5961 folders based completion.
5962 (mh-prompt-for-folder): Use mh-folder-completing-read to read in
5963 the folder name with hierachical completion (closes SF #664821).
5964
5965 * mh-speed.el (mh-speed-folders, mh-speed-folders-cache)
5966 (mh-speed-folders-actual): Moved to mh-utils.el as mh-sub-folders,
5967 mh-sub-folders-cache and mh-sub-folders-actual respectively.
5968 (mh-speed-invalidate-map, mh-speed-invalidate-map)
5969 (mh-speed-add-folder): Use the new names.
5970
5971 * mh-funcs.el (mh-kill-folder): Remove code that used to update
5972 mh-folder-list which is no longer present. Instead
5973 mh-update-sub-folders-cache is called.
5974
5975 * mh-index.el (mh-index-new-folder): Same as above.
5976
59772003-01-08 Satyaki Das <satyaki@theforce.stanford.edu>
5978
5979 * mh-utils.el (mh-exec-cmd-daemon): An argument was added which
5980 controls what is done with the process output.
5981
5982 * mh-funcs.el (mh-kill-folder): Use mh-previous-window-config to
5983 restore window configuration. Also the call to mh-exec-cmd-daemon
5984 only displays output if an error happened (closes SF #664828).
5985 (mh-rmf-daemon): Check rmf output and display it only if
5986 something went wrong.
5987 (mh-print-msg): Pass in nil argument to mh-exec-cmd-daemon.
5988
5989 * mh-comp.el (mh-redistribute, mh-send-letter): Pass in nil
5990 argument to mh-exec-cmd-daemon so that the functions will behave
5991 as before.
5992
5993 * mh-pick.el (mh-search-folder): The current window config is
5994 stored.
5995 (mh-make-pick-template): Make the message headers read-only.
5996 (mh-pick-mode-help-messages): Update help message.
5997 (mh-do-pick-search): Fix problem when buffer isn't showing any
5998 messages.
5999 (mh-next-pick-field): Use buffer-substring-no-properties is
6000 better.
6001 (mh-pick-mode-map): Add key bindings (partially addresses
6002 SF #664816)
6003
6004 * mh-index.el (mh-indexer-choices): Add a new field for each
6005 index program choice. If it is non-nil then it is the name of a
6006 function that given a lisp expression to search for generates a
6007 pattern that is acceptable to the search program.
6008 (mh-index-regexp-builder): New variable that stores the function
6009 to be used to convert from the lisp expression syntax to
6010 something that the search program understands.
6011 (mh-index-generate-pretty-name): Generalized so that it can take
6012 a list of strings as input.
6013 (mh-index-search): Modified so that if the configured program has
6014 a corresponding regexp-builder then a search buffer like pick
6015 search is produced. Otherwise the previous behavior is maintained.
6016 (mh-index-do-search): New interactive function that takes the
6017 contents of the search buffer, generates an appropriate query and
6018 produces the search results buffer by calling mh-index-search.
6019 (mh-replace-string, mh-index-parse-search-regexp)
6020 (mh-index-add-implicit-ops, mh-index-evaluate): New functions
6021 which parses the infix search expression that the user enters. A
6022 parse tree from which queries for different search programs can
6023 be produced is produced.
6024 (mh-swish++-regexp-builder, mh-swish++-print-regexp): Takes the
6025 internal form of the query and produces input suitable for
6026 swish++.
6027
6028 * mh-loaddefs.el: Regenerated.
6029
60302003-01-08 Bill Wohler <wohler@newt.com>
6031
6032 * Makefile (emacs-logs): New target for viewing CVS Emacs logs.
6033 Useful to see if an Emacs developer has changed MH-E.
6034
6035 * MH-E-NEWS: Fixed case of MH-E in the "Changes" title.
6036
6037 * mh-utils.el (mh-temp-info-buffer): New variable to hold name of
6038 buffer that contains version info.
6039
6040 * mh-e.el (mh-version): Use mh-temp-info-buffer instead of
6041 mh-temp-buffer since version information was getting clobbered by
6042 the aliasing code before it could be seen (closes SF #664467).
6043 (mh-quit): Delete mh-temp-info-buffer.
6044
6045 * mh-comp.el (mh-insert-x-mailer): Use mh-temp-info-buffer to find
6046 version info instead of mh-temp-buffer. You kind of need this
6047 patch to send mail.
6048
60492003-01-07 Bill Wohler <wohler@newt.com>
6050
6051 * mh-e.el (Version, mh-version): Set to 7.1+cvs.
6052
60532003-01-07 Bill Wohler <wohler@newt.com>
6054
6055 Released MH-E version 7.1.
6056
6057 * MH-E-NEWS, README: Updated for release 7.1.
6058
6059 * mh-e.el (Version, mh-version): Updated for release 7.1.
6060
60612003-01-07 Bill Wohler <wohler@newt.com>
6062
6063 * mh-customize.el (mh-auto-folder-collect-flag,
6064 mh-alias-system-aliases, mh-alias-insert-file): Edited docstrings.
6065
6066 * Makefile (MH-E-IMG): Added alias.pbm and alias.xpm.
6067
6068 * mh-alias.el (mh-alias-insert-file, mh-alias-add-alias): Fixed
6069 checkdoc warnings.
6070
60712003-01-07 Satyaki Das <satyaki@theforce.stanford.edu>
6072
6073 * mh-utils.el (mh-search-from-end): New function that is used to
6074 replace our usage of the CL function search.
6075 (font-lock): The library is loaded to avoid compilation warning
6076 in CVS Emacs.
6077
6078 * mh-speed.el (mh-speed-goto-folder, mh-speed-add-folder)
6079 (mh-speed-extract-folder-name, mh-speed-invalidate-map): Use
6080 mh-search-from-end instead of search.
6081
6082 * mh-seq.el (mh-thread-remove-parent-link): Use loop instead of
6083 remove*.
6084 (mh-thread-process-in-reply-to): Use mh-search-from-end instead
6085 of search.
6086
6087 * mh-index.el (mh-md5-parser): Fix name of function.
6088 (mh-index-update-single-msg, mh-index-update-maps): Avoid using
6089 destructuring-bind since Emacs-20.7 can't handle this particular
6090 usage.
6091 (mh-namazu-next-result): Use mh-search-from-end instead of
6092 search.
6093
6094 * mh-e.el (recursive-load-depth-limit): Add a defvar since CVS
6095 emacs which doesn't have the variable defined causes a compiler
6096 warning.
6097 (mh-refile-a-msg): Rewritten to avoid using pushnew.
6098 (mh-undo-msg): Use loop instead of remove-if.
6099
6100 * mh-comp.el (mh-show-buffer-message-number): Use
6101 mh-search-from-end instead of search.
6102
61032003-01-01 Satyaki Das <satyaki@theforce.stanford.edu>
6104
6105 * mh-e.el (mh-visit-folder): Modified so that if RANGE is nil then
6106 all messages are displayed. Documentation modified so that this is
6107 explicitly stated.
6108 (mh-visit-folder): Really fix it this time.
6109
61102003-01-01 Mark D Baushke <mdb@gnu.org>
6111
6112 * mh-alias.el (mh-alias-from-has-no-alias-p): Needs the
6113 mh-autoload comment or mh-customize may have problems finding the
6114 function.
6115
6116 * mh-loaddefs.el: Regenerated.
6117
61182002-12-28 Satyaki Das <satyaki@theforce.stanford.edu>
6119
6120 * mh-index.el (mh-namazu-execute-search): Fix bug in documentation.
6121
61222002-12-28 Bill Wohler <wohler@newt.com>
6123
6124 * mh-comp.el (mh-letter-mode): Mention mh-compose-insertion
6125 variable in docstring, explain how to expand directives, and
6126 don't mention mh-mhn-compose-insertion which isn't used directly
6127 any more.
6128 (mh-send-letter): Mention that X-Mailer and X-Face are inserted
6129 automatically so that a user isn't tempted to do so himself in
6130 mh-before-send-letter-hook.
6131 (mh-insert-letter): Use "variable" prefix for mh-invisible-headers
6132 now that we have both a function and a variable. Clarified
6133 language a bit.
6134
61352002-12-26 Satyaki Das <satyaki@theforce.stanford.edu>
6136
6137 * mh-utils.el (mh-show-xface-function): Only load x-face-e21 if
6138 the emacs is not XEmacs.
6139
6140 * mh-index.el (mh-index-new-folder): The folder created should
6141 always be added to mh-folder-list. Otherwise folder name
6142 completion doesn't find the new folder created.
6143
61442002-12-24 Satyaki Das <satyaki@theforce.stanford.edu>
6145
6146 * mh-customize.el (mh-clean-message-header-flag)
6147 (mh-visible-headers, mh-invisible-headers)
6148 (mh-invisible-header-fields-set): Reworded to satisfy checkdoc.
6149
6150 * mh-loaddefs.el: Regenerated.
6151
6152 * mh-e.el (mh-inc-folder, mh-visit-folder, mh-read-msg-range):
6153 Handle nil value of mh-large-folder properly.
6154
6155 * mh-customize.el (mh-tool-bar-show-set, mh-tool-bar-letter-set)
6156 (mh-tool-bar-folder-set, mh-tool-bar-folder-buttons)
6157 (mh-invisible-headers, mh-invisible-header-fields-set): Checkdoc
6158 fixes.
6159 (mh-large-folder): Updated to allow for infinity. If
6160 mh-large-folder is nil then all folders are deemed small.
6161
61622002-12-23 Satyaki Das <satyaki@theforce.stanford.edu>
6163
6164 * mh-e.el (mh-inc-folder, mh-visit-folder): Emit a message if
6165 threading was suppressed because the number of messages exceed
6166 mh-large-folder.
6167
61682002-12-23 Peter S Galbraith <psg@debian.org>
6169
6170 * mh-utils.el (mh-invisible-headers): Deleted. Moved to
6171 mh-customize.el
6172
6173 * mh-customize.el (mh-invisible-header-fields): New
6174 defcustom. Simple user interface to change mh-invisible-headers.
6175 (mh-invisible-header-fields-set): New function called when
6176 mh-invisible-header-fields is set.
6177 (mh-invisible-headers): New function. Does the actual work of
6178 building the variable mh-invisible-headers from
6179 mh-invisible-header-fields.
6180 (mh-invisible-headers): defvar moved from mh-utils.el
6181
61822002-12-22 Satyaki Das <satyaki@theforce.stanford.edu>
6183
6184 * mh-speed.el (mh-speed-folder-size): Removed. Something very
6185 similar appears as mh-folder-size.
6186 (mh-speed-view): Simplified since the range selection logic has
6187 been moved to mh-read-msg-range.
6188 (mh-speed-parse-flists-output-line): Moved to mh-e.el as
6189 mh-parse-flist-output-line.
6190
6191 * mh-funcs.el (mh-pack-folder): Use the new mh-read-msg-range.
6192
6193 * mh-e.el (mh-rescan-folder): Use the new mh-read-msg-range.
6194 (mh-parse-flist-output-line): Moved from mh-speed.el where this
6195 function was called mh-speed-parse-flists-output-line.
6196 (mh-folder-size): Renamed from mh-speed-folder-size. The function
6197 has been made more general and can be called from any buffer and
6198 not just the speedbar buffer.
6199 (mh-visit-folder): Use the new mh-read-msg-range (addresses SF
6200 #655891).
6201 (mh-read-msg-range): Rewritten.
6202
62032002-12-21 Satyaki Das <satyaki@theforce.stanford.edu>
6204
6205 * mh-seq.el (mh-delete-subject-or-thread): New interactive
6206 function that intelligently deletes messages based on threading,
6207 if the folder is threaded, or on subject if folder isn't threaded.
6208
6209 * mh-utils.el (mh-show-delete-subject-or-thread): New interactive
6210 function, callable from the show buffer, to intelligently delete
6211 messages based on threading info or subject.
6212 (mh-show-mode-map): Change binding of "k" to call
6213 mh-show-delete-subject-or-thread.
6214
6215 * mh-e.el (mh-folder-mode-map): Change binding of "k" to call
6216 mh-delete-subject-or-thread.
6217
6218 * mh-comp.el (mh-letter-mode-map): Add key binding for
6219 mh-insert-identity.
6220
6221 * mh-loaddefs.el: Regenerated.
6222
62232002-12-21 Peter S Galbraith <psg@debian.org>
6224
6225 * mh-customize.el (mh-tool-bar-letter-set): Bug fix. The
6226 `tool-bar-add-item-from-menu' items were broken. I can't use my
6227 constants there.
6228
62292002-12-21 Peter S Galbraith <psg@debian.org>
6230
6231 * mh-alias.el (mh-alias-insert-file): Bug fix. I never checked
6232 that an AliasFile entry existed in .mh_profile.
6233
62342002-12-21 Peter S Galbraith <psg@debian.org>
6235
6236 * mh-customize.el (mh-alias-insertion-location): New defustom.
6237 Specifies where new aliases are entered in alias files.
6238
6239 * mh-alias.el (mh-alias-add-alias-to-file): Use it.
6240
62412002-12-21 Peter S Galbraith <psg@debian.org>
6242
6243 * mh-alias.el (mh-alias-add-alias-to-file): If ALIAS matches
6244 exactly, prompt to [i]nsert before old value or [a]ppend after it.
6245 (mh-alias-insert-file): Make sure we don't edit the passwd file.
6246 Add optional argument for alias; If ALIAS is specified and it
6247 already exists, try to return the file that contains it.
6248 (mh-alias-which-file-has-alias): New function. Return the name of
6249 writable file which defines ALIAS from list FILE-LIST.
6250 (mh-alias-add-alias): Remove prompts for case of alias already
6251 defined; done in mh-alias-add-alias-to-file.
6252
62532002-12-21 Satyaki Das <satyaki@theforce.stanford.edu>
6254
6255 * mh-speed.el (mh-speed-folders-actual): Fix bug in parsing of
6256 folder names that have spaces in them. The original function would
6257 truncate the folder name at the first space.
6258 (mh-speed-flists): Add -sequence option to flists. This guards
6259 against the user specifying something other than the unseen
6260 sequence in his .mh_profile.
6261 (mh-speed-parse-flists-output-line): New function that parses a
6262 single line in the output of flists to find the folder name and
6263 the counts of unseesn and total messages.
6264 (mh-speed-parse-flists-output): Fix parsing bug which truncates
6265 the folder names at the first space.
6266
6267 * mh-index.el (mh-index-generate-pretty-name): New function which
6268 generates a nicer name for the search results. It trims white
6269 space at the beginning and end and replaces white space with
6270 underscores within the search regexp.
6271 (mh-index-search): Use mh-index-generate-pretty-name.
6272
6273 * mh-loaddefs.el: Regenerated.
6274
62752002-12-20 Satyaki Das <satyaki@theforce.stanford.edu>
6276
6277 * mh-index.el (mh-index-new-folder): Add new folder to
6278 mh-folder-list to enable name completion.
6279 (mh-glimpse-execute-search, mh-swish-execute-search)
6280 (mh-swish++-execute-search): Fix documentation.
6281
6282 * mh-seq.el (mh-thread-generate): Fixed a stupid bug where the wrong
6283 folder could get 'scan'ed when generating the threaded view.
6284
6285 * mh-index.el (mh-index-search): If optional prefix arg is given
6286 then the search in the current index buffer is redone.
6287 (mh-glimpse-execute-search, mh-swish-execute-search)
6288 (mh-namazu-execute-search): Documentation fixes.
6289
6290 * mh-e.el (mh-index-previous-search): New buffer local variable
6291 stores parameters of search that created the buffer.
6292 (mh-folder-mode): Make mh-index-previous-search buffer local.
6293 (mh-visit-folder): Tweak the function so that only a single window
6294 with the folder buffer is shown if mh-showing-mode is nil.
6295
6296 * mh-loaddefs.el: Regenerated.
6297
62982002-12-19 Peter S Galbraith <psg@debian.org>
6299
6300 * mh-alias.el (mh-alias-add-alias): Bug fix.
6301
63022002-12-19 Peter S Galbraith <psg@debian.org>
6303
6304 * mh-alias.el (mh-alias-add-alias): New interactive command. Add
6305 ALIAS for ADDRESS in personal alias file.
6306 (mh-alias-grab-from-field): New interactive command. Add ALIAS for
6307 ADDRESS in personal alias file.
6308 (mh-alias-add-address-under-point): New interactive
6309 command. Insert an alias for email address under point.
6310 (mh-alias-suggest-alias): New function. Suggest an alias for STRING.
6311 (mh-alias-insert-file): New function. Return the alias file to
6312 write a new entry in.
6313 (mh-alias-address-to-alias): New function. Return the ADDRESS
6314 alias if defined, or nil."
6315 (mh-alias-from-has-no-alias-p): New function. Return t is From has
6316 no current alias set. Used as tool-bar button enable function.
6317 (mh-alias-add-alias-to-file): New function. Add ALIAS for ADDRESS
6318 in alias FILE without alias check or prompts.
6319
6320 * alias.xpm, alias.pbm: New tool-bar icon for
6321 mh-alias-grab-from-field.
6322
6323 * mh-e.el (mh-folder-line-matches-show-buffer-p): New function.
6324 Return t if the message under point in folder-mode is in the show
6325 buffer.
6326
6327 * mh-utils.el (mh-goto-address-find-address-at-point): New
6328 function copied from goto-addr.el, which we don't want to
6329 force-load on users. Find e-mail address around or before point.
6330 (mh-address-mail-regexp): New defvar. A regular expression
6331 probably matching an e-mail address.
6332
6333 * mh-customize.el (mh-alias-insert-file): New defcustom.
6334 Filename to use to store new MH-E aliases.
6335 (mh-tool-bar-folder-buttons): Enable mh-tool-bar-item-alias icon.
6336
6337 * mh-comp.el (mh-extract-from-header-value): New function.
6338 Extract From: string from header.
6339
63402002-12-19 Satyaki Das <satyaki@theforce.stanford.edu>
6341
6342 * mh-index.el (mh-index-update-single-msg): New defvar controls
6343 max number of command line args.
6344 (mh-index-execute): New function which is to be used
6345 instead of xargs so that we don't give the shell too many command
6346 line args.
6347 (mh-index-update-maps): Use mh-index-execute instead of xargs.
6348 (mh-index-search): Remove unused code. Also the first message in
6349 folder buffer is made current.
6350
63512002-12-18 Peter S Galbraith <psg@debian.org>
6352
6353 * mh-loaddefs.el: Regenerated.
6354
6355 * mh-comp.el (mh-letter-tool-bar-map): Moved to mh-customize.el
6356
6357 * mh-e.el (mh-folder-tool-bar-map): Moved to mh-customize.el
6358
6359 * mh-utils.el (mh-get-msg-num): autoloaded.
6360 (mh-show-tool-bar-map): Moved to mh-customize.el
6361
6362 * mh-customize.el (mh-tool-bar-item-*): 33 new defconsts for
6363 tool-bar setup and customization.
6364 (mh-tool-bar-folder-buttons-set): New function to setup the
6365 tool-bar after customization.
6366 (mh-tool-bar-folder-buttons): New defcustom to specify which icons
6367 appears in the tool-bar.
6368 (mh-tool-bar-letter-buttons-set): New function to setup the
6369 tool-bar after customization.
6370 (mh-tool-bar-letter-buttons): New defcustom to specify which icons
6371 appears in the tool-bar.
6372 (mh-tool-bar-show-set): New function to setup mh-letter-tool-bar-map.
6373 (mh-tool-bar-letter-set): New function to setup
6374 mh-letter-tool-bar-map.
6375
63762002-12-18 Satyaki Das <satyaki@theforce.stanford.edu>
6377
6378 * mh-e.el (mh-folder-mode-map): Change entries for "\t", "\M-\t"
6379 and backtab to call mh-index-next-folder and
6380 mh-index-previous-folder as appropriate.
6381
6382 * mh-index.el (mh-index-next-folder, mh-index-previous-folder):
6383 New interactive functions which jumps to search results of next
6384 and previous folders respectively.
6385
6386 * mh-loadddefs.el: Regenerated.
6387
6388 * mh-index.el (mh-index-delete-folder-headers): Arrange for
6389 mh-goto-cur-msg to just go to the current message.
6390
6391 * mh-e.el (mh-visit-folder): Since mh-scan-folder erases the whole
6392 buffer anyway, we don't need to delete the folder headers. Also
6393 index-data is non-nil only when the buffer folder doesn't exist.
6394 So we need to call mh-make-folder.
6395 (mh-folder-mode): Fix bug in that mh-index-checksum-origin-map was
6396 not being made buffer local!
6397
63982002-12-17 Satyaki Das <satyaki@theforce.stanford.edu>
6399
6400 * mh-e.el (mh-visit-folder): Fix bug.
6401
6402 * mh-index.el (mh-md5sum-buffer): Buffer from which md5sum is run.
6403 (mh-index-folder-first, mh-index-folder-last)
6404 (mh-index-original-msg-list): Convenience macros aren't needed
6405 anymore since the data structure has been changed.
6406 (mh-index-update-single-msg): New function to update maps that
6407 relate MD5 checksums to actual messages and vice-versa for a
6408 single message.
6409 (mh-index-update-maps): Do the above for all messages. If some
6410 messages don't have MD5 checksums, they are annotated with the
6411 result of md5sum.
6412 (mh-index-search): Updated for the new version of mh-index-data.
6413 (mh-msg-exists-p): New function to test a message exists.
6414 (mh-index-insert-folder-headers): Updated for new mh-index-data.
6415 (mh-index-delete-folder-headers): New function used to eliminate
6416 original folder names from the buffer and make it look like a
6417 plain folder buffer. This is used from mh-process-commands.
6418 (mh-index-visit-folder): Use new version of mh-index-data.
6419 (mh-index-match-checksum): New function which checks if the
6420 X-MHE-Checksum header of a message matches.
6421 (mh-index-execute-commands): New function that rmm's the original
6422 messages. Then after mh-execute-commands executes it will seem
6423 that the original messages were executed upon. This completes the
6424 fix of SF #623321.
6425 (mh-checksum-buffer): Renamed from mh-md5sum-buffer.
6426 (mh-checksum-cmd, mh-checksum-parser): New globals to allow
6427 different checksum programs to be used.
6428 (mh-checksum-choose): New functions to find a checksum program.
6429 (mh-openssl-parser, mh-md5sum-parser, mh-md5-parser): Functions to
6430 parse the output of md5, md5sum and openssl.
6431 (mh-index-update-maps): Use checksum parsing function.
6432 (mh-index-search): Set checksum choice. Add a call to recenter,
6433 otherwise the window point in the index buffer doesn't get set
6434 properly.
6435
6436 * mh-funcs.el (mh-pack-folder, mh-sort-folder): Enable these
6437 functions in folders created by index search.
6438
6439 * mh-e.el (mh-index-msg-checksum-map)
6440 (mh-index-checksum-origin-map): New buffer local variables that
6441 keep track of message checksums (used to implement
6442 refiling/deletion for folders created by index folders).
6443 (mh-last-msg): Make the function behave like mh-first-msg.
6444 (mh-visit-folder): Add new optional argument which initializes
6445 folders created by mh-index-search.
6446 (mh-folder-mode): Make the variables mh-index-msg-checksum-map and
6447 mh-index-checksum-origin-map buffer local.
6448 (mh-process-commands): Call mh-index-execute-commands when called
6449 from an index search buffer. This will reflect the changes being
6450 made in the search folder to the original folders.
6451
6452 * mh-loaddefs.el: Regenerated.
6453
64542002-12-16 Satyaki Das <satyaki@theforce.stanford.edu>
6455
6456 * mh-index.el (mh-index-insert-folder-headers): Fix a bug which
6457 caused the folder buffer to be marked as modified after rescanning
6458 an index folder.
6459
64602002-12-15 Satyaki Das <satyaki@theforce.stanford.edu>
6461
6462 * mh-e.el (mh-visit-folder): The function should insert folder
6463 names if it is visiting a folder created by index search.
6464
6465 * mh-index.el (mh-index-insert-folder-headers): The function now
6466 maintains the old value of buffer-modified-p and temporarily makes
6467 the buffer writable.
6468
6469 * mh-utils.el (mh-show-index-visit-folder): New interactive
6470 function callable from show buffer that displays search results
6471 from one folder.
6472 (mh-show-mode-map): Key binding for "v".
6473
6474 * mh-speed.el: Fix credits.
6475 (mh-index-folder-speedbar-buttons)
6476 (mh-index-show-speedbar-buttons)
6477 (mh-index-folder-speedbar-key-map)
6478 (mh-index-show-speedbar-key-map)
6479 (mh-index-folder-speedbar-menu-items)
6480 (mh-index-show-speedbar-menu-items): Removed since the modes
6481 mh-index-folder-mode and mh-index-show-mode no longer exist.
6482 (mh-speed-extract-folder-name): Remove the bits about
6483 mh-index-folder-mode and mh-index-show-mode.
6484
6485 * mh-seq.el (mh-copy-seq-to-eob): Updated to work properly with
6486 index search results.
6487 (mh-region-to-msg-list): Skip over non-scan lines.
6488 (mh-thread-inc, mh-thread-add-spaces, mh-thread-folder): Skip
6489 non-scan lines when populating mh-thread-scan-line-map.
6490 (mh-thread-folder, mh-toggle-threads): Move the check for buffer
6491 modification from mh-thread-folder to mh-toggle-threads.
6492 (mh-toggle-threads): When returning to unthreaded view insert the
6493 folder names if called from a index folder.
6494
6495 * mh-index.el: Fix credits and update commentary.
6496 (font-lock-defaults, mh-index-buffer, mh-index-show-buffer)
6497 (mh-index-ma-x-msg-index, mh-index-other-buffer)
6498 (mh-index-matches, mh-index-previous-window-configuration)
6499 (mh-index-current-msg, mh-index-folder-mode-keymap)
6500 (mh-index-button-map, mh-index-folder-mode-help-messages): Remove
6501 eliminated variables.
6502 (mh-index-folder): New variable sets the MH folder under which the
6503 index searches are stored.
6504 (mh-index-folder-first, mh-index-folder-last)
6505 (mh-index-original-msg-list): Convenience macros used to pull data
6506 elements out of a list. If needed setf can be used to change them
6507 as well.
6508 (mh-index-search): Rewritten to create real folders where all the
6509 normal folder operation. This partially fixes SF #623321 (refiles
6510 and deletes doesn't work on original messages).
6511 (mh-index-find-max-width, mh-index-search-again)
6512 (mh-index-insert-scan, mh-index-callback, mh-index-search)
6513 (mh-index-notate, mh-index-show, mh-index-header-display)
6514 (mh-index-next, mh-index-folder-mode, mh-index-show-mode):
6515 Functions, macros and modes removed.
6516 (mh-folder-exists-p): New function to check if a folder exists.
6517 (mh-index-new-folder): Generate a new folder name from a given
6518 base string that mimics the way emacs generates buffer names.
6519 (mh-index-insert-folder-headers): Insert folder names among the
6520 search results.
6521 (mh-index-visit-folder): New interactive function to show the
6522 search results of one individual folder.
6523 (mh-swish++-execute-search): Update documentation.
6524
6525 * mh-funcs.el (mh-pack-folder, mh-sort-folder): Disable these
6526 functions if index search results are being viewed.
6527
6528 * mh-e.el (mh-folder-font-lock-keywords): Add highlight for
6529 folder.
6530 (mh-index-data): New buffer local variable that will be used to
6531 store info about index search results.
6532 (mh-rescan-folder): Implement rescanning for index search results.
6533 (mh-folder-mode): Make mh-index-data buffer local.
6534 (mh-remove-all-notation): Modified to take into account not all
6535 lines in the folder buffer are normal scan lines.
6536 (mh-folder-mode-map): Add key binding for "v" to jump to original
6537 folder narrowed to search results.
6538
6539 * mh-customize.el (mh-index-folder-face): Make it bold so that it
6540 will look like before.
6541
6542 * mh-loaddefs.el: Regenerated.
6543
65442002-12-12 Satyaki Das <satyaki@theforce.stanford.edu>
6545
6546 * mh-seq.el (mh-map-to-seq-msgs): Modified so that it can be given
6547 a list of messages in addition to a sequence.
6548 (mh-region-to-sequence, mh-region-to-msg-list): The function
6549 mh-region-to-msg-list replaces mh-region-to-sequence. The new
6550 function avoids creating a dummy sequence in MH-E.
6551 (mh-thread-delete, mh-thread-refile, mh-put-msg-in-seq): Modified
6552 to use mh-region-to-msg-list.
6553
6554 * mh-funcs.el (mh-copy-msg): Modified to use mh-region-to-msg-list.
6555
6556 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Modified to use
6557 mh-region-to-msg-list.
6558
6559 * mh-comp.el (mh-forward): Modified to use mh-region-to-msg-list.
6560 The buffer-local variable mail-header-separator is no longer
6561 bound. This fixes a bug where the default value of
6562 mail-header-separator gets used if mh-forward is called in a fresh
6563 emacs session.
6564 (mh-annotate-msg): Update this so that it will handle message
6565 lists too.
6566 (mh-insert-letter): Make the test stronger. Since %d is being used
6567 the argument better be an integer.
6568
6569 * mh-loaddefs.el: Regenerated.
6570
65712002-12-11 Satyaki Das <satyaki@theforce.stanford.edu>
6572
6573 * mh-funcs.el (mh-copy-msg): Add support for transient-mark-mode.
6574 If mark is active and transient-mark-mode is enabled then all the
6575 messages in the region are copied.
6576
6577 * mh-seq.el (mh-list-sequences): Use mh-coalesce-msg-list to print
6578 messages in sequence nicely. The prompt for the folder is removed
6579 (the current folder is always used) and the output is made nicer
6580 by not overflowing the screen width.
6581
6582 * mh-loaddefs.el: Regenerated.
6583
65842002-12-09 Satyaki Das <satyaki@theforce.stanford.edu>
6585
6586 * mh-comp.el (mh-letter-complete): Checkdoc fix.
6587
6588 * mh-seq.el (mh-thread-current-indentation-level): New function
6589 which returns the thread indentation level of current message.
6590 (mh-thread-next-sibling, mh-thread-previous-sibling): New
6591 interactive functions to jump to the next and previous siblings in
6592 thread tree respectively.
6593 (mh-thread-immediate-ancestor): New function to jump to ancestor
6594 of current message in thread tree.
6595 (mh-thread-ancestor): New interactive function to jump to
6596 immediate ancestor or to root message of current thread depending
6597 on optional argument.
6598
6599 * mh-utils.el (mh-show-thread-ancestor)
6600 (mh-show-thread-next-sibling, mh-show-thread-previous-sibling):
6601 Interactive functions callable from the show buffer.
6602 (mh-show-thread-map): Bindings for Tu, Tp and Tn.
6603
6604 * mh-e.el (mh-thread-map): Bindings for Tu, Tp and Tn.
6605
6606 * mh-loaddefs.el: Regenerated.
6607
66082002-12-09 Satyaki Das <satyaki@theforce.stanford.edu>
6609
6610 * mh-seq.el (mh-region-to-sequence): Change name of region
6611 sequence created to 'mhe-region. This avoids any chance of
6612 collision with actual MH sequences.
6613 (mh-put-msg-in-seq, mh-thread-delete, mh-thread-refile): Change
6614 name of region sequence used to 'mhe-region. Also delete the
6615 'mhe-region sequence when done.
6616
6617 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Same as above.
6618
6619 * mh-comp.el (mh-forward): Same as above.
6620
6621 * mh-loaddefs.el: Regenerated.
6622
66232002-12-08 Bill Wohler <wohler@newt.com>
6624
6625 * mh-alias.el: Edited documentation. Broke up file into 2
6626 sections: Alias Loading and Alias Expansion. Made terminology
6627 consistent (replaced expand, substitute, and translate with
6628 expand).
6629 (mh-alias-reload): Brought message in line with coding conventions
6630 and made more concise too.
6631 (mh-alias-translate): Renamed to mh-alias-expand.
6632 (mh-alias-substitute-aliases-flag): Renamed to
6633 mh-alias-expand-aliases-flag.
6634 (mh-alias-reload-local-users): Renamed to mh-alias-local-users.
6635 Now just returns an alist of local users rather than have
6636 side-effects.
6637 (mh-alias-reload): Set timestamp at beginning of function to catch
6638 edge case when alias added just after ali runs. Changed logic to
6639 reflect return value of mh-alias-local-users.
6640
6641 * mh-customize.el (mh-alias-substitute-aliases-flag): Renamed to
6642 mh-alias-expand-aliases-flag.
6643 (mh-alias-local-users): Fixed documentation.
6644
6645 * mh-loaddefs.el: Regenerated
6646
66472002-12-08 Satyaki Das <satyaki@theforce.stanford.edu>
6648
6649 * mh-e.el (require): Load Gnus at compile time so that the
6650 constant gnus-version is defined when MH-E is being compiled.
6651 (mh-macro-expansion-time-gnus-version, mh-run-time-gnus-version):
6652 Use the constant gnus-version instead of the function gnus-version
6653 to find out about gnus version information.
6654 (gnus-version): Remove the autoload since it is not needed any
6655 more.
6656
66572002-12-08 Bill Wohler <wohler@newt.com>
6658
6659 * mh-e.el (mh-version): Moved compilation information in front of
6660 Emacs information. The idea is that you start at MH-E and move
6661 outwards. Show N/A if Gnus not compiled (be explicit). Matched
6662 coding style with other output statements. (Aside: not that
6663 efficiency matters here, but fewer calls to format have to be
6664 faster, right? ;-). Matched output style of old output to new
6665 statement--liked Satyaki's indentation better ;-).
6666
66672002-12-08 Satyaki Das <satyaki@theforce.stanford.edu>
6668
6669 * mh-e.el (gnus-version): Autoload the function for use in
6670 mh-version.
6671 (mh-macro-expansion-time-gnus-version): New macro that finds the
6672 Gnus version at macro expansion time.
6673 (mh-run-time-gnus-version): New function to find the Gnus version
6674 at run time.
6675 (mh-version): Add information about Gnus versions available at
6676 compile time and run time.
6677
66782002-12-07 Peter S Galbraith <psg@debian.org>
6679
6680 * mh-alias.el (mh-alias-ali): Add optional argument. if USER is
6681 t, then assume ALIAS is an address and call ali with option -user.
6682
6683 * mh-alias.el (mh-alias-filenames): if ARG is t, appends list of
6684 files from `mh-alias-system-aliases' to output list obtained from
6685 mhparam output user list only.
6686 (mh-alias-tstamp): Use it.
6687
66882002-12-05 Satyaki Das <satyaki@theforce.stanford.edu>
6689
6690 * mh-mime.el (mh-inline-vcard-p): A new function which decides if
6691 a vcard should be displayed inline.
6692 (mh-mime-display-single): Use mh-inline-vcard-p to display
6693 attached vcard as a signature if no other signature is present
6694 (this partially addresses SF #649216).
6695
66962002-12-05 Peter S Galbraith <psg@debian.org>
6697
6698 * mh-comp.el (mh-send-letter): Edits docs for mh-mml-to-mime
6699 getting run if variable `mh-mml-compose-insert-flag' is set.
6700 (mh-get-header-field): use buffer-substring-no-properties instead
6701 of buffer-substring.
6702
67032002-12-04 Peter S Galbraith <psg@debian.org>
6704
6705 * mh-loaddefs.el: Regenerated.
6706
6707 * mh-customize.el (mh-customize): Add ;;;###mh-autoload tag.
6708
67092002-12-04 Peter S Galbraith <psg@debian.org>
6710
6711 * mh-loaddefs.el: Regenerated.
6712
6713 * mh-comp.el (mh-letter-complete): New command to do alias or word
6714 completion in letter-mode.
6715 (mh-letter-mode-map): Add \M-\t binding for mh-letter-complete.
6716
6717 * mh-alias.el (mh-alias-letter-mode-expand-alias-hook): Obsolete.
6718 Replaced by mh-letter-complete command.
6719 (mh-alias-reload-maybe): New function to rebuild alias table if
6720 out of date.
6721 (mh-alias-letter-expand-alias): No longer interactive. Use
6722 mh-letter-complete instead.
6723
67242002-12-04 Peter S Galbraith <psg@debian.org>
6725
6726 * mh-customize.el (mh-letter-complete-function): New defcustom.
6727 Function to call when completing outside of fields specified to
6728 aliases.
6729
6730 * mh-alias.el (mh-alias-filenames):
6731 s/mh-mhparam-component/mh-profile-component/
6732 (mh-profile-component): Move to mh-utils.el and make interactive.
6733 (mh-read-address): Make it autoloaded.
6734
6735 * mh-loaddefs.el: Regenerated.
6736
6737 * mh-comp.el (mh-read-address): Removed. Replaced by mh-alias
6738 version.
6739
6740 * mh-utils.el (mh-profile-component): Moved from mh-alias.el.
6741
67422002-12-04 Satyaki Das <satyaki@theforce.stanford.edu>
6743
6744 * mh-seq.el (mh-msg-is-in-seq): Formatting change.
6745
6746 * mh-index.el (mh-index-insert-scan): Remove unused variable.
6747
67482002-12-04 Bill Wohler <wohler@newt.com>
6749
6750 * mh-loaddefs.el: Regenerated.
6751
6752 * Makefile (MH-E-SRC): Moved mh-loaddefs.el into MH-E-LOADDEFS as
6753 this was causing a cycle.
6754 (MH-E-LOADDEFS): New variable to house mh-loaddefs.el.
6755 (emacs): Reintroduced autoloads.
6756 (autoloads): We're baaa-aack!
6757 (dist, install-emacs): Use MH-E-LOADDEFS.
6758
6759 * mh-comp.el (mh-customize): Moved to mh-customize.el.
6760
6761 * mh-customize.el (mh-customize): Moved here from mh-comp. Makes
6762 more sense, doesn't it?
6763
6764 * mh-alias.el, mh-comp.el, mh-e.el, mh-index.el, mh-mime.el,
6765 mh-pick.el, mh-speed.el: Added mh-autoload cookie to all
6766 interactive functions.
6767
67682002-12-04 Satyaki Das <satyaki@theforce.stanford.edu>
6769
6770 * Makefile (world): Remove target.
6771 (mh-loaddefs.el): Add comment that only GNU Emacs can be used to
6772 regenerate mh-loaddefs.el.
6773
6774 * mh-make.el: Removed.
6775
67762002-12-04 Mark D. Baushke <mdb@gnu.org>
6777
6778 * mh-e.el (recursive-load-depth-limit): Only modify the limit
6779 if it is an integer.
6780
67812002-12-04 Peter S Galbraith <psg@debian.org>
6782
6783 * mh-utils.el (mh-header-field-beginning): New function. Move to
6784 the beginning of the current header field.
6785
67862002-12-04 Satyaki Das <satyaki@theforce.stanford.edu>
6787
6788 * mh-make.el (mh-files): Read in the MH-E filenames from the
6789 environment variable where the Makefile puts it.
6790 (mh-generate-autoloads, step2): Simplified since we now have the
6791 complete file names.
6792
6793 * Makefile (world): Pass the MH-E files into the script, so that
6794 the filenames don't need to be repeated in the script.
6795
67962002-12-04 Bill Wohler <wohler@newt.com>
6797
6798 * mh-loaddefs.el: New file. Check in automatically generated file
6799 and include in package for the benefit of those who don't want to
6800 or can't compile.
6801
6802 * Makefile (MH-E-SRC): Added mh-loaddefs.el now that it is checked
6803 in and will be packaged.
6804 (emacs): Removed autoloads. Adding mh-loaddefs.el to MH-E-SRC is
6805 sufficient to build it.
6806 (compile): Depend on MH-E-SRC instead of MH-E-OBJ and pass $? into
6807 emacs so that Emacs is only invoked once to compile files. This
6808 speeds things up by a factor of 3. It would be nice to only pass
6809 those files that have been modified, but Emacs 21.4 will have
6810 batch-byte-compile-if-not-done which we might be able to copy into
6811 mh-make.el (or my proposed mh-e-dev.el which would be more
6812 general-purpose).
6813 (.SUFFIXES): Removed. Now that compile works directly on the
6814 sources, the implicit rule is obsolete.
6815 (autoloads): Deleted. See emacs change above.
6816
68172002-12-03 Bill Wohler <wohler@newt.com>
6818
6819 * Makefile (MH-E-SRC, emacs):
6820
68212002-12-03 Satyaki Das <satyaki@theforce.stanford.edu>
6822
6823 * mh-make.el (mh-emacs): Make failing condition more strict.
6824 (mh-loaddefs-end): Remove redundant statement.
6825
6826 * Makefile (world): A little typo. The bug didn't seem to make any
6827 difference though.
6828
6829 * mh-make.el: New script that compiles MH-E.
6830 (mh-loaddefs-beginning, mh-loaddefs-end): Don't save the autoloads
6831 file in between. Only save at the end.
6832 (mh-emacs-generate-autoloads, mh-xemacs-generate-autoloads)
6833 (mh-generate-autoloads): Replace the separate functions in Emacs
6834 and XEmacs with one that works in both variants. This simplifies
6835 the script a lot.
6836 (mh-generate-autoloads): doc fix.
6837
6838 * Makefile (world): New target which works for both GNU Emacs and
6839 XEmacs.
6840
68412002-12-03 Peter S Galbraith <psg@debian.org>
6842
6843 * mh-alias.el (mh-mhparam-component): Don't raise error if call to
6844 mhparam fails.
6845
6846 * mh-alias.el (mh-alias-letter-expand-alias): Build alias table if
6847 not already available.
6848
68492002-12-03 Bill Wohler <wohler@newt.com>
6850
6851 * mh-customize.el (mh-show-threads-flag): Alphabetized.
6852
68532002-12-03 Jeffrey C Honig <jch@honig.net>
6854
6855 * Makefile: Moved .PHONY rule after all rule for compatibility
6856 with BSD/OS's old pmake.
6857
68582002-12-03 Mark D Baushke <mdb@gnu.org>
6859
6860 * mh-e.el (mh-get-new-mail): Simplify no-new-mail test.
6861 (mh-add-cur-notation): Remove unnecessary function.
6862
68632002-12-03 Peter S Galbraith <psg@debian.org>
6864
6865 * mh-identity.el (mh-identity-make-menu): Check if
6866 'mh-letter-mode-map' is bound, since this code also gets run when
6867 mh-customize.el is loaded at startup.
6868
68692002-12-03 Satyaki Das <satyaki@theforce.stanford.edu>
6870
6871 * mh-customize.el (mh-show-threads-flag): New customizable
6872 variable which controls if new folders start of in threaded mode
6873 (closes SF #646794).
6874
6875 * mh-e.el (mh-rescan-folder): Fix the function so that threading
6876 is preserved across rescans.
6877 (mh-visit-folder, mh-inc-folder): The folder is threaded if it was
6878 already threaded or if mh-show-threads-flag is non-nil and the
6879 number of scan lines is fewer than mh-large-folders (closes SF
6880 #646794).
6881
68822002-12-02 Mark D Baushke <mdb@gnu.org>
6883
6884 * mh-e.el (mh-add-cur-notation): New function to mark the
6885 current message with the mh-note-cur character.
6886 (mh-get-new-mail): Use mh-add-cur-notation to undo the work of
6887 mh-remove-cur-notation if there was no new mail (closes SF #647681).
6888
6889 * mh-e.el (mh-set-cmd-note): Do not update the default mh-cmd-note
6890 value (closes SF #643701).
6891
68922002-12-02 Peter S Galbraith <psg@debian.org>
6893
6894 * mh-alias.el (mh-alias-reload): Renamed from mh-alias-learn-aliases.
6895 (mh-alias-load-local-users): Renamed from mh-alias-learn-local-users.
6896 (mh-alias-passwd-alist): New variable, holding aliases extracted
6897 from the passwd file.
6898 (mh-alias-tstamp): New variable storing the timestamp for alias
6899 list generation.
6900 (mh-read-address, mh-alias-reload, mh-alias-reload-local-users):
6901 Complete rewrite.
6902 (mh-alias-minibuffer-confirm-address): Use mh-alias-translate.
6903 (mh-alias-translate): New function. Return translation for alias,
6904 checking if in blind or passwd list.
6905 (mh-alias-letter-expand-alias): Rewrite using
6906 mail-abbrev-complete-alias from mailabbrev.el
6907 (mh-alias-expand-alias-map): New variable.
6908 (mh-alias-ali): New function. Return formatted string of
6909 translated ALIAS from ali.
6910 (mh-mhparam-component): New function. Return COMPONENT value from
6911 mhparam, or nil if unset.
6912 (mh-alias-filenames): New function. Provide list of alias
6913 filenames from mhparam, or nil if none are set.
6914
6915 * mh-customize.el (mh-alias-display-blind-name-on-completion-flag):
6916 Obsoleted.
6917 (mh-alias-timestamp): Renamed to mh-alias-system-aliases.
6918
69192002-12-02 Bill Wohler <wohler@newt.com>
6920
6921 * Makefile (mh-loaddefs.el): Suppress creation of backup file.
6922
69232002-12-02 Mark D. Baushke <mdb@gnu.org>
6924
6925 * Makefile (mh-loaddefs.el): Simplify rule.
6926
6927 * Makefile (clean): Remove mh-loaddefs.el* for good measure.
6928 ($(MH-E-OBJ)): Depend on mh-loaddefs.el to compile these.
6929 (autoloads, mh-loaddefs.el): Revamp rules.
6930 (mh-loaddefs.el-tail, autoloads-gen): Remove rules.
6931
6932 * mh-e.el (recursive-load-depth-limit): Do not try to
6933 bump the value unless the variable exists.
6934
6935 * mh-e.el (recursive-load-depth-limit): Bump value of
6936 recursive-load-depth-limit to 50 to allow emacs 21.1 which
6937 normally has a default value of 10 to be able to compile MH-E.
6938
69392002-12-02 Satyaki Das <satyaki@theforce.stanford.edu>
6940
6941 * mh-funcs.el (mh-pack-folder, mh-sort-folder): Fix the functions
6942 so that threading is preserved (needed for SF #646794).
6943
6944 * mh-identity.el (mh-identity-signature-start)
6945 (mh-identity-signature-end): Checkdoc fixes.
6946
6947 * mh-e.el (mh-previous-unread-msg, mh-next-unread-msg): Checkdoc
6948 fixes.
6949
69502002-12-01 Satyaki Das <satyaki@theforce.stanford.edu>
6951
6952 * mh-identity.el (compile): Make mh-identity.el compile without
6953 warnings.
6954
6955 * mh-e.el (mh-previous-unread-msg, mh-next-unread-msg): New
6956 interactive functions that go to next and previous unread
6957 messages (closes SF #630328).
6958 (mh-folder-mode-map): Add key bindings for M-n and M-p to
6959 mh-folder-mode-map.
6960
6961 * mh-utils.el (mh-show-next-unread-msg)
6962 (mh-show-previous-unread-msg): New interactive functions that go
6963 to the next and previous unread messages respectively. These are
6964 callable from the show buffer.
6965 (mh-show-mode-map): Add key bindings for M-n and M-p to
6966 mh-show-mode-map.
6967
69682002-12-01 Bill Wohler <wohler@newt.com>
6969
6970 * mh-mime.el (mh-defun-compat): Make it indent like a defun.
6971
6972 * mh-index.el (mh-defun-index): Make it indent like a defun.
6973
6974 * mh-customize.el: New file (closes SF #643722).
6975
6976 * Makefile (MH-E-SRC): Added mh-customize.el (closes SF #643722).
6977
6978 * mh-speed.el, mh-pick.el, mh-mime.el, mh-index.el, mh-e.el,
6979 mh-comp.el: Moved all defgroups, defcustoms, and deffaces to
6980 mh-customize.el (closes SF #643722).
6981
6982 * mh-utils.el (mh-xemacs-flag): Moved here from below since
6983 needed by mh-customize.el.
6984 (mh-customize): Required. mh-invisible-headers)
6985 (mh-bury-show-buffer-flag, mhl-formfile):
6986 Moved all defgroups, defcustoms, and deffaces to mh-customize.el
6987 (closes SF #643722) .
6988
6989 * mh-identity.el (mh-comp-loaded): New variable in a desparate
6990 attempt to prevent an infinite loop.
6991 (eval-when-compile): Was able to remove these defvars as they are
6992 now predefined in mh-loaddefs and mh-customize.
6993 (mh-identity-list-set): Added ;;;###mh-autoload cookie.
6994 Moved all defgroups, defcustoms, and deffaces to mh-customize.el
6995 (closes SF #643722).
6996
6997 * mh-alias.el (mh-e): Require this, as it needs defcustoms, which
6998 is in mh-customize which is required by mh-utils which is required
6999 by mh-e.
7000 Moved all defgroups, defcustoms, and deffaces to mh-customize.el
7001 (closes SF #643722).
7002
70032002-11-30 Satyaki Das <satyaki@theforce.stanford.edu>
7004
7005 * mh-e.el (mh-thread-map): Add key bindings "Td" and "To" (closes
7006 SF #630493).
7007 (mh-help-messages): Update help message for prefix map.
7008 (mh-help-messages): Doc fix.
7009 (mh-help-messages): Really fix it.
7010
7011 * mh-utils.el (mh-show-thread-delete, mh-show-thread-refile): New
7012 interactive functions corresponding to mh-thread-delete and
7013 mh-thread-refile callable from the show buffer.
7014 (mh-show-thread-map): Add key bindings for "Td" "To".
7015
7016 * mh-seq.el (mh-narrow-to-seq, mh-put-msg-in-seq, mh-rename-seq)
7017 (mh-narrow-to-subject, mh-delete-subject, mh-toggle-threads): Add
7018 mh-autoload cookies.
7019 (mh-thread-find-children): New function which finds the region
7020 containing all children of a message.
7021 (mh-thread-delete): New interactive function that marks for
7022 deletion the current message and its children.
7023 (mh-thread-refile): New interactive function that marks for
7024 refiling the current message and its children.
7025
70262002-11-30 Bill Wohler <wohler@newt.com>
7027
7028 * mh-funcs.el, mh-identity.el, mh-index.el, mh-pick.el, mh-seq.el:
7029 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
7030 Added ;;;###mh-autoload tag to selected functions so that
7031 autoloads for those functions can be automatically created in
7032 mh-loaddefs.el (closes half of SF #643722).
7033
7034 * mh-mime.el (mh-buffer-data): Moved to mh-utils where it is used.
7035 Added ;;;###mh-autoload tag to selected functions so that
7036 autoloads for those functions can be automatically created in
7037 mh-loaddefs.el (closes half of SF #643722)..
7038
7039 * mh-utils.el (mh-loaddefs): Added require.
7040 (mh-buffer-data): Moved here from mh-mime.el as it is used in
7041 mh-display-msg.
7042 (mh-set-cmd-note): Moved to mh-e.el.
7043 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
7044 Added ;;;###mh-autoload tag to selected functions so that
7045 autoloads for those functions can be automatically created in
7046 mh-loaddefs.el (closes half of SF #643722)..
7047
7048 * mh-e.el (mh-set-cmd-note): Moved here from mh-utils.el since it
7049 uses mh-scan-format-file which is defined here.
7050 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
7051 Added ;;;###mh-autoload tag to selected functions so that
7052 autoloads for those functions can be automatically created in
7053 mh-loaddefs.el (closes half of SF #643722)..
7054
7055 * mh-comp.el, mh-speed.el (mh-utils): Removed require. mh-utils is
7056 provided via mh-e.el.
7057 Removed MH-E autoloads. These are now provided by mh-loaddefs.el.
7058 Added ;;;###mh-autoload tag to selected functions so that
7059 autoloads for those functions can be automatically created in
7060 mh-loaddefs.el (closes half of SF #643722)..
7061
7062 * Makefile (emacs): Add dependency on autoloads.
7063 (clean): Remove mh-loaddefs.el too.
7064 (autoloads): New target. Builds mh-loaddefs.el.
7065 (mh-loaddefs.el): New target. Initializes mh-loaddefs.el.
7066 (mh-loaddefs.el-tail): New target. Appends to mh-loaddefs.el.
7067 (autoloads-gen): Runs batch-update-autoloads to populate
7068 mh-loaddefs.el (closes half of SF #643722)..
7069 (auto-autoloads.elc): Renamed from autoloads to be explicit about
7070 file that's created.
7071 (custom-load.elc): Ditto.
7072
70732002-11-30 Satyaki Das <satyaki@theforce.stanford.edu>
7074
7075 * mh-seq.el (mh-thread-last-ancestor): New variable which keeps
7076 track of oldest ancestor of last message. If due to narrowing the
7077 common ancestor of two messages is lost then one of them is
7078 promoted to be the parent of the other. This variable helps in
7079 this process.
7080 (mh-thread-generate-scan-lines): Group messages which belong to
7081 the same thread tree, even if a common ancestor is no longer
7082 present.
7083 (mh-thread-folder, mh-copy-seq-to-eob, mh-thread-inc): Bind
7084 mh-thread-last-ancestor to nil when calling
7085 mh-thread-generate-scan-lines.
7086
7087 * mh-mime.el (font-lock): Font-lock required at compile time to
7088 avoid warning about font-lock-maximum-size
7089 (mh-display-smileys, mh-display-emphasis): Show graphical smileys
7090 and emphasis only if message isn't too large.
7091
7092 * mh-e.el (mh-visit-folder): Revisiting a buried folder which has
7093 been threaded or narrowed confuses MH-E. Even though the folder is
7094 displayed as not threaded and not narrowed, MH-E still believes
7095 the folder is in the previous state. This can cause problems when
7096 trying to narrow/thread the folder. The change fixes this.
7097
7098 * mh-mime.el (mh-mime-display-alternative): The setting of
7099 mh-display-buttons-for-inline-parts-flag was not being used when
7100 displaying one of the alternatives. This change fixes that.
7101
7102 * mh-comp.el (mh-show-buffer-message-number): Replace subseq with
7103 substring.
7104 (mh-filter-out-non-text): When filtering out MIME buttons from
7105 yanked text, the last line of the MIME part was getting lost. The
7106 fix avoids that and removes only the last new line instead.
7107
71082002-11-29 Peter S Galbraith <psg@debian.org>
7109
7110 * Makefile (MH-E-SRC): Add mh-alias.
7111
7112 * mh-alias.el: Assign copyright to FSF instead of myself.
7113 (mh-read-address): Add support for emacs-21's
7114 completing-read-multiple to prompt for multiple entries.
7115 (mh-alias-PC-complete-address): Deleted.
7116 (mh-alias-learn-aliases): Use mh-exec-cmd-quiet instead of old kludge.
7117 (mh-alias-letter-mode-expand-alias-hook): Simplify.
7118 (mh-alias-hostname): Deleted.
7119 (mh-alias-substitute-aliases-flag): Change default to nil.
7120 (mh-alias-display-blind-name-on-completion-flag) Change default to
7121 nil.
7122 (mh-alias-alist): Now holds alias values.
7123 (mh-alias-lowercase-alist): Deleted.
7124 (mh-alias-minibuffer-confirm-address, mh-alias-learn-aliases)
7125 (mh-alias-learn-local-users, mh-alias-letter-expand-alias): Use
7126 new mh-alias-alist instead of old mh-alias-lowercase-alist.
7127
7128 * mh-alias.el: Moved from contrib/ directory. Now part of MH-E!
7129
7130 * Makefile (MH-E-SRC): Add mh-identity.
7131
7132 * mh-identity.el (mh-compose-and-send-mail, mh-insert-identity)
7133 (mh-identity-make-menu, mh-identity-default, mh-identity-menu):
7134 Moved to mh-comp.el.
7135
7136 * mh-comp.el (mh-compose-and-send-mail): Add mh-identity support.
7137 (mh-insert-identity, mh-identity-make-menu, mh-identity-default)
7138 (mh-identity-menu): Added from mh-identity.el
7139
71402002-11-29 Bill Wohler <wohler@newt.com>
7141
7142 * mh-comp.el, mh-e.el, mh-funcs.el, mh-identity.el, mh-index.el,
7143 mh-mime.el, mh-pick.el, mh-seq.el, mh-speed.el, mh-utils.el:
7144 Ran indent-region, reformatted long lines, ran untabify.
7145 (indent-tabs-mode): Set file local variable to nil.
7146
71472002-11-29 Bill Wohler <wohler@newt.com>
7148
7149 Released MH-E version 7.0.
7150
7151 * mh-e.el (Version, mh-version): Updated for release 7.0.
7152
7153 * mh-comp.el (subseq, search): Require cl instead of autoloading
7154 these due to compilation warnings in CVS Emacs.
7155
71562002-11-23 Bill Wohler <wohler@newt.com>
7157
7158 * MH-E-NEWS: Emphasize the renaming of the variables at the top of
7159 the notes.
7160
71612002-11-22 Satyaki Das <satyaki@theforce.stanford.edu>
7162
7163 * mh-utils.el (mh-show-mode-map): Remove binding for RET since it
7164 is not needed and the binding is more useful to toggle display of
7165 MIME parts.
7166
7167 * mh-mime.el (mh-mime-button-commands): Remove bindings for "i"
7168 and "o" from MIME buttons.
7169 (mh-insert-mime-button): Change comment to reflect change in
7170 button key map.
7171
71722002-11-21 Bill Wohler <wohler@newt.com>
7173
7174 Released MH-E version 6.1.91.
7175
7176 * mh-e.el (Version, mh-version): Updated for release 6.1.91.
7177
7178 * MH-E-NEWS: Inline HTML parts supported with Gnus 5.10, not 5.9.
7179
71802002-11-21 Mark D. Baushke <mdb@gnu.org>
7181
7182 * mh-comp.el (mh-letter-insert-signature-hook): This should be in
7183 customize-group mh-compose.
7184
71852002-11-21 Satyaki Das <satyaki@theforce.stanford.edu>
7186
7187 * mh-utils.el (load): Load mm-view.el here so that
7188 mm-inline-text-html would be defined if available.
7189 (mh-mm-inline-media-tests): If mm-inline-text-html is available
7190 then use it, otherwise fall back on using mm-inline-text (closes
7191 SF #641482).
7192
7193 * mh-mime.el (load): Remove the load of mm-view here since it
7194 happens in mh-utils.el now.
7195
71962002-11-15 Bill Wohler <wohler@newt.com>
7197
7198 Released MH-E version 6.1.90.
7199
7200 * README (Compile): New section. Users must now compile MH-E due
7201 to the vagaries of the various versions of gnus.
7202
7203 * Makefile (MH-E-IMG): Added reply-all.pbm, reply-all.xpm,
7204 reply-from.pbm, reply-from.xpm, reply-to.pbm, reply-to.xpm.
7205 (MH-E-ETC-ETC): Added Makefile and README.
7206 (dist): Depend on all, so clean happens. Don't add .elc files to
7207 tarball as they are built upon installation now.
7208
72092002-11-15 Satyaki Das <satyaki@theforce.stanford.edu>
7210
7211 * mh-e.el (mh-process-commands): Fix a bug in mh-execute-commands.
7212 If called in threaded mode, cur was always getting set to the last
7213 message in the folder.
7214
72152002-11-14 Bill Wohler <wohler@newt.com>
7216
7217 * mh-e.el (Version, mh-version): Updated for release 6.1.90.
7218
7219 * MH-E-NEWS, README: Updated for release 7.0.
7220
7221 * mh-utils.el (mh-index-search): Added full docstring which new
7222 users will need before they run a search!
7223 (mh-swish++-execute-search, mh-swish-execute-search,
7224 mh-namazu-execute-search mh-glimpse-execute-search): Added
7225 autoloads with full docstrings for the same reason!
7226
7227 * mh-e.el (mh-limit-map): Removed / / alias for
7228 mh-narrow-to-subject.
7229
7230 * mh-utils.el (mh-show-thread-map): Removed / / alias for
7231 mh-show-narrow-to-subject.
7232
7233 * mh-seq.el (mh-delete-subject): Checkdoc fix.
7234
7235 * mh-e.el (mh-help-messages): Added / prefix character to help
7236 string. Tweaked / helpstring a little.
7237
72382002-11-14 Mark D. Baushke <mdb@gnu.org>
7239
7240 * mh-utils.el (mh-set-cmd-note): Fix nitpick by adding one to the
7241 width for cosmetic reasons.
7242
72432002-11-14 Peter S Galbraith <psg@debian.org>
7244
7245 * mh-identity.el (mh-insert-identity): Fix a few things undone by
7246 Jeff's patch.
7247 (mml-insert-tag): Add autoload.
7248
72492002-11-13 Mark D. Baushke <mdb@gnu.org>
7250
7251 * mh-identity.el (mh-insert-identity): A value of either nil or
7252 "" should cause the field to be removed.
7253 (mh-identity-list): Update the docstring.
7254
72552002-11-13 Peter S Galbraith <psg@debian.org>
7256
7257 * mh-e.el (mh-limit-map): New key map for limits (subject for now).
7258 * mh-utils.el (mh-show-limit-map): Same.
7259
7260 * mh-seq.el (mh-delete-subject): Renamed from
7261 mh-delete-subject-sequence.
7262 (mh-narrow-to-subject): Renamed from mh-narrow-to-subject-sequence.
7263 (mh-next-unseen-subject-sequence): Removed. :-(
7264 * mh-e.el: Use 'em
7265 * mh-seq.el: Use 'em.
7266
72672002-11-13 Mark D. Baushke <mdb@gnu.org>
7268
7269 * mh-e.el (mh-alt-show): New defalias for mh-show.
7270 (mh-alt-refile-msg): New defalias for mh-refile-msg.
7271 (mh-alt-send): New defalias for mh-send.
7272 (mh-folder-mode-map): Use mh-alt-show, mh-alt-refile-msg and
7273 mh-alt-send for the alias bindings.
7274 (mh-alt-visit-folder): New defalias for mh-visit-folder.
7275 (mh-folder-map): Use it.
7276 (mh-folder-message-menu): Revert previous change.
7277
72782002-11-13 Peter S Galbraith <psg@debian.org>
7279
7280 * mh-e.el (mh-folder-message-menu): Make key binding "o" appear in
7281 menu for mh-refile-msg.
7282
72832002-11-13 Satyaki Das <satyaki@theforce.stanford.edu>
7284
7285 * mh-seq.el (mh-thread-generate-scan-lines): In threaded view,
7286 scan lines of duplicate messages were too long. The change fixes
7287 that.
7288
72892002-11-13 Bill Wohler <wohler@newt.com>
7290
7291 * mh-utils.el (mh-adaptive-cmd-note-flag): Improved grammar in
7292 docstring.
7293
7294 * mh-speed.el (mh-speed-run-flists-flag): While documenting this
7295 variable in the release notes, I was unsure what would happen if
7296 set to nil. So, I clarified the docstring and indicated
7297 implications of setting this variable to nil, and offered manual
7298 workaround.
7299
73002002-11-13 Satyaki Das <satyaki@theforce.stanford.edu>
7301
7302 * mh-index.el (mh-index-quit): Fix documentation and run
7303 mh-before-quit-hook and mh-quit-hook.
7304
73052002-11-13 Bill Wohler <wohler@newt.com>
7306
7307 * mh-utils.el (with-mh-folder-updating): Renamed local variable
7308 mh-save-modification-flag to save-modification-flag.
7309
73102002-11-12 Bill Wohler <wohler@newt.com>
7311
7312 * mh-index.el (mh-index-keymap): Renamed to
7313 mh-index-folder-mode-keymap to be a closer to the usual keymap
7314 naming convention. Since we want our own keymap and not inherit
7315 the one in mh-folder-mode, we need to use a suffix other than
7316 -map.
7317
7318 * mh-e.el (mh-folder-sequence-menu): s/Msg/Message.
7319 s/Seq/Sequence.
7320 (mh-folder-message-menu): s/Msg/Message. Removed redundant refile
7321 item.
7322 (mh-folder-folder-menu): Aligned symbols.
7323
7324 * mh-index.el (mh-index-folder-message-menu): s/Msg/Message.
7325
7326 * mh-utils.el (mh-show-sequence-menu): s/Msg/Message.
7327 s/Seq/Sequence.
7328 (mh-show-message-menu): s/Msg/Message. Removed redundant refile
7329 item.
7330 (mh-show-folder-menu): Aligned symbols.
7331
73322002-11-12 Satyaki Das <satyaki@theforce.stanford.edu>
7333
7334 * mh-index.el (mh-index-matches, mh-index-current-match): Remove
7335 these variables since they were only used for glimpse and grep.
7336 Now the functionality of all the indexing programs will be
7337 uniform.
7338 (mh-index-search, mh-index-insert-scan, mh-defun-index)
7339 (mh-index-show): Simplify functions since matches are no longer
7340 shown.
7341 (mh-index-parse-match): Remove function.
7342
7343 * mh-e.el (mh-scan-cmd-note-width, mh-scan-destination-width)
7344 (mh-scan-date-width, mh-scan-date-flag-width)
7345 (mh-scan-from-mbox-width, mh-scan-from-mbox-sep-width): New
7346 variables to keep track of the widths of the different fields in
7347 the scan lines.
7348 (mh-scan-field-from-start-offset, mh-scan-field-from-end-offset)
7349 (mh-scan-field-subject-start-offset): Offsets that are computed
7350 from the scan line widths.
7351
7352 * mh-seq.el (mh-copy-seq-to-eob, mh-thread-inc)
7353 (mh-thread-parse-scan-line): Use new variables that remember the
7354 various offsets in place of integer constants.
7355 (mh-thread-generate-scan-lines): Space shouldn't be added here!
7356
73572002-11-12 Bill Wohler <wohler@newt.com>
7358
7359 * mh-e.el (mh-scan-format-mh, mh-scan-format-nmh): Noted that the
7360 first column is column number 0 and changed "sixth column" to
7361 "fifth column" accordingly.
7362
7363 * mh-index.el (mh-index-folder-mode): Clarified method of replying
7364 in mode documentation.
7365 (mh-index-folder-tool-bar-map): s/mh-e/MH-E/.
7366
7367 * mh-e.el (mh-generate-new-cmd-note): Try not to mention internal
7368 variable mh-cmd-note in docstrings.
7369
7370 * mh-utils.el (mh-adaptive-cmd-note-flag): Set default value to t.
7371 Reworded docstring so it doesn't mention internal variable
7372 mh-cmd-note. Added information about using fixed-width message
7373 numbers.
7374 (mh-cmd-note): Mention mh-set-cmd-note in docstring. Also suggest
7375 that it is updated dynamically only if mh-scan-format-file is t.
7376 (mh-set-cmd-note): Grammer fix in docstring.
7377 (mh-cmd-note): Noted that the first column is column number 0.
7378
7379 * mh-e.el (mh-scan-format-file): Added information about
7380 mh-set-cmd-note and mh-adaptive-cmd-note-flag to docstring.
7381
7382 * mh-index.el (mh-index-keymap): Added bindings for i
7383 (mh-inc-folder), m (mh-send alias), and s (mh-send) since these
7384 appear to be supported and are found in the toolbar.
7385 (mh-index-folder-key-map): Ditto for f (mh-visit-folder alias), o
7386 (mh-visit-folder) alias, and v (mh-visit-folder).
7387 (mh-index-folder-mode-help-messages): Changes for above.
7388 (mh-index-folder-message-menu, mh-index-folder-folder-menu): New
7389 menus. I decided to delete the unavailable items since greying out
7390 implies that the user can do something to access them. In this
7391 case, that's not the case. Well, that's not entirely true--the
7392 user could write code for those functions ;-).
7393 (mh-index-folder-mode): Use new menus.
7394
7395 * mh-utils.el (mh-prompt-for-folder): Added optional argument
7396 default-string which can be used in case the string for default
7397 isn't intuitive enough.
7398
7399 * mh-index.el (mh-index-search): Made default prompt more
7400 intuitive (I hope!).
7401
74022002-11-11 Peter S Galbraith <psg@debian.org>
7403
7404 * mh-identity.el (mh-header-field-delete): Remove save-excursion.
7405 Strange that this worked for me before... Thanks to Jeff for the
7406 patch.
7407 (mh-insert-identity): Numerous tweaks and fixes from Jeff who also
7408 adds a nicer-looking MIME header for signatures inserted after
7409 MIME insertions.
7410
74112002-11-11 Satyaki Das <satyaki@theforce.stanford.edu>
7412
7413 * mh-seq.el (mh-thread-parse-scan-line): Generalize this function
7414 so that it can take a string containing the scan-line as argument
7415 in addition to using the line at point.
7416 (mh-thread-add-spaces): New function to pad each scan line to the
7417 appropriate length. This is called when mh-cmd-note is increased.
7418
7419 * mh-e.el (mh-generate-new-cmd-note): Make this work on a threaded
7420 folder by using mh-thread-add-spaces to pad the pre-existing lines
7421 in mh-thread-scan-line-map appropriately.
7422 (mh-thread-add-spaces): Autoload from mh-seq.
7423
74242002-11-11 Mark D. Baushke <mdb@gnu.org>
7425
7426 * mh-index.el: Fix checkdoc nit.
7427
7428 * mh-mime.el (mh-display-buttons-for-inline-parts-flag): Renamed
7429 from mh-display-buttons-for-inline-parts.
7430 (mh-mime-display-single): Use it.
7431 This addresses part of SF #627015.
7432
7433 * mh-e.el (mh-print-background-flag): Renamed from
7434 mh-print-background.
7435 * mh-funcs.el (mh-print-msg): Use it.
7436 This addresses part of SF #627015.
7437
7438 * mh-comp.el (mh-delete-yanked-msg-window-flag): Renamed from
7439 mh-delete-yanked-msg-window.
7440 (mh-yank-from-start-of-msg, mh-yank-cur-msg): Use it.
7441 This addresses part of SF #627015.
7442
7443 * mh-utils.el (mh-update-sequences-after-mh-show-flag): Renamed
7444 from mh-update-sequences-after-mh-show.
7445 (mh-show-msg): Use it.
7446 This addresses part of SF #627015.
7447
7448 * mh-utils.el (mh-decode-quoted-printable-flag): Renamed from
7449 mh-decode-quoted-printable
7450 (mh-display-msg, mh-decode-quoted-printable-have-mimedecode):
7451 Use it.
7452 This addresses part of SF #627015.
7453
7454 * mh-utils.el (mh-recursive-folders-flag): Renamed from
7455 mh-recursive-folders.
7456 (mh-make-folder-list-background): Use it.
7457 * mh-funcs.el (mh-list-folders): Ditto.
7458 This addresses part of SF #627015.
7459
7460 * mh-utils.el (mh-auto-folder-collect-flag): Renamed from
7461 mh-auto-folder-collect.
7462 (mh-find-path): Use it.
7463 This addresses part of SF #627015.
7464
7465 * mh-utils.el (mh-decode-mime-flag): Renamed from
7466 mh-decode-mime.
7467 * mh-utils.el (mh-show-mode, mh-show-xface)
7468 (mh-decode-quoted-printable, mh-display-msg, mh-display-msg): Use it.
7469 * mh-mime.el (mh-graphical-smileys-flag)
7470 (mh-graphical-emphasis-flag): Ditto.
7471 * mh-index.el (mh-index-search, mh-index-show): Ditto.
7472 * mh-e.el (mh-header-display): Ditto.
7473 This addresses part of SF #627015.
7474
7475 * mh-e.el (mh-make-folder-mode-line): Use save-window-excursion
7476 to get back to the current message.
7477
74782002-11-10 Satyaki Das <satyaki@theforce.stanford.edu>
7479
7480 * mh-index.el (mh-index-keymap, mh-index-page-msg)
7481 (mh-index-folder-tool-bar-map): Replace mh-index-scroll-up with
7482 mh-index-page-msg.
7483 (mh-index-keymap, mh-index-previous-page): Replace
7484 mh-index-scroll-down with mh-index-previous-page.
7485
74862002-11-09 Satyaki Das <satyaki@theforce.stanford.edu>
7487
7488 * mh-index.el (autoload/require): Load mh-mime when mh-index.el is
7489 loaded. This fixes the infinite load loop. I am not sure what the
7490 actual problem is. Also removed the nop requires/autoloads.
7491 (mh-defun-index): Use the right argument for mh-recenter.
7492 Otherwise it misbehaves for the default value of
7493 mh-summary-height.
7494
7495 * mh-e.el (mh-goto-next-button): Fix infinite loop when S-Tab was
7496 used on first line of index folder buffer.
7497
74982002-11-09 Peter S Galbraith <psg@debian.org>
7499
7500 * mh-index.el (mh-index-folder-tool-bar-map): Tool-bar for
7501 mh-index-mode.
7502 (mh-index-folder-mode): Use it.
7503 (mh-index-keymap): Added mouse-2 binding, like in regular
7504 folder-mode.
7505
75062002-11-08 Satyaki Das <satyaki@theforce.stanford.edu>
7507
7508 * mh-index.el (mh-index-folder-mode): Fix doc string for major
7509 mode. It was pointing to the wrong keymap.
7510 (mh-index-show-mode): Fix doc string for mode. Also add mh-help
7511 support.
7512
7513 * mh-comp.el (mh-forward, mh-yank-cur-msg): Use new macro
7514 mh-mark-active-p instead. This does the right thing for different
7515 variants of Emacs.
7516 (mh-yank-cur-msg): Add a space between sexprs.
7517
7518 * mh-utils.el (mh-mark-active-p): New macro which papers over
7519 diffences between GNU Emacs and XEmacs. The variables mark-active
7520 and transient-mark-mode are used in GNU Emacs while zmacs-regions
7521 and region-active-p are used in XEmacs.
7522
7523 * mh-seq.el (mh-put-msg-in-seq, mh-thread-ancestor-p): Use
7524 mh-mark-active-p as above.
7525
7526 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Use
7527 mh-mark-active-p as above.
7528
75292002-11-06 Peter S Galbraith <psg@debian.org>
7530
7531 * mh-comp.el (mh-yank-cur-msg): Fix for XEmacs. It didn't work
7532 with a selected region, and left the inserted text selected (in
7533 reverse video). I didn't use SF patch #402315 to implement this.
7534
75352002-11-05 Peter S Galbraith <psg@debian.org>
7536
7537 * mh-utils.el (mh-show-tool-bar-map): Change call to
7538 mh-tool-bar-search-command such that user can customize it for the
7539 current session.
7540
7541 * mh-e.el (mh-folder-tool-bar-map): Same.
7542
75432002-11-05 Bill Wohler <wohler@newt.com>
7544
7545 * mh-utils.el, mh-e.el (mh-tool-bar-search-function): Renamed from
7546 mh-tool-bar-search-command.
7547
7548 * mh-index.el (mh-index-search): Backed out previous change to
7549 prompt. There ain't no folder named "all."
7550
7551 * mh-utils.el (mh-tool-bar-search-command): Added mh-search-folder
7552 and mh-index-search to the docstring so that user can easily click
7553 on them for more information.
7554
7555 * mh-pick.el (mh-search-folder): Mention that this function uses
7556 the MH pick command to give the user more information when
7557 choosing between mh-search-folder and mh-index-folder.
7558
7559 * mh-index.el (mh-index-search): Edited the docstring. Direct the
7560 user to mh-index-program if necessary.
7561 (mh-index-program): Edited this docstring too. Viewing the help
7562 in a *Help* buffer really exposes grammatical flaws.
7563
75642002-11-05 Peter S Galbraith <psg@debian.org>
7565
7566 * mh-utils.el (mh-tool-bar-search-command): New defcustom to set
7567 what search function to use in tool-bar.
7568 (mh-show-tool-bar-map): Use it.
7569
7570 * mh-e.el (mh-folder-tool-bar-map): Use it.
7571
75722002-11-05 Bill Wohler <wohler@newt.com>
7573
7574 * mh-index.el (mh-index-search): Changed default prompt from "+"
7575 to "all". mh-prompt-for-folder doesn't seem to mind.
7576
7577 * mh-e.el (mh-folder-folder-menu): Added menu entry for
7578 mh-index-search.
7579
7580 * mh-utils.el (mh-show-folder-menu): Added menu entry for
7581 mh-index-search.
7582
7583 * mh-index.el: Added commentary on supported search engines and
7584 for getting started (initializing database).
7585
75862002-11-04 Satyaki Das <satyaki@theforce.stanford.edu>
7587
7588 * mh-index.el (mh-index-keymap, mh-index-folder-key-map): Move key
7589 binding of "i" to "Fi".
7590 (mh-index-folder-mode-help-messages): Change help message to
7591 reflect above change.
7592
75932002-11-04 Bill Wohler <wohler@newt.com>
7594
7595 * mh-index.el (mh-index-program, mh-indexer): Swapped names since
7596 the former seems like a better user variable name. If you've
7597 customized mh-indexer, be sure to toss it out and customize
7598 mh-index-program.
7599
76002002-11-04 Satyaki Das <satyaki@theforce.stanford.edu>
7601
7602 * mh-index.el (mh-indexer-choices): Not having the quotes in the
7603 binary names is a bit nicer since that maintains uniformity with
7604 the other names.
7605 (mh-index-choose): Use symbol-value instead of eval. Eval should
7606 be avoided except when it can't be :-).
7607
76082002-11-04 Bill Wohler <wohler@newt.com>
7609
7610 * mh-index.el (mh-index-program): New variable to hold the name of
7611 the indexer that was found; use this instead of clobbering
7612 user-customizable variable mh-indexer.
7613 (mh-index-search): Use it. Added comments to keep others from
7614 doing what I had done (fortunately, I caught myself before
7615 checking it in ;-).
7616 (mh-index-choose): Set mh-index-program instead of mh-indexer.
7617 Update docstring to describe side-effects.
7618
7619 * mh-index.el (mh-indexer): Added swish++ to docstring. Chances
7620 are good that if someone has both swish++ and swish, they want to
7621 use the much faster, much smaller swish, so move it up in the
7622 list.
7623 (mh-indexer-choices): Ditto for rationale for moving swish++ up in
7624 priority over swish. Also, use -binary symbols instead of
7625 hard-coding binary names. This allows package installers to
7626 customize the location of the binaries in site-lisp and still have
7627 the auto-detection code work. It also allows one to have alternate
7628 binary names (see mh-swish++-binary).
7629 (mh-index-search): Ditto (moving swish++ up).
7630 (mh-swish++-binary): Look for search++, then search. The rationale
7631 is that a package maintainer may rename search to search++ if
7632 search is already in use (e.g., Debian) so try it first.
7633 (mh-swish++-execute-search): Replaced Satyaki's path with dummy
7634 path in docstring. Also removed RecurseSubdirs since this is the
7635 default. Added comment that index might be named index++ on some
7636 systems (e.g., Debian).
7637 (mh-index-choose): Updated to work with new mh-indexer-choices.
7638
76392002-11-04 Peter S Galbraith <psg@debian.org>
7640
7641 * mh-identity.el (mh-identity-list-set): Don't call easy-menu-add
7642 here, since that adds the menu to the Customize buffer in XEmacs.
7643
76442002-11-04 Peter S Galbraith <psg@debian.org>
7645
7646 * mh-comp.el (mh-mhn-compose-insert-flag)
7647 (mh-mml-compose-insert-flag): Removed eval-when-compile defvar.
7648
7649 * mh-mime.el (mh-mhn-compose-insert-flag)
7650 (mh-mml-compose-insert-flag): Move variables to mh-utils.el.
7651 Fixes mh-letter-menu for XEmacs.
7652
76532002-11-04 Eric Ding <eding@rational.com>
7654
7655 * mh-comp.el (mh-rejected-letter-start): add another string
7656
76572002-11-04 Eric Ding <ericding@alum.mit.edu>
7658
7659 * mh-comp.el (mh-rejected-letter-start): regexp-opt doesn't take
7660 regexps as args, only regular strings
7661
76622002-11-04 Peter S Galbraith <psg@debian.org>
7663
7664 * mh-comp.el (mh-insert-mail-followup-to): Don't modify a
7665 pre-existing M-F-T field. If a nmh replgroupcomps propagates a
7666 M-F-T field in a message reply, then we have to have it alone.
7667
76682002-11-02 Bill Wohler <wohler@newt.com>
7669
7670 * mh-comp.el, mh-e.el, mh-funcs.el, mh-identity.el, mh-index.el,
7671 mh-mime.el, mh-pick.el, mh-seq.el, mh-speed.el, mh-utils.el,
7672 mh-xemacs-compat.el: Added Local Variables section. Defined
7673 sentence-end-double-space to be nil so that those who might not
7674 buy my setting of this variable can at least run checkdoc without
7675 a whole lot of noise.
7676
76772002-11-02 Peter S Galbraith <psg@debian.org>
7678
7679 * mh-identity.el: New file. Multiple Identify support for MH-E.
7680 Used to easily set different fields such as From and Organization,
7681 as well as diffrent signature files. This file won't be included
7682 with V7.0.
7683
76842002-11-02 Bill Wohler <wohler@newt.com>
7685
7686 * mh-mime.el (mh-mm-save-part): New function to wrap mm-save-part
7687 from Gnus 5.10 to make it explicit which code has been
7688 commandeered.
7689 (mh-mime-save-part): Call mh-mm-save-part instead of cut-n-pasted
7690 code from Gnus 5.10.
7691
76922002-11-02 Peter S Galbraith <psg@debian.org>
7693
7694 * mh-comp.el (mh-yank-from-start-of-msg): Edit docstring to
7695 mention related variables mh-reply-show-message-flag and
7696 mh-delete-yanked-msg-window.
7697 (mh-reply): Change the "Reply to whom" prompt.
7698
76992002-11-01 Bill Wohler <wohler@newt.com>
7700
7701 * mh-e.el (mh-show-hook): Moved to mh-utils.el where it is used.
7702 (mh-folder-list-change-hook): Converted this from defvar in other
7703 files to defcustom here. It is called, not documented as
7704 obsolete, and might as well be documented.
7705 (mh-inc-folder, mh-quit, mh-delete-a-msg, mh-refile-a-msg,
7706 mh-process-commands, mh-update-unseen): Added missing
7707 documentation about hook, or made verbiage about hook consistent
7708 throughout, even if the function isn't interactive.
7709
7710 * mh-utils.el (mh-folder-list-change-hook): Moved defvar to mh-e
7711 and made it a defcustom.
7712 (mh-show-mode-hook): Put it back in (actually, it was in mh-e.el,
7713 but this is the place where it is called).
7714 (mh-show-hook): Moved here from mh-e.el since it's called here.
7715 (mh-show-mode): Call mh-show-mode-hook.
7716 (mh-show-mode, mh-show-msg, mh-find-path, mh-prompt-for-folder,
7717 mh-prompt-for-folder, mh-set-folder-list): Added missing
7718 documentation about hook, or made verbiage about hook consistent
7719 throughout, even if the function isn't interactive.
7720
7721 * mh-comp.el (mh-send-letter): Made verbiage about hook consistent
7722 throughout.
7723 (mh-insert-prefix-string): Made docstring more descriptive of what
7724 is going on.
7725
7726 * mh-funcs.el (mh-kill-folder): Added missing documentation about
7727 hook.
7728
7729 * mh-index.el (mh-index-show-hook): Moved defvar to defcustom.
7730 (mh-index-show): Made verbiage about hook consistent throughout.
7731
7732 * mh-mime.el (mh-edit-mhn-hook): Moved defvar to defcustom.
7733 (mh-edit-mhn): Added missing documentation about hook.
7734
7735 * mh-pick.el (mh-pick-mode): Made verbiage about hook consistent
7736 throughout. Call the damn hook.
7737
77382002-11-01 Satyaki Das <satyaki@theforce.stanford.edu>
7739
7740 * mh-comp.el (mh-insert-mail-followup-to-list): Fix typo so that
7741 it will look right in info.
7742
7743 * mh-index.el (mh-index-search): Change argument name from
7744 new-buffer-p to new-buffer-flag.
7745 (mh-index-search-again, mh-index-search): New index-buffers were
7746 being named *mh-index*<2>, *m-index*<2><2> and so on. This problem
7747 is fixed.
7748 (mh-index-scroll-up, mh-index-scroll-down): Scrolling in index
7749 show buffers (after the first one) was broken.
7750 (mh-index-quit): Bury show buffer instead of killing it. Killing
7751 it, without killing the corresponding folder buffer, can cause
7752 confusion with two folder buffers trying to display in the same
7753 show buffer.
7754
7755 * mh-seq.el (mh-thread-prune-containers): Rewritten without
7756 recursion. Also removed the top-level-p argument since it isn't
7757 required anymore.
7758 (mh-thread-sort-containers): New function factored out from
7759 previous definition of mh-thread-prune-containers. It sorts
7760 message containers in ascending order wrt their message indices.
7761 (mh-thread-generate): Use new mh-thread-prune-containers.
7762
7763 * mh-e.el (mh-remove-all-notation): Fix the test. It was testing
7764 at the wrong place!
7765
77662002-10-31 Bill Wohler <wohler@newt.com>
7767
7768 * Makefile, README, import-emacs, mh-comp.el, mh-e.el,
7769 mh-funcs.el, mh-index.el, mh-mime.el, mh-pick.el, mh-seq.el,
7770 mh-speed.el, mh-utils.el: Replaced mh-e with MH-E.
7771
77722002-10-31 Satyaki Das <satyaki@theforce.stanford.edu>
7773
7774 * mh-seq.el (mh-thread-parse-scan-line): Modified to remove user
7775 sequence notation and leave notation for other things alone. This
7776 ensures that threading doesn't lose notations for replied-to
7777 messages.
7778
7779 * mh-e.el (mh-inc-folder): Remove call to mh-widen here and
7780 instead do it in mh-get-new-mail. This way the widening happens
7781 only if new mail is incorporated.
7782 (mh-generate-new-cmd-note): The function now returns the point
7783 from which the new messages start. This will allow threading to do
7784 the right thing.
7785 (mh-get-new-mail): Always call mh-remove-cur-notation. Otherwise
7786 adaptive scan mode leaves two messages marked as current in
7787 certain cases. Fix indentation of if statement. If there are
7788 messages to be incorporated, the folder is widened. If mh-cmd-note
7789 changes set start-of-inc correctly.
7790 (mh-remove-all-notation): Change this function to only remove user
7791 sequence notation and leave notation for replied-to messages and
7792 similar notation alone. This means operations like narrowing to
7793 subject sequence and widening don't lose notations.
7794
77952002-10-31 Bill Wohler <wohler@newt.com>
7796
7797 * mh-comp.el (mh-insert-mail-followup-to-list): Fixed typo in
7798 docstring and other minor edits. Checkdoc removed trailing spaces.
7799 (mh-insert-signature): Checkdoc flagged docstring. Reverted to
7800 previous value. Added specific name of hook that is run.
7801 (mh-regexp-in-field-p, mh-insert-letter): Checkdoc removed
7802 trailing spaces.
7803
78042002-10-31 Jeffrey C Honig <jch@honig.net>
7805
7806 * mh-e.el (mh-show-mode-hook): Remove the unused
7807 mh-show-mode-hook, mh-show-hook is the one that is used.
7808
7809 * mh-utils.el (mh-show-mode): Change the documentation to refer to
7810 mh-show-hook instead of the unused mh-show-mode-hook.
7811
78122002-10-31 Peter S Galbraith <psg@debian.org>
7813
7814 * mh-comp.el (mh-insert-mail-followup-to-list): Set default to nil
7815 and include example in doc string.
7816
78172002-10-31 Satyaki Das <satyaki@theforce.stanford.edu>
7818
7819 * mh-index.el (mh-indexer): Add customization choice for swish++.
7820 (mh-indexer-choices): Add swish++ choice.
7821 (mh-index-search): Change doc to reflect addition of swish++ option.
7822 (mh-swish++-binary, mh-swish++-directory): New variables for
7823 swish++ interface.
7824 (mh-swish++-execute-search): New function to execute swish++
7825 search.
7826 (mh-swish++-next-result): Function aliased to mh-swish-next-result
7827 since the result format of swish++ is the same as that of swish-e.
7828 (mh-index-search): Always overwrite window-configuration with new
7829 value. This is needed since we don't kill the index-buffer when
7830 quitting which means the window configuration wasn't getting set
7831 properly.
7832 (mh-index-search-again): If index buffer is reused, reset the old
7833 window config to its original value.
7834
78352002-10-30 Bill Wohler <wohler@newt.com>
7836
7837 * Makefile (emacs, xemacs): New targets.
7838 (all): Use these targets instead of calling specific targets.
7839 (.PHONY): Added emacs, xemacs, autoloads, custom-loads. Broke up
7840 target and moved pieces into their own sections.
7841
7842
78432002-10-30 Peter S Galbraith <psg@debian.org>
7844
7845 * mh-utils.el (mh-show-font-lock-keywords): Wrap an
7846 'eval-and-compile around its defvar, otherwise byte-compilation
7847 fails on `mh-show-font-lock-keywords-with-cite'.
7848
78492002-10-29 Jeffrey C Honig <jch@honig.net>
7850
7851 * mh-comp.el (mh-letter-insert-signature-hook)
7852 (mh-insert-signature): Add a hook to be called before inserting
7853 the signature. Do not attempt to insert the signature if
7854 mh-insert-signature-file-name is nil.
7855
78562002-10-29 Peter S Galbraith <psg@debian.org>
7857
7858 * mh-e.el (mh-inc-folder): Call mh-widen when mh-narrowed-to-seq
7859 (Closes SF #629233: inc in narrowed folder suboptimal)
7860
7861 * mh-comp.el (mh-insert-letter): Stop using mhl to include a
7862 message before it mangles the header, and supercite fails
7863 (Closes SF #629153: mh-insert-letter uses mhl?).
7864 (mh-insert-prefix-string): Leave point at beginning instead of
7865 end, since that's what sc-cite-original does.
7866 (mh-yank-cur-msg): Adjust for mh-insert-prefix-string change.
7867
78682002-10-30 Steve Youngs <youngs@xemacs.org>
7869
7870 * mh-e.el (mh-folder-mode): Check for 'font-lock-auto-fontify'
7871 when in XEmacs so we don't do font-locking unconditionally.
7872
7873 * mh-utils.el (mh-show-mode): Ditto.
7874
78752002-10-29 Peter S Galbraith <psg@debian.org>
7876
7877 * mh-e.el (mh-folder-refiled-face, mh-folder-cur-msg-number-face)
7878 (mh-folder-to-face, mh-folder-body-face): Define faces instead of
7879 copying them from font-lock faces. This mh-e will look the same
7880 in XEmacs as it does in Emacs.
7881 * mh-utils.el (mh-show-cc-face, mh-show-date-face)
7882 (mh-show-header-face): Ditto.
7883
78842002-10-29 Jeffrey C Honig <jch@honig.net>
7885
7886 * mh-comp.el (mh-send-letter): I meant to use
7887 mh-goto-header-field, not mh-get-header-field. The former returns
7888 nil if the header is not found and doesn't need a conditional.
7889
78902002-10-29 Peter S Galbraith <psg@debian.org>
7891
7892 * mh-comp.el (mh-forward): Bug fix. Change 'kill-line for a
7893 'delete-region, because I don't want that text yanked with C-y.
7894
7895 * mh-seq.el (mh-put-msg-in-seq): Add support for selected
7896 region (Closes SF feature request #630324).
7897
78982002-10-28 Satyaki Das <satyaki@theforce.stanford.edu>
7899
7900 * mh-seq.el (mh-thread-prune-subject): Make the regexp a little
7901 general so that a subject of the form "Re[218]: howdy" would be
7902 properly pruned.
7903
7904 * mh-mime.el (mh-mime-save-part): Copy function definition of
7905 mm-save-part from cvs gnus since that function is buggy in gnus
7906 that comes with emacs21.2.
7907
79082002-10-28 Peter S Galbraith <psg@debian.org>
7909
7910 * mh-e.el (mh-scan-subject-regexp): Add an expression to match an
7911 optional bracketed number after "Re", such as in "Re[2]:"
7912 (Patch by Satyaki; I checked it and applied).
7913 (mh-folder-font-lock-subject): Adapt to new mh-scan-subject-regexp.
7914 * mh-seq.el (mh-subject-to-sequence): Ditto.
7915
7916 * mh-e.el (mh-folder-sequence-menu): Remove "Toggle Subject
7917 Thread" from menu. mh-toggle-threads is in the Folder menu.
7918
7919 * mh-e.el (mh-folder-sequence-menu): Minor menu text edits.
7920
7921 * mh-utils.el (mh-show-update-sequences): Added to
7922 mh-defun-show-buffer builds; needed for menu.
7923 (mh-show-sequence-menu, mh-show-message-menu)
7924 (mh-show-folder-menu): 3 new menus in mh-show-mode-map that mirror
7925 the menus used in mh-folder-mode.
7926 (mh-show-mode): easy-menu-add the 3 menus.
7927
79282002-10-28 Satyaki Das <satyaki@theforce.stanford.edu>
7929
7930 * mh-utils.el (mh-goto-msg): Fix the regexp to search so that we
7931 go to the right message. In a threaded folder message 2 may be
7932 present after 26 and the previous regexp would go to 26 when we
7933 really wanted to go to 2!
7934
7935 * mh-seq.el (mh-widen): Add call to mh-recenter to make it like
7936 mh-narrow-to-seq.
7937
79382002-10-28 Bill Wohler <wohler@newt.com>
7939
7940 * mh-utils.el (mh-show-mime-save-parts): Deleted definition.
7941 (mh-show-mime-map, tool-bar-map): Use mh-mime-save-parts instead
7942 of mh-show-mime-save-parts.
7943
79442002-10-28 Peter S Galbraith <psg@debian.org>
7945
7946 * mh-comp.el (mh-letter-tool-bar-map): tool-bar-add-item key name
7947 bug fix.
7948 * mh-utils.el (mh-show-tool-bar-map): Same.
7949 * mh-e.el (mh-folder-tool-bar-map, mh-folder-seq-tool-bar-map): Same
7950
79512002-10-27 Satyaki Das <satyaki@theforce.stanford.edu>
7952
7953 * mh-seq.el (mh-toggle-threads): Add call to mh-recenter to make
7954 its behavior like that of mh-narrow-to-seq.
7955
79562002-10-27 Bill Wohler <wohler@newt.com>
7957
7958 * mh-mime.el (mh-mime-save-parts): Renamed from
7959 mh-store-mime-parts for consistency with mh-mime-save-part. Fixed
7960 bug whereby mh-mime-save-parts-directory was not getting
7961 initialized properly from a string-valued
7962 mh-mime-save-parts-default-directory.
7963 (mh-mime-save-parts-default-directory): Ditto. Check your
7964 customizations!
7965 (mh-mime-save-parts-directory): Ditto.
7966
7967 * mh-utils.el (mh-show-mime-save-parts): Renamed from
7968 mh-store-mime-parts.
7969 (mh-show-mime-map): Added keybinding "K a" for
7970 mh-show-mime-save-parts.
7971
7972 * mh-e.el (mh-mime-save-parts) Renamed from mh-store-mime-parts.
7973 (mh-mime-map): Added keybinding "K a" for mh-mime-save-parts.
7974 (mh-help-messages): Added help for "K a".
7975
79762002-10-27 Peter S Galbraith <psg@debian.org>
7977
7978 * mh-comp.el (mh-search-addr-regexp, mh-regexp-in-field-p): Rename
7979 the first to the second (and recode a bit).
7980 (mh-insert-mail-followup-to): Use it.
7981
79822002-10-27 Bill Wohler <wohler@newt.com>
7983
7984 * mh-utils.el (mh-invisible-headers): Backed out change. Removed
7985 Mail-Followup-To due to objections from Peter and Mark.
7986
79872002-10-27 Satyaki Das <satyaki@theforce.stanford.edu>
7988
7989 * mh-seq.el (mh-msg-is-in-seq): Modified to show info about
7990 whether the message being queried about has been marked to be
7991 deleted or refiled.
7992
7993 * mh-mime.el (mh-insert-mime-security-button): Make
7994 pressed-details a local.
7995
79962002-10-27 Steve Youngs <youngs@xemacs.org>
7997
7998 * .cvsignore: New file.
7999
80002002-10-26 Steve Youngs <youngs@xemacs.org>
8001
8002 * mh-seq.el (mh-notate-deleted-and-refiled): Don't bind local
8003 variable 'dest', it isn't used anywhere.
8004
8005 * mh-pick.el (mh-do-pick-search): Don't bind local variable
8006 'finding-messages', it isn't used anywhere.
8007
8008 * mh-utils.el: Byte-compiler warning suppression.
8009 (mh-gnus-article-highlight-citation): Rather than redefining
8010 'gnus-cite-face-list', just re-order it.
8011 (mh-show-mode): Force turning on font-lock in XEmacs.
8012
8013 * mh-seq.el: Byte-compiler warning suppression.
8014
8015 * mh-index.el: Byte-compiler warning suppression.
8016
8017 * mh-comp.el: Byte-compiler warning suppression.
8018
8019 * mh-xemacs-compat.el: Add defaliases for 'timerp' &
8020 'cancel-timer' to the equivalent 'itimer' functions.
8021 (rfc822): Require it for 'rfc822-goto-eoh'.
8022 Byte-compiler warning suppression.
8023
8024 * mh-e.el (mh-folder-mode): Force turning on font-lock in XEmacs.
8025 (mh-toggle-threads): Remove duplicate autoload.
8026 Byte-compiler warning suppression.
8027 (mh-folder-unseen-seq-list): Use 'with-temp-buffer' to fix a bug
8028 in XEmacs when font-lock is on.
8029 (mh-folder-unseen-seq-name): Ditto.
8030
80312002-10-27 Mark D. Baushke <mdb@gnu.org>
8032
8033 * Makefile: Reorganize to allow for building also compiling for
8034 XEmacs too. Sanitize so that it will work using least-common
8035 denominator versions of 'make'. Tested using GNU make, Solaris make,
8036 and Berkely make.
8037 (all): Use recursive invokation based on the emacs or xemacs
8038 executable passed on the 'make EMACS=xemacs' command line.
8039 (XEMACS_OPTIONS): The incantation to be passed to an xemacs editor
8040 to compile things properly.
8041 (AUTO_PRELOADS): Magic XEmacs glue.
8042 (clean): Ditto.
8043 (autoloads): Ditto.
8044 (custom-loads): Ditto.
8045
80462002-10-26 Satyaki Das <satyaki@theforce.stanford.edu>
8047
8048 * mh-e.el (mh-last-msg): Add call to mh-recenter.
8049
80502002-10-26 Peter S Galbraith <psg@debia.org>
8051
8052 * mh-comp.el (mh-search-addr-regexp, mh-re-search-to-cc): Remove
8053 `mh-re-search-to-cc' in favour of more generalized new function
8054 `mh-search-addr-regexp'.
8055 (mh-insert-mail-followup-to): Use it.
8056
80572002-10-26 Satyaki Das <satyaki@theforce.stanford.edu>
8058
8059 * mh-seq.el (mh-copy-seq-to-eob): Avoid rethreading when the
8060 folder is already threaded. This is more efficient and also avoids
8061 problems when the folder is widened.
8062 (mh-thread-inc): Don't try to restore the point to original
8063 location since mh-inc-folder from where this is called changes
8064 point location after calling this function.
8065
8066 * mh-e.el (mh-make-folder-mode-line): Fix a small bug where the
8067 test was wrong.
8068
80692002-10-26 Peter S Galbraith <psg@debian.org>
8070
8071 * mh-comp.el (mh-insert-mail-followup-to): Fix for new defcustom.
8072
80732002-10-26 Satyaki Das <satyaki@theforce.stanford.edu>
8074
8075 * mh-seq.el (mh-notate-deleted-and-refiled): Remove unused binding
8076 of dest. The problem was pointed out by Steve as well.
8077
8078 * mh-e.el (mh-toggle-threads): Remove duplicate autoload as
8079 pointed out by Steve.
8080
80812002-10-26 Bill Wohler <wohler@newt.com>
8082
8083 * mh-utils.el (mh-invisible-headers): Added Mail-Followup-To.
8084
80852002-10-26 Peter S Galbraith <psg@debian.org>
8086
8087 * mh-comp.el (mh-insert-mail-followup-to-list): Change defvar to
8088 defcustom.
8089
80902002-10-25 Satyaki Das <satyaki@theforce.stanford.edu>
8091
8092 * mh-e.el (mh-remove-all-notation): New function that removes all
8093 notation.
8094
8095 * mh-seq.el (mh-narrow-to-seq): When hiding the original folder
8096 remove all notation. This avoids stale notation hanging around.
8097 Also changes in show buffer and position in folder buffer are
8098 avoided if possible.
8099 (mh-widen): When widening the scan-lines are notated based on the
8100 current state of the folder. This means any changes made when the
8101 folder was narrowed are shown consistently.
8102 (mh-notate-deleted-and-refiled): Update the documentation.
8103 (mh-thread-parse-scan-line): For some reason the ASCII value of
8104 the space character was being used here. This is fixed.
8105 (mh-thread-inc, mh-toggle-threads): Avoid change of point in
8106 folder and message being displayed in shown buffer.
8107
8108 * mh-utils.el (mh-recenter): Rewrite mh-recenter to show fewer
8109 blank lines when point is towards the end of the folder buffer.
8110
81112002-10-25 Peter S Galbraith <psg@debian.org>
8112
8113 * mh-comp.el (mh-insert-mail-followup-to-flag): New boolean
8114 defcustom to append a Mail-Followup-To field to the header. The
8115 insertion is done if the To: or Cc: fields matches an entry in
8116 `mh-insert-mail-followup-to-list'."
8117 (mh-insert-mail-followup-to-list): New defvar. List of addresses
8118 for which a Mail-Followup-To field is inserted.
8119 (mh-re-search-to-cc): New function. Search for REGEXP in To: and
8120 Cc: fields.
8121 (mh-insert-mail-followup-to): New function. Insert
8122 Mail-Followup-To: if To or Cc match `mh-insert-mail-followup-to-list'.
8123 (mh-compose-and-send-mail): Call mh-insert-mail-followup-to if
8124 mh-insert-mail-followup-to-flag is true.
8125
81262002-10-25 Mark D. Baushke <mdb@gnu.org>
8127
8128 * mh-utils.el (mh-show-maximum-size): New variable to control
8129 the display of large messages.
8130 (mh-display-msg): Use it (Closes SF #488696).
8131
8132 * mh-seq.el (mh-toggle-threads): Checkdoc fix.
8133
8134 * mh-e.el (mh-reset-threads-and-narrowing): Checkdoc fix.
8135
8136 * mh-comp.el (mh-insert-x-mailer-flag): Renamed from
8137 mh-insert-x-mailer-p. Update docstring.
8138 (mh-send-letter): Use it.
8139 (mh-reply-show-message-flag): Renamed from
8140 mh-reply-show-message-p. Update docstring.
8141 (mh-reply): Use it.
8142 This addresses part of SF #627015.
8143
8144 * mh-e.el (mh-recenter-summary-flag): Renamed from
8145 mh-recenter-summary-p. Update docstring.
8146 (mh-set-scan-mode): Use it.
8147 This addresses part of SF #627015.
8148
81492002-10-25 Satyaki Das <satyaki@theforce.stanford.edu>
8150
8151 * mh-e.el (mh-reset-threads-and-narrowing): New function which
8152 resets all thread and narrowing state to completely unthreaded and
8153 widened state. As a side effect, the folder buffer is erased.
8154 (mh-rescan-folder): Reset threads and narrowing state.
8155
8156 * mh-funcs.el (mh-pack-folder-1): Reset threads and narrowing state.
8157
8158 * mh-seq.el (mh-copy-seq-to-eob): Change mh-view-ops after
8159 threading is over so that if user aborts threading, it doesn't
8160 leave mh-e in an inconsistent state.
8161 (mh-toggle-threads): Use mh-scan-folder to populate the folder
8162 buffer instead of mh-rescan-folder which resets threading and
8163 narrowing state.
8164
81652002-10-24 Bill Wohler <wohler@newt.com>
8166
8167 * mh-e is completely checkdoc clean now.
8168
8169 * mh-utils.el (mh-clean-message-header-flag): Renamed from
8170 mh-clean-message-header.
8171 (mh-bury-show-buffer-flag): Renamed from mh-bury-show-buffer.
8172 (mh-show-use-goto-addr-flag): Renamed from mh-show-use-goto-addr.
8173 This addresses part of SF #627015.
8174
8175 * mh-mime.el (mh-clean-message-header-flag): Renamed from
8176 mh-clean-message-header.
8177 Checkdoc fixes. This addresses part of SF #627015.
8178
8179 * mh-index.el (mh-clean-message-header-flag): Renamed from
8180 mh-clean-message-header. This addresses part of SF #627015.
8181
8182 * mh-funcs.el (mh-do-not-confirm-flag): Renamed from
8183 mh-do-not-confirm. This addresses part of SF #627015.
8184
8185 * mh-e.el (mh-do-not-confirm-flag): Renamed from
8186 mh-do-not-confirm.
8187 (mh-clean-message-header-flag): Renamed from
8188 mh-clean-message-header.
8189 This addresses part of SF #627015.
8190
8191 * mh-comp.el: checkdoc fixes.
8192
81932002-10-24 Satyaki Das <satyaki@theforce.stanford.edu>
8194
8195 * mh-seq.el (mh-copy-seq-to-eob): Rewritten to scan the headers
8196 fresh instead of yanking from buffer. This is needed to get
8197 correct threading in copied sequence.
8198 (mh-thread-inc, mh-thread-update-scan-line-map)
8199 (mh-thread-parse-scan-line): Eliminate the use, and hence the
8200 definition of, the kludgy mh-thread-update-scan-line-map. Instead
8201 the functions mh-notate-deleted-and-refiled and
8202 mh-notate-user-sequences are used to get the message marks right.
8203 (mh-thread-generate-scan-lines): Updated to allow the thread tree
8204 to be used in a narrowed folder buffer.
8205 (mh-thread-folder, mh-toggle-threads): Remove
8206 mh-folder-threaded-view-flag.
8207 (mh-thread-old-scan-line-map): New buffer-local variable that
8208 remembers the original scan-line map so that the sequence thread,
8209 narrow, widen will work.
8210 (mh-narrow-to-seq, mh-widen): Remember the scan-line map when
8211 narrowing and restore it when widening.
8212
8213 * mh-e.el (mh-folder-threaded-view-flag, mh-folder-folder-menu)
8214 (mh-regenerate-headers, mh-get-new-mail)
8215 (mh-make-folder-mode-line, mh-process-commands)
8216 (mh-delete-scan-msgs): Remove mh-folder-threaded-view-flag.
8217 Instead (memq 'unthread mh-view-ops) is used to test if the folder
8218 is threaded.
8219
8220 * mh-mime.el (mh-display-emphasis): Shadow article-goto-body here
8221 since we want to do emphasis on the whole of the region and not
8222 just after the first blank line.
8223 (mh-mm-display-part): When displaying a text part show smilies and
8224 emphasis.
8225
8226 * mh-index.el (mh-index-insert-scan): Attempt to keep number of
8227 args to scan small if there are lots of adjacent matches.
8228 (mh-index-quit): Bury index-buffer on quit instead of killing it.
8229 This behavior is more like that of mh-quit.
8230
8231 * mh-seq.el (mh-widen): If folder was threaded after narrowing
8232 then make mh-widen undo the threading instead of erroring out.
8233
82342002-10-24 Peter S Galbraith <psg@debian.org>
8235
8236 * mh-seq.el (mh-toggle-threads): Add a cond (as suggested by
8237 Satyaki) to properly unthread a narrowed-to-sequence.
8238
8239 * mh-seq.el (mh-thread-generate-scan-lines): Fix threading
8240 breakage from partial switch to mh-container-real-child-flag and
8241 to dupl-flag.
8242
8243 * mh-comp.el (mh-yank-cur-msg): Bug fix: specify
8244 (eq t mh-yank-from-start-of-msg) when that's what we want.
8245
82462002-10-24 Mark D. Baushke <mdb@gnu.org>
8247
8248 * mh-seq.el (mh-thread-prune-subject): Renamed subject-pruned-p as
8249 subject-pruned-flag.
8250 (mh-thread-inc): Renamed old-buffer-modified-p as
8251 old-buffer-modified-flag.
8252 (mh-thread-generate-scan-lines): Renamed dupl-p as dupl-flag.
8253 This addresses part of SF #627015.
8254
8255 * mh-index.el (mh-index-advance): Renamed backward-p
8256 local variable as backward-flag.
8257 (mh-index-next-button): Renamed backward-p
8258 argument as backward-flag.
8259 (mh-index-show): Renamed display-headers-p argument as
8260 display-headers-flag.
8261 This addresses part of SF #627015.
8262
8263 * mh-e.el (mh-scan-format, mh-version): Use mh-nmh-flag.
8264 (mh-folder-mime-action): Renamed include-security-p
8265 argument as include-security-flag.
8266 (mh-goto-next-button, mh-next-button): Renamed backward-p
8267 argument as backward-flag.
8268 (mh-get-new-mail): Renamed new-mail-p local variable as
8269 new-mail-flag.
8270 (mh-goto-cur-msg): Renamed minimal-changes-p argument as
8271 minimal-changes-flag.
8272 (redraw-needed-flag): Renamed redraw-needed-p local variable as
8273 redraw-needed-flag.
8274 (mh-seq-containing-msg): Renamed include-internal-p argument as
8275 include-internal-flag.
8276 (mh-page-msg): Use mh-page-to-next-msg-flag.
8277 This addresses part of SF #627015.
8278
8279 * mh-mime.el (mh-mhn-compose-insert-flag): Renamed from
8280 mh-mhn-compose-insert-p. Make it buffer-local.
8281 (mh-mhn-compose-type, mh-mhn-compose-external-type,
8282 mh-mhn-compose-forw, mh-edit-mhn): Use mh-mhn-compose-insert-flag.
8283 (mh-mml-to-mime, mh-mml-secure-message-encrypt-pgpmime,
8284 mh-mime-display-part, mh-mime-display-single): Use
8285 mh-gnus-pgp-support-flag renamed from mh-gnus-pgp-support-p.
8286 (mh-mime-display-single): Renamed small-image-p local
8287 variable as small-image-flag.
8288 (mh-mime-inline-part): Renamed local variable inserted-p as
8289 inserted-flag.
8290 (mh-mime-inline-part): Renamed local variable displayed-p as
8291 displayed-flag.
8292 This addresses part of SF #627015.
8293
8294 * mh-comp.el (mh-letter-menu, mh-letter-mode, mh-send-letter):
8295 mh-mhn-compose-insert-flag.
8296 (mh-repl-group-formfile, mh-forward): Use mh-nmh-flag
8297 renamed from mh-nmh-p.
8298 (mh-reply, mh-insert-x-mailer, mh-send-letter): Use mh-nmh-flag.
8299 (mh-letter-mode-map): Use mh-gnus-pgp-support-flag renamed from
8300 mh-gnus-pgp-support-p.
8301 (mh-mml-secure-message-sign-pgpmime): Use
8302 mh-gnus-pgp-support-flag.
8303 This addresses part of SF #627015.
8304
8305 * mh-utils.el (mh-page-to-next-msg-flag): Renamed from
8306 mh-page-to-next-msg-p.
8307 (mh-show-msg): Use mh-page-to-next-msg-flag.
8308 (mh-gnus-pgp-support-flag): Renamed from
8309 mh-gnus-pgp-support-p.
8310 (mh-show-font-lock-fontify-region): Fix docstring per checkdoc.
8311 (with-mh-folder-updating): Renamed argument
8312 save-modification-flag-p as mh-save-modification-flag.
8313 (mh-prompt-for-folder): Renamed new-file-p local
8314 variable as new-file-flag.
8315 This addresses part of SF #627015.
8316
83172002-10-24 Mark D Baushke <mdb@gnu.org>
8318
8319 * mh-comp.el (mh-forward): Fix mh-mml-compose-insert-p reference
8320 in last commit to be mh-mml-compose-insert-flag.
8321 (mh-mml-compose-insert-flag): Move defvar to fix compiler warning.
8322
83232002-10-24 Jeffrey C Honig <jch@honig.net>
8324
8325 * mh-comp.el (mh-forward): Add support for transient-mark mode.
8326 When using nmh, always specify -mime so as to preserve the
8327 original message(s). If mh-compose-insertion is 'gnus, convert
8328 the mhbuild format forwarding directives into MML.
8329
83302002-10-24 Eric Ding <ericding@alum.mit.edu>
8331
8332 * mh-comp.el (mh-send-letter): Fix for earlier change that added
8333 "-mime" for bcc'ed MIME mail; still doesn't work with nmh 1.0, but
8334 at least no longer triggered for every outgoing message!
8335
83362002-10-24 Peter S Galbraith <psg@debian.org>
8337
8338 * mh-comp.el (mh-yank-cur-msg): Fix selected regions for supercite
8339 (see text below).
8340
8341 * mh-comp.el (mh-yank-cur-msg): Fix for supercite. Someone played
8342 with the point and mark setting prior to the call to
8343 'mh-insert-prefix-string and that broke supercite. I put comments
8344 to make it obvious to future coders why those settings exists.
8345 Note that supercite is still broken when a region is selected in
8346 the show buffer. Presumably it's been like that for a long time.
8347 We need to insert the header as well as the selected region oin
8348 that case. I'll submit an SF bug.
8349
83502002-10-24 Jeffrey C Honig <jch@honig.net>
8351
8352 * mh-comp.el (mh-yank-from-start-of-msg, mh-reply): Use -noformat
8353 flag to reply when 'autosupercite or 'autoattrib are specified to
8354 prevent duplicate cites of the body of a message.
8355
83562002-10-23 Satyaki Das <satyaki@theforce.stanford.edu>
8357
8358 * mh-utils.el (font-lock-default-fontify-region): Add autoload to
8359 avoid compiler warning.
8360
83612002-10-23 Peter S Galbraith <psg@debian.org>
8362
8363 * mh-comp.el (mh-letter-mode): set fill-paragraph-function to our
8364 own 'mh-fill-paragraph-function instead of simply
8365 'mail-mode-fill-paragraph (because it doesn't handle a non-nil
8366 fill-prefix correctly).
8367 (mh-fill-paragraph-function): New function for mh-letter-mode
8368 fill-paragraph-function in order to handle non-nil fill-prefix.
8369 Call sendmail's mail-mode-fill-paragraph if in the mail header,
8370 else call default fill-paragraph with fill-prefix set to nil.
8371 (Closes SF #489927)
8372
8373 * mh-comp.el (mh-letter-mode): Let's use font-lock even if gnus is
8374 used in show-mode. The reason is that gnus uses static text
8375 properties which are not appropriate for a buffer that will be
8376 edited. So the choice here is either fontify the citations and
8377 header or the header only.
8378
8379 * mh-utils.el (mh-show-font-lock-fontify-region): Limit font-lock
8380 in mh-show-mode to the header. Used when mh-highlight-citation-p
8381 is set to gnus, leaving the body to be dealt with by gnus
8382 highlighting. This fixes gnus text emphasis in mh-show-mode.
8383 (mh-show-mode): In font-lock-defaults, set
8384 font-lock-fontify-region-function to mh-show-font-lock-fontify-region.
8385
83862002-10-23 Bill Wohler <wohler@newt.com>
8387
8388 * mh-mime.el (mh-mml-attach-file): Prompt for disposition should
8389 be Disposition, not Content-Type. The Content-Type has been
8390 determined automatically.
8391
83922002-10-23 Mark D. Baushke <mdb@gnu.org>
8393
8394 * MH-E-NEWS:
8395 s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
8396 s/mh-show-use-xface/mh-show-use-xface-flag/
8397 s/mh-tool-bar-reply-3-buttons/mh-tool-bar-reply-3-buttons-flag/
8398 This addresses part of SF #627015.
8399
8400 * mh-comp.el:
8401 s/mh-mml-compose-insert-p/mh-mml-compose-insert-flag/
8402 s/mh-xemacs-p/mh-xemacs-flag/
8403 (mh-letter-menu): Use mh-mml-compose-insert-flag.
8404 (mh-insert-x-mailer): Use mh-xemacs-flag.
8405 (mh-mml-compose-insert-flag): Renamed from
8406 mh-mml-compose-insert-p.
8407 (mh-send-letter): Use mh-mml-compose-insert-flag.
8408 This addresses part of SF #627015.
8409
8410 * mh-e.el:
8411 s/mh-folder-threaded-view-p/mh-folder-threaded-view-flag/
8412 s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
8413 s/mh-xemacs-p/mh-xemacs-flag/
8414 (mh-folder-threaded-view-flag): Renamed from
8415 mh-folder-threaded-view-p. Make it buffer local.
8416 (mh-folder-tool-bar-map): Use mh-tool-bar-reply-3-buttons-flag.
8417 (mh-remove-xemacs-horizontal-scrollbar): Use mh-xemacs-flag.
8418 (mh-make-folder, mh-regenerate-headers, mh-get-new-mail): Use
8419 mh-adaptive-cmd-note-flag.
8420 (mh-folder-folder-menu, mh-regenerate-headers, mh-get-new-mail,
8421 mh-make-folder-mode-line, mh-process-commands,
8422 mh-delete-scan-msgs): Use mh-folder-threaded-view-flag.
8423 This addresses part of SF #627015.
8424
8425 * mh-index.el:
8426 s/mh-adaptive-cmd-note/mh-adaptive-cmd-note-flag/
8427 (mh-index-search): Use mh-adaptive-cmd-note-flag.
8428 This addresses part of SF #627015.
8429
8430 * mh-mime.el:
8431 s/mh-mml-compose-insert-p/mh-mml-compose-insert-flag/
8432 s/mh-xemacs-p/mh-xemacs-flag/
8433 (mh-mml-compose-insert-flag): Renamed from
8434 mh-mml-compose-insert-p. Make it buffer local.
8435 (mh-mml-attach-file, mh-mml-secure-message-sign-pgpmime,
8436 mh-mml-secure-message-encrypt-pgpmime): Use it.
8437 (gnus-local-map-property): Use mh-xemacs-flag.
8438 This addresses part of SF #627015.
8439
8440 * mh-seq.el:
8441 s/mh-folder-threaded-view-p/mh-folder-threaded-view-flag/
8442 (mh-thread-generate, mh-thread-folder, mh-toggle-threads): Use
8443 mh-folder-threaded-view-flag.
8444 This addresses part of SF #627015.
8445
8446 * mh-speed.el:
8447 s/mh-speed-run-flists-p/mh-speed-run-flists-flag/
8448 s/mh-speed-refresh-p/mh-speed-refresh-flag/
8449 (mh-speed-run-flists-flag): Renamed from mh-speed-run-flists-p.
8450 (mh-folder-speedbar-buttons): Use it.
8451 (mh-speed-refresh-flag): Renamed from mh-speed-refresh-p.
8452 (mh-speed-update-current-folder, mh-speed-invalidate-map,
8453 mh-speed-add-folder): Use it.
8454 This addresses part of SF #627015.
8455
8456 * mh-utils.el:
8457 s/mh-xemacs-p/mh-xemacs-flag/
8458 s/mh-tool-bar-reply-3-buttons/mh-tool-bar-reply-3-buttons-flag/
8459 s/mh-show-use-xface/mh-show-use-xface-flag/
8460 (mh-xemacs-flag): Renamed from mh-xemacs-p.
8461 (mh-show-xface-function): Use it.
8462 (mh-tool-bar-reply-3-buttons-flag): Renamed from
8463 mh-tool-bar-reply-3-buttons.
8464 (mh-show-tool-bar-map): Use it.
8465 (mh-adaptive-cmd-note-flag): Renamed from mh-adaptive-cmd-note.
8466 (mh-cmd-note): Use it in description.
8467 (mh-show-use-xface-flag): Renamed from mh-show-use-xface. Use
8468 mh-xemacs-flag.
8469 (mh-show-xface): Use mh-show-use-xface-flag.
8470 This addresses part of SF #627015.
8471
84722002-10-23 Bill Wohler <wohler@newt.com>
8473
8474 * Makefile (all): Rather than have to run "make clean all" all the
8475 time, make the default target do a clean so all you have to say is
8476 "make".
8477
8478 * mh-e.el (mh-folder-map): Moved "t (mh-toggle-threads)" to T
8479 prefix.
8480
84812002-10-22 Satyaki Das <satyaki@theforce.stanford.edu>
8482
8483 * mh-index.el (mh-indexer-choices, mh-swish-binary): The
8484 executable swish-e can be used to search (just like swish-search).
8485 However the Makefile in swish-e-2.2.2 doesn't install
8486 swish-search. So it is preferable to use swish-e.
8487
84882002-10-22 Bill Wohler <wohler@newt.com>
8489
8490 * mh-comp.el (mh-letter-mode-map): Added aliases for keybindings.
8491 For example, you now have "C-c C-m C-i" in addition to "C-c C-m
8492 i".
8493
84942002-10-22 Mark D. Baushke <mdb@gnu.org>
8495
8496 * mh-mime.el (mh-graphical-smileys-flag): Renamed from
8497 mh-graphical-smileys-p.
8498 (mh-display-smileys): Use it.
8499 (mh-graphical-emphasis-flag): Renamed from
8500 mh-graphical-emphasis-p.
8501 (mh-display-emphasis): Use it. This addresses part of SF #627015.
8502
85032002-10-22 Satyaki Das <satyaki@theforce.stanford.edu>
8504
8505 * mh-mime.el (mh-insert-mime-security-button): A message is
8506 produced if PGP decryption/verification fails. This addresses
8507 SF# 627025.
8508
85092002-10-21 Bill Wohler <wohler@newt.com>
8510
8511 * mh-seq.el (mh-widen): Checkdoc removed the period in the error.
8512 The info node (elisp) Coding Conventions says: "An error message
8513 should start with a capital letter but should not end with a
8514 period."
8515
8516 * mh-e.el, mh-utils.el (mh-tool-bar-reply-3-buttons): Moved
8517 defcustom to mh-utils because I got an error about a nil value for
8518 mh-tool-bar-reply-3-buttons when I fired up mh-rmail.
8519
8520 * mh-comp.el, mh-funcs.el, mh-mime.el, mh-pick.el: Moved (provide)
8521 to the end of the file to be consistent with most other files (see
8522 additional rationale in mh-e.el description below).
8523
8524 * mh-e.el: Had to remove eval-when-compile from the (require 'cl)
8525 here too (because the remove-if generated a warning in CVS Emacs).
8526 Moved (provide) to the end of the file to be consistent with most
8527 other files. My guess is that this is good to keep a feature from
8528 being "provided" if the file craps out while being loaded.
8529
85302002-10-21 Satyaki Das <satyaki@theforce.stanford.edu>
8531
8532 * mh-utils.el (mh-reply, Info-goto-node): Add autoloads to avoid
8533 compiler warnings.
8534 (mh-tool-bar-reply-3-buttons): Add defvar to avoid compiler
8535 warning.
8536
8537 * mh-seq.el (mh-narrow-to-seq): Remember that a narrowing has
8538 occurred.
8539 (mh-valid-view-change-operation-p): New function that checks if
8540 the widening or unthreading that we are about to perform is
8541 allowed.
8542 (mh-widen): Check if widening is applicable.
8543 (mh-thread-inc, mh-thread-folder): Use delete-region instead of
8544 erase-buffer. This means if the buffer is narrowed then the hidden
8545 parts aren't removed. This allows widening of the folder later on.
8546 (mh-toggle-threads): Maintain mh-view-ops.
8547
8548 * mh-e.el (mh-view-ops, mh-folder-mode): New buffer-local variable
8549 that keeps track of the sequence in which threading and narrowing
8550 of the folder buffer has been carried out. This is needed so that
8551 narrowing followed by threading (or vice versa) behaves in a
8552 reasonable manner.
8553 (mh-regenerate-headers): Use delete-region instead of
8554 erase-buffer.
8555 (mh-make-folder-mode-line): Change mh-first-msg-num and
8556 mh-last-msg-num conservatively. This might show a larger range in
8557 the mode-line but allows the unthreading to not miss messages
8558 present initially.
8559
85602002-10-21 Bill Wohler <wohler@newt.com>
8561
8562 * mh-mime.el (mh-graphical-emphasis-p): Added _underline_ to the
8563 docstring, as well as the source of the strings,
8564 gnus-emphasis-alist.
8565 (mh-graphical-emphasis-p, mh-graphical-smileys-p): Set the default
8566 to t.
8567
85682002-10-21 Peter S Galbraith <psg@debian.org>
8569
8570 * mh-utils.el (mh-show-mode): Invoke new toolbar.
8571 (mh-show-tool-bar-map): New tool-bar for mh-show-mode, similar to
8572 mh-letter-mode.
8573
85742002-10-21 Satyaki Das <satyaki@theforce.stanford.edu>
8575
8576 * mh-utils.el (mh-display-msg): Call the smiley display function
8577 after the call to mh-show-mode. This is needed since mh-show-mode
8578 kills all buffer-local variables and resets the variable that
8579 controls display of graphical smileys.
8580
85812002-10-21 Bill Wohler <wohler@newt.com>
8582
8583 * mh-e.el (mh-folder-mime-action): Change mime to MIME in message.
8584
8585 * mh-comp.el (mh-mml-to-mime autoload): Ditto.
8586
85872002-10-21 Mark D Baushke <mdb@gnu.org>
8588
8589 * mh-mime.el (smiley-region): Use load for a non-fatal dependency
8590 on the smiley library.
8591
85922002-10-21 Jeffrey C Honig <jch@honig.net>
8593
8594 * mh-comp.el (mh-forward): Search for a blank line as well as
8595 mail-header-separator.
8596 (mh-letter-mode): Search for a blank line as well as
8597 mail-header-separator.
8598 (mh-send-letter): The default BCC encapsulation will make a MIME
8599 message unreadable. If we are running nmh and the letter contains
8600 a Bcc: and a Content-Type: field, add the -mime switch to to the
8601 arguments to send.
8602
86032002-10-21 Peter S Galbraith <psg@debian.org>
8604
8605 * mh-utils.el: Add a mh-defun-show-buffer call to define
8606 mh-show-pack-folder.
8607
86082002-10-21 Peter S Galbraith <psg@debian.org>
8609
8610 * mh-mime.el (mh-store-mime-parts): Simplify code a bit.
8611
8612 * mh-e.el (mh-help-messages): Update help message for changed
8613 keybindings.
8614
86152002-10-21 Satyaki Das <satyaki@theforce.stanford.edu>
8616
8617 * mh-speed.el (mh-speed-invalidate-map): Invalidate
8618 mh-speed-folders-cache before it is used by mh-speed-folders. Also
8619 fix indentation of if statement.
8620 (mh-speed-folder-size): The folder name should be extracted from
8621 the speedbar buffer and not from the temp buffer has was happening
8622 before.
8623 (mh-speed-folder-size): Harden the function some more. It
8624 shouldn't produce errors any more unless flist really didn't work.
8625
86262002-10-21 Bill Wohler <wohler@newt.com>
8627
8628 * mh-seq.el (mh-put-msg-in-seq): Formatting only. The reason I was
8629 in there is because I was trying to use mh-put-msg-in-seq and
8630 mh-msg-is-in-seq non-interactively and found that although the
8631 docstring says it uses the current message by default, I got
8632 errors if I passed in nil for the message. Is this expected, or is
8633 this a bug? I suppose the fix would be to make the arguments
8634 optional, right? This would cause the arguments in
8635 mh-put-msg-in-seq to be reversed, however. Might be a backwards
8636 compatibility problem.
8637
8638 * mh-speed.el (mh-speed-view): Convert default size to string
8639 before passing it to read-string. This was done because XEmacs
8640 can't handle a numeric value for the default.
8641
86422002-10-20 Satyaki Das <satyaki@theforce.stanford.edu>
8643
8644 * mh-utils.el (mh-show-mode-map, mh-show-folder-map)
8645 (mh-show-sequence-map, mh-show-thread-map, mh-show-extract-map)
8646 (mh-show-digest-map, mh-show-mime-map): Interactive functions
8647 callable in show buffer are now prefixed with mh-show.
8648
8649 * mh-seq.el (mh-notate-deleted-and-refiled): Take into account the
8650 changes to mh-refile-list and the removal of the 'deleted
8651 sequence.
8652 (mh-toggle-threads): Changing from threaded to normal view doesn't
8653 try to push out message refiles and deletions to MH.
8654
8655 * mh-e.el (mh-rescan-folder, mh-scan-folder): Add a new optional
8656 argument to both functions that prevents them from carrying out
8657 pending refiles and deletes.
8658 (mh-undo): Remove dead code.
8659 (mh-delete-a-msg, mh-undo-msg): Get rid of the 'deleted sequence.
8660 The same information is present in mh-delete-list any way.
8661 (mh-refile-a-msg, mh-undo-msg, mh-process-commands): Change the
8662 semantics of mh-refile-list to make it self-contained. This
8663 variable now contains a list of lists. The first element of each
8664 sublist is the destination folder name. The remaining elements are
8665 the messages that are to be refiled to the destination folder.
8666 (mh-toggle-threads, mh-folder-folder-menu): Use mh-toggle-threads
8667 instead of mh-thread-folder.
8668
86692002-10-20 Peter S Galbraith <psg@debian.org>
8670
8671 * mh-mime.el (mh-store-mime-parts): Bug fix? Make this command
8672 work when in the show buffer, and not just in the folder buffer
8673 pointing to a message.
8674
86752002-10-20 Peter S Galbraith <psg@debian.org>
8676
8677 * mh-seq.el (mh-narrow-to-subject-sequence): Renamed from
8678 mh-narrow-to-subject-thread.
8679 (mh-subject-to-sequence): Renamed from mh-subject-thread-to-sequence.
8680 (mh-delete-subject-sequence): Renamed from mh-delete-subject-thread.
8681 (mh-next-unseen-subject-sequence): Renamed from
8682 mh-next-unseen-subject-thread.
8683 (mh-toggle-subject-thread): Removed. :-(
8684
8685 * mh-e.el: s/subject-thread/subject-sequence/
8686 (mh-thread-map): Bind mh-widen to "w".
8687
8688 * mh-utils.el: s/subject-thread/subject-sequence/
8689 (mh-show-thread-map): Bind mh-widen to "w".
8690
86912002-10-20 Satyaki Das <satyaki@theforce.stanford.edu>
8692
8693 * mh-seq.el (mh-thread-folder): This function is no longer
8694 interactive. The mh-toggle-threads is the interactive function
8695 that gets called by the user. Also the already computed values in
8696 mh-first-msg-num and mh-last-msg-num are used instead of
8697 recomputing the first and last message indices in the current
8698 folder.
8699 (mh-toggle-threads): New interactive function that toggles
8700 threaded view of the folder.
8701
8702 * mh-utils.el (mh-letter-toggle-threads): New interactive function
8703 which toggles thread view from show buffer. This function replaces
8704 mh-letter-thread-folder.
8705 (mh-show-folder-map): Use mh-letter-toggle-threads instead of
8706 mh-letter-thread-folder.
8707
8708 * mh-e.el (mh-folder-map): Use mh-toggle-threads instead of
8709 mh-thread-folder.
8710
87112002-10-20 Bill Wohler <wohler@newt.com>
8712
8713 * mh-e.el (mh-scan-folder): Formatting only.
8714 (mh-goto-cur-msg): Removed call to mh-last-msg in those cases
8715 where there isn't a current message. Since I've started using the
8716 speedbar to read my mh-e mail, I've had to use M-< every time to
8717 go to the beginning of the new messages. Very annoying! Thus, if
8718 there isn't a current message, the cursor is left alone, which
8719 sounds like the right thing to do anyway.
8720
87212002-10-19 Peter S Galbraith <psg@debian.org>
8722
8723 * mh-seq.el (mh-subject-thread-to-sequence): Bug fix. After
8724 making the 'subject sequence real, I now have to delete it globally.
8725
8726 * mh-seq.el (mh-toggle-subject-thread): Make toggle back to full
8727 scan exactly mh-widen (removed moving to current message).
8728
8729 * mh-seq.el (mh-subject-thread-to-sequence): Make 'subject
8730 sequence a real one, exported to MH. This means you can, for
8731 example, mh-forward it. But it also shows up with a mark in the
8732 scan output. (Closes SF #489445).
8733
87342002-10-19 Bill Wohler <wohler@newt.com>
8735
8736 * mh-speed.el (mh-speed-view): If there weren't any unseen
8737 messages, and you specified a string (a sequence like "last") when
8738 prompted for the number of messages to display, you got an error.
8739 This has been fixed.
8740
87412002-10-19 Mark D Baushke <mdb@gnu.org>
8742
8743 * mh-e.el (mh-last-destination-folder): Destination of last refile
8744 command.
8745 (mh-last-destination-write): Destination of last write command.
8746 (mh-refile-msg): Use 'mh-last-destination-folder and update both it
8747 and 'mh-last-destination.
8748 (mh-write-msg-to-file): Use 'mh-last-destination-write and update
8749 both it and 'mh-last-destination (Closes SF #580772).
8750
87512002-10-19 Bill Wohler <wohler@newt.com>
8752
8753 * mh-comp.el (mh-yank-from-start-of-msg): Changed default to
8754 'attribution.
8755 (mh-letter-mode-map): Removed commented-out keybindings as well as
8756 alias "C-c C-m a (mh-compose-insertion)." Prefer "C-c C-m i."
8757
8758 * mh-utils.el: Removed autoload of help. It no longer appears to
8759 be necessary in cvs Emacs (21.4).
8760
87612002-10-18 Bill Wohler <wohler@newt.com>
8762
8763 * mh-e.el (mh-execute-commands): Doc fix.
8764 (mh-compat-write-file-hook): Renamed to
8765 mh-write-file-functions-compat.
8766 (mh-folder-mode): Add mh-write-file-functions-compat instead of
8767 mh-compat-write-file-hook
8768
87692002-10-18 Peter S Galbraith <psg@debian.org>
8770
8771 * mh-utils.el (mh-invisible-headers-show-xface): Killed this
8772 variable.
8773 (mh-invisible-headers): Use 'mh-show-use-xface instead of
8774 'mh-invisible-headers-show-xface to determine whether to render
8775 the X-Face header line visible or not.
8776
87772002-10-18 Satyaki Das <satyaki@theforce.stanford.edu>
8778
8779 * mh-e.el (mh-compat-write-file-hook, mh-folder-mode): Use the new
8780 macro mh-compat-write-file-hook to use write-file-functions for
8781 Emacs 21.4 and local-write-file-hooks for older versions.
8782
87832002-10-18 Mark D Baushke <mdb@gnu.org>
8784
8785 * mh-utils.el (mh-invisible-headers): Add more anti-spam headers.
8786
87872002-10-18 Peter S Galbraith <psg@debian.org>
8788
8789 * mh-mime.el (mh-mml-forward-message): mml-attach-file constructs
8790 a malformed composition if the description string is empty, so
8791 test for that and call mml-attach-file without that argument if
8792 it's an empty string (closes SF #625168).
8793
87942002-10-17 Satyaki Das <satyaki@theforce.stanford.edu>
8795
8796 * mh-index.el (mh-index-keymap): Removed extra binding of " ".
8797 (mh-index-folder-mode-help-messages): Made the cheat sheet entry
8798 of quit like the others.
8799 (mh-index-search): If space was pressed in the index buffer before
8800 a search result has been shown with ".", the old show buffer would
8801 be scrolled. This is confusing since the index and show buffer
8802 contents are contradictory. Killing the show buffer here avoids
8803 this problem.
8804 (mh-index-configure-windows): Refine the window configuration
8805 logic. Avoid the two window view unless there is a message being
8806 displayed in the show buffer.
8807 (mh-index-scroll-up): Rewrite this function. The old version had a
8808 bizarre problem where the show buffer wouldn't be scrolled if the
8809 speedbar was present.
8810 (mh-index-scroll-down): Rewritten because of similar reason as
8811 above.
8812
88132002-10-17 Peter S Galbraith <psg@debian.org>
8814
8815 * mh-comp.el (mh-reply): Add an undo boundary in the undo list
8816 before calling 'mh-yank-cur-msg (closes SF #623693).
8817
88182002-10-17 Satyaki Das <satyaki@theforce.stanford.edu>
8819
8820 * mh-e.el (mh-folder-mode): Use local-write-file-hooks instead of
8821 write-file-hooks. This is required for XEmacs and also the right
8822 thing according to GNU Emacs21 documentation.
8823
88242002-10-16 Satyaki Das <satyaki@theforce.stanford.edu>
8825
8826 * mh-seq.el (mh-thread-generate): Get threading to work correctly
8827 on partial folders. The fix here disregards messages that aren't
8828 already present in the buffer.
8829 (mh-thread-folder): When querying scan about thread info try to
8830 avoid asking about messages that aren't present in the folder
8831 buffer. A more efficient fix would be to ask scan about just the
8832 messages that are present instead of a range of messages. However
8833 that runs the risk of sending long command lines to scan. Another
8834 change was to populate the mh-scan-line-map early so that the
8835 change in mh-thread-generate would work.
8836 (mh-thread-generate-scan-lines): In case duplicates are present
8837 make one of them the pseudo parent of the rest. This makes it look
8838 prettier if there are multiple duplicates at top level.
8839
8840 * mh-comp.el (mh-edit-again): If a buffer in show-mode is being
8841 reused then reinsert message file. This should fix SF #624283.
8842
8843 * mh-mime.el (mh-mm-display-part): Make sure mh-display-part is
8844 always called when we want to remove the displayed MIME part.
8845
88462002-10-16 Bill Wohler <wohler@newt.com>
8847
8848 * mh-speed.el (mh-speed-folder-size): checkdoc fix.
8849 (mh-speed-view): Tweaked output to mirror gnus verbiage. Offer
8850 to view number of messages in folder rather than mh-large-folder.
8851 Replaced (intern mh-unseen-seq) with mh-unseen-seq since the
8852 former was generating errors.
8853
88542002-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
8855
8856 * mh-speed.el (mh-large-folder): New customizable variable to
8857 control mh-e's perception of large folders.
8858 (mh-speed-folder-size): New function which computes the size of
8859 folder on current line.
8860 (mh-speed-view): Modified to handle large folders. If the folder
8861 being clicked has unseen messages then only those messages are
8862 shown. Otherwise if number of messages in folder is larger than
8863 mh-large-folders then the user is asked for the number of messages
8864 to be shown. If the folder satisfies neither of the above cases
8865 then it is displayed in its entirety
8866
88672002-10-15 Bill Wohler <wohler@newt.com>
8868
8869 * mh-index.el (mh-index-keymap): Use gnus-define-keys. Sorted.
8870 Noticed that there were two key bindings for SPACE...
8871
8872 * mh-speed.el (mh-folder-speedbar-key-map): Ditto (except for the
8873 dup SPACE binding).
8874
8875 Completed help in other modes:
8876
8877 * mh-utils.el (mh-xemacs-p): Fixed doc.
8878 (mh-show-mode-map, mh-show-folder-map, mh-show-sequence-map)
8879 (mh-show-thread-map, mh-show-extract-map): Added binding for
8880 mh-help.
8881
8882 * mh-pick.el (mh-search-folder): Added startup help message.
8883 (mh-pick-mode-help-messages): New variable that contains help
8884 messages for pick buffer.
8885 (mh-pick-mode): Set local buffer variable mh-help-messages to
8886 mh-pick-mode-help-messages.
8887
8888 * mh-index.el (mh-index-keymap): Added binding for mh-help
8889 (mh-index-folder-mode-help-messages): New variable that contains
8890 help messages for MH Index buffer.
8891 (mh-index-folder-mode): Set local buffer variable mh-help-messages
8892 to mh-index-mode-help-messages.
8893
8894 * mh-funcs.el (mh-help, mh-prefix-help): Call
8895 substitute-command-keys on the help messages.
8896
8897 * mh-e.el (mh-help-messages): Added ,. Ran C-M-q.
8898 (mh-help): This autoload doc is now used for more than just the
8899 MH-Folder, so drop that specific text.
8900
8901 * mh-comp.el (mh-edit-again, mh-extract-rejected-mail)
8902 (mh-forward, mh-reply, mh-send-sub): Call mh-letter-mode-message
8903 to display a help message at startup.
8904 (mh-letter-mode): Set local buffer variable mh-help-messages to
8905 mh-letter-mode-help-messages.
8906 (mh-letter-mode-help-messages): New variable with help messages
8907 for the MH-Letter buffer.
8908 (mh-letter-mode-message): New function that displays a startup
8909 help message.
8910 (mh-letter-mode-map): Added binding for mh-help. Sorted.
8911
89122002-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
8913
8914 * mh-speed.el (mh-speedbar-selected-folder-with-unseen-messages-face)
8915 (mh-speedbar-folder-face, mh-speedbar-selected-folder-face)
8916 (mh-speedbar-folder-with-unseen-messages-face): New faces for mh-e
8917 speedbar.
8918 (mh-folder-speedbar-buttons, mh-speed-update-current-folder)
8919 (mh-speed-add-buttons): Use the new faces.
8920 (mh-speed-normal-face, mh-speed-bold-face): Functions to convert
8921 to bold face and back to normal face.
8922 (mh-speed-set-face): Removed.
8923 (mh-speed-highlight): Modified to allow it to be used instead of
8924 mh-speed-set-face. Also changes were made to fontify folders with
8925 unread messages.
8926 (mh-speed-parse-flists-output, mh-speed-parse-flists-output)
8927 (mh-speed-invalidate-map): Use mh-speed-highlight instead of
8928 mh-speed-set-face.
8929
89302002-10-15 Bill Wohler <wohler@newt.com>
8931
8932 * mh-mime.el, mh-seq.el, mh-speed.el, mh-utils.el: It appears that
8933 the cl package has been restructured in 21.4 in such a way that
8934 the use of eval-when-compile no longer suppresses warnings when
8935 compiling so that (require 'cl) must be called directly (maybe
8936 this is a bug in 21.4 ;-). Thus the autoloads of cl are no longer
8937 needed. Now compiles clean under 21.4.
8938
8939 * mh-e.el (mh-folder-mode): The use of local-write-file-hooks is
8940 deprecated in Emacs 21.4, so use add-hook write-file-functions (or
8941 write-file-hook for older versions) with the LOCAL argument
8942 instead. Now compiles clean under 21.4.
8943
8944 * mh-comp.el (mh-yank-cur-msg): Push a mark at the opposite end of
8945 the included text to make it easy to jump or delete to the other
8946 end of the included text.
8947
89482002-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
8949
8950 * mh-comp.el (mh-insert-prefix-string): Remove the erroneous use
8951 of set-mark and other related functions.
8952
89532002-10-14 Bill Wohler <wohler@newt.com>
8954
8955 * mh-comp.el (mh-yank-from-start-of-msg): Fixed documentation. It
8956 isn't ignored if there is a region. It is still used for the
8957 attribution.
8958 (mh-yank-cur-msg): Removed unnecessary push-mark when snarfing the
8959 entire message. Move the cursor to the end of the snarfed message
8960 if there is a region. In this case, push a mark so user can pop to
8961 the beginning of the snarfed fragment.
8962 (mh-insert-prefix-string): This calls set-mark which I find
8963 suspect since I found that my last user mark was deleted after
8964 yanking a message. Added a comment to this effect. Will probably
8965 add a bug report...
8966
8967 * README (Installed, Supported versions): To appear in GNU Emacs
8968 21.3; supported on Emacs 21, 20.7 and XEmacs 21.
8969
8970 * mh-funcs.el (mh-concat-list): Deleted. Use mapconcat instead.
8971 (mh-help, mh-prefix-help): Use mapconcat instead of mh-concat-list.
8972 (mh-ephem-message): Use "%s" in message.
8973
8974 * mh-funcs.el (mh-concat-list): New function to concatenate a list
8975 of strings into a single string. I would have thought elisp
8976 already contained a function like this, but I couldn't find it.
8977 (mh-ephem-message): New function to display a message in the
8978 minibuffer ephemerally. minibuffer-message seemed like the right
8979 function, but it writes to the current buffer oddly enough.
8980 (mh-help, mh-prefix-help): New functions to display command
8981 cheat sheets in the minibuffer (closes SF #493740). It would be
8982 nice to refactor these two into a single function if possible.
8983
8984 * mh-e.el (mh-folder-mode-map, mh-folder-map, mh-sequence-map)
8985 (mh-thread-map, mh-extract-map): Added ? keybinding for `mh-help'
8986 and `mh-prefix-help' (closes SF #493740).
8987 (mh-help-messages): New variable to hold various help messages.
8988 (mh-help, mh-prefix-help): Autoload from mh-funcs.el.
8989
89902002-10-13 Bill Wohler <wohler@newt.com>
8991
8992 * mh-index.el (mh-glimpse-directory, mh-swish-directory,
8993 mh-namazu-directory): New variables that hold the name of the
8994 configuration and indexing directory. All are now hidden `.'
8995 directories.
8996
8997 * mh-e.el, mh-funcs.el, mh-index.el, mh-mime.el, mh-pick.el,
8998 mh-seq.el, mh-xemacs-compat.el (Docstrings): Converted comments to
8999 docstrings, reworded some docstrings to conform to Emacs
9000 documentation conventions, and eliminated all checkdoc warnings
9001 (except for -flag, which we'll fix after 6.2 is released).
9002
90032002-10-13 Satyaki Das <satyaki@theforce.stanford.edu>
9004
9005 * mh-index.el (mh-swish-next-result): Fix a bug in a corner case
9006 where the lack of a trailing "/" caused the function to wrongly
9007 filter out correct hits. This should fix SF #622679.
9008
90092002-10-12 Steve Youngs <youngs@xemacs.org>
9010
9011 * mh-utils.el (mh-xemacs-p): Simplify it, don't test for
9012 'defvaralias' and don't use 'running-xemacs'.
9013
90142002-10-11 Bill Wohler <wohler@newt.com>
9015
9016 * mh-comp.el: (Docstrings): Eliminated all checkdoc warnings by
9017 converting comments to docstrings and rewording some docstrings to
9018 conform to Emacs documentation conventions.
9019
90202002-10-11 Steve Youngs <youngs@xemacs.org>
9021
9022 * mh-utils.el (mh-xemacs-p): New.
9023 (mh-show-use-xface): Use it.
9024 (mh-show-xface-function): Ditto.
9025
9026 * mh-e.el (toplevel): Ditto.
9027 (mh-remove-xemacs-horizontal-scrollbar): Ditto.
9028 (mh-folder-mode-map): Ditto.
9029
9030 * mh-comp.el (mh-insert-x-mailer): Ditto.
9031
9032 * mh-mime.el (gnus-local-map-property): Ditto.
9033 (mh-mml-to-mime): Move (require 'mh-utils) to toplevel.
9034 (mh-prompt-for-folder): Autoloading this not needed because
9035 mh-utils is now required at toplevel.
9036 (mh-show-xface): Ditto.
9037 (mh-show-addr): Ditto.
9038
90392002-10-11 Bill Wohler <wohler@newt.com>
9040
9041 * Makefile (EMACS_HOME): Set default to $(TOP)/../emacs so it
9042 would be useful.
9043
9044 * mh-utils.el (mh-invisible-headers): Added various spam header
9045 fields.
9046 (mh-path-search): Removed argument `func-p' and related code. It
9047 was not documented and no one used it.
9048 (Docstrings): Converted comments to docstrings, reworded some
9049 docstrings to conform to Emacs documentation conventions, and
9050 basically eliminated all checkdoc warnings (except for -flag
9051 warnings).
9052
90532002-10-11 Satyaki Das <satyaki@theforce.stanford.edu>
9054
9055 * mh-seq.el (mh-thread-generate): Kill dead code.
9056
90572002-10-10 Satyaki Das <satyaki@theforce.stanford.edu>
9058
9059 * mh-seq.el (mh-region-to-sequence): Don't include point-max in
9060 region (closes SF #621632).
9061
9062 * mh-utils.el (mh-defun-show-buffer): Fix call of
9063 frame-first-window to work with XEmacs. Also avoid warning about
9064 cur-buffe-name in XEmacs.
9065 (mh-modify, mh-goto-msg): Remove dead code.
9066
9067 * mh-speed.el (mh-speed-toggle, mh-speed-add-buttons): Remove dead
9068 code.
9069
9070 * mh-seq.el (mh-subject-thread-to-sequence, mh-thread-get-message,
9071 mh-thread-generate, mh-thread-folder): Remove dead code.
9072
9073 * mh-mime.el (mh-mm-inline-message): Remove dead code.
9074
9075 * mh-index.el (mh-index-search): Remove dead code.
9076
9077 * mh-comp.el (mh-open-line): Remove dead code.
9078
9079 * mh-e.el (mh-folder-mode): Use the macro
9080 mh-remove-xemacs-horizontal-scrollbar to avoid compiler-warning in
9081 Emacs.
9082 (mh-remove-xemacs-horizontal-scrollbar): New macro to avoid
9083 compiler-warnings.
9084
90852002-10-10 Mark D Baushke <mdb@gnu.org>
9086
9087 * Makefile (EMACS_OPTIONS): New macro for command-line compile
9088 options.
9089 (EMACS): Allow the user to specify which emacs command to use for
9090 the compile.
9091 (COMPILE_COMMAND): Combine the compile command with its options.
9092 (.el.elc): Use the new $(COMPILE_COMMAND).
9093
90942002-10-10 Mark D Baushke <mdb@gnu.org>
9095
9096 * mh-speed.el (mh-speed-select-attached-frame): Define a new
9097 compatibility macro for getting to the attached-frame.
9098 (mh-speed-update-current-folder): Use it.
9099
91002002-10-10 Mark D Baushke <mdb@gnu.org>
9101
9102 * mh-speed.el (mh-speed-update-current-folder): Use
9103 'dframe-select-attached-frame if we are in a newer speedbar
9104 version that no longer supports the 'speedbar-attached-frame
9105 variable.
9106
91072002-10-10 Steve Youngs <youngs@xemacs.org>
9108
9109 * mh-speed.el (mh-speed-update-current-folder): Use
9110 'dframe-select-attached-frame' if we're in XEmacs.
9111
9112 * mh-e.el (mh-folder-mode): Remove the horizontal scrollbar from
9113 the MH-Folder buffer if we're in XEmacs.
9114
91152002-10-09 Satyaki Das <satyaki@theforce.stanford.edu>
9116
9117 * mh-utils.el (mh-show-xface-function): New global that stores
9118 what function needs to be called to display X-Face.
9119 (mh-show-xface): Rewritten to avoid compiler warning.
9120
91212002-10-09 Peter S Galbraith <psg@debian.org>
9122
9123 * mh-utils.el (mh-exchange-point-and-mark-preserving-active-mark):
9124 Simplify code for all emacsen to avoid byte-compilation warnings.
9125
91262002-10-09 Satyaki Das <satyaki@theforce.stanford.edu>
9127
9128 * mh-mime.el (mh-mm-display-part): If a sub-part of the current
9129 part is an inline image then clicking the button keeps the image
9130 around. The change fixes this bug.
9131
91322002-10-09 Peter S Galbraith <psg@debian.org>
9133
9134 * mh-utils.el (mh-exec-cmd-output): Use new function
9135 'mh-exchange-point-and-mark-preserving-active-mark instead of
9136 'exchange-point-and-mark. Fixes a bug in emacs20 and XEmacs21.
9137 (mh-exchange-point-and-mark-preserving-active-mark): New function.
9138 Does like 'exchange-point-and-mark but doesn't activate the mark.
9139
9140 * mh-comp.el (mh-letter-menu): Allow access to "Pull in All
9141 Compositions" menu entries when edits have really occurred.
9142 Works with "forw: -mime" mh_profile entry, so this fixes a bug.
9143
9144 * mh-mime.el (mh-mime-inline-part, mh-mm-display-part): Use
9145 line-beginning-position and line-end-position instead of
9146 point-at-bol and point-at-eol XEmacs functions.
9147 * mh-xemacs-compat.el: Added line-end-position and
9148 line-beginning-position compatibility aliases.
9149
91502002-10-08 Mark D. Baushke <mdb@gnu.org>
9151
9152 * mh-utils.el (mh-scan-msg-format-regexp): The regexp to find
9153 %number(msg).
9154 (mh-scan-msg-format-string): Format to be used with the current
9155 maximum width of message number for the folder in the
9156 `mh-upate-scan-format' function.
9157 (mh-update-scan-format): Use `mh-scan-msg-format-regexp' for greater
9158 flexibility. The message number is no longer anchored to the
9159 beginning of the `mh-scan-format-nmh' or `mh-scan-format-mh' format
9160 strings. The `mh-update-scan-format' allows for using zero-filled
9161 message numbers.
9162
91632002-10-08 Peter S Galbraith <psg@debian.org>
9164
9165 * mh-e.el (mh-folder-folder-menu): Add entry for "Thread Folder".
9166
91672002-10-07 Satyaki Das <satyaki@theforce.stanford.edu>
9168
9169 * mh-seq.el (mh-thread-generate): Use mh-progs to get path to mh
9170 executables.
9171
9172 * mh-speed.el (mh-speed-flists): Use mh-progs to get path to mh
9173 executables right.
9174 (mh-speed-folders-actual): Same as above.
9175
91762002-10-05 Steve Youngs <youngs@xemacs.org>
9177
9178 * mh-comp.el (mh-yank-from-start-of-msg): Make default setting 't'
9179 a const.
9180
9181 * mh-xemacs-compat.el (match-string-no-properties): Rewrite as a
9182 defsubst using 'buffer-substring-no-properties' so we don't grab
9183 any extents.
9184 (rfc822-goto-eoh): Removed. This exists in the XEmacs mail-lib
9185 package.
9186 (mail-header-end): Ditto.
9187 (mail-mode-fill-paragraph): Ditto.
9188
91892002-10-05 Satyaki Das <satyaki@theforce.stanford.edu>
9190
9191 * mh-speed.el (mh-speed-invalidate-map): When called interactively
9192 the function will clear mh-speed-folders-cache.
9193
91942002-10-02 Satyaki Das <satyaki@theforce.stanford.edu>
9195
9196 * mh-mime.el (mh-insert-mime-button): Rewrite without using
9197 replace-match.
9198
91992002-10-01 Satyaki Das <satyaki@theforce.stanford.edu>
9200
9201 * mh-mime.el (mh-file-mime-type-substitutions): Reorder code to
9202 avoid compiler warning.
9203
92042002-10-01 Bill Wohler <wohler@newt.com>
9205
9206 * Makefile (MH-E-ETC): Moved ChangeLog into MH-E-ETC-ETC since it
9207 shouldn't get installed in Emacs.
9208 (install-emacs): Install MH-E-IMG into Emacs' lisp/toolbar and
9209 MH-E-IMG2 into Emacs' lisp/mail.
9210
92112002-10-01 Peter S Galbraith <psg@debian.org>
9212
9213 * mh-e.el (mh-tool-bar-reply-3-buttons): New customization.
9214 Non-nil means use three buttons for reply commands in tool-bar.
9215 If you have room on your tool-bar because you are using a large
9216 font, you may set this variable to expand the single reply
9217 button into three buttons that won't lead to minibuffer prompt
9218 about who to reply to.
9219 (mh-folder-tool-bar-map): Use mh-tool-bar-reply-3-buttons to
9220 decide how many buttons to use for replying.
9221
9222 * mh-mime.el (mh-file-mime-type-substitutions)
9223 (mh-file-mime-type-substitute): Fix typos and doc strings.
9224
92252002-09-30 Peter S Galbraith <psg@debian.org>
9226
9227 * mh-mime.el (mh-file-mime-type): Run Content-Type string returned
9228 by file command through mh-file-mime-type-substitute (see below).
9229 (mh-file-mime-type-substitute): Possibly change Content-Type
9230 string using mh-file-mime-type-substitutions variable. This is
9231 mostly because all MS-Office file are seen as application/msword
9232 by the file command.
9233 (mh-file-mime-type-substitutions): New variable. Defines
9234 substitutions to make for Content-Type returned from file command.
9235
92362002-09-27 Bill Wohler <wohler@newt.com>
9237
9238 * README: Moved Id to end of file since it broke outline mode at
9239 the beginning.
9240
9241 * import-emacs (release): Renamed "mainline" tag to
9242 "emacs-mainline" to correspond with existing CVS tag.
9243 (EMACS_HOME): Fixed typo in docstring.
9244
9245 * mh-utils.el (mh-folder-name-p, mh-defun-show-buffer): Lowercase
9246 NIL and T in docstring.
9247 (mh-update-scan-format): Fixed typo.
9248
9249 * mh-comp.el, mh-e.el, mh-pick.el, mh-utils.el: Updated from CVS
9250 Emacs. The only new thing appears to be to downcase NIL and T in
9251 the documentation.
9252
92532002-09-26 Satyaki Das <satyaki@theforce.stanford.edu>
9254
9255 * mh-seq.el (mh-thread-generate): The threading code will now be
9256 more resistant to corruption of messages. Before the change any
9257 corruption of message x would cause all messages with indices
9258 higher than x to be neglected when threading!
9259
92602002-09-23 Peter S Galbraith <psg@debian.org>
9261
9262 * mh-mime.el (mh-store-mime-parts): Don't store value into
9263 user-customizable variable mh-store-mime-parts-default-directory
9264 and use mh-store-mime-parts-directory instead.
9265
92662002-09-20 Satyaki Das <satyaki@theforce.stanford.edu>
9267
9268 * mh-seq.el (mh-thread-prune-subject): Use regular expressions to
9269 make the subject pruning behave the way it is specified in the
9270 imap-thread RFC.
9271
9272 * mh-speed.el (mh-speed-folders-actual): Don't use pop when we
9273 are not going to use the first element. This avoids a compilation
9274 warning with cvs emacs.
9275
92762002-09-19 Satyaki Das <satyaki@theforce.stanford.edu>
9277
9278 * mh-utils.el (mh-display-msg): Put the call to
9279 set-buffer-modified after mh-show-mode. This is needed for CVS
9280 emacs since calling mh-show-mode marks the buffer as modified if
9281 font-lock is on.
9282
92832002-09-17 Peter S Galbraith <psg@debian.org>
9284
9285 * mh-mime.el (mh-store-mime-parts-default-directory): Renamed from
9286 mh-store-mime-parts-directory
9287 (mh-store-mime-parts-directory): Renamed from
9288 mh-store-mime-parts-directory-default.
9289
92902002-09-16 Peter S Galbraith <psg@debian.org>
9291
9292 * mh-comp.el (mail-citation-hook): Doc tweaks suggested by Bill.
9293
92942002-09-08 Satyaki Das <satyaki@theforce.stanford.edu>
9295
9296 * mh-e.el (autoloads): Reorder autoload of mh-reply to avoid
9297 compiler warning.
9298
92992002-09-03 Peter S Galbraith <psg@debian.org>
9300
9301 * mh-mime.el (mh-store-mime-parts-directory): New defcustom.
9302 Default directory to use for mh-store-mime-parts.
9303 (mh-store-mime-parts): New Command. Store the MIME parts of the
9304 current message.
9305 (mh-store-mime-parts-directory-default): New internal working
9306 variable. Default to use for mh-store-mime-parts-directory, set
9307 from last use.
9308
9309 * mh-e.el (mh-folder-seq-tool-bar-map): Add mh-store-mime-parts to
9310 toolbar.
9311
9312
93132002-08-22 Satyaki Das <satyaki@theforce.stanford.edu>
9314
9315 * mh-seq.el (mh-thread-generate-scan-lines): In threaded view,
9316 complete scan lines are printed for all messages (not just the
9317 ones at the top of a thread).
9318
9319 * mh-index.el (mh-index-insert-scan): Replace use of kill-line
9320 since that pollutes the kill-ring.
9321
9322 * mh-comp.el (autoloads): Add autoloads for search and subseq to
9323 get rid of compiler warnings.
9324
93252002-08-19 Peter S Galbraith <psg@debian.org>
9326
9327 * reply-to.xpm, reply-to.pbm, reply-from.xpm, reply-from.pbm,
9328 * reply-all.xpm, reply-all.bpm: New icons for various reply methods.
9329 * mh-e.el (mh-folder-tool-bar-map): Split reply button into three
9330 that won't prompt for "from", "to" and "all".
9331 * mh-comp.el (mh-reply): Put variable reply-to in the interactive
9332 list since it's specified on the command line for the new toolbar.
9333
9334 * mh-comp.el (mail-citation-hook): Tweak docs concerning
9335 historical usage for supercite.
9336 (mh-yank-from-start-of-msg): Add settings 'supercite and
9337 'autosupercite. Rename 'automatic to 'autoattrib.
9338 (mh-insert-prefix-string): Invoke sc-cite-original if
9339 mh-yank-from-start-of-msg is et to 'supercite or 'autosupercite.
9340
93412002-08-17 Satyaki Das <satyaki@theforce.stanford.edu>
9342
9343 * mh-comp.el (compilation-fix): Reorder defvars to avoid warnings
9344 during compilation.
9345
93462002-08-17 Peter S Galbraith <psg@debian.org>
9347
9348 * mh-comp.el (mh-yank-from-start-of-msg): Add 'automatic choice.
9349 Do as for `attribution' automatically when show buffer matches the
9350 message being replied-to.
9351 (mh-reply): Call 'mh-yank-cur-msg when mh-yank-from-start-of-msg
9352 is set to 'automatic and show buffer matches message number being
9353 replied-to.
9354 (mh-show-buffer-message-number): New helper function to get the
9355 message number of the current show-buffer.
9356 (mh-yank-cur-msg): Handle 'automatic choice the same as 'attribution.
9357 (mh-yank-cur-msg): Bug fix. It would bail on error if
9358 mh-show-buffer didn't exists.
9359
93602002-08-16 Peter S Galbraith <psg@debian.org>
9361
9362 * mh-comp.el (mh-insert-x-mailer): It wrongly assumed that Emacs
9363 was used even when XEmacs was used. Fixed so X-Mailer header is
9364 more exact about what we are using.
9365
93662002-08-15 Peter S Galbraith <psg@debian.org>
9367
9368 * mh-e.el (mh-version): Change CVS version number to 6.1+cvs just
9369 so X-Mailer header is more exact about what we are using.
9370
9371 * mh-mime.el (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp,
9372 mh-mml-attach-file):
9373 "Jeffrey P. Morgenthaler" <jpmorgen@congee.gsfc.nasa.go> reported
9374 that "require" in emacs 20.3 doesn't handle 3 arguments. We
9375 use "load" at the top of file elsewhere anyway to handle such a
9376 case of non-essential loading, so switch to that here.
9377
93782002-08-06 Satyaki Das <satyaki@theforce.stanford.edu>
9379
9380 * mh-funcs.el (autoload): Add autoload for mh-speed-invalidate-map.
9381
9382 * mh-speed.el (mh-speed-add-folder): New function to make the
9383 speedbar aware of new folders when they are created by mh-e.
9384
9385 * mh-utils.el (mh-prompt-for-folder): Use mh-speed-add-folder to
9386 tell speedbar that new folder is being created. Also use folder
9387 instead of mkdir to create new folders.
9388
93892002-08-01 Peter S Galbraith <psg@debian.org>
9390
9391 * mh-utils.el (mh-decode-quoted-printable): Conditionalize the
9392 limit of search for quoted-printable. If we're using mm-decode
9393 for MIME decoding, it's possible that `mimedecode' could mess our
9394 message, so we only run a full search for quoted-printable parts
9395 when not using gnus' mm-decode. When using mm-decode, mimedecode
9396 can still help by handling the case of the whole message being
9397 quoted-printable as opposed to only a part.
9398
93992002-07-31 Peter S Galbraith <psg@debian.org>
9400
9401 * mh-comp.el (mh-compose-insertion): Moved from mh-mime.el because
9402 the pulldown menu were broken in XEmacs21 from this variable being
9403 undefined.
9404
94052002-07-28 Mark D. Baushke <mdb@gnu.org>
9406
9407 * mh-utils.el (mh-show-mode): Use the default paragraph-start
9408 rather than the inherited text-mode value.
9409
94102002-07-28 Satyaki Das <satyaki@theforce.stanford.edu>
9411
9412 * mh-seq.el (mh-thread-duplicates): New hash table to track
9413 duplicate messages.
9414 (mh-thread-get-message): Remove debug code.
9415 (mh-thread-canonicalize-id): Modified to handle messages without
9416 message-id header. Such messages are given distinct copies of the
9417 empty string as message-id.
9418 (mh-thread-generate): The function was inadvertently rebuilding
9419 the thread tree when message refiles and message deletes are
9420 processed. The change here fixes that. Also code has been added to
9421 keep track of duplicate message-id's.
9422 (mh-thread-generate-scan-lines): Modified to print scan lines for
9423 duplicate messages (that is messages with the same message-id).
9424 (mh-thread-forget-message): Modified to maintain
9425 mh-thread-duplicates.
9426
94272002-07-22 Satyaki Das <satyaki@theforce.stanford.edu>
9428
9429 * mh-speed.el (mh-speed-parse-flists-output): Use delete-region
9430 instead of kill-region. Otherwise the kill ring gets polluted.
9431
94322002-07-16 Satyaki Das <satyaki@theforce.stanford.edu>
9433
9434 * mh-seq.el (mh-thread-update-scan-line-map): New function to
9435 refresh the stale scan lines.
9436 (mh-thread-inc): Update old scan lines when mh-thread-inc is
9437 called. Otherwise notations for deleted and refiled messages get
9438 lost and the folder display gets out of sync with real mh-e state.
9439
9440 * mh-mime.el (mh-mm-display-part): Call Gnus citation highlight
9441 code when text part is displayed. Otherwise buttonized text parts
9442 aren't correctly fontified when they are displayed.
9443
94442002-07-15 Mark D. Baushke <mdb@gnu.org>
9445
9446 * mh-utils.el (mm-decode): Use load for the Non-fatal depencency
9447 on the mm-decode library.
9448 * mh-mime.el (mm-decode, mm-uu, mm-view): Use load for the
9449 Non-fatal depencencies on the mm-decode, mm-uu and mm-view
9450 libraries.
9451
94522002-07-15 Satyaki Das <satyaki@theforce.stanford.edu>
9453
9454 * mh-utils.el (mh-require, mh-autoload): Remove these macros.
9455 (mh-decode-mime): Initialized to t iff the mm-decode library is
9456 present in the load-path.
9457 * mh-mime.el (mh-require): Don't use it anymore.
9458
94592002-07-15 Mark D Baushke <mdb@gnu.org>
9460
9461 * mh-utils.el (mh-update-scan-format): Rewrite for compatibility
9462 with Xemacs as replace-match appears not to have identical
9463 functionality with FSF emacs.
9464 (mh-scan-msg-format-regexp): Deleted. This regexp is now hardcoded
9465 into the mh-update-scan-format function.
9466
94672002-07-12 Satyaki Das <satyaki@theforce.stanford.edu>
9468
9469 * mh-seq.el: Add message threading code.
9470
9471 * mh-utils.el (mh-letter-thread-folder): New interactive function
9472 that allows switching to threaded view from show buffer.
9473 (mh-show-folder-map): Bound "F t" to call mh-letter-thread-folder.
9474 (mh-goto-msg): Replace the function to not assume that messages
9475 are sorted in the folder buffer.
9476
9477 * mh-e.el (mh-folder-threaded-view-p): New buffer local variable
9478 in the folder buffer that records whether threaded view is being
9479 used currently.
9480 (mh-scan-subject-regexp, mh-scan-format-regexp): Get font lock
9481 working for threaded view as well.
9482 (mh-regenerate-headers): Reset mh-folder-threaded-view-p to nil.
9483 (mh-get-new-mail, mh-process-commands): Do incremental threading
9484 if folder is in threaded view.
9485 (mh-delete-scan-msgs): Update thread tables if folder is in
9486 threaded view.
9487 (mh-folder-map): Add "F t" as key binding for mh-thread-folder
9488
9489 * mh-comp.el (mh-yank-cur-msg): Bug fix. mh-show-buffer is only
9490 has a meaningful value in the folder buffer.
9491
94922002-07-11 Peter S Galbraith <psg@debian.org>
9493
9494 * mh-comp.el (mh-yank-cur-msg): Run only if mh-show-buffer
9495 actually exists (otherwise a back-traceable error occurred).
9496
9497 * mh-utils.el (mh-find-progs): Run PATH search only when mh-progs,
9498 mh-lib and mh-lib-progs are not all already set. This allows the
9499 user to set them using a simple setq prior to loading mh-e. This
9500 is useful for implementation of mh-e on win32. Note that many
9501 commands still call mh-find-path which also parses the mh_profile
9502 file (that may still fail on win32), so this is still done often.
9503 But it lets us change the mh_profile file and have mh-e see the
9504 changed file without exiting emacs and starting over so I left
9505 that in.
9506
95072002-07-04 Satyaki Das <satyaki@theforce.stanford.edu>
9508
9509 * mh-index.el (mh-index-show): Fixed a bug in mh-index-show which
9510 caused it to lose track of point when called from show buffer.
9511
95122002-07-04 Mark D. Baushke <mdb@gnu.org>
9513
9514 * Makefile: Add more information and common methods to allow both
9515 GNU make and Berkeley make to properly build everything.
9516
95172002-07-04 Satyaki Das <satyaki@theforce.stanford.edu>
9518
9519 * mh-mime.el (mh-push-button): Bug fix for mime display with
9520 mouse. Select show window before executing the mime display
9521 functions.
9522
95232002-07-01 Mark D. Baushke <mdb@gnu.org>
9524
9525 * Makefile: Use a conditional variable assignment operator rather
9526 than ifndef to let Makefile be used by both GNU make and Berkeley
9527 make (or similar versions of make). This does not help Solaris
9528 /usr/ccs/bin/make, but Solaris make has problems with the ifndef
9529 syntax too.
9530
95312002-07-01 Satyaki Das <satyaki@theforce.stanford.edu>
9532
9533 * mh-index.el (mh-index-search): Check for mh-decode-mime before
9534 adding mh-mime-cleanup to kill-buffer-hook.
9535
9536 * mh-mime.el (mm-destroy-parts): Add definition for old emacs.
9537
95382002-06-30 Mark D Baushke <mdb@gnu.org>
9539
9540 * mh-utils.el (mh-update-scan-format): Add documentation string.
9541 (mh-scan-msg-format-regexp): Update the regexp to find %(msg).
9542 (mh-set-cmd-note): When mh-scan-format-file is not t, dynamic
9543 update of mh-cmd-note is wrong. Do not assume that
9544 mh-scan-format-nmh and mh-scan-format-mh can be kept in lock-step
9545 with mh-cmd-note via mh-set-cmd-note. The mh-scan-format function
9546 is now where the updated mh-cmd-note value is put into the scan
9547 format.
9548
9549 * mh-e.el (mh-generate-new-cmd-note): Add documentation string.
9550 (mh-scan-format): Use mh-update-scan-format to get updated copies
9551 of mh-scan-format-nmh and mh-scan-format-mh to avoid format skew.
9552 (mh-get-new-mail): Do not try to adapt mh-cmd-note unless
9553 mh-scan-format-file is equal to t.
9554 (mh-scan-format-nmh): No longer buffer local.
9555 (mh-scan-format-mh): No longer buffer local.
9556
95572002-06-30 Satyaki Das <satyaki@theforce.stanford.edu>
9558
9559 * mh-index.el (mh-index-max-msg-index): New variable to keep track
9560 of max message index among search results. If mh-adaptive-cmd-note
9561 is non-nil this is used to compute the width of the index field.
9562 (mh-index-search): Keep track of max index seen while parsing the
9563 search results and set it if mh-adaptive-cmd-note is non-nil.
9564 (mh-index-find-max-width): New function to find the required width
9565 of the message index field.
9566 (mh-defun-index): Binding buffer local variables is bad, so don't
9567 do that.
9568 (mh-index-show): New argument display-headers-p decides whether
9569 the message is displayed in raw form or not.
9570 (mh-index-header-display): New interactive function bound to ","
9571 which shows the message in raw form.
9572 (mh-index-keymap): Add appropriate bindings for backtab and ",".
9573 (read-from-string): Add ignore-errors around it so that the code
9574 doesn't die when it gets unexpected input.
9575
95762002-06-29 Satyaki Das <satyaki@theforce.stanford.edu>
9577
9578 * mh-index.el (mh-count-windows): This function works around the
9579 lack of the window-list builtin function in emacs20.
9580
95812002-06-29 Mark D Baushke <mdb@gnu.org>
9582
9583 * mh-utils.el (mh-message-number-width): New function to scan
9584 the last message of a folder and return its width.
9585 (mh-adaptive-cmd-note): New variable, if Non-nil indicates that
9586 mh-set-cmd-note should be called with the message width for the
9587 folder.
9588 (mh-cmd-note): Update documentation.
9589 (mh-update-scan-format): Helper function for updating the
9590 mh-scan-format-nmh and mh-scan-format-mh variables.
9591 (mh-scan-msg-overflow-regexp): New variable to help find problem
9592 messages after an inc.
9593 (mh-scan-msg-format-regexp): New variable to find the old message
9594 width in one of the mh-scan-format-nmh or mh-scan-format-mh
9595 variables.
9596 (mh-set-default-cmd-note): Replaced by mh-set-cmd-note.
9597 (mh-set-cmd-note): New function to replace update mh-cmd-note
9598 value.
9599
9600 * mh-e.el (mh-regenerate-headers): If mh-adaptive-cmd-note is
9601 non-nil, use mh-set-cmd-note on empty folder buffers.
9602 (mh-make-folder): Ditto.
9603 (mh-generate-new-cmd-note): New function to adapt the mh-cmd-note
9604 to fit when mh-get-new-mail gets message number truncation.
9605 (mh-get-new-mail): Maybe use mh-generate-new-cmd-note if
9606 mh-adaptive-cmd-note is Non-nil.
9607
96082002-06-29 Satyaki Das <satyaki@theforce.stanford.edu>
9609
9610 * mh-speed.el (mh-speed-view): The display gets confused if the
9611 cursor is in the show buffer when mh-speed-view is called. This is
9612 a fix for that.
9613
96142002-06-27 Satyaki Das <satyaki@theforce.stanford.edu>
9615
9616 * mh-e.el (mh-next-undeleted-msg): Get rid of optional arg
9617 reverse-p. If there are no more undeleted messages the the point
9618 remains at its original position and a message is produced (closes
9619 SF #494304).
9620 (mh-previous-undeleted-msg): Change similar to
9621 mh-next-undeleted-msg.
9622 (mh-next-msg, mh-refile-msg, mh-delete-msg): Backout previous
9623 change.
9624 (mh-folder-map): Bind "S-tab" and "K S-tab" to mh-prev-button.
9625
9626 * mh-utils.el (mh-show-mode-map): Bind "S-tab" and "K S-tab" to
9627 mh-letter-prev-button.
9628
9629 * mh-mime.el (gnus-newsgroup-name): Initialize it to nil, so that
9630 mm-uu-dissect doesn't cause error.
9631
96322002-06-27 Mark D Baushke <mdb@gnu.org>
9633
9634 * mh-utils.el (mh-cmd-note): Make buffer-local. Changes to this
9635 variable should be made via the new mh-set-default-cmd-note
9636 function.
9637 (mh-set-default-cmd-note): New function to setq-default the
9638 mh-cmd-note, mh-scan-format-mh and mh-scan-format-nmh values to
9639 related values.
9640
9641 * mh-e.el (mh-scan-format-mh): Make buffer-local.
9642 (mh-scan-format-nmh): Ditto.
9643 (mh-scan-good-msg-regexp): Use a more general regular expression
9644 so that the width of message numbers, mh-cmd-note, may vary.
9645 (mh-scan-deleted-msg-regexp): Ditto.
9646 (mh-scan-refiled-msg-regexp): Ditto.
9647 (mh-scan-cur-msg-number-regexp): Ditto.
9648 (mh-scan-cur-msg-regexp): Ditto.
9649 (mh-scan-subject-regexp): Ditto.
9650
96512002-06-26 Satyaki Das <satyaki@theforce.stanford.edu>
9652
9653 * mh-speed.el: Speedbar support code.
9654
9655 * Makefile: Add mh-speed.el to MH-E-SRC.
9656
9657 * mh-utils.el (mh-prompt-for-folder): Add speedbar hook if
9658 speedbar is being used.
9659
9660 * mh-funcs.el (mh-kill-folder): Add speedbar hook if speedbar is
9661 being used.
9662
9663 * mh-e.el (speedbar-autoloads): Autoload speedbar initialization
9664 functions so that speedbar can find them.
9665
96662002-06-25 Satyaki Das <satyaki@theforce.stanford.edu>
9667
9668 * mh-index.el (mh-grep-execute-search, mh-grep-next-result): Allow
9669 grep to be used to search mail.
9670 (mh-index-font-lock-keywords): Modified to avoid bug when using
9671 lazy font-lock.
9672
9673 * mh-e.el (mh-delete-msg, mh-refile-msg): Modify so that if no
9674 undeleted (or unrefiled) message exists in the current movement
9675 direction then try to find an undeleted (or unrefiled) message in
9676 the opposite direction instead.
9677 (mh-next-undeleted-msg): Added a new optional argument. If non-nil
9678 search for undeleted message backwards if none exists in the
9679 forward direction.
9680 (mh-previous-undeleted-msg): Added an optional argument. If
9681 non-nil search for undeleted message in the forward direction if
9682 none exists in the backward direction.
9683 (mh-next-msg): Optional argument to change direction if undeleted
9684 messages are not found in the current direction.
9685
9686 * mh-index.el (mh-cmd-note): Use mh-cmd-note instead of hardcoding
9687 the index field size to 4.
9688
9689 * mh-utils.el (mh-show-addr, mh-show-xface): New functions added
9690 to do xface display and goto-addr interface to allow reuse by the
9691 mime display code.
9692 (mh-show-mode): Use mh-show-addr and mh-show-xface. Only add
9693 mh-mime-cleanup to kill-buffer-hook if mime decoding is enabled.
9694 (mh-modify): Use mh-letter-mode instead of mh-show-mode when
9695 editing messages.
9696
9697 * mh-mime.el (mh-mm-inline-message): Arrange for xface and
9698 highlighting to work in forwarded messages.
9699
97002002-06-23 Peter S Galbraith <psg@debian.org>
9701
9702 * mh-comp.el (mh-yank-from-start-of-msg): Add 'attribution' option
9703 to add an attribution line in mh-yank-cur-msg.
9704 (mh-extract-from-attribution-verb): Verb to use for attribution
9705 when a message is yanked by mh-yank-cur-msg. Provides a method
9706 for setting a different language.
9707 (mh-yank-cur-msg): Add support for 'attribution' option.
9708 (mh-extract-from-attribution): Function to get the attribution
9709 line, or the sender from the From: line in the current show buffer.
9710
97112002-06-20 Satyaki Das <satyaki@theforce.stanford.edu>
9712
9713 * mh-index.el (mh-index-show): mh-display-msg was not being called
9714 in the show buffer. This causes weird results on some mime messages.
9715
9716 * mh-mime.el (gnus-newsgroup-charset): Defvar to avoid error in
9717 pgp messages if gnus hasn't been used yet.
9718
9719 * mh-comp.el (mh-letter-mode-map): Typo fix.
9720
97212002-06-19 Satyaki Das <satyaki@theforce.stanford.edu>
9722
9723 * mh-mime.el (mh-mml-secure-message-encrypt-pgpmime): Typo fix.
9724 (compiler-warnings): Add autoloads to remove compiler warnings.
9725
9726 * mh-index.el (autoload-fixes): Fix autoload forms.
9727
97282002-06-18 Satyaki Das <satyaki@theforce.stanford.edu>
9729
9730 * mh-comp.el (mh-letter-mode-map): Change binding of "\C-c\C-ma"
9731 to mh-compose-insertion. Remove duplicate binding for "C-c\C-mf".
9732 (compiler-warnings): Add defvar to remove compiler-warning.
9733
97342002-06-18 Peter S Galbraith <psg@debian.org>
9735
9736 * mh-comp.el (mh-letter-menu): Conditionalize GPG function on
9737 mh-gnus-pgp-support-p.
9738
9739 * mh-mime.el (mh-mml-forward-message): s/subseq/substring/.
9740 (mh-compose-forward): cut&paste typo: s/messages/message/.
9741 (mml-minibuffer-read-file): autoload added.
9742 (mml-minibuffer-read-description): autoload added.
9743 (mml-insert-empty-tag): autoload added.
9744 (mh-mml-secure-message-sign-pgpmime): Check mh-gnus-pgp-support-p.
9745 (mh-mml-secure-message-encrypt-pgpmime): Check mh-gnus-pgp-support-p.
9746
97472002-06-17 Peter S Galbraith <psg@debian.org>
9748
9749 * mh-utils.el (mh-show-use-xface): Check for availability of
9750 `uncompface' executable on system.
9751
9752 * mh-mime.el (mh-compose-forward): New front end for both
9753 mh-mml-forward-message and mh-mhn-compose-forw.
9754 (mh-compose-insertion): New front end for both mh-mml-attach-file
9755 and mh-mhn-compose-insertion.
9756 (mh-mml-to-mime): New function. Compose mime message from mml
9757 directives.
9758 (mh-mml-forward-message): New function. Forward a message as
9759 attachment.
9760 (mh-mml-attach-file): New function. Attach a file to the outgoing
9761 MIME message.
9762 (mh-mml-compose-insert-p): New variable. Buffer-local variable to
9763 know whether MIME insertion was done. Triggers an automatic call
9764 to `mh-mml-to-mime' in `mh-send-letter'.
9765 (mh-mml-secure-message-sign-pgpmime): New function.
9766 Front end to mml-secure-message-sign-pgpmime.
9767 (mh-mml-secure-message-encrypt-pgpmime): New function.
9768 Front end to mml-secure-message-encrypt-pgpmime.
9769
9770 * mh-comp.el (mh-send-letter): automatic call to `mh-mml-to-mime'
9771 if mh-mml-compose-insert-p is set.
9772 (mh-letter-mode-map): Add keys for new mh-mime functions above.
9773 * mh-comp.el: Added autoloads for new mh-mime functions above.
9774
97752002-06-17 Peter S Galbraith <psg@debian.org>
9776
9777 * mh-utils.el (mh-show-use-xface): new defcustom to determine
9778 whether to call external package x-face to display the x-face.
9779 (mh-invisible-headers-show-xface): variable now defaults to value
9780 of mh-show-use-xface.
9781 (mh-show-mode): When mh-show-use-xface is t, invoke
9782 external package x-face to display the x-face.
9783
97842002-06-15 Satyaki Das <satyaki@theforce.stanford.edu>
9785
9786 * mh-e.el (mh-prev-button): New interactive function which moves
9787 point to the previous mime button in the show buffer.
9788 (mh-folder-mode-map): Bind M-TAB and K M-TAB to mh-prev-button.
9789
9790 * mh-utils.el (mh-show-mode-map): Bind M-TAB and K M-TAB to call
9791 mh-letter-prev-button (which is analogous to mh-prev-button).
9792 (mh-gnus-pgp-support-p): New global variable to replace the
9793 variable mh-recent-gnus-p. The name better describes what it is
9794 used for.
9795
9796 * mh-mime.el (mh-mime-display-part, mh-mime-display-single): Use
9797 mh-gnus-pgp-support-p instead of mh-recent-gnus-p.
9798
97992002-06-12 Satyaki Das <satyaki@theforce.stanford.edu>
9800
9801 * mh-mime.el (mh-display-buttons-for-inline-parts): New
9802 customizable variable. When non-nil inline parts have are
9803 displayed with a button (that is initially expanded).
9804 (mh-maybe-insert-newline): The function has been removed.
9805 (mh-mime-display-single): Add code to display buttons for inline
9806 parts. Reduce the insertion of extra newlines between inline parts
9807 and also for pgp signature parts.
9808 (mh-mm-display-part): The function has been rewritten and cleaned
9809 up. There was a bug which could change the show buffer if the user
9810 pressed C-g while a mime part was being displayed has been fixed.
9811 (mh-press-button, mh-push-button): Use unwind-protect to make sure
9812 that set-buffer-modified-p is always called after mime display.
9813 (mh-mime-inline-part): The behavior of the function has been
9814 changed so that it toggles the display of the raw bytes.
9815 (mh-mime-display-security): Remove the display of too many
9816 newlines.
9817 (documentation): Remove most check-doc warnings.
9818
9819 * mh-comp.el (mh-filter-out-non-text): Updated since whitespace
9820 added around mime buttons have changed.
9821
98222002-06-10 Satyaki Das <satyaki@theforce.stanford.edu>
9823
9824 * mh-index.el (mh-index-last-search, mh-index-search): The default
9825 prompt in mh-index-search has been removed since currently there
9826 is no good way of reading "+" with mh-prompt-for-folder.
9827 (mh-index-folder-mode, mh-index-show-mode): New major modes
9828 derived from mh-folder-mode and mh-show-mode respectively. They
9829 use a restricted keymap compared to the parent modes.
9830 (mh-index-folder-face): New customizable face to display folder
9831 names in the index buffer.
9832 (documentation): Change two spaces after period back to one.
9833
98342002-06-08 Satyaki Das <satyaki@theforce.stanford.edu>
9835
9836 * mh-e.el (mh-folder-toggle-mime-part): New interactive function
9837 to control mime display from folder buffer.
9838 (mh-folder-inline-mime-part): New interactive function to inline
9839 raw mime part from folder buffer.
9840 (mh-folder-save-mime-part): New interactive function to save mime
9841 part from folder buffer.
9842 (mh-folder-mode-map): Add keybindings for "K v", "K o", "K i" and
9843 "K \t" to mh-folder-mode-map.
9844 (mh-goto-next-button): Modified to allow searching for next button
9845 that satisfies some condition.
9846 (mh-folder-mime-action): Support function for
9847 mh-folder-save-mime-part, mh-folder-inline-mime-part and
9848 mh-folder-toggle-mime-part.
9849
9850 * mh-utils.el (mh-show-mode-map): Modify keymap to add appropriate
9851 bindings for "K v", "K o", "K i" and "K \t".
9852
9853 * mh-index.el (documentation): Fix docs according to checkdoc
9854 format.
9855
98562002-06-07 Satyaki Das <satyaki@theforce.stanford.edu>
9857
9858 * mh-seq.el, mh-funcs.el (Compiler): Remove (require 'view) and
9859 instead add defvar for view-exit-action.
9860
98612002-06-06 Satyaki Das <satyaki@theforce.stanford.edu>
9862
9863 * mh-comp.el (mh-insert-x-face): If transient-mark-mode is enabled
9864 the call to mark returns error. So avoid using mark.
9865
9866 * mh-index.el: Support for new interactive function
9867 mh-index-search.
9868
9869 * mh-e.el (mh-next-button, mh-goto-next-button): Refactor
9870 mh-next-button so that the code may be reused by mh-index.el.
9871 (mh-folder-map): Add key "F i" to call mh-index-search.
9872
9873 * mh-utils.el (mh-recent-gnus-p): Fix documentation.
9874 (mh-msg-folder, mh-display-msg): The new function mh-msg-folder
9875 maps a MH folder name to the buffer displaying it. In normal
9876 operation the two names are identical but they are different in a
9877 folder buffer generated by index search. Minor modification to
9878 mh-display-msg to use mh-msg-folder to enable mh-index-search to
9879 reuse code.
9880 (mh-show-mode-map): Add key "F i" to call mh-index-search.
9881
9882 * Makefile: Add mh-index.el
9883
98842002-06-05 Peter S Galbraith <psg@debian.org>
9885
9886 * mh-e.el (mh-folder-message-menu): Add an entry for mh-modify.
9887
98882002-05-31 Satyaki Das <satyaki@theforce.stanford.edu>
9889
9890 * mh-utils.el (mh-decode-quoted-printable): Only decode if the
9891 whole message is encoded. So restrict the search for the
9892 content-transfer-encoding header to the headers of the message
9893 itself.
9894
9895 * mh-mime.el (mh-mime-display-alternative): Make sure that point
9896 is moved after mm-display-part is called.
9897
98982002-05-29 Satyaki Das <satyaki@theforce.stanford.edu>
9899
9900 * mh-mime.el (mh-mime-display-single): Fix the logic that
9901 determines when an attachment is buttonized. For inline parts that
9902 can't be displayed a button is now created.
9903
99042002-05-29 Satyaki Das <satyaki@theforce.stanford.edu>
9905
9906 * mh-e.el (mh-regenerate-headers): Fix an error in which the
9907 mh-mode-line-annotation was not being set properly.
9908
9909 * mh-mime.el, mh-utils.el (compilation): Macros mh-require and
9910 mh-autoload are used to make sure that emacs20 doesn't croak when
9911 it tries to load non-existent mm-* files.
9912 (mh-decode-mime): Make it default to nil for Emacs major version
9913 below 21.
9914
99152002-05-28 Satyaki Das <satyaki@theforce.stanford.edu>
9916
9917 * mh-e.el (mh-regenerate-headers): Generalize the function to
9918 handle multiple ranges.
9919
99202002-05-25 Satyaki Das <satyaki@theforce.stanford.edu>
9921
9922 * compilation: Reduce use of eval-when-compile so that load-path
9923 is not changed if lisp files are loaded without compilation. Small
9924 changes were made to Makefile, mh-comp.el mh-e.el, mh-funcs.el,
9925 mh-seq.el, mh-utils.el
9926
9927 * mh-e.el (mh-next-button, mh-folder-mode-map): New interactive
9928 function to advance point to next MIME button. It is bound to TAB.
9929
9930 * mh-utils.el (mh-letter-next-button, mh-show-mode-map): New
9931 interactive function mh-letter-next-button has been added to
9932 advance point to the next MIME button. It is bound to TAB.
9933
9934 * mh-mime.el (comments): Added some comments.
9935
99362002-05-24 Satyaki Das <satyaki@theforce.stanford.edu>
9937
9938 * mh-mime.el (compilation): Replace (eval-when-compile ...) by
9939 (eval-when (compile) ...) to remove a bug when mh-e is loaded
9940 without compilation.
9941
99422002-05-23 Satyaki Das <satyaki@theforce.stanford.edu>
9943
9944 * mh-comp.el (compilation): Some code was rearranged to avoid
9945 compiler warnings.
9946
9947 * mh-e.el (compilation): Code rearrangement and extra autoloads to
9948 remove compiler warnings
9949 (mh-quit): Add call to mh-destroy-postponed-handles to remove
9950 handles that are associated with external viewers. Also fixed a
9951 bug that I accidentally introduced by adding an extra line when
9952 cut and pasting my changes.
9953
9954 * mh-func.el (compilation): Code rearrangement to remove compiler
9955 warnings.
9956
9957 * mh-mime.el (compilation): Code rearrangement to remove compiler
9958 warnings.
9959 (mh-defun-compat): New macro to define to useful functions that
9960 aren't present present in old Gnus.
9961 (mh-destroy-postponed-handles): New function to cleanup handles
9962 that are associated with external viewers.
9963 (mh-handle-set-external-undisplayer): New function to replace
9964 mm-handle-set-external-undisplayer. It associates handles for
9965 external viewers with the folder buffer. These are released when
9966 the user quits the folder.
9967 (mh-mime-display, mh-press-button, mh-push-button): Hook in
9968 mh-handle-set-external-undisplayer.
9969 (mh-maybe-insert-newline): New function to avoid inserting too
9970 many newlines between mime parts.
9971 (mh-mm-display-part): Workaround for Gnus bug which causes new
9972 lines to be inserted when images are shown inline.
9973 (mh-mime-display-security): Cut down on newlines inserted.
9974
9975 * mh-pick.el (compilation): Code rearrangement to remove compiler
9976 warnings.
9977
9978 * mh-seq.el (compilation): Code rearrangement to remove compiler
9979 warnings.
9980 (comments): Remove @SD from comments.
9981
9982 * mh-utils.el (compilation): Slight code rearrangement.
9983 (mh-defun-show-buffer): Fix documentation so that the first line
9984 is not too long as was the case earlier. Use
9985 mh-previous-window-config to remember where the cursor should
9986 return functions like mh-reply.
9987 (mh-display-msg): Initialize handles data-structure for the folder
9988 buffer so that postponed handles can be added to it.
9989 (mh-add-msgs-to-seq): Always keep messages in the sequences
9990 sorted. This removes some unexpected behavior when working with
9991 sequences that go out of sync with the corresponding MH sequences.
9992 (mh-canonicalize-sequence): New function to sort and remove
9993 duplicates from mh-e sequence.
9994
99952002-05-21 Satyaki Das <satyaki@theforce.stanford.edu>
9996
9997 * mh-utils.el (require): Load mm-decode.el here so that
9998 mm-inline-media-tests is properly initialized.
9999
10000 * mh-comp.el (mh-yank-cur-msg): Don't try to remove the displayed
10001 mime parts when yanking the message. This also fixes the problem
10002 of regions not being respected during the yank.
10003
100042002-05-20 Satyaki Das <satyaki@theforce.stanford.edu>
10005
10006 * mh-utils.el (compiler-warnings): Some code was rearranged to
10007 remove all compiler warnings.
10008 (mh-decode-mime): New defcustom to control whether
10009 mime attachments are shown using Gnus.
10010 (mh-globals-hash): New global variable which maps a given buffer
10011 to the corresponding mime data structures.
10012 (mh-recent-gnus-p): New global variable which checks if Gnus is
10013 recent enough so that PGP/GPG encrypted messages can be handled.
10014 (mh-mm-inline-media-tests): Tests to determine whether a mime part
10015 can be shown inline.
10016 (mh-gnus-article-highlight-citation): Shadow the Gnus function,
10017 gnus-article-add-button before gnus-article-highlight-citation is
10018 called. This prevents the insertion of useless buttons in the
10019 message.
10020 (mh-show-mode): Don't set font-lock-support-mode to nil. Modify
10021 kill-buffer-hook to call mh-mime-cleanup.
10022 (mh-modify): Only the edit buffer is shown.
10023 (mh-display-msg): Add call to mh-mime-display, mh-display-smileys,
10024 mh-display-emphasis when mh-decode-mime is non-nil.
10025
10026 * mh-mime.el (mh-buffer-data): New structure to keep track of
10027 per-buffer mime information.
10028 (compiler-warnings): Some code was rearranged to get rid of all
10029 compiler warnings.
10030 (mh-graphical-smileys-p): New defcustom which controls whether
10031 graphical smileys are shown.
10032 (mh-graphical-emphasis-p): New defcustom for graphical emphasis.
10033 (mh-max-inline-image-width, mh-max-inline-image-height): New
10034 defcustoms for inlining image.
10035 (gnus-local-map-property, mm-merge-handles): Copy utility
10036 functions for use with version of Gnus that ships with Emacs21.1.
10037 (mh-mime-cleanup): New function to free mime data-structures.
10038 (mh-add-missing-mime-version-header): New function to add missing
10039 Mime-Version header if a Content-Type header exists.
10040 (mh-display-smileys): New function to show graphical smileys.
10041 (mh-display-emphasis): New function to show graphical emphasis.
10042 (new-globals): New variables mh-mime-button-* and
10043 mh-mime-security-* were added to control mime buttons.
10044 (mh-mime-display): New function to display mime messages. The
10045 functions mh-mime-display-part, mh-mime-display-alternative,
10046 mh-mime-display-mixed, mh-mime-part-index, mh-small-image-p,
10047 mh-mime-display-single, mh-insert-mime-button, mh-mm-display-part,
10048 mh-press-button, mh-push-button, mh-mime-save-part,
10049 mh-mime-inline-part, mh-widget-press-button, mh-mm-inline-message,
10050 mh-mime-display-security, mh-mime-security-show-details,
10051 mh-mime-security-press-button and mh-insert-mime-security-button
10052 were added to support mh-mime-display.
10053
10054 * mh-e.el (mh-header-display): Bind mh-decode-mime to nil when
10055 mh-show-msg is called, so that mime isn't decoded when headers are
10056 displayed.
10057 (mh-quit): The show buffer is killed instead of invalidating and
10058 burying it.
10059
10060 * mh-comp.el (mh-yank-cur-msg): Filter out the mime buttons from
10061 the yanked message.
10062 (mh-filter-out-non-text): New function to filter out attachments
10063 from message being yanked.
10064
100652002-05-20 Bill Wohler <Bill.Wohler@openwave.com>
10066
10067 * mh-utils.el (mh-invisible-headers-show-xface): First sentence of
10068 docstring was not entirely on first line so was truncated in
10069 customize and help buffers. Reworded so first sentence could fit
10070 within 80 columns per checkdoc recommendation.
10071 (mh-defun-show-buffer): Reworded per checkdoc recommendations.
10072 Removed @SD while I was in there.
10073
100742002-05-18 Satyaki Das <satyaki@theforce.stanford.edu>
10075
10076 * mh-seq.el (mh-narrow-to-seq): This function now removes the
10077 current message notation in the folder. Otherwise, two current
10078 message notations may be present after mh-widen is called. Also
10079 mh-copy-seq-to-eob is called instead of mh-copy-seq-to-point since
10080 the latter has a bug.
10081 (mh-copy-seq-to-point): This function has a tricky problem. It
10082 calls mh-map-to-seq-msgs which uses mh-goto-msg. mh-goto-msg
10083 assumes that the folder is sorted (since it uses binary
10084 search). The assumption isn't true, so it may not copy all the
10085 messages. Since this function is not used any more it has been
10086 removed.
10087 (mh-copy-seq-to-eob): This function is a specialized (and
10088 hopefully correct) replacement for mh-copy-seq-to-point.
10089
100902002-05-17 Satyaki Das <satyaki@theforce.stanford.edu>
10091
10092 * mh-utils.el (mh-gnus-article-highlight-citation): Workaround for
10093 problem caused by low value of recursive-load-depth-limit in
10094 Emacs21.1 and CVS version of Gnus.
10095 (mh-show-mode-map): New keymap variable to facilitate use of
10096 summary commands from the show buffer.
10097 (mh-show-folder-buffer): New local variable which keeps track of
10098 the folder-buffer corresponding to the message being shown.
10099 (mh-defun-show-buffer): New macro to convert interactive functions
10100 callable in the summary buffer to interactive functions callable
10101 in the show buffer.
10102 (mh-show-mode): Make buffer read-only and use mh-show-mode-map as
10103 keymap (closes SF #527946).
10104 (mh-modify): New interactive function to edit a message in-place.
10105
10106 * mh-e.el (mh-goto-cur-msg): Add an optional argument,
10107 minimal-changes-p. If non-nil, the function will just change
10108 the point to current message and do not change folder display.
10109 (mh-folder-mode-map): Make "M" call mh-modify.
10110
101112002-05-07 Peter S Galbraith <psg@debian.org>
10112
10113 * mh-utils.el (mh-invisible-headers-show-xface): New defcustom
10114 variable. If non-nil, the X-Face header line will be excluded from
10115 the variable `mh-invisible-headers'. Set this when using a
10116 package such as x-face-el to display X-Face icons in mh-show-mode.
10117 This variable's setting will eventually be set automatically when
10118 mh-e does its own X-Face decoding (or this variable will be replaced
10119 by one telling mh-e to decode the X-Face). We may not ship the
10120 next release with this variable.
10121
101222002-05-07 Peter S Galbraith <psg@debian.org>
10123
10124 * mh-comp.el (mh-x-face-file): New defcustom variable. File name
10125 containing the encoded X-Face string to insert in outgoing mail.
10126 (mh-insert-x-face): New function. Appends an X-Face field to the
10127 header, but only if it doesn't already exist and if 'mh-x-face-file'
10128 is non-nil and points to an existing file.
10129 (mh-send-letter): Invoke mh-insert-x-face.
10130
101312002-04-29 Mike Kupfer <m.kupfer@acm.org>
10132
10133 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Check
10134 whether XEmacs region is actually active (needed at least for 21.1).
10135 [Patch committed by psg]
10136
101372002-04-29 Mike Kupfer <m.kupfer@acm.org>
10138
10139 * mh-utils.el (mh-prompt-for-folder): Remove "default" argument
10140 from completing-read as XEmacs-21.1 doesn't have it (21.4 does
10141 however) and using the argument adds no functionality.
10142 [Patch committed by psg]
10143
101442002-04-11 Peter S Galbraith <psg@debian.org>
10145
10146 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): Add support for
10147 XEmacs to act on selected region when active.
10148
101492002-04-10 Peter S Galbraith <psg@debian.org>
10150
10151 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo): XEmacs fix; Add
10152 check to see if mark-active is bound, because Mandrake Linux include
10153 XEmacs initialization code that binds transient-mark-mode. This
10154 fix gets around a problem in Mandrake only. It wasn't a problem
10155 on XEmacs generally. Fixes SF #541915.
10156
101572002-04-08 Bill Wohler <wohler@newt.com>
10158
10159 Released mh-e version 6.1.
10160
10161 * mh-e.el (mh-folder-unseen-seq-name): Use "mhparam -component
10162 Unseen-Sequence" command and "Unseen-Sequence: \\(.*\\)$" regexp
10163 to increase robustness.
10164 (mh-folder-unseen-seq-list): Use `expand-file-name' as
10165 `mh-expand-file-name' isn't needed and the former saves function
10166 call.
10167 (Version, mh-version): Updated for release 6.1.
10168
101692002-04-08 Peter S Galbraith <psg@debian.org>
10170
10171 * mh-e.el (mh-folder-unseen-seq-list): Specify mh-progs path in
10172 call to mark command. Fixes a bug in which unseen messages
10173 weren't highlighted if "mark" wasn't in the path.
10174
101752002-04-07 Bill Wohler <wohler@newt.com>
10176
10177 * MH-E-NEWS: Updated for release 6.1.
10178
10179 * README: Updated for release 6.1. Updated verbiage about reading
10180 MH-E-NEWS.
10181
10182 * mh-comp.el, mh-e.el, mh-funcs.el, mh-mime.el, mh-seq.el,
10183 mh-utils.el, mh-xemacs-compat.el: Updated copyright in files
10184 modified this year.
10185
10186 * mh-xemacs-compat.el: Put Author field back in, but set to FSF.
10187
10188 * mh-comp.el, mh-funcs.el, mh-mime.el, mh-seq.el,
10189 mh-utils.el: Fixed all checkdoc errors, except for no
10190 documentation, and documentation in comments. Also removed the-
10191 prefix from certain local variables.
10192
10193 * mh-e.el: Fixed all checkdoc errors, except for no documentation,
10194 and documentation in comments. Also removed the- prefix from
10195 certain local variables.
10196 (mh-folder-unseen-seq-name): Refactored to make default sequence
10197 name more explicit and to handle undefined Unseen-Sequence MH
10198 profile entry better.
10199
102002002-04-02 Peter S Galbraith <psg@debian.org>
10201
10202 * mh-e.el: 'defvar mh-folder-unseen-seq-name' called a function to
10203 set it's value, and this happens also on byte-compilation (where
10204 it can fail if the user's MH environment is not setup correctly).
10205 I now set the value of mh-folder-unseen-seq-name at runtime when I
10206 first need it. This should fix Debian bugs
10207 http://bugs.debian.org/140232 and http://bugs.debian.org/140817
10208
102092002-03-25 Peter S Galbraith <psg@debian.org>
10210
10211 * mh-utils.el: remove "(require 'mh-e)" since mh-utils.el should
10212 be at the bottom of the dependency tree.
10213 * mh-e.el (mh-folder-unseen-seq-name): Make sure mh-progs is set
10214 and use it as path to mhparam command in call-process.
10215
102162002-01-23 Peter S Galbraith <psg@debian.org>
10217
10218 * mh-e.el (mh-folder-font-lock-keywords): Add call to
10219 mh-folder-font-lock-unseen to fontify unseen messages in bold.
10220 (mh-folder-unseen-seq-name): Provide name of unseen sequence from
10221 mhparam. Used as default for variable of same name.
10222 (mh-folder-unseen-seq-list): Returns a list of unseen messages
10223 numbers for current folder.
10224 (mh-folder-unseen-seq-cache): Cache variable to hold list of
10225 unseen message numbers while font-lock iterates. This variable is
10226 buffer-local.
10227 (mh-folder-font-lock-unseen): Returns unseen message lines to
10228 font-lock one by one.
10229
102302002-01-15 Peter S Galbraith <psg@debian.org>
10231
10232 * mh-comp.el (mh-insert-prefix-string): Wrap a
10233 "(let ((zmacs-regions nil))" around (mark) so it works in XEmacs.
10234 Bug reported and fix suggested by Will Partain <partain@dcs.gla.ac.uk>
10235 Indeed, this is how it appears in XEmacs-21's mh-comp.el.
10236
102372001-12-16 Jeffrey C Honig <jch@honig.net>
10238
10239 * mh-comp.el (mh-forward): Move the assignment to `fwd-msg-file'
10240 to before the assignment to `draft' as the later changes buffers
10241 and invalidates `mh-seq-list' (which is used in a function called
10242 by (mh-seq-to-msgs)). Resolves SF #489448.
10243
10244 * mh-utils.el: Add defcustoms for `mh-temp-folders-buffer' and
10245 `mh-temp-sequences-buffer'.
10246
10247 * mh-e.el (mh-quit): If they exist, kill 'mh-temp-buffer,
10248 'mh-temp-folders-buffer and 'mh-temp-sequences-buffer when
10249 quitting.
10250
10251 * mh-funcs.el (mh-list-folders): Use `mh-temp-folders-buffer'
10252 (a defcustom initialized to "*Folders*") for folder listing. Put
10253 into view mode and set it up to kill the buffer when exiting view
10254 mode.
10255
10256 * mh-seq.el (mh-list-sequences): Use `mh-temp-sequences-buffer'
10257 (a defcustom initialized to "*Sequences") for sequences listing.
10258 Put into view mode and set it up to kill the buffer when exiting
10259 view mode.
10260
102612001-12-16 Bill Wohler <wohler@newt.com>
10262
10263 Released mh-e version 6.0.
10264
10265 * MH-E-NEWS: Be a little more specific about incompatible changes.
10266 Added info about outdated manual.
10267 Removed variables in mh-scan regexp table that did not exist in
10268 5.0.2.
10269 Added helpful documentation about finding relevant variables
10270 containing regexps to mh-scan-format-file's description.
10271
10272 * mh-e.el (mh-scan-format-file): Added information about getting a
10273 list of regexp variables that you'll need to change if you
10274 customize your scan's output.
10275 (mh-folder-mode): Added documentation about `mh-scan-format-file'
10276 for those users who modify their scan formats.
10277
10278 * README: New file. Describes packages and provides simple
10279 installation instructions.
10280
10281 * Makefile (clean, dist, install-emacs): Replaced $(RM) with rm
10282 -rf (closes SF #488661).
10283
102842001-12-14 Bill Wohler <wohler@newt.com>
10285
10286 Released mh-e version 5.0.93.
10287
10288 * Makefile (MH-E-SRC): Added mh-xemacs-compat.el.
10289 (MH-E-IMG): Added .pbm images for all. Removed mail_ prefix from
10290 all.
10291 (MH-E-IMG2): New variable to hold images in mail sub-directory.
10292 (dist): Updated target to make mail sub-directory and copy
10293 MH-E-IMG2 images there.
10294
10295 * mh-xemacs-compat.el: Modified docs per GNU coding conventions.
10296
10297 * mh-e.el: Reorganized variables having to do with the scan line.
10298 Moved some random variables that were interspersed out of the
10299 middle. Moved `mh-scan-format-file' first and let the variables
10300 flow from there.
10301
10302 As the number of variables increases, it is becoming important to
10303 organize the mh-e namespace. Several variables having to do with
10304 the format of scan lines were renamed, as follows:
10305 (mh-good-msg-regexp): Renamed to mh-scan-good-msg-regexp.
10306 (mh-deleted-msg-regexp): Renamed to mh-scan-deleted-msg-regexp.
10307 (mh-refiled-msg-regexp): Renamed to mh-scan-refiled-msg-regexp.
10308 (mh-valid-scan-line): Renamed to mh-scan-valid-regexp.
10309 (mh-cur-msg-number-regexp): Renamed to mh-scan-cur-msg-number-regexp.
10310 (mh-cur-msg-line-regexp): Renamed to mh-scan-cur-msg-regexp.
10311 (mh-scan-rcpt-addr-regexp): Renamed to mh-scan-rcpt-regexp.
10312 (mh-scan.font-lock-regexp): Renamed to mh-scan-format-regexp.
10313 (mh-folder-scan-font-lock-face): Renamed to
10314 mh-folder-scan-format-face.
10315 (mh-folder-cur-msg-line-face): Renamed to mh-folder-cur-msg-face).
10316
103172001-12-13 Bill Wohler <wohler@newt.com>
10318
10319 * mh-utils.el (mh-msg-number-regexp): Renamed to
10320 mh-scan-msg-number-regexp.
10321 (mh-msg-search-regexp): Renamed to mh-scan-msg-search-regexp.
10322
10323 * Corrected typos, quoted variables in doc strings, and made minor
10324 wording changes in docs.
10325
103262001-12-13 Peter S Galbraith <psg@debian.org>
10327
10328 * mh-xemacs-compat.el: defalias 'match-string-no-properties to
10329 'match-string for XEmacs. I've seen a better function for this
10330 that actually removes text properties, but this will do for now.
10331
10332 * mh-utils.el (mh-decode-quoted-printable): deactivate-mark not
10333 bound in XEmacs.
10334
10335 * mh-xemacs-compat.el: GNU Emacs Functions needed by XEmacs.
10336 New file.
10337 * mh-e.el: (require 'mh-xemacs-compat) when running XEmacs.
10338
103392001-12-12 Peter S Galbraith <psg@debian.org>
10340
10341 * mh-comp.el (mh-send-letter): function local-variable-p needs two
10342 arguments in XEmacs.
10343 (mh-send-letter): sendmail-coding-system not bound in XEmacs.
10344 (mh-send-letter): default-buffer-file-coding-system not bound in
10345 Xemacs.
10346
10347 * mh-e.el (mh-delete-msg, mh-refile-msg, mh-undo):
10348 transient-mark-mode not bound in XEmacs. The feature of
10349 operations made on all messages in the selected range when
10350 transient-mark-mode is on doesn't work in XEmacs.
10351
10352 * mh-e.el, mh-utils.el: Conditionalize calls to
10353 'add-to-list 'facemenu-unlisted-faces for XEmacs.
10354
103552001-12-11 Jeffrey C Honig <jch@honig.net>
10356
10357 * mh-e.el (mh-scan-format): Add `mh-scan-format-file' variable to
10358 specify the scan format string or file to use. Define formats for
10359 MH and nmh that are compatible with the standard format, but
10360 provide hints for font-lock. Define (mh-scan-format) for use by
10361 (mh-regenerate-headers) and (mh-get-new-mail) to specify the args
10362 necessary to inform the scan program which scan format string or
10363 file to use.
10364
103652001-12-07 Peter S Galbraith <psg@debian.org>
10366
10367 * mh-e.el (scan.font-lock): New format file documented in comments.
10368 (mh-scan.font-lock-regexp): Adapted to new format.
10369 (mh-folder-font-lock-keywords): Use new format.
10370
10371 * mh-e.el (page-down.xpm): Icon renamed from nextpage.
10372
10373 * mh-utils.el (mh-decode-quoted-printable): Bug fix. Better check
10374 on what actually is a quoted-printable attachment.
10375
103762001-12-06 Eric Ding <ericding@alum.mit.edu>
10377
10378 * mh-mime.el (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp):
10379 require mailcap.el here rather than using autoload at top of
10380 mh-mime.
10381 (mh-file-mime-type): get rid of unused variables (why were they
10382 there to begin with?)
10383
103842001-12-06 Peter S Galbraith <psg@debian.org>
10385
10386 * mh-e.el (mh-cur-msg-number-regexp, mh-cur-msg-line-regexp):
10387 mh-cur-scan-msg-regexp splits into these two variables.
10388 The whole-line fontification is disabled, but easily restored by a
10389 user (although it could be a defcustom with choices DISABLED or
10390 the correct regexp?)
10391 (mh-folder-cur-msg-line-face): mh-folder-current-msg-face renamed
10392 to this.
10393 (mh-folder-cur-msg-number-face): mh-folder-current-face renamed to
10394 this.
10395
10396 * cabinet.xpm: Revert to rescan icon name.
10397 * mh-e.el (mh-folder-tool-bar-map): s/cabinet/rescan/
10398
10399 * mh-e.el (mh-folder-font-lock-keywords): Reorder and tweak such
10400 that current message line highlight doesn't mess up other highlights.
10401
104022001-12-05 Eric Ding <ericding@alum.mit.edu>
10403
10404 * mh-utils.el (mh-show-from-face): Change mh-show-from-face to
10405 cyan on dark backgrounds; through a series of changes, it had
10406 become the same color as mh-show-subject-face!
10407
104082001-12-05 Bill Wohler <Bill.Wohler@openwave.com>
10409
10410 * mh-e.el, mh-utils.el: Fixed typos in face definitions, and made
10411 a couple of small doc string tweaks while I was in there. Peter,
10412 if you don't agree, let me know and I'll back them out. I thought
10413 the "mh-e" in the text was redundant since the variables start
10414 with "mh"; I was also thinking ahead to how the documentation may
10415 read.
10416
104172001-12-05 Peter S Galbraith <psg@debian.org>
10418
10419 * mh-e.el (mh-cur-scan-msg-regexp): Match 0 is the whole line.
10420 (mh-folder-current-msg-face): New face with only a background
10421 settings, used in font-lock for the current message.
10422 (mh-folder-font-lock-keywords): Use mh-folder-current-msg-face for
10423 mh-cur-scan-msg-regexp.
10424
10425 * mh-utils.el (mh-show-from-face): Use red3 instead of red for
10426 light backgrounds. It's not as bright on the eyes.
10427 (mh-show-subject-face): copy from mh-folder-subject-face instead.
10428 Makes the look consistent with folder-mode.
10429
10430 * mh-e.el (mh-folder-subject-face): Moved to mh-utils since we
10431 need it to copy to mh-show-subject-face.
10432
104332001-12-05 Bill Wohler <wohler@newt.com>
10434
10435 * mh-e.el (mh-folder-mode-map): Moved `mh-extract-rejected-mail'
10436 from "a" to "E". Better mnemonic, nicer to folks used to using a
10437 for `mh-reply'.
10438
104392001-12-04 Bill Wohler <wohler@newt.com>
10440
10441 * mh-e.el (mh-folder-map): Added "S" for `mh-sort-folder'.
10442
104432001-12-04 Peter S Galbraith <psg@debian.org>
10444
10445 * mh-e.el (mh-folder-subject-face et al.): Yet another attempt at
10446 colours for folder-mode. Still themed, but fewer and darker
10447 colours (Blame Eric this time!). I'll get to underlining tomorrow
10448 night.
10449
10450 * mh-e.el (mh-folder-tool-bar-map): Renamed all icons so they
10451 don't have the word mail in them. Also generated a pbm format of
10452 each icon for users without XPM support conpiled into Emacs.
10453
104542001-12-04 Eric Ding <ericding@alum.mit.edu>
10455
10456 * mh-utils.el (mh-show-font-lock-keywords): Use
10457 mh-header-subject-font-lock instead of regexp for subject headers,
10458 which may go multiple lines.
10459 (mh-header-subject-font-lock): New function.
10460 Fix typos (hightlight -> highlight).
10461
104622001-12-04 Eric Ding <ericding@alum.mit.edu>
10463
10464 * mh-e.el: changes to face colors on dark backgrounds.
10465 (mh-folder-followup-face): change to LightGoldenRod.
10466 (mh-folder-date-face): change to snow3.
10467 (mh-folder-msg-number-face): change to snow4.
10468
104692001-12-04 Bill Wohler <wohler@newt.com>
10470
10471 Released mh-e version 5.0.92.
10472
10473 * mh-utils.el (gnus-cite-face-list)
10474 (mh-gnus-article-highlight-citation): Don't autoload. Revert to
10475 requiring in `mh-gnus-article-highlight-citation' as before. With
10476 the autoloads, if you ran mh-e before gnus, you'd get an undefined
10477 gnus variable when viewing an article in gnus. Go figure.
10478
104792001-12-03 Bill Wohler <wohler@newt.com>
10480
10481 Released mh-e version 5.0.91.
10482
10483 * MH-E-NEWS: Removed info about bumping up `max-specpdl-size' now
10484 that workaround has been implemented.
10485
10486 * Makefile (MH-E-OBJ): New variable to hold .elc files.
10487 (all): Just compile.
10488 (clean): New target that blows away MH-E-OBJ.
10489 (dist): Added $(MH-E-OBJ) to tarball.
10490
10491
10492 Attempt to quiet compilation errors to a dull roar.
10493
10494 * mh-e.el: Require easymenu, added autoload of info.
10495 (mh-smail, mh-smail-other-window): Comment says these were needed
10496 by Emacs 18. Out!
10497
10498 * mh-utils.el: Don't require sendmail, but require mh-e.
10499 Moved autoloads to top of file, and autoload gnus-cite and
10500 sendmail too.
10501
10502 * mh-pick.el: Require easymenu. Remove cond on
10503 `easy-menu-define'--it exists.
10504
10505 * mh-mime.el: Autoload mailcap.
10506
10507 * mh-comp.el: Require mh-e and easymenu, moved autoloads to top of
10508 file.
10509
10510
10511 * Makefile: (EMACS): New constant to hold emacs calling sequence.
10512 (install): Renamed to install-emacs.
10513 (compile): New target to compile all files.
10514 (dist): Make dependent on compile.
10515 (import): Renamed to import-emacs.
10516 (%.elc): New implicit rule to compile elisp files.
10517
10518 * mh-e.el (mh-thread-map): Added "Td" for
10519 mh-delete-subject-thread.
10520
105212001-12-03 Peter S Galbraith <psg@debian.org>
10522
10523 * mh-e.el (mh-folder-tool-bar-map): Change tooltip for exec icon.
10524
10525 * mh-e.el (mh-folder-subject-face): Change to IndianRed1.
10526 (mh-folder-followup-face): Change to IndianRed.
10527 (mh-folder-deleted-face): Use sedate face instead of bright one.
10528
105292001-12-03 Bill Wohler <wohler@newt.com>
10530
10531 * mh-utils.el (mh-invisible-headers): Increase size of
10532 `max-specpdl-size' locally to work around insufficient default.
10533 (mh-invisible-headers): Added X-Info and X-VSMLoop (NTMail).
10534
105352001-12-03 Jeffrey C Honig <jch@honig.net>
10536
10537 * mh-utils.el (mh-find-progs): Searches should not stop if the
10538 strings are not found, there is error detection at the end of the
10539 routine (closes SF #488231).
10540
105412001-12-02 Bill Wohler <wohler@newt.com>
10542
10543 * MH-E-NEWS: Added info about bumping up `max-specpdl-size'.
10544
10545 * Makefile (MH-E-IMG): New variable that contains images used by
10546 mh-e. Add these files to release.
10547
10548 * MH-E-NEWS: Second draft of mh-e 6.0 (was 5.1) release notes.
10549
10550 * mh-e.el (mh-folder-updated-hook): Reworded to avoid ambiguity.
10551 Is the hook called when you type `d' or when you type `x'?
10552 (mh-unseen-updated-hook): Reworded to be consistent with
10553 `mh-folder-updated-hook.'
10554
10555 * mh-utils.el (mh-recenter): Accepted Gerd's change which is
10556 evaluated at compile time.
10557
105582001-12-02 Bill Wohler <wohler@newt.com>
10559
10560 * mh-e.el Major, major keymap changes. The specific changes are
10561 listed below, but view the sources, or use "C-h m" in MH Folder
10562 mode for the complete list.
10563
10564 Use of sub-keymaps inspired by gnus. The changes tripped me up at
10565 first too, but after about 5 minutes of shock (which is to be
10566 expected, I've been using the old keybindings for 16 years), I
10567 honestly found the new bindings to be nice indeed. It will also
10568 provide flexibility to allow for future functionality. I hate to
10569 do this on the eve of the beta release, but you asked for it! It's
10570 likely I'll have to pull an Eric and back this change out, but if
10571 we can live with pink subjects, this can't be so bad ;-).
10572 Question: will the users revolt? If they do, I suppose we can
10573 release 6.0.1 the next day ;-).
10574 (mh-folder-map, mh-sequence-map, mh-extract-map, mh-digest-map):
10575 New keymaps which start with F, S, X, and D, respectively. The
10576 mhstore commands can go in the mh-extract-map eventually.
10577 (mh-thread-map): Renamed from mh-folder-thread-map.
10578
10579 Keymap changes and rationale. The sub-keymaps allowed some
10580 consistency (e.g., esp. with l(ist) and k(ill).
10581
10582 e Deleted. Already have x. Now used by mh-edit-again.
10583 a Deleted. Already have r. Now used by mh-extract-rej..
10584 j Deleted. Already have g.
10585
10586 M-a -> e Better mnemonic. Matches rmail. Frees movement cmd.
10587 M-e -> a Try `a'gain!
10588
10589 M-f -> Fv Frees movement command
10590 M-f -> Ff Alias (keep?)
10591 M-f -> Fo Alias (keep?)
10592 M-k -> Fk No reason but to keep with folder commands
10593 M-l -> Fl No reason but to keep with folder commands
10594 M-p -> Fp No reason but to keep with folder commands
10595 M-r -> Fr Frees movement command
10596 M-s -> Fs No reason but to keep with folder commands
10597 M-u -> Fu No reason but to keep with folder commands
10598
10599 M-% -> Sd Better mnemonic
10600 M-# -> Sk Better mnemonic
10601 M-q -> Sl Better mnemonic
10602 C-xn -> Sn Frees up standard key binding
10603 % -> Sp Better mnemonic for putting a message in a sequence
10604 ? -> Ss Shows sequences that message is in
10605 C-xw -> Sw Frees up standard key binding
10606
10607 M-n -> Xs Better mnemonic (shar)
10608 M-n -> Xu Better mnemonic (uuencode)
10609
10610 M-SPC -> DSPC Frees mark command
10611 M-\177 -> D\177 No reason but to keep with digest commands
10612 M-b -> Db Frees movement command
10613
106142001-12-01 Bill Wohler <wohler@newt.com>
10615
10616 * mh-e.el: Use gnus style of keymaps. Now requires gnus-util.
10617 (mh-folder-thread-map): New map, created by gnus-define-keys.
10618 Reached when typing T in mh-folder-mode-map. Moved threading
10619 functions to this new keymap so we can use dired again.
10620 (mh-folder-mode-map): Defined by gnus-define-keys. Otherwise than
10621 the new threading functions, no changes to the UI were made at
10622 this point--saving that for the next check-in.
10623
10624 * mh-pick.el (mh-pick-mode-map): Use gnus-define-keys. Now
10625 requires gnus-util.
10626
10627 * mh-comp.el (mh-letter-mode-map): Use gnus-define-keys. Now
10628 requires gnus-util.
10629
106302001-12-01 Jeffrey C Honig <jch@honig.net>
10631
10632 * mh-e.el: Update the documentation for the regexps used by
10633 `mh-folder-font-lock-keywords' to specify how many parethesized
10634 expressions they are expected to have and what those expressions
10635 are expected to match.
10636
106372001-12-01 Bill Wohler <wohler@newt.com>
10638
10639 * mh-e.el (mh-folder-mode): Removed iteration of key bindings,
10640 \\{mh-folder-mode-map} suffices. Removed variable documentation
10641 also as this is already out of date and a maintenance hassle.
10642 Reference new mh customization group instead.
10643
10644 * mh-comp.el (mh-letter-mode): Ditto. Also added new information
10645 about MIME directives getting processed automatically if inserted
10646 via mh-e commands.
10647
10648 * mh-pick.el (mh-pick-mode): Edited documentation so it reads like
10649 the other modes.
10650
10651 * mh-e.el (mh-compat-quit): Deleted obsolete and unused function.
10652 Comment in this function said that `b' shouldn't be used for
10653 burst-digest, as it is used for `back' in info, less, and rn. But
10654 what does `back' mean in MH Folder? I suppose if you visit a
10655 folder, you would go `back' to the original folder. Hmmm, I guess
10656 we'll leave the `b' binding alone for now.
10657
10658 * mh-utils.el: Moved some of the variable comments to the first
10659 column so they wouldn't wrap in such an ugly fashion.
10660 (mh-showing-mode): Renamed variable and function from mh-showing
10661 to conform with minor mode conventions. Added optional arg to
10662 function so it would behave like a normal minor mode: no or nil
10663 arg toggles mode, 0 arg turns off, non-nil turns on. It also turns
10664 out that desktop-create-buffer would barf when recreating mh-e
10665 buffers because it was calling mh-show with an arg.
10666 (mh-show-mode): Use define-derived-mode to simplify definition a
10667 *lot*.
10668 (mh-set-mode-name): Deprecated by use of define-derived-mode.
10669 Removed.
10670
10671 * mh-pick.el (mh-pick-mode): Use define-derived-mode to simplify
10672 definition a *lot*.
10673
10674 * mh-e.el (mh-scan-prog): Removed message about "Buffer local" as
10675 this message will appear in a future version of Emacs.
10676 (mh-inc-folder): mh-showing renamed to mh-show-mode and made a
10677 real minor mode.
10678 (mh-folder-mode): Use define-derived-mode to simplify definition a
10679 *lot*.
10680
10681 * import-emacs (release): Change `(none)' to `mainline' so import
10682 doesn't choke after running `cvs up -A' on Emacs.
10683 (COPYING): Moved from $EMACS_HOME/etc to $EMACS_HOME.
10684 (cvs update): Whoops! Forgot the second join (-jemacs).
10685 make import works fine again.
10686
106872001-11-30 Peter S Galbraith <psg@debian.org>
10688
10689 * mh-e.el (mh-folder-font-lock-keywords): Change order of
10690 font-lock patterns such that subject body text doesn't get date
10691 fontification.
10692
10693 * mh-e.el (mh-scan-subject-regexp): Bug fix. Remove a dot.
10694 scan.font-lock users have to setq it separately.
10695
106962001-11-30 Eric Ding <ericding@alum.mit.edu>
10697
10698 * mh-utils.el (mh-clean-msg-header): Go back to using
10699 mh-delete-line. Using invisible text property is nicer in some
10700 ways, but winds up with somewhat mysterious behavior should user
10701 kill/yank stuff from the header (i.e., text gets yanked invisibly
10702 and won't be seen by user until file is reloaded).
10703
107042001-11-29 Bill Wohler <wohler@newt.com>
10705
10706 * mh-e.el (mh-page-msg): Use mh-next-direction to page in the
10707 right direction.
10708
107092001-11-29 Jeffrey C Honig <jch@honig.net>
10710
10711 * mh-e.el (mh-scan-folder): Fix logic to not attempt to go to
10712 the current message if there are no messages in the folder.
10713
107142001-11-29 Peter S Galbraith <psg@debian.org>
10715
10716 * mh-e.el (mh-folder-font-lock-subject): New fontifier function
10717 for subject lines in folder-mode
10718 (mh-scan-followup-regexp): Deleted obsolete regexp. Use
10719 mh-scan-subject-regexp instead.
10720 (mh-folder-font-lock-keywords): Use mh-folder-font-lock-subject
10721 instead of obsolete mh-scan-followup-regexp variable.
10722 (mh-folder-date-face, mh-folder-msg-number-face):
10723 (mh-folder-subject-face, mh-folder-followup-face):
10724 Now defined as proper faces instead of copied from font-lock
10725 faces.
10726
10727 * mh-mime.el (mh-media-type-regexp): New variable. Regexp matching
10728 valid media types used in MIME attachment compositions.
10729 (mh-file-mime-type): Use mh-media-type-regexp instead of
10730 hard-wiring its value.
10731
10732 * mh-utils.el (mh-show-unquote-From): New function to unquote
10733 "^>From" in mh-show-mode (not saved to disk).
10734 (mh-show-mode): Call mh-show-unquote-From.
10735
107362001-11-29 Eric Ding <ericding@alum.mit.edu>
10737
10738 * mh-utils.el (mh-clean-msg-header): Use mh-make-line-invisible
10739 rather than mh-delete-line.
10740 (mh-make-line-invisible): New function to make line(s) invisible
10741 rather than deleting line(s). Optional argument specifies number
10742 of lines to delete.
10743 (mh-show-msg): screen-height has been deprecated; use no more.
10744 (mh-notate): screen-width has been deprecated; use no more.
10745
107462001-11-29 Jeffrey C Honig <jch@honig.net>
10747
10748 * mh-utils.el: (mh-find-progs): Change mh-find-progs to rely on
10749 the existence of mhparam. The location of mhparam is used to find
10750 `mh-progs'. It uses the libdir and etcdir to find the
10751 `mh-lib-progs' and `mh-lib' directories. If etcdir doesn't return
10752 anything we assume `mh-lib-progs' is the same as `mh-lib' and that
10753 we are using MH instead of nmh.
10754
107552001-11-29 Peter S Galbraith <psg@debian.org>
10756
10757 * mh-e.el (mh-scan.font-lock-regexp): Change docs to reflect that
10758 second paren expression is the user match.
10759 (mh-folder-font-lock-keywords): Change from 1st to 2nd parenthesized
10760 expression to match user name, after Jeffrey's change to the regexps.
10761
107622001-11-29 Bill Wohler <Bill.Wohler@openwave.com>
10763
10764 * mh-utils.el (mh-clean-message-header): Default is now t.
10765 (mh-invisible-headers): Padded out to contain all the headers that
10766 the mh-e developers don't like to see (closes SF #415759).
10767
107682001-11-28 Bill Wohler <Bill.Wohler@openwave.com>
10769
10770 * mh-comp.el (mh-rejected-letter-start): Added MIME MDN. While
10771 this allows mh-extract-rejected-mail to strip the start of the
10772 MDN, there is still a closing MIME marker at the end. This should
10773 be cleaned up eventually.
10774
107752001-11-28 Peter S Galbraith <psg@debian.org>
10776
10777 * mh-e.el (mh-folder-seq-tool-bar-map): New tool-bar used for
10778 folder-mode when narrowed to sequence.
10779 * mh-seq.el (mh-narrow-to-seq): Set tool-bar to
10780 mh-folder-seq-tool-bar-map.
10781 (mh-widen): Set tool-bar to mh-folder-tool-bar-map.
10782 * widen.xpm: New icon used in mh-folder-seq-tool-bar-map.
10783
10784 * mh-mime.el (mh-file-mime-type): Much better check on validity of
10785 'file' output.
10786
10787 * mh-e.el (mh-scan-subject-regexp): New regexp variable for
10788 subject string in folder mode. Used to extract subject sequence,
10789 and will be used for font-lock soon.
10790 * mh-seq.el (mh-subject-thread-to-sequence): More robust code by
10791 using mh-scan-subject-regexp, allows users with non-standard
10792 scan format to use subject sequences.
10793
10794 * mh-comp.el (mh-letter-fill-column): Fill column to use in
10795 mh-letter-mode. (Yes, I'm doing this in spite of what Bill said;
10796 Someone can always undo it later)
10797 (mh-letter-mode): setq fill-column to mh-letter-fill-column.
10798
107992001-11-28 Bill Wohler <wohler@newt.com>
10800
10801 * mh-e.el (mh-page-msg): The first time the end of page is hit,
10802 set mh-page-to-next-msg-p to t. The second time the end of page is
10803 hit, go to the next message.
10804
10805 * mh-utils.el: (mh-show-msg): Initialize mh-page-to-next-msg-p to
10806 nil.
10807
108082001-11-27 Bill Wohler <wohler@newt.com>
10809
10810 * mh-mime.el (mh-mime-content-types): Updated list of types to
10811 contain types used by mh-e developers, but not including types not
10812 listed in
10813 http://www.isi.edu/in-notes/iana/assignments/media-types/media-types.
10814
108152001-11-27 Peter S Galbraith <psg@debian.org>
10816
10817 * mh-seq.el (mh-subject-thread-to-sequence) New function placing
10818 all messages with similar subject line into a sequence named
10819 'subject.
10820 (mh-narrow-to-subject-thread): New command to narrow to all
10821 messages with similar subject line into a sequence named 'subject.
10822 (mh-toggle-subject-thread): New command to toggle between a new
10823 'subject sequence or the wide view of a folder.
10824 (mh-delete-subject-thread): New command to delete all following
10825 messages with similar subject lines (leaving preceeding ones
10826 untouched).
10827 (mh-next-unseen-subject-thread): New command to create and move to
10828 a new subject thread created from the next unseen message as a
10829 starting point.
10830 * mh-e.el (mh-folder-message-menu): New menu entries for subject
10831 threads.
10832 (mh-folder-mode-map): New keybindings for subject threads.
10833 (mh-lessp): New function to sort messages.
10834
10835 * mh-utils.el (mh-show-font-lock-keywords): and various
10836 faces... scoped within eval-after-load "font-lock" to avoid
10837 requiring font-lock to use its faces.
10838 * mh-e.el (mh-folder-font-lock-keywords): Same.
10839
108402001-11-27 Jeffrey C Honig <jch@honig.net>
10841
10842 * mh-mime.el (mh-file-mime-type): Use mh-temp-buffer instead of
10843 " *mh-temp".
10844
10845 * mh-comp.el (mh-insert-x-mailer): Kill mh-temp-buffer after use.
10846
108472001-11-26 Eric Ding <ericding@alum.mit.edu>
10848
10849 * mh-utils.el: revert to using external mimedecode to decode
10850 MIME quoted-printable parts
10851
108522001-11-26 Jeffrey C Honig <jch@honig.net>
10853
10854 * mh-e.el (mh-process-commands): Added mh-folder-updated-hook.
10855 * mh-e.el (mh-update-unseen): Added mh-unseen-updated-hook.
10856
108572001-11-26 Peter S Galbraith <psg@debian.org>
10858
10859 * mh-mime.el (mh-file-mime-type): Make sure output from file
10860 command is known to mailcap file, otherwise prompt the user.
10861 (mh-mime-content-types): Add "image/png" type.
10862
10863 * mh-e.el (mh-folder-font-lock-keywords): Use a bunch of new
10864 mh-folder-*-face faces.
10865 * mh-utils.el (mh-show-font-lock-keywords): Use a bunch of new
10866 mh-show-*-face faces.
10867
10868 * mh-utils.el (mh-letter-header-font-lock): Bug fix. Fix infinite
10869 loop in emacs20 font-locking.
10870 (mh-header-field-font-lock): Preventive fix with similar change.
10871
10872 * mh-comp.el (mh-reply-show-message-p): Typo. diplayed -> displayed.
10873 * MH-E-NEWS: Same.
10874
10875 * mh-e.el (mh-folder-tool-bar-map): Bug fix. I had
10876 mh-repack-folder instead of mh-pack-folder.
10877
108782001-11-26 Bill Wohler <wohler@phone.com>
10879
10880 * mh-e.el:
10881 Updated header for consistency and to conform with (elisp)Library
10882 Headers.
10883 (mh-do-not-confirm): Updated documentation string to reflect
10884 reality (e.g., is no longer used by mh-kill-folder and is used by
10885 more functions than just mh-undo-folder).
10886 (mh-page-msg): Now shows the next undeleted message if looking at the
10887 bottom of the current message.
10888 (mh-process-or-undo-commands): Fixed indentation.
10889
10890 * mh-mime.el:
10891 (mh-mhn-compose-insertion, mh-mhn-compose-anon-ftp): If MIME type
10892 cannot be determined with file command, use mailcap-mime-types (if
10893 available) to provide list for completing read.
10894
10895 * MH-E-NEWS: First draft of mh-e 5.1 release notes.
10896
108972001-11-26 Eric Ding <ericding@alum.mit.edu>
10898
10899 * mh-utils.el (mh-decode-quoted-printable): Implement
10900 quoted-printable decoding in elisp (starting with code copied
10901 from FLIM).
10902 (mh-decode-quoted-printable-region): Move (require 'hexl) outside
10903 while loop.
10904 (mh-decode-quoted-printable): give user a choice between using
10905 internal code or external program to decode quoted-printable
10906 content. Resurrect code that calls external mimedecode program.
10907
109082001-11-25 Peter S Galbraith <psg@debian.org>
10909
10910 * mh-utils.el (mh-highlight-citation-p): New variable to determine
10911 whether to hightlight citations in message body with gnus,
10912 font-lock or not at all.
10913 (mh-show-font-lock-keywords): removed citations from keywords.
10914 (mh-show-font-lock-keywords-with-cite): New variable, equivalent
10915 to prior mh-show-font-lock-keywords.
10916 (mh-gnus-article-highlight-citation): hook into gnus for
10917 multi-level citation highlighting.
10918 (mh-show-mode): Use either mh-show-font-lock-keywords or
10919 mh-show-font-lock-keywords-with-cite, depending on value of
10920 mh-highlight-citation-p, and possibly call
10921 mh-gnus-article-highlight-citation.
10922 * mh-comp.el (mh-letter-mode): Same as for mh-show-mode above.
10923
109242001-11-25 Jeffrey C Honig <jch@honig.net>
10925
10926 * mh-comp.el (mh-redistribute): Added mh-redist-background
10927 variable to cause mh-redistribute to run the redist command in the
10928 background. This causes the transaction log to be visible, like
10929 with send.
10930
109312001-11-25 Peter S Galbraith <psg@debian.org>
10932
10933 * mh-e.el (mh-inc-folder): 'inc' finishes by displaying the first
10934 new message if already showing messages.
10935
109362001-11-22 Peter S Galbraith <psg@debian.org>
10937
10938 * mh-utils.el (mh-prompt-for-folder): Exit with error if no folder
10939 specified, otherwise mh-refile-msg may try to create a folder with
10940 empty name, and this creates problems; even mh-undo can't handle
10941 it (Closes SF #476824).
10942
10943 * mh-comp.el (mh-letter-tool-bar-map): Info button needed to
10944 require 'info. Also tweaked help texts.
10945 (mh-letter-menu): Use headline capitalization (Closes SF #483203).
10946 * mh-e.el (mh-folder-tool-bar-map): Same as above.
10947 (mh-folder-folder-menu, mh-folder-message-menu):
10948 (mh-folder-sequence-menu): Same as above.
10949 * mh-pick.el (mh-pick-menu): Same as above.
10950
109512001-11-21 Peter S Galbraith <psg@debian.org>
10952
10953 * mh-comp.el (mh-reply-show-message-p): The setting of this
10954 variable determines whether the MH show-buffer is diplayed with
10955 the current message when using mh-reply without a prefix argument.
10956 Set it to nil if you already include the message automatically in
10957 your draft using "repl: -filter repl.filter" in your ~/.mh_profile
10958 file.
10959 (mh-reply): Don't show message in other window if
10960 mh-reply-show-message-p is nil.
10961
10962 * mh-e.el (mh-folder-tool-bar-map): Add mail_exec.xpm icon for
10963 mh-execute-commands.
10964
10965 * mh-utils.el (mh-show-mouse): New function to click on a message
10966 in folder-mode and show that message.
10967 * mh-e.el (mh-folder-mode-map): Bind mh-show-mouse to mouse-2.
10968
10969 * mh-e.el (mh-page-msg): Show buffer first if not displayed,
10970 instead of simply complaining there's no other window.
10971
10972 * mh-e.el (mh-folder-tool-bar-map): New tool-bar for folder mode!
10973 (mh-folder-mode): Setup tool-bar.
10974
10975 * mh-mime.el (mh-have-file-command): try to non-fatally load
10976 executable.el because emacs20 doesn't autoload it.
10977 * mh-utils.el (load "executable" t t): Idem.
10978
10979 * mh-utils.el (mh-clean-msg-header): Bug fix. locally bind
10980 after-change-functions to nil, working around a strange font-lock
10981 bug in emacs20 when (add-hook 'mh-show-mode-hook 'turn-on-font-lock)
10982 was used.
10983
10984 * mh-comp.el (require 'sendmail): Moved from mh-comp.el to
10985 mh-utils.el because it is needed in reading mail too.
10986 (mh-header-field-end, mh-in-header-p): Moved to mh-utils.el
10987 because they are needed by mh-show-mode's font-lock code.
10988 Unfortunately, this splits the field related code into two files.
10989 Perhaps it should all go into mh-utils?
10990
109912001-11-20 Eric Ding <ericding@alum.mit.edu>
10992
10993 * mh-utils.el (mh-show-from-face): Fix typo in defface
10994
109952001-11-20 Bill Wohler <wohler@newt.com>
10996
10997 * mh-utils.el (mh-mail-header-separator): Set to -------- as
10998 defined by MH (components, and replcomps files). This variable
10999 cannot be a regexp since it is used as an argument to insert and
11000 is passed through regexp-quote before being used. The previous
11001 value broke a lot of code, including mailcrypt.
11002
11003 * mh-comp.el (mh-letter-mode, mh-send-letter): Insert X-Mailer
11004 header field from mh-send-letter.
11005 (mh-edit-again, mh-extract-rejected-mail): Call
11006 mh-insert-header-separator to ensure that there is a separator.
11007 Packages such as mailcrypt depend on it.
11008 (mh-insert-header-separator): New function to insert
11009 mh-mail-header-separator if it doesn't exist.
11010
110112001-11-20 Peter S Galbraith <psg@debian.org>
11012
11013 * mh-comp.el (mh-letter-mode): Make font-lock-defaults a local variable
11014 * mh-e.el (mh-folder-mode): Same.
11015 * mh-utils.el (mh-show-mode): Same.
11016
11017 * mh-e.el (mh-scan-msg-num-regexp): Delete variable and replace
11018 with mh-good-msg-regexp.
11019
11020 * mh-utils.el (mh-mail-header-separator): Bug fix. Moved from
11021 mh-comp.el to mh-utils.el (which mh-comp.el loads).
11022
11023 * mh-comp.el (mh-in-header-p): Recycle sendmail.el code (as
11024 suggested by Bill).
11025 * mh-utils.el (mh-letter-header-font-lock): Use mh-in-header-p.
11026
11027 * mh-comp.el (mh-letter-tool-bar-map): tool-bar customize button goes
11028 to customizing mh-compose group.
11029
11030 * mh-utils.el (mh-show-mode): font-lock bug fix. Locally set
11031 font-lock-support-mode to nil.
11032 (mh-letter-header-font-lock, mh-header-field-font-lock): font-lock
11033 bug fix. Don't return match beyond font-lock search limit.
11034
11035 * mh-comp.el (mh-letter-mode): Emacs20 bug fix. tool-bar-mode is
11036 not a bound variable.
11037
110382001-11-19 Peter S Galbraith <psg@debian.org>
11039
11040 * mh-comp.el (mh-letter-tool-bar-map): tool-bar help button goes
11041 to 'Draft Editing' info node.
11042
11043 * mh-utils.el (mh-show-from-face, mh-show-to-face): New faces used
11044 for font-lock.
11045 (mh-header-to-font-lock, mh-header-cc-font-lock)
11046 (mh-header-field-font-lock): New helper function returning whole
11047 header field arguments to font-lock.
11048 (mh-show-font-lock-keywords): Heavily modified using the above.
11049
11050 * mh-e.el (mh-scan-msg-num-regexp): Regexp matching the message
11051 number in scan lines.
11052 (mh-scan-date-regexp): Regexp matching a valid date in scan lines.
11053 (mh-scan-rcpt-addr-regexp): Regexp specifying the recipient in
11054 scan lines for messages we sent.
11055 (mh-scan-followup-regexp): Regexp matching a followup subject
11056 line, starting with Re:
11057 (mh-scan-body-regexp):
11058 Regexp matching the message body beginning displayed in scan lines.
11059 (mh-scan.font-lock-regexp): Regexp matching output of the the
11060 optional scan.font-lock format file.
11061 (mh-folder-font-lock-keywords): New font-lock for folder-mode that
11062 uses the above regexps.
11063
110642001-11-19 chad <y@mit.edu>
11065
11066 * mh-comp.el (mh-letter-tool-bar-map): made both references to
11067 mh-letter-tool-bar-map conditional on tool-bar-mode, instead of
11068 just one.
11069
110702001-11-19 Bill Wohler <wohler@newt.com>
11071
11072 * mh-comp.el (mh-position-on-field): Move to the end of the header
11073 if the field is not present. This function was documented to do
11074 this, but wasn't doing so.
11075 (mh-insert-x-mailer): Simplified by using existing
11076 mh-goto-header-field and mh-insert-fields functions. Now that
11077 mh-insert-fields is used to insert X-Mailer header field, no
11078 longer need to include X-Mailer in mh-x-mailer-string.
11079
110802001-11-18 Peter S Galbraith <psg@debian.org>
11081
11082 * mh-comp.el (mh-letter-tool-bar-map): New version of
11083 mh-letter-mode tool-bar. Changed order of buttons; made customize
11084 and info buttons specific to mh-e.
11085
11086 * mh-e.el (mh-folder-font-lock-keywords): New font-lock regexp
11087 uses variables mh-deleted-msg-regexp, mh-refiled-msg-regexp and
11088 mh-cur-scan-msg-regexp, so will better adapt to non-default scan
11089 formats. Also, lines marked for refiling are now fontified.
11090
110912001-11-18 Bill Wohler <wohler@newt.com>
11092
11093 * mh-utils.el (mh-show-mode): Added local variable
11094 mail-header-separator which is initialized to
11095 mh-mail-header-separator.
11096
11097 * mh-comp.el (mh-mail-header-separator): Updated to include ^$.
11098 Needed when running mh-edit-again, since by then the separator is
11099 gone. Added documentation saying one should use
11100 mail-header-separator and initialize it from
11101 mh-mail-header-separator.
11102 (mh-forward): Initialize mail-header-separator since
11103 mh-letter-mode hasn't kicked in yet (which does initialize
11104 mail-header-separator).
11105 (mh-letter-mode): Initialize mail-header-separator from
11106 mh-mail-header-separator, not hard-coded string.
11107
11108 * mh-comp.el (mh-insert-x-mailer-p): New variable to control
11109 whether X-Mailer string is inserted. Default: t.
11110 (mh-x-mailer-string): New variable that caches actual X-Mailer
11111 string.
11112 (mh-letter-mode): Call mh-insert-x-mailer if mh-insert-x-mailer-p
11113 is t.
11114 (mh-insert-x-mailer): New function that inserts X-Mailer header
11115 field.
11116
111172001-11-17 Peter S Galbraith <psg@debian.org>
11118
11119 * mh-utils.el (mh-letter-header-font-lock): New function to return
11120 the entire mail header to font-lock for sedate font-locking.
11121 (mh-show-font-lock-keywords): Modified to fontify whole lines and use
11122 mh-letter-header-font-lock above to fontify whole header.
11123
111242001-11-17 Bill Wohler <wohler@newt.com>
11125
11126 * mh-comp.el (mail-header-separator): Added ^ and $ to make more
11127 specific.
11128 (mh-forward, mh-letter-mode): Replaced hard-coded string with
11129 mail-header-separator.
11130
111312001-11-16 Bill Wohler <wohler@newt.com>
11132
11133 * mh-e.el (mh-e-RCS-id): Renamed to mh-version.
11134 (mh-version): The variable: Set to a number instead of Id since
11135 the Id didn't have the mh-e version number, and both Emacs and
11136 gnus do it this way too.
11137 (mh-version): The function: Fixed for nmh. Now displays mh-e
11138 version correctly. Cleaned up output and display mh-progs, etc.
11139 (Closes SF #405620.)
11140
111412001-11-15 Peter S Galbraith <psg@debian.org>
11142
11143 * mh-comp.el (mh-letter-tool-bar-map): New tool-bar support for
11144 mh-letter-mode in emacs21. Uses icons from gnus/message.el.
11145 * mh-comp.el (mh-letter-mode): Add buffer-local binding of
11146 tool-bar-map to mh-letter-tool-bar-map.
11147
111482001-11-15 Peter S Galbraith <psg@debian.org>
11149
11150 * mh-mime.el (mh-have-file-command): Add check for existence of
11151 executable-find command, which Jeffrey didn't exist in emacs-20.4.
11152 * mh-utils.el (mh-decode-quoted-printable-have-mimedecode): same
11153 as above.
11154 * mh-mime.el (mh-file-mime-type): Bug Fix. Some versions of
11155 'file' output a string like "file: Using regular magic file..."
11156 to stderr, so discard stderr when using call-process with 'file'.
11157
111582001-11-14 Peter S Galbraith <psg@debian.org>
11159
11160 * mh-mime.el (mh-have-file-command): Check if 'file' command on
11161 system accepts arguments -i -b before accepting it for our use.
11162
111632001-11-14 Peter S Galbraith <psg@debian.org>
11164
11165 * mh-utils.el (mh-find-progs): Use expand-file-name instead of
11166 concatenating together strings into a path.
11167
111682001-11-14 Peter S Galbraith <psg@debian.org>
11169
11170 * mh-e.el (mh-folder-sequence-menu): Enable mh-widen in sequence
11171 menu only when mh-narrowed-to-seq is t.
11172
111732001-11-14 Peter S Galbraith <psg@debian.org>
11174
11175 * mh-mime.el (mh-have-file-command): Use 'executable-find' instead
11176 of more complicated and error-prone call-process to which command.
11177 * mh-utils.el (mh-decode-quoted-printable-have-mimedecode): Same
11178 change as above.
11179
111802001-11-14 Jeffrey C Honig <jch@honig.net>
11181
11182 * mh-e.el (mh-make-folder-mode-line): Bug fix. Properly deal with
11183 folders that do not have any lines in them. Print "no msgs"
11184 instead of "0 msgs". Do not try to print a range when there are
11185 no messages.
11186 * mh-e.el (mh-regenerate-headers): Bug fix. Catch and remove the
11187 "scan: band message list" message.
11188
111892001-11-13 Jeffrey C Honig <jch@honig.net>
11190
11191 * mh-utils.el (mh-find-progs): Bug fix. Add "mh/etc" to the
11192 subdirectories to search for "components". On BSD/OS, nmh is in
11193 "/usr/contrib/mh/*".
11194
111952001-11-13 Peter S Galbraith <psg@debian.org>
11196
11197 * mh-comp.el (mh-letter-mode): Bug fix. Load mh-mime before
11198 setting mh-mhn-compose-insert-p (when looking at a "forw: -mime"
11199 message containing a MIME composition) such that the variable is
11200 properly declared as buffer-local.
11201
112022001-11-12 Bill Wohler <wohler@newt.com>
11203
11204 * mh-funcs.el (mh-print-msg): mhl is in the mh-lib-progs
11205 directory, not mh-lib (closes SF #481128).
11206
112072001-11-12 Peter S Galbraith <psg@debian.org>
11208
11209 * mh-seq.el (mh-widen): Bug fix (closes SF #481036).
11210 In a sequence with pending deletes and refiles, running mh-widen
11211 would wipe out their notations, even though the sequences are still
11212 defined. Fixed by calling a new function,
11213 mh-notate-deleted-and-refiled. Also changed the coping of
11214 mh-goto-msg-num since it didn't work consistently.
11215 * mh-seq.el (mh-notate-deleted-and-refiled): New functions written
11216 to fix above mh-widen bug. It's a first cut, we may want to clear
11217 all notations first, and notate the current-message sequence and
11218 user sequences. Time will tell.
11219
112202001-11-12 Peter S Galbraith <psg@debian.org>
11221
11222 * mh-seq.el (mh-widen): Make it attempt to stay on the same
11223 message number (closes SF bug #480922).
11224
112252001-11-11 Bill Wohler <wohler@newt.com>
11226
11227 * import-emacs: New shell script to import Emacs changes to mh-e.
11228
11229 * Makefile (import): New target to import Emacs changes.
11230
112312001-11-09 Peter S Galbraith <psg@debian.org>
11232
11233 * mh-mime.el (mh-file-mime-type): Bug fix. Change regexp to
11234 extract mime type from 'file -i' command output.
11235
112362001-11-08 Peter S Galbraith <psg@debian.org>
11237
11238 * mh-utils.el (mh-update-sequences-after-mh-show):
11239 New customizable variable telling whether to run
11240 mh-update-sequences in mh-show-mode. Default is t.
11241 * mh-utils.el (mh-show-msg): Run mh-update-sequences when
11242 mh-update-sequences-after-mh-show is set.
11243
112442001-11-08 Peter S Galbraith <psg@debian.org>
11245
11246 * mh-utils.el (mh-decode-quoted-printable-have-mimedecode):
11247 New variable telling whether command 'mimedecode' is on system.
11248 (http://www.freesoft.org/CIE/FAQ/mimedeco.c)
11249 * mh-utils.el (mh-decode-quoted-printable):
11250 New customizable variable telling whether to run mimedecode on
11251 MIME message containing quoted-printable parts. mimedecode will
11252 only alter quoted-printable parts , leaving others intact, and the
11253 resulting message is still fully MIME.
11254 * mh-utils.el (mh-decode-quoted-printable): New function to run
11255 mimedecode on the current buffer.
11256 * mh-utils.el (mh-display-msg): Conditionnaly call
11257 mh-decode-quoted-printable function if mh-decode-quoted-printable
11258 variable is set, to view messages containing quoted-printable
11259 characters into 8-bit.
11260
112612001-11-08 Peter S Galbraith <psg@debian.org>
11262
11263 * mh-comp.el (mh-letter-mode): Set mh-mhn-compose-insert-p if
11264 looking at a "forw: -mime" message containing a MIME composition.
11265 * mh-mime.el (mh-file-mime-type): Bug fix. Failed on files like
11266 "~/.mh_profile" because of shell construct. Wrapped filename with
11267 expand-file-name.
11268 * mh-comp.el (mh-letter-mode-map): C-cC-o keybinding in
11269 mh-letter-mode-map for mh-open-line.
11270
112712001-11-07 Peter S Galbraith <psg@debian.org>
11272
11273 * mh-comp.el (mh-open-line): New user function to split open a line
11274 when editing a reply with included text.
11275 * mh-comp.el (mh-current-fill-prefix): New function used by
11276 mh-open-line to get the fill-prefix on the current line.
11277 * mh-comp.el: Add mh-open-line to mh-letter-mode menubar.
11278
112792001-11-06 Peter S Galbraith <psg@debian.org>
11280
11281 * mh-seq.el (mh-region-to-sequence): New function, creating a
11282 sequence named 'region containing the message list in the selected
11283 region.
11284 * mh-e.el (mh-delete-msg): Mark messages in region for deletion if
11285 mark is active and in transient-mark-mode.
11286 * mh-e.el (mh-refile-msg): Mark messages in region for refiling if
11287 mark is active and in transient-mark-mode.
11288 * mh-e.el (mh-undo): Undo message marks for refile or deletion if
11289 region if mark is active and in transient-mark-mode.
11290
112912001-11-06 Peter S Galbraith <psg@debian.org>
11292
11293 * mh-comp.el (mh-letter-mode): Use sendmail.el's fill-paragraph.
11294 Copy its settings for paragraph-start, paragraph-separate,
11295 fill-paragraph-function, adaptive-fill-regexp and
11296 adaptive-fill-first-line-regexp. This make M-q (fill-paragraph)
11297 work correctly!
11298
112992001-11-05 Peter S Galbraith <psg@debian.org>
11300
11301 * mh-funcs.el (mh-kill-folder): Remove mh-do-not-confirm condition
11302 and always prompt the user for such a drastic step. Also change
11303 the prompt a bit to clarify it.
11304
113052001-11-04 Peter S Galbraith <psg@debian.org>
11306
11307 * mh-mime.el (mh-mhn-compose-insert-p): New buffer-local variable
11308 to tell when a MIME insertion was done in a letter.
11309 * mh-mime.el (mh-mhn-compose-type): Set mh-mhn-compose-insert-p.
11310 * mh-mime.el (mh-mhn-compose-external-type):
11311 Set mh-mhn-compose-insert-p.
11312 * mh-mime.el (mh-mhn-compose-forw): Set mh-mhn-compose-insert-p.
11313 * mh-mime.el (mh-edit-mhn): Clear mh-mhn-compose-insert-p.
11314 * mh-comp.el (mh-send-letter): Run mh-edit-mhn when
11315 mh-mhn-compose-insert-p is set.
11316
113172001-11-03 Peter S Galbraith <psg@debian.org>
11318
11319 * mh-mime.el (mh-have-file-command): new function testing whether
11320 file command is on the system.
11321 * mh-mime.el (mh-file-mime-type): new function returning MIME type
11322 from file command.
11323 * mh-mime.el (mh-mhn-compose-insertion): Make use of
11324 mh-file-mime-type function instead of prompting.
11325
113262001-10-30 Peter S Galbraith <psg@debian.org>
11327
11328 * mh-utils.el (mh-show-use-goto-addr): defcustom this new
11329 variable, determining whether to call goto-addr in mh-show-mode.
11330 * mh-utils.el (mh-show-mode): Call goto-address when
11331 mh-show-use-goto-addr is t.
11332
113332001-10-25 Peter S Galbraith <psg@debian.org>
11334
11335 * mh-utils.el (mh-recenter): Clarify docs and change '(t) to
11336 (list 4) to match elisp doc on what C-u prefix argument actually is.
11337
113382001-10-23 Peter S Galbraith <psg@debian.org>
11339
11340 * mh-utils.el (mh-summary-height): In my quest to make mh-e more
11341 useful out-of-the-box for new users, set mh-summary-height to a
11342 minimum of 4 and a maximum of 10 depending on frame height. I
11343 typically have 70 lines in my Emacs frame, so having a default of
11344 4 was silly for my case.
11345 * mh-e.el (mh-update-sequences): Check for nil value of
11346 mh-current-folder, which happens if mh-summary-height < 4
11347 although I haven't tracked doen why that happens.
11348
113492001-10-22 Peter S Galbraith <psg@debian.org>
11350
11351 * mh-comp.el (mh-insert-fields): Test for nil value when inserting
11352 field.
11353
113542001-10-20 Peter S Galbraith <psg@debian.org>
11355
11356 * mh-comp.el (mh-user-agent-compose): Merged-in from XEmacs-21.4 source
11357 * mh-comp.el (mh-letter-mode): Add easy-menu-add statement for XEmacs21
11358 * mh-pick.el (mh-pick-mode): Add easy-menu-add statement for XEmacs21.
11359 * mh-e.el (mh-folder-mode): Add easy-menu-add statements for XEmacs21.
11360 * mh-utils.el: defalias 'screen-height to 'frame-height for XEmacs21.
11361
113622001-10-19 Peter S Galbraith <psg@debian.org>
11363
11364 * mh-mime.el (mh-edit-mhn): Use mhbuild in nmh context.
11365 * mh-utils.el (mh-find-progs): The variable mh-nmh-p (t when nmh
11366 is in use rather than MH) was set assuming that the string "nmh"
11367 will be in mh-lib-progs or mh-lib. This failed on Debian systems.
11368 Better to check for the existence of mhbuild in directory mh-progs.
11369 (closes SF bug #441776)
11370
113712001-10-18 Peter S Galbraith <psg@debian.org>
11372
11373 * mh-e.el: Add menubar entry from contrib/mh-menubar.el
11374 * mh-comp.el: Add menubar entry from contrib/mh-menubar.el
11375 * mh-pick.el: Add menubar entry from contrib/mh-menubar.el
11376
113772001-07-30 Peter S Galbraith <psg@debian.org>
11378
11379 * mh-e.el: Change font-lock patterns for folders.
11380 Fontify scan.font-lock patterns (which will be documented)
11381 and fontify subject lines prefixed with "Re:" differently.
11382 * mh-comp.el (mh-letter-mode): Add font-lock support as in
11383 mh-show-mode.
11384
113852001-04-14 chad brown <y@mit.edu>
11386
11387 Rearrange the font-lock keywords a bit.
11388
113892001-04-12 chad brown <y@mit.edu>
11390
11391 Preliminary (somewhat boring) font-lock support for mh-e. More
11392 interesting font-lock support probably wants to have better
11393 support for multiple format files
11394
113952001-02-24 chad brown <y@mit.edu>
11396
11397 Add default nmh paths to mh-find-prog in mh-utils.el.
11398 change to mh-kill-folder in mh-funcs.el to make it more general.
11399
114002001-02-19 Bill Wohler <wohler@newt.com>
11401
11402 * Makefile (EMACS): Renamed to EMACS_HOME. Also, don't define if
11403 EMACS_HOME already exists to give developer a chance to set
11404 environment variable.
11405 (install): $MH-E-SRC is copied to $(EMACS_HOME)/lisp/mail, not
11406 $(EMACS_HOME)/src.
11407 (dist): Leave release in current directory.
11408
11409
11410 Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
11411
11412 Copying and distribution of this file, with or without modification,
11413 are permitted in any medium without royalty provided the copyright
11414 notice and this notice are preserved.
11415
11416;; arch-tag: 2577172b-b1bf-4d87-acfb-c9d8780e8851
diff --git a/lisp/mh-e/mh-alias.el b/lisp/mh-e/mh-alias.el
index ba429f24b9f..d72036fe25d 100644
--- a/lisp/mh-e/mh-alias.el
+++ b/lisp/mh-e/mh-alias.el
@@ -1,7 +1,7 @@
1;;; mh-alias.el --- MH-E mail alias completion and expansion 1;;; mh-alias.el --- MH-E mail alias completion and expansion
2;; 2;;
3;; Copyright (C) 1994, 1995, 1996, 1997, 3;; Copyright (C) 1994, 1995, 1996, 1997,
4;; 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 4;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
5 5
6;; Author: Peter S. Galbraith <psg@debian.org> 6;; Author: Peter S. Galbraith <psg@debian.org>
7;; Maintainer: Bill Wohler <wohler@newt.com> 7;; Maintainer: Bill Wohler <wohler@newt.com>
diff --git a/lisp/mh-e/mh-comp.el b/lisp/mh-e/mh-comp.el
index a99c05debea..7289207cfb2 100644
--- a/lisp/mh-e/mh-comp.el
+++ b/lisp/mh-e/mh-comp.el
@@ -1,7 +1,7 @@
1;;; mh-comp.el --- MH-E functions for composing messages 1;;; mh-comp.el --- MH-E functions for composing messages
2 2
3;; Copyright (C) 1993, 1995, 1997, 3;; Copyright (C) 1993, 1995, 1997,
4;; 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 4;; 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
5 5
6;; Author: Bill Wohler <wohler@newt.com> 6;; Author: Bill Wohler <wohler@newt.com>
7;; Maintainer: Bill Wohler <wohler@newt.com> 7;; Maintainer: Bill Wohler <wohler@newt.com>
@@ -979,11 +979,13 @@ When a message is composed, the hooks `text-mode-hook' and
979 (setq data-begin (match-end 0)) 979 (setq data-begin (match-end 0))
980 (setq field (match-string 1))) 980 (setq field (match-string 1)))
981 (setq data-begin (max point data-begin)) 981 (setq data-begin (max point data-begin))
982 (if (and field (mh-letter-skipped-header-field-p field))
983 (set-match-data nil)
984 (set-match-data (list data-begin data-end data-begin data-end)))
985 (goto-char (if (equal point data-end) (1+ data-end) data-end)) 982 (goto-char (if (equal point data-end) (1+ data-end) data-end))
986 t))) 983 (cond ((and field (mh-letter-skipped-header-field-p field))
984 (set-match-data nil)
985 nil)
986 (t (set-match-data
987 (list data-begin data-end data-begin data-end))
988 t)))))
987 989
988(defun mh-letter-header-end () 990(defun mh-letter-header-end ()
989 "Find the end of the message header. 991 "Find the end of the message header.
@@ -1243,8 +1245,12 @@ Return t if fields added; otherwise return nil."
1243 (value (cdar entry-list))) 1245 (value (cdar entry-list)))
1244 (cond 1246 (cond
1245 ((equal ":identity" field) 1247 ((equal ":identity" field)
1246 (when (and (not mh-identity-local) 1248 (when ;;(and (not mh-identity-local)
1247 (assoc value mh-identity-list)) 1249 ;; Bug 1204506. But do we need to be able
1250 ;; to set an identity manually that won't be
1251 ;; overridden by mh-insert-auto-fields?
1252 (assoc value mh-identity-list)
1253 ;;)
1248 (mh-insert-identity value))) 1254 (mh-insert-identity value)))
1249 (t 1255 (t
1250 (mh-modify-header-field field value 1256 (mh-modify-header-field field value
@@ -1424,10 +1430,10 @@ not indent and do not delete headers. Leaves the mark before the letter
1424and point after it." 1430and point after it."
1425 (interactive 1431 (interactive
1426 (list (mh-prompt-for-folder "Message from" mh-sent-from-folder nil) 1432 (list (mh-prompt-for-folder "Message from" mh-sent-from-folder nil)
1427 (read-input (concat "Message number" 1433 (read-string (concat "Message number"
1428 (if (numberp mh-sent-from-msg) 1434 (if (numberp mh-sent-from-msg)
1429 (format " (default %d): " mh-sent-from-msg) 1435 (format " (default %d): " mh-sent-from-msg)
1430 ": "))) 1436 ": ")))
1431 current-prefix-arg)) 1437 current-prefix-arg))
1432 (save-restriction 1438 (save-restriction
1433 (narrow-to-region (point) (point)) 1439 (narrow-to-region (point) (point))
diff --git a/lisp/mh-e/mh-customize.el b/lisp/mh-e/mh-customize.el
index 7fbb1c247b4..4dcf0ad1be8 100644
--- a/lisp/mh-e/mh-customize.el
+++ b/lisp/mh-e/mh-customize.el
@@ -88,15 +88,16 @@
88If optional argument DELETE-OTHER-WINDOWS-FLAG is non-nil, other windows in 88If optional argument DELETE-OTHER-WINDOWS-FLAG is non-nil, other windows in
89the frame are removed." 89the frame are removed."
90 (interactive "P") 90 (interactive "P")
91 (customize-group 'mh) 91 (customize-group 'mh-e)
92 (when delete-other-windows-flag 92 (when delete-other-windows-flag
93 (delete-other-windows))) 93 (delete-other-windows)))
94 94
95 95
96 96
97;;; For compiler warnings... 97;;; For compiler warnings...
98(defvar mh-show-buffer) 98(eval-when-compile
99(defvar mh-show-folder-buffer) 99 (defvar mh-show-buffer)
100 (defvar mh-show-folder-buffer))
100 101
101;;; MH-E Customization Groups 102;;; MH-E Customization Groups
102 103
@@ -301,8 +302,8 @@ aliases or addresses. The default setting flashes the address associated with
301an address in the minibuffer briefly, but does not display a warning if the 302an address in the minibuffer briefly, but does not display a warning if the
302alias is not found." 303alias is not found."
303 :type '(choice (const :tag "Flash but Don't Warn If No Alias" t) 304 :type '(choice (const :tag "Flash but Don't Warn If No Alias" t)
304 (const :tag "Flash and Warn If No Alias" 1) 305 (const :tag "Flash and Warn If No Alias" 1)
305 (const :tag "Don't Flash Nor Warn If No Alias" nil)) 306 (const :tag "Don't Flash Nor Warn If No Alias" nil))
306 :group 'mh-alias) 307 :group 'mh-alias)
307 308
308(defcustom mh-alias-insert-file nil 309(defcustom mh-alias-insert-file nil
@@ -1214,6 +1215,7 @@ The gnus method uses a different color for each indentation."
1214 "Prev-Resent" ; MH 1215 "Prev-Resent" ; MH
1215 "Priority:" 1216 "Priority:"
1216 "Received:" ; RFC 822 1217 "Received:" ; RFC 822
1218 "Received-SPF:" ; Gmail
1217 "References:" 1219 "References:"
1218 "Remailed-" ; MH 1220 "Remailed-" ; MH
1219 "Replied:" ; MH 1221 "Replied:" ; MH
@@ -1246,10 +1248,11 @@ The gnus method uses a different color for each indentation."
1246 "X-Envelope-From:" 1248 "X-Envelope-From:"
1247 "X-Envelope-Sender:" 1249 "X-Envelope-Sender:"
1248 "X-Envelope-To:" 1250 "X-Envelope-To:"
1249 "X-Evolution:" ; Evolution mail client 1251 "X-Evolution:" ; Evolution mail client
1250 "X-Face:" 1252 "X-Face:"
1251 "X-Folder:" ; Spam 1253 "X-Folder:" ; Spam
1252 "X-From-Line" 1254 "X-From-Line"
1255 "X-Gmail-" ; Gmail
1253 "X-Gnus-Mail-Source:" ; gnus 1256 "X-Gnus-Mail-Source:" ; gnus
1254 "X-Greylist:" ; milter-greylist-1.2.1 1257 "X-Greylist:" ; milter-greylist-1.2.1
1255 "X-Habeas-SWE-1:" ; Spam 1258 "X-Habeas-SWE-1:" ; Spam
@@ -1274,7 +1277,7 @@ The gnus method uses a different color for each indentation."
1274 "X-MIME-Autoconverted:" ; sendmail 1277 "X-MIME-Autoconverted:" ; sendmail
1275 "X-MIMETrack:" 1278 "X-MIMETrack:"
1276 "X-Mms-" ; T-Mobile pictures 1279 "X-Mms-" ; T-Mobile pictures
1277 "X-MS-" ; MS Outlook 1280 "X-MS-" ; MS Outlook
1278 "X-MailScanner" ; ListProc(tm) by CREN 1281 "X-MailScanner" ; ListProc(tm) by CREN
1279 "X-Mailing-List:" ; Unknown mailing list managers 1282 "X-Mailing-List:" ; Unknown mailing list managers
1280 "X-Mailman-Version:" ; Mailman mailing list manager 1283 "X-Mailman-Version:" ; Mailman mailing list manager
@@ -1894,6 +1897,7 @@ where,
1894 for y in letter-docs 1897 for y in letter-docs
1895 collect `(const :tag ,y ,x))))))) 1898 collect `(const :tag ,y ,x)))))))
1896 1899
1900(mh-image-load-path)
1897(mh-tool-bar-define 1901(mh-tool-bar-define
1898 ((:folder mh-inc-folder mh-mime-save-parts mh-previous-undeleted-msg 1902 ((:folder mh-inc-folder mh-mime-save-parts mh-previous-undeleted-msg
1899 mh-page-msg mh-next-undeleted-msg mh-delete-msg mh-refile-msg 1903 mh-page-msg mh-next-undeleted-msg mh-delete-msg mh-refile-msg
diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el
index c0f47537c97..516412c68c2 100644
--- a/lisp/mh-e/mh-e.el
+++ b/lisp/mh-e/mh-e.el
@@ -6,7 +6,7 @@
6 6
7;; Author: Bill Wohler <wohler@newt.com> 7;; Author: Bill Wohler <wohler@newt.com>
8;; Maintainer: Bill Wohler <wohler@newt.com> 8;; Maintainer: Bill Wohler <wohler@newt.com>
9;; Version: 7.84 9;; Version: 7.84+cvs
10;; Keywords: mail 10;; Keywords: mail
11 11
12;; This file is part of GNU Emacs. 12;; This file is part of GNU Emacs.
@@ -98,7 +98,7 @@
98(defvar font-lock-auto-fontify) 98(defvar font-lock-auto-fontify)
99(defvar font-lock-defaults) 99(defvar font-lock-defaults)
100 100
101(defconst mh-version "7.84" "Version number of MH-E.") 101(defconst mh-version "7.84+cvs" "Version number of MH-E.")
102 102
103(defvar mh-partial-folder-mode-line-annotation "select" 103(defvar mh-partial-folder-mode-line-annotation "select"
104 "Annotation when displaying part of a folder. 104 "Annotation when displaying part of a folder.
@@ -778,7 +778,7 @@ bottom of the current message."
778 (if (mh-in-show-buffer (mh-show-buffer) 778 (if (mh-in-show-buffer (mh-show-buffer)
779 (pos-visible-in-window-p (point-max))) 779 (pos-visible-in-window-p (point-max)))
780 (progn 780 (progn
781 (message 781 (message
782 "End of message (Type %s to read %s undeleted message)" 782 "End of message (Type %s to read %s undeleted message)"
783 (single-key-description last-input-event) 783 (single-key-description last-input-event)
784 (if (equal mh-next-direction 'backward) 784 (if (equal mh-next-direction 'backward)
@@ -1667,8 +1667,10 @@ DESKTOP-BUFFER-MISC holds a list of miscellaneous info used by the
1667 (mh-visit-folder desktop-buffer-name) 1667 (mh-visit-folder desktop-buffer-name)
1668 (current-buffer)) 1668 (current-buffer))
1669 1669
1670(add-to-list 'desktop-buffer-mode-handlers 1670;;; desktop-buffer-mode-handlers appeared in Emacs 22.
1671 '(mh-folder-mode . mh-restore-desktop-buffer)) 1671(if (fboundp 'desktop-buffer-mode-handlers)
1672 (add-to-list 'desktop-buffer-mode-handlers
1673 '(mh-folder-mode . mh-restore-desktop-buffer)))
1672 1674
1673(defun mh-scan-folder (folder range &optional dont-exec-pending) 1675(defun mh-scan-folder (folder range &optional dont-exec-pending)
1674 "Scan the FOLDER over the RANGE. 1676 "Scan the FOLDER over the RANGE.
diff --git a/lisp/mh-e/mh-funcs.el b/lisp/mh-e/mh-funcs.el
index 717d0b27aef..6ce1da8fe90 100644
--- a/lisp/mh-e/mh-funcs.el
+++ b/lisp/mh-e/mh-funcs.el
@@ -1,7 +1,7 @@
1;;; mh-funcs.el --- MH-E functions not everyone will use right away 1;;; mh-funcs.el --- MH-E functions not everyone will use right away
2 2
3;; Copyright (C) 1993, 1995, 3;; Copyright (C) 1993, 1995,
4;; 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 4;; 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
5 5
6;; Author: Bill Wohler <wohler@newt.com> 6;; Author: Bill Wohler <wohler@newt.com>
7;; Maintainer: Bill Wohler <wohler@newt.com> 7;; Maintainer: Bill Wohler <wohler@newt.com>
diff --git a/lisp/mh-e/mh-identity.el b/lisp/mh-e/mh-identity.el
index c7b796c6775..1d848344897 100644
--- a/lisp/mh-e/mh-identity.el
+++ b/lisp/mh-e/mh-identity.el
@@ -1,6 +1,6 @@
1;;; mh-identity.el --- Multiple identify support for MH-E. 1;;; mh-identity.el --- Multiple identify support for MH-E.
2 2
3;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
4 4
5;; Author: Peter S. Galbraith <psg@debian.org> 5;; Author: Peter S. Galbraith <psg@debian.org>
6;; Maintainer: Bill Wohler <wohler@newt.com> 6;; Maintainer: Bill Wohler <wohler@newt.com>
diff --git a/lisp/mh-e/mh-init.el b/lisp/mh-e/mh-init.el
index 23fe0d88b7b..7efbfd003d5 100644
--- a/lisp/mh-e/mh-init.el
+++ b/lisp/mh-e/mh-init.el
@@ -41,6 +41,9 @@
41(mh-require-cl) 41(mh-require-cl)
42(require 'mh-utils) 42(require 'mh-utils)
43 43
44;;; Avoid compiler warnings.
45(eval-when-compile (defvar image-load-path))
46
44;;; Set for local environment: 47;;; Set for local environment:
45;;; mh-progs and mh-lib used to be set in paths.el, which tried to 48;;; mh-progs and mh-lib used to be set in paths.el, which tried to
46;;; figure out at build time which of several possible directories MH 49;;; figure out at build time which of several possible directories MH
@@ -170,7 +173,7 @@ directories to the customizable variable `mh-path'.")
170 "*List of directories to search for variants of the MH variant. 173 "*List of directories to search for variants of the MH variant.
171The directories will be searched for `mhparam' in addition to directories 174The directories will be searched for `mhparam' in addition to directories
172listed in `mh-sys-path' and `exec-path'." 175listed in `mh-sys-path' and `exec-path'."
173 :group 'mh 176 :group 'mh-e
174 :type '(repeat (directory))) 177 :type '(repeat (directory)))
175 178
176(defvar mh-variants nil 179(defvar mh-variants nil
@@ -297,6 +300,51 @@ by the variable `mh-variants'."
297 (add-to-list 'mh-variants variant))))) 300 (add-to-list 'mh-variants variant)))))
298 mh-variants))) 301 mh-variants)))
299 302
303;;; XXX The two calls to message in this function should really be calls to
304;;; error. However, when this function is compiled via the top-level call in
305;;; mh-customize.el, it is actually called, and in a compile environment, the
306;;; errors are triggered which botches the compile. As a workaround, the calls
307;;; to error have been changed to calls to message, and code following was
308;;; inserted as an else clause. This is not robust, so if you can fix this,
309;;; please do!
310;;;###mh-autoload
311(defun mh-image-load-path ()
312 "Ensure that the MH-E images are accessible by `find-image'.
313Images for MH-E are found in ../../etc/images relative to the files in
314`lisp/mh-e'. If `image-load-path' exists (since Emacs 22), then the images
315directory is added to it if isn't already there. Otherwise, the images
316directory is added to the `load-path' if it isn't already there."
317 (let (mh-load-path mh-image-load-path)
318 ;; First, find mh-e in the load-path.
319 (let ((path load-path))
320 (while path
321 (let* ((directory (directory-file-name (car path))))
322 (setq mh-load-path
323 (if (and (equal (file-name-nondirectory directory) "mh-e")
324 (file-exists-p directory))
325 directory
326 nil))
327 (setq path (if mh-load-path nil (cdr path)))))
328 (if (not mh-load-path)
329 ;; This message be error; there shouldn't be an else. Blame compiler.
330 (message "Can not find mh-e in load-path (OK when compiling)")
331 ;; Create the image path associated with this mh-e directory.
332 (setq mh-image-load-path (expand-file-name
333 (concat (file-name-directory mh-load-path)
334 "../etc/images")))))
335 (if (or (not mh-image-load-path)
336 (not (file-exists-p mh-image-load-path)))
337 ;; This message be error; there shouldn't be an else. Blame compiler.
338 (message "Can not find image directory %s (OK when compiling)"
339 mh-image-load-path)
340 ;; If image-load-path exists, and the image path isn't there add it.
341 (if (boundp 'image-load-path)
342 (if (not (member mh-image-load-path image-load-path))
343 (push mh-image-load-path image-load-path))
344 ;; Otherwise, if the image path isn't in the load-path, add it there.
345 (if (not (member mh-image-load-path load-path))
346 (push mh-image-load-path load-path))))))
347
300(provide 'mh-init) 348(provide 'mh-init)
301 349
302;;; Local Variables: 350;;; Local Variables:
diff --git a/lisp/mh-e/mh-junk.el b/lisp/mh-e/mh-junk.el
index b78d85410c7..09814a4cd5a 100644
--- a/lisp/mh-e/mh-junk.el
+++ b/lisp/mh-e/mh-junk.el
@@ -1,6 +1,6 @@
1;;; mh-junk.el --- Interface to anti-spam measures 1;;; mh-junk.el --- Interface to anti-spam measures
2 2
3;; Copyright (C) 2003, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
4 4
5;; Author: Satyaki Das <satyaki@theforce.stanford.edu>, 5;; Author: Satyaki Das <satyaki@theforce.stanford.edu>,
6;; Bill Wohler <wohler@newt.com> 6;; Bill Wohler <wohler@newt.com>
diff --git a/lisp/mh-e/mh-mime.el b/lisp/mh-e/mh-mime.el
index 527d322c48a..fb7bace7ead 100644
--- a/lisp/mh-e/mh-mime.el
+++ b/lisp/mh-e/mh-mime.el
@@ -1,7 +1,7 @@
1;;; mh-mime.el --- MH-E support for composing MIME messages 1;;; mh-mime.el --- MH-E support for composing MIME messages
2 2
3;; Copyright (C) 1993, 1995, 3;; Copyright (C) 1993, 1995,
4;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 4;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
5 5
6;; Author: Bill Wohler <wohler@newt.com> 6;; Author: Bill Wohler <wohler@newt.com>
7;; Maintainer: Bill Wohler <wohler@newt.com> 7;; Maintainer: Bill Wohler <wohler@newt.com>
@@ -69,25 +69,45 @@ Optional argument INLINE means make it an inline attachment."
69 (call-interactively 'mh-mhn-compose-insertion))) 69 (call-interactively 'mh-mhn-compose-insertion)))
70 70
71;;;###mh-autoload 71;;;###mh-autoload
72(defun mh-compose-forward (&optional description folder message) 72(defun mh-compose-forward (&optional description folder messages)
73 "Add a MIME directive to forward a message, using mhn or gnus. 73 "Add a MIME directive to forward a message, using mhn or gnus.
74If the variable `mh-compose-insertion' is set to 'mhn, then that will be used. 74If the variable `mh-compose-insertion' is set to 'mhn, then that will be used.
75If it is set to 'gnus, then that will be used instead. 75If it is set to 'gnus, then that will be used instead.
76Optional argument DESCRIPTION is a description of the attachment. 76Optional argument DESCRIPTION is a description of the attachment.
77Optional argument FOLDER is the folder from which the forwarded message should 77Optional argument FOLDER is the folder from which the forwarded message should
78come. 78come.
79Optional argument MESSAGE is the message to forward. 79Optional argument MESSAGES is the range of messages to forward.
80If any of the optional arguments are absent, they are prompted for." 80If any of the optional arguments are absent, they are prompted for."
81 (interactive (list 81 (interactive (let*
82 (read-string "Forw Content-description: ") 82 ((description (read-string "Forw Content-description: "))
83 (mh-prompt-for-folder "Message from" mh-sent-from-folder nil) 83 (folder (mh-prompt-for-folder "Message from"
84 (read-string (concat "Messages" 84 mh-sent-from-folder nil))
85 (if (numberp mh-sent-from-msg) 85 (messages (let ((default-message
86 (format " (default %d): " mh-sent-from-msg) 86 (if (and (equal
87 ": "))))) 87 folder mh-sent-from-folder)
88 (if (equal mh-compose-insertion 'gnus) 88 (numberp mh-sent-from-msg))
89 (mh-mml-forward-message description folder message) 89 mh-sent-from-msg
90 (mh-mhn-compose-forw description folder message))) 90 (nth 0 (mh-translate-range
91 folder "cur")))))
92 (if default-message
93 (read-string
94 (format "Messages (default %d): "
95 default-message)
96 nil nil
97 (number-to-string default-message))
98 (read-string (format "Messages: "))))))
99 (list description folder messages)))
100 (let
101 ((range))
102 (if (null messages)
103 (setq messages ""))
104 (setq range (mh-translate-range folder messages))
105 (if (null range)
106 (error "No messages in specified range"))
107 (dolist (message range)
108 (if (equal mh-compose-insertion 'gnus)
109 (mh-mml-forward-message description folder (format "%s" message))
110 (mh-mhn-compose-forw description folder message)))))
91 111
92;; To do: 112;; To do:
93;; paragraph code should not fill # lines if MIME enabled. 113;; paragraph code should not fill # lines if MIME enabled.
diff --git a/lisp/mh-e/mh-pick.el b/lisp/mh-e/mh-pick.el
index c0b9360cfae..eb825fe462f 100644
--- a/lisp/mh-e/mh-pick.el
+++ b/lisp/mh-e/mh-pick.el
@@ -1,7 +1,7 @@
1;;; mh-pick.el --- make a search pattern and search for a message in MH-E 1;;; mh-pick.el --- make a search pattern and search for a message in MH-E
2 2
3;; Copyright (C) 1993, 1995, 3;; Copyright (C) 1993, 1995,
4;; 2001, 2003, 2004, 2005 Free Software Foundation, Inc. 4;; 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
5 5
6;; Author: Bill Wohler <wohler@newt.com> 6;; Author: Bill Wohler <wohler@newt.com>
7;; Maintainer: Bill Wohler <wohler@newt.com> 7;; Maintainer: Bill Wohler <wohler@newt.com>
diff --git a/lisp/mh-e/mh-print.el b/lisp/mh-e/mh-print.el
index 41d6a1a0020..9a1723f0b12 100644
--- a/lisp/mh-e/mh-print.el
+++ b/lisp/mh-e/mh-print.el
@@ -1,6 +1,6 @@
1;;; mh-print.el --- MH-E printing support 1;;; mh-print.el --- MH-E printing support
2 2
3;; Copyright (C) 2003, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
4 4
5;; Author: Jeffrey C Honig <jch@honig.net> 5;; Author: Jeffrey C Honig <jch@honig.net>
6;; Maintainer: Bill Wohler <wohler@newt.com> 6;; Maintainer: Bill Wohler <wohler@newt.com>
diff --git a/lisp/mh-e/mh-seq.el b/lisp/mh-e/mh-seq.el
index 51847c2d59d..efbfe0d221f 100644
--- a/lisp/mh-e/mh-seq.el
+++ b/lisp/mh-e/mh-seq.el
@@ -1,7 +1,7 @@
1;;; mh-seq.el --- MH-E sequences support 1;;; mh-seq.el --- MH-E sequences support
2 2
3;; Copyright (C) 1993, 1995, 3;; Copyright (C) 1993, 1995,
4;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 4;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
5 5
6;; Author: Bill Wohler <wohler@newt.com> 6;; Author: Bill Wohler <wohler@newt.com>
7;; Maintainer: Bill Wohler <wohler@newt.com> 7;; Maintainer: Bill Wohler <wohler@newt.com>
@@ -224,6 +224,8 @@ appears."
224;; Avoid compiler warning 224;; Avoid compiler warning
225(defvar tool-bar-map) 225(defvar tool-bar-map)
226 226
227(make-variable-buffer-local 'mh-non-seq-mode-line-annotation)
228
227;;;###mh-autoload 229;;;###mh-autoload
228(defun mh-narrow-to-seq (sequence) 230(defun mh-narrow-to-seq (sequence)
229 "Restrict display of this folder to just messages in SEQUENCE. 231 "Restrict display of this folder to just messages in SEQUENCE.
@@ -243,7 +245,6 @@ Use \\<mh-folder-mode-map>\\[mh-widen] to undo this command."
243 (mh-notate-deleted-and-refiled) 245 (mh-notate-deleted-and-refiled)
244 (mh-notate-cur) 246 (mh-notate-cur)
245 (when msg-at-cursor (mh-goto-msg msg-at-cursor t t)) 247 (when msg-at-cursor (mh-goto-msg msg-at-cursor t t))
246 (make-variable-buffer-local 'mh-non-seq-mode-line-annotation)
247 (setq mh-non-seq-mode-line-annotation mh-mode-line-annotation) 248 (setq mh-non-seq-mode-line-annotation mh-mode-line-annotation)
248 (setq mh-mode-line-annotation (symbol-name sequence)) 249 (setq mh-mode-line-annotation (symbol-name sequence))
249 (mh-make-folder-mode-line) 250 (mh-make-folder-mode-line)
diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el
index 0e608e52062..b589b63b597 100644
--- a/lisp/mh-e/mh-utils.el
+++ b/lisp/mh-e/mh-utils.el
@@ -1,7 +1,7 @@
1;;; mh-utils.el --- MH-E code needed for both sending and reading 1;;; mh-utils.el --- MH-E code needed for both sending and reading
2 2
3;; Copyright (C) 1993, 1995, 1997, 3;; Copyright (C) 1993, 1995, 1997,
4;; 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 4;; 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
5 5
6;; Author: Bill Wohler <wohler@newt.com> 6;; Author: Bill Wohler <wohler@newt.com>
7;; Maintainer: Bill Wohler <wohler@newt.com> 7;; Maintainer: Bill Wohler <wohler@newt.com>
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 5390abacb5c..294396a0029 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -958,12 +958,14 @@ at the same position."
958 (mouse-move-drag-overlay mouse-drag-overlay start-point end-point click-count)) 958 (mouse-move-drag-overlay mouse-drag-overlay start-point end-point click-count))
959 959
960 (if (consp event) 960 (if (consp event)
961 (let ((fun (key-binding (vector (car event))))) 961 (let* ((fun (key-binding (vector (car event))))
962 (do-multi-click (and (> (event-click-count event) 0)
963 (functionp fun)
964 (not (eq fun 'mouse-set-point)))))
962 ;; Run the binding of the terminating up-event, if possible. 965 ;; Run the binding of the terminating up-event, if possible.
963 ;; In the case of a multiple click, it gives the wrong results, 966 (if (and (not (= (overlay-start mouse-drag-overlay)
964 ;; because it would fail to set up a region. 967 (overlay-end mouse-drag-overlay)))
965 (if (not (= (overlay-start mouse-drag-overlay) 968 (not do-multi-click))
966 (overlay-end mouse-drag-overlay)))
967 (let* ((stop-point 969 (let* ((stop-point
968 (if (numberp (posn-point (event-end event))) 970 (if (numberp (posn-point (event-end event)))
969 (posn-point (event-end event)) 971 (posn-point (event-end event))
@@ -996,8 +998,12 @@ at the same position."
996 (and (mark t) mark-active 998 (and (mark t) mark-active
997 (eq buffer (current-buffer)) 999 (eq buffer (current-buffer))
998 (mouse-set-region-1)))) 1000 (mouse-set-region-1))))
999 (delete-overlay mouse-drag-overlay)
1000 ;; Run the binding of the terminating up-event. 1001 ;; Run the binding of the terminating up-event.
1002 ;; If a multiple click is not bound to mouse-set-point,
1003 ;; cancel the effects of mouse-move-drag-overlay to
1004 ;; avoid producing wrong results.
1005 (if do-multi-click (goto-char start-point))
1006 (delete-overlay mouse-drag-overlay)
1001 (when (and (functionp fun) 1007 (when (and (functionp fun)
1002 (= start-hscroll (window-hscroll start-window)) 1008 (= start-hscroll (window-hscroll start-window))
1003 ;; Don't run the up-event handler if the 1009 ;; Don't run the up-event handler if the
@@ -1026,10 +1032,7 @@ at the same position."
1026 (and (integerp t0) (integerp t1) 1032 (and (integerp t0) (integerp t1)
1027 (if (> mouse-1-click-follows-link 0) 1033 (if (> mouse-1-click-follows-link 0)
1028 (<= (- t1 t0) mouse-1-click-follows-link) 1034 (<= (- t1 t0) mouse-1-click-follows-link)
1029 (< (- t0 t1) mouse-1-click-follows-link))))) 1035 (< (- t0 t1) mouse-1-click-follows-link))))))))
1030 (or (not double-click-time)
1031 (sit-for 0 (if (integerp double-click-time)
1032 double-click-time 500) t)))))
1033 (if (or (vectorp on-link) (stringp on-link)) 1036 (if (or (vectorp on-link) (stringp on-link))
1034 (setq event (aref on-link 0)) 1037 (setq event (aref on-link 0))
1035 (setcar event 'mouse-2))) 1038 (setcar event 'mouse-2)))
diff --git a/lisp/net/newsticker.el b/lisp/net/newsticker.el
index f1ee41563f3..42d9bfc9717 100644
--- a/lisp/net/newsticker.el
+++ b/lisp/net/newsticker.el
@@ -1,4 +1,4 @@
1;;; newsticker.el --- A Newsticker for Emacs. 1;;; newsticker.el --- A news-ticker for Emacs.
2 2
3;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
4 4
@@ -9,11 +9,6 @@
9;; URL: http://www.nongnu.org/newsticker 9;; URL: http://www.nongnu.org/newsticker
10;; Created: 17. June 2003 10;; Created: 17. June 2003
11;; Keywords: News, RSS 11;; Keywords: News, RSS
12;; Time-stamp: "26. August 2005, 16:33:46 (ulf)"
13
14(defconst newsticker-version "1.8" "Version number of newsticker.el.")
15
16;; ======================================================================
17 12
18;; This program is free software; you can redistribute it and/or modify 13;; This program is free software; you can redistribute it and/or modify
19;; it under the terms of the GNU General Public License as published by 14;; it under the terms of the GNU General Public License as published by
@@ -29,7 +24,10 @@
29;; along with this program; if not, write to the Free Software Foundation, 24;; along with this program; if not, write to the Free Software Foundation,
30;; Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 25;; Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
31 26
27(defconst newsticker-version "1.8" "Version number of newsticker.el.")
28
32;; ====================================================================== 29;; ======================================================================
30
33;;; Commentary: 31;;; Commentary:
34 32
35;; Overview 33;; Overview
@@ -62,8 +60,8 @@
62 60
63;; Requirements 61;; Requirements
64;; ------------ 62;; ------------
65;; Newsticker can be used with GNU Emacs version 21.1 or later as well as 63;; Newsticker can be used with Emacs version 21.1 or later as well as
66;; XEmacs. It requires an XML-parser (`xml.el') which is part of GNU 64;; XEmacs. It requires an XML-parser (`xml.el') which is part of
67;; Emacs. If you are using XEmacs you want to get the `net-utils' package 65;; Emacs. If you are using XEmacs you want to get the `net-utils' package
68;; which contains `xml.el' for XEmacs. 66;; which contains `xml.el' for XEmacs.
69 67
@@ -71,21 +69,6 @@
71;; prints them to stdout. By default Newsticker will use wget for this 69;; prints them to stdout. By default Newsticker will use wget for this
72;; task. 70;; task.
73 71
74;; Installation
75;; ------------
76;; Place Newsticker in a directory where Emacs can find it. Add the
77;; following line to your Emacs startup file (`~/.emacs').
78;; (add-to-list 'load-path "/path/to/newsticker/")
79;; (autoload 'newsticker-start "newsticker" "Emacs Newsticker" t)
80;; (autoload 'newsticker-show-news "newsticker" "Emacs Newsticker" t)
81
82;; Newsticker-mode supports imenu. It allows for navigating with the help
83;; of a menu. In order to use this feature you should also add the
84;; following.
85;; (add-hook 'newsticker-mode-hook 'imenu-add-menubar-index)
86
87;; That's it.
88
89;; Usage 72;; Usage
90;; ----- 73;; -----
91;; The command newsticker-show-news will display all available headlines in 74;; The command newsticker-show-news will display all available headlines in
@@ -151,7 +134,10 @@
151;; such a tool from slightly attenuating your Editor's responsiveness every 134;; such a tool from slightly attenuating your Editor's responsiveness every
152;; once in a while. 135;; once in a while.
153 136
154;; Byte-compiling newsticker.el is recommended. 137;; Newsticker-mode supports imenu. It allows for navigating with the help
138;; of a menu. In order to use this feature you should also add the
139;; following.
140;; (add-hook 'newsticker-mode-hook 'imenu-add-menubar-index)
155 141
156;; ====================================================================== 142;; ======================================================================
157;;; History: 143;;; History:
@@ -204,7 +190,7 @@
204;; for sending patch. 190;; for sending patch.
205;; * Renamed invisible buffers ` *wget-newsticker-<feed>*' to 191;; * Renamed invisible buffers ` *wget-newsticker-<feed>*' to
206;; ` *newsticker-wget-<feed>*'. 192;; ` *newsticker-wget-<feed>*'.
207;; * Tested with GNU Emacs versions 21.3 and 22.0 and XEmacs 21.something. 193;; * Tested with Emacs versions 21.3 and 22.0 and XEmacs 21.something.
208 194
209;; 1.6 * Support for (some) optional RSS elements: guid, dc:date. See 195;; 1.6 * Support for (some) optional RSS elements: guid, dc:date. See
210;; `newsticker-show-all-rss-elements' `newsticker-extra-face'. 196;; `newsticker-show-all-rss-elements' `newsticker-extra-face'.
@@ -2307,6 +2293,7 @@ static char * visit_xpm[] = {
2307;;; User fun 2293;;; User fun
2308;; ====================================================================== 2294;; ======================================================================
2309 2295
2296;;;###autoload
2310(defun newsticker-start (&optional do-not-complain-if-running) 2297(defun newsticker-start (&optional do-not-complain-if-running)
2311 "Start the newsticker. 2298 "Start the newsticker.
2312Start the timers for display and retrieval. If the newsticker, i.e. the 2299Start the timers for display and retrieval. If the newsticker, i.e. the
@@ -2395,6 +2382,7 @@ if newsticker has been running."
2395 (setq newsticker--display-timer nil))) 2382 (setq newsticker--display-timer nil)))
2396 2383
2397;; the functions we need for retrieval and display 2384;; the functions we need for retrieval and display
2385;;;###autoload
2398(defun newsticker-show-news () 2386(defun newsticker-show-news ()
2399 "Switch to newsticker buffer. You may want to bind this to a key." 2387 "Switch to newsticker buffer. You may want to bind this to a key."
2400 (interactive) 2388 (interactive)
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 17b91d92818..6df8a5dab42 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -844,7 +844,7 @@ which should work well in many cases."
844 :type 'regexp) 844 :type 'regexp)
845 845
846(defcustom tramp-password-prompt-regexp 846(defcustom tramp-password-prompt-regexp
847 "^.*\\([pP]assword\\|passphrase.*\\):\^@? *" 847 "^.*\\([pP]assword\\|passphrase\\).*:\^@? *"
848 "*Regexp matching password-like prompts. 848 "*Regexp matching password-like prompts.
849The regexp should match at end of buffer. 849The regexp should match at end of buffer.
850 850
@@ -1364,26 +1364,53 @@ implementation. The necessity, whether this variable must be set, can be
1364checked via the following code: 1364checked via the following code:
1365 1365
1366 (with-temp-buffer 1366 (with-temp-buffer
1367 (let ((bytes 1000) 1367 (let* ((user \"xxx\") (host \"yyy\")
1368 (proc (start-process (buffer-name) (current-buffer) \"wc\" \"-c\"))) 1368 (init 0) (step 50)
1369 (process-send-string proc (make-string bytes ?x)) 1369 (sent init) (received init))
1370 (process-send-eof proc) 1370 (while (= sent received)
1371 (process-send-eof proc) 1371 (setq sent (+ sent step))
1372 (accept-process-output proc 1) 1372 (erase-buffer)
1373 (goto-char (point-min)) 1373 (let ((proc (start-process (buffer-name) (current-buffer)
1374 (re-search-forward \"\\\\w+\") 1374 \"ssh\" \"-l\" user host \"wc\" \"-c\")))
1375 (message \"Bytes sent: %s\\tBytes received: %s\" bytes (match-string 0)))) 1375 (when (memq (process-status proc) '(run open))
1376 1376 (process-send-string proc (make-string sent ?\\ ))
1377In the Emacs normally running Tramp, evaluate the above code. 1377 (process-send-eof proc)
1378You can do this, for example, by pasting it into the `*scratch*' 1378 (process-send-eof proc))
1379buffer and then hitting C-j with the cursor after the last 1379 (while (not (progn (goto-char (point-min))
1380closing parenthesis. 1380 (re-search-forward \"\\\\w+\" (point-max) t)))
1381 1381 (accept-process-output proc 1))
1382If your Emacs is buggy, the sent and received numbers will be 1382 (when (memq (process-status proc) '(run open))
1383different. In that case, you'll want to set this variable to 1383 (setq received (string-to-number (match-string 0)))
1384some number. For those people who have needed it, the value 500 1384 (delete-process proc)
1385seems to have worked well. There is no way to predict what value 1385 (message \"Bytes sent: %s\\tBytes received: %s\" sent received)
1386you need; maybe you could just experiment a bit. 1386 (sit-for 0))))
1387 (if (> sent (+ init step))
1388 (message \"You should set `tramp-chunksize' to a maximum of %s\"
1389 (- sent step))
1390 (message \"Test does not work\")
1391 (display-buffer (current-buffer))
1392 (sit-for 30))))
1393
1394In the Emacs normally running Tramp, evaluate the above code
1395(replace \"xxx\" and \"yyy\" by the remote user and host name,
1396respectively). You can do this, for example, by pasting it into
1397the `*scratch*' buffer and then hitting C-j with the cursor after the
1398last closing parenthesis. Note that it works only if you have configured
1399\"ssh\" to run without password query, see ssh-agent(1).
1400
1401You will see the number of bytes sent successfully to the remote host.
1402If that number exceeds 1000, you can stop the execution by hitting
1403C-g, because your Emacs is likely clean.
1404
1405If your Emacs is buggy, the code stops and gives you an indication
1406about the value `tramp-chunksize' should be set. Maybe you could just
1407experiment a bit, e.g. changing the values of `init' and `step'
1408in the third line of the code.
1409
1410When it is necessary to set `tramp-chunksize', you might consider to
1411use an out-of-the-band method (like \"scp\") instead of an internal one
1412(like \"ssh\"), because setting `tramp-chunksize' to non-nil decreases
1413performance.
1387 1414
1388Please raise a bug report via \"M-x tramp-bug\" if your system needs 1415Please raise a bug report via \"M-x tramp-bug\" if your system needs
1389this variable to be set as well." 1416this variable to be set as well."
@@ -1590,8 +1617,8 @@ printf(
1590on the remote file system.") 1617on the remote file system.")
1591 1618
1592(defconst tramp-perl-directory-files-and-attributes "\ 1619(defconst tramp-perl-directory-files-and-attributes "\
1593chdir($ARGV[0]); 1620chdir($ARGV[0]) or printf(\"\\\"Cannot change to $ARGV[0]: $''!''\\\"\\n\"), exit();
1594opendir(DIR,\".\"); 1621opendir(DIR,\".\") or printf(\"\\\"Cannot open directory $ARGV[0]: $''!''\\\"\\n\"), exit();
1595@list = readdir(DIR); 1622@list = readdir(DIR);
1596closedir(DIR); 1623closedir(DIR);
1597$n = scalar(@list); 1624$n = scalar(@list);
@@ -2371,11 +2398,14 @@ target of the symlink differ."
2371 (buffer-name))) 2398 (buffer-name)))
2372 (if time-list 2399 (if time-list
2373 (tramp-run-real-handler 'set-visited-file-modtime (list time-list)) 2400 (tramp-run-real-handler 'set-visited-file-modtime (list time-list))
2374 (let ((f (buffer-file-name))) 2401 (let ((f (buffer-file-name))
2402 coding-system-used)
2375 (with-parsed-tramp-file-name f nil 2403 (with-parsed-tramp-file-name f nil
2376 (let* ((attr (file-attributes f)) 2404 (let* ((attr (file-attributes f))
2377 ;; '(-1 65535) means file doesn't exists yet. 2405 ;; '(-1 65535) means file doesn't exists yet.
2378 (modtime (or (nth 5 attr) '(-1 65535)))) 2406 (modtime (or (nth 5 attr) '(-1 65535))))
2407 (when (boundp 'last-coding-system-used)
2408 (setq coding-system-used (symbol-value 'last-coding-system-used)))
2379 ;; We use '(0 0) as a don't-know value. See also 2409 ;; We use '(0 0) as a don't-know value. See also
2380 ;; `tramp-handle-file-attributes-with-ls'. 2410 ;; `tramp-handle-file-attributes-with-ls'.
2381 (if (not (equal modtime '(0 0))) 2411 (if (not (equal modtime '(0 0)))
@@ -2390,6 +2420,8 @@ target of the symlink differ."
2390 (setq attr (buffer-substring (point) 2420 (setq attr (buffer-substring (point)
2391 (progn (end-of-line) (point))))) 2421 (progn (end-of-line) (point)))))
2392 (setq tramp-buffer-file-attributes attr)) 2422 (setq tramp-buffer-file-attributes attr))
2423 (when (boundp 'last-coding-system-used)
2424 (set 'last-coding-system-used coding-system-used))
2393 nil))))) 2425 nil)))))
2394 2426
2395;; CCC continue here 2427;; CCC continue here
@@ -2699,7 +2731,10 @@ of."
2699 (tramp-shell-quote-argument localname) 2731 (tramp-shell-quote-argument localname)
2700 (or id-format 'integer))) 2732 (or id-format 'integer)))
2701 (tramp-wait-for-output) 2733 (tramp-wait-for-output)
2702 (let* ((root (cons nil (read (current-buffer)))) 2734 (let* ((root (cons nil (let ((object (read (current-buffer))))
2735 (when (stringp object)
2736 (error object))
2737 object)))
2703 (cell root)) 2738 (cell root))
2704 (while (cdr cell) 2739 (while (cdr cell)
2705 (if (and match (not (string-match match (caadr cell)))) 2740 (if (and match (not (string-match match (caadr cell))))
@@ -3750,7 +3785,7 @@ This will break if COMMAND prints a newline, followed by the value of
3750 'insert-file-contents) 3785 'insert-file-contents)
3751 'file-local-copy))) 3786 'file-local-copy)))
3752 (file-local-copy filename))) 3787 (file-local-copy filename)))
3753 (result nil)) 3788 coding-system-used result)
3754 (when visit 3789 (when visit
3755 (setq buffer-file-name filename) 3790 (setq buffer-file-name filename)
3756 (set-visited-file-modtime) 3791 (set-visited-file-modtime)
@@ -3759,10 +3794,15 @@ This will break if COMMAND prints a newline, followed by the value of
3759 multi-method method user host 3794 multi-method method user host
3760 9 "Inserting local temp file `%s'..." local-copy) 3795 9 "Inserting local temp file `%s'..." local-copy)
3761 (setq result (insert-file-contents local-copy nil beg end replace)) 3796 (setq result (insert-file-contents local-copy nil beg end replace))
3797 ;; Now `last-coding-system-used' has right value. Remember it.
3798 (when (boundp 'last-coding-system-used)
3799 (setq coding-system-used (symbol-value 'last-coding-system-used)))
3762 (tramp-message-for-buffer 3800 (tramp-message-for-buffer
3763 multi-method method user host 3801 multi-method method user host
3764 9 "Inserting local temp file `%s'...done" local-copy) 3802 9 "Inserting local temp file `%s'...done" local-copy)
3765 (delete-file local-copy) 3803 (delete-file local-copy)
3804 (when (boundp 'last-coding-system-used)
3805 (set 'last-coding-system-used coding-system-used))
3766 (list (expand-file-name filename) 3806 (list (expand-file-name filename)
3767 (second result)))))) 3807 (second result))))))
3768 3808
@@ -3876,6 +3916,13 @@ Returns a file name in `tramp-auto-save-directory' for autosaving this file."
3876 (loc-dec (tramp-get-local-decoding multi-method method user host)) 3916 (loc-dec (tramp-get-local-decoding multi-method method user host))
3877 (trampbuf (get-buffer-create "*tramp output*")) 3917 (trampbuf (get-buffer-create "*tramp output*"))
3878 (modes (file-modes filename)) 3918 (modes (file-modes filename))
3919 ;; We use this to save the value of `last-coding-system-used'
3920 ;; after writing the tmp file. At the end of the function,
3921 ;; we set `last-coding-system-used' to this saved value.
3922 ;; This way, any intermediary coding systems used while
3923 ;; talking to the remote shell or suchlike won't hose this
3924 ;; variable. This approach was snarfed from ange-ftp.el.
3925 coding-system-used
3879 tmpfil) 3926 tmpfil)
3880 ;; Write region into a tmp file. This isn't really needed if we 3927 ;; Write region into a tmp file. This isn't really needed if we
3881 ;; use an encoding function, but currently we use it always 3928 ;; use an encoding function, but currently we use it always
@@ -3892,6 +3939,9 @@ Returns a file name in `tramp-auto-save-directory' for autosaving this file."
3892 (if confirm ; don't pass this arg unless defined for backward compat. 3939 (if confirm ; don't pass this arg unless defined for backward compat.
3893 (list start end tmpfil append 'no-message lockname confirm) 3940 (list start end tmpfil append 'no-message lockname confirm)
3894 (list start end tmpfil append 'no-message lockname))) 3941 (list start end tmpfil append 'no-message lockname)))
3942 ;; Now, `last-coding-system-used' has the right value. Remember it.
3943 (when (boundp 'last-coding-system-used)
3944 (setq coding-system-used (symbol-value 'last-coding-system-used)))
3895 ;; The permissions of the temporary file should be set. If 3945 ;; The permissions of the temporary file should be set. If
3896 ;; filename does not exist (eq modes nil) it has been renamed to 3946 ;; filename does not exist (eq modes nil) it has been renamed to
3897 ;; the backup file. This case `save-buffer' handles 3947 ;; the backup file. This case `save-buffer' handles
@@ -3998,6 +4048,9 @@ Returns a file name in `tramp-auto-save-directory' for autosaving this file."
3998 ;; We must pass modtime explicitely, because filename can be different 4048 ;; We must pass modtime explicitely, because filename can be different
3999 ;; from (buffer-file-name), f.e. if `file-precious-flag' is set. 4049 ;; from (buffer-file-name), f.e. if `file-precious-flag' is set.
4000 (nth 5 (file-attributes filename)))) 4050 (nth 5 (file-attributes filename))))
4051 ;; Make `last-coding-system-used' have the right value.
4052 (when (boundp 'last-coding-system-used)
4053 (set 'last-coding-system-used coding-system-used))
4001 (when (or (eq visit t) 4054 (when (or (eq visit t)
4002 (eq visit nil) 4055 (eq visit nil)
4003 (stringp visit)) 4056 (stringp visit))
@@ -6990,7 +7043,7 @@ as default."
6990 ;; auto-saved file belonging to another original file. This could 7043 ;; auto-saved file belonging to another original file. This could
6991 ;; be a security threat. 7044 ;; be a security threat.
6992 (set-file-modes buffer-auto-save-file-name 7045 (set-file-modes buffer-auto-save-file-name
6993 (or (file-modes bfn) #o600))))) 7046 (or (file-modes bfn) (tramp-octal-to-decimal "0600"))))))
6994 7047
6995(unless (or (> emacs-major-version 21) 7048(unless (or (> emacs-major-version 21)
6996 (and (featurep 'xemacs) 7049 (and (featurep 'xemacs)
diff --git a/lisp/net/trampver.el b/lisp/net/trampver.el
index 2ba9f7b3249..650f1a727a7 100644
--- a/lisp/net/trampver.el
+++ b/lisp/net/trampver.el
@@ -30,7 +30,7 @@
30;; are auto-frobbed from configure.ac, so you should edit that file and run 30;; are auto-frobbed from configure.ac, so you should edit that file and run
31;; "autoconf && ./configure" to change them. 31;; "autoconf && ./configure" to change them.
32 32
33(defconst tramp-version "2.0.50" 33(defconst tramp-version "2.0.51"
34 "This version of Tramp.") 34 "This version of Tramp.")
35 35
36(defconst tramp-bug-report-address "tramp-devel@gnu.org" 36(defconst tramp-bug-report-address "tramp-devel@gnu.org"
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index ea87dce591f..f6e8697543f 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -1887,7 +1887,7 @@ directory specification."
1887;; XXX Kludge interface. 1887;; XXX Kludge interface.
1888 1888
1889(define-button-type 'tags-select-tags-table 1889(define-button-type 'tags-select-tags-table
1890 'action (lambda (button) (select-tags-table-select)) 1890 'action 'select-tags-table-select
1891 'help-echo "RET, t or mouse-2: select tags table") 1891 'help-echo "RET, t or mouse-2: select tags table")
1892 1892
1893;; XXX If a file is in multiple tables, selection may get the wrong one. 1893;; XXX If a file is in multiple tables, selection may get the wrong one.
@@ -1904,30 +1904,27 @@ see the doc of that variable if you want to add names to the list."
1904 (desired-point nil) 1904 (desired-point nil)
1905 b) 1905 b)
1906 (when tags-table-list 1906 (when tags-table-list
1907 (setq desired-point (point-marker)) 1907 (setq desired-point (point-marker))
1908 (setq b (point)) 1908 (setq b (point))
1909 (princ tags-table-list (current-buffer)) 1909 (princ (mapcar 'abbreviate-file-name tags-table-list) (current-buffer))
1910 (make-text-button b (point) 'type 'tags-select-tags-table) 1910 (make-text-button b (point) 'type 'tags-select-tags-table
1911 (insert "\C-m") 1911 'etags-table (car tags-table-list))
1912 (prin1 (car tags-table-list) (current-buffer)) ;invisible
1913 (insert "\n")) 1912 (insert "\n"))
1914 (while set-list 1913 (while set-list
1915 (unless (eq (car set-list) tags-table-list) 1914 (unless (eq (car set-list) tags-table-list)
1916 (setq b (point)) 1915 (setq b (point))
1917 (princ (car set-list) (current-buffer)) 1916 (princ (mapcar 'abbreviate-file-name (car set-list)) (current-buffer))
1918 (make-text-button b (point) 'type 'tags-select-tags-table) 1917 (make-text-button b (point) 'type 'tags-select-tags-table
1919 (insert "\C-m") 1918 'etags-table (car (car set-list)))
1920 (prin1 (car (car set-list)) (current-buffer)) ;invisible
1921 (insert "\n")) 1919 (insert "\n"))
1922 (setq set-list (cdr set-list))) 1920 (setq set-list (cdr set-list)))
1923 (when tags-file-name 1921 (when tags-file-name
1924 (or desired-point 1922 (or desired-point
1925 (setq desired-point (point-marker))) 1923 (setq desired-point (point-marker)))
1926 (setq b (point)) 1924 (setq b (point))
1927 (insert tags-file-name) 1925 (insert (abbreviate-file-name tags-file-name))
1928 (make-text-button b (point) 'type 'tags-select-tags-table) 1926 (make-text-button b (point) 'type 'tags-select-tags-table
1929 (insert "\C-m") 1927 'etags-table tags-file-name)
1930 (prin1 tags-file-name (current-buffer)) ;invisible
1931 (insert "\n")) 1928 (insert "\n"))
1932 (setq set-list (delete tags-file-name 1929 (setq set-list (delete tags-file-name
1933 (apply 'nconc (cons (copy-sequence tags-table-list) 1930 (apply 'nconc (cons (copy-sequence tags-table-list)
@@ -1935,10 +1932,9 @@ see the doc of that variable if you want to add names to the list."
1935 tags-table-set-list))))) 1932 tags-table-set-list)))))
1936 (while set-list 1933 (while set-list
1937 (setq b (point)) 1934 (setq b (point))
1938 (insert (car set-list)) 1935 (insert (abbreviate-file-name (car set-list)))
1939 (make-text-button b (point) 'type 'tags-select-tags-table) 1936 (make-text-button b (point) 'type 'tags-select-tags-table
1940 (insert "\C-m") 1937 'etags-table (car set-list))
1941 (prin1 (car set-list) (current-buffer)) ;invisible
1942 (insert "\n") 1938 (insert "\n")
1943 (setq set-list (delete (car set-list) set-list))) 1939 (setq set-list (delete (car set-list) set-list)))
1944 (goto-char (point-min)) 1940 (goto-char (point-min))
@@ -1951,7 +1947,8 @@ see the doc of that variable if you want to add names to the list."
1951 (select-tags-table-mode)) 1947 (select-tags-table-mode))
1952 1948
1953(defvar select-tags-table-mode-map 1949(defvar select-tags-table-mode-map
1954 (let ((map (copy-keymap button-buffer-map))) 1950 (let ((map (make-sparse-keymap)))
1951 (set-keymap-parent map button-buffer-map)
1955 (define-key map "t" 'push-button) 1952 (define-key map "t" 'push-button)
1956 (define-key map " " 'next-line) 1953 (define-key map " " 'next-line)
1957 (define-key map "\^?" 'previous-line) 1954 (define-key map "\^?" 'previous-line)
@@ -1960,24 +1957,17 @@ see the doc of that variable if you want to add names to the list."
1960 (define-key map "q" 'select-tags-table-quit) 1957 (define-key map "q" 'select-tags-table-quit)
1961 map)) 1958 map))
1962 1959
1963(defun select-tags-table-mode () 1960(define-derived-mode select-tags-table-mode fundamental-mode "Select Tags Table"
1964 "Major mode for choosing a current tags table among those already loaded. 1961 "Major mode for choosing a current tags table among those already loaded.
1965 1962
1966\\{select-tags-table-mode-map}" 1963\\{select-tags-table-mode-map}"
1967 (interactive) 1964 (setq buffer-read-only t))
1968 (kill-all-local-variables) 1965
1969 (setq buffer-read-only t 1966(defun select-tags-table-select (button)
1970 major-mode 'select-tags-table-mode
1971 mode-name "Select Tags Table")
1972 (use-local-map select-tags-table-mode-map)
1973 (setq selective-display t
1974 selective-display-ellipses nil))
1975
1976(defun select-tags-table-select ()
1977 "Select the tags table named on this line." 1967 "Select the tags table named on this line."
1978 (interactive) 1968 (interactive (list (or (button-at (line-beginning-position))
1979 (search-forward "\C-m") 1969 (error "No tags table on current line"))))
1980 (let ((name (read (current-buffer)))) 1970 (let ((name (button-get button 'etags-table)))
1981 (visit-tags-table name) 1971 (visit-tags-table name)
1982 (select-tags-table-quit) 1972 (select-tags-table-quit)
1983 (message "Tags table now %s" name))) 1973 (message "Tags table now %s" name)))
@@ -2043,5 +2033,5 @@ for \\[find-tag] (which see)."
2043 2033
2044(provide 'etags) 2034(provide 'etags)
2045 2035
2046;;; arch-tag: b897c2b5-08f3-4837-b2d3-0e7d6db1b63e 2036;; arch-tag: b897c2b5-08f3-4837-b2d3-0e7d6db1b63e
2047;;; etags.el ends here 2037;;; etags.el ends here
diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el
index 5e2a3705ef3..676833cdedc 100644
--- a/lisp/progmodes/f90.el
+++ b/lisp/progmodes/f90.el
@@ -4,7 +4,7 @@
4;; Free Software Foundation, Inc. 4;; 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 <gmorris@ast.cam.ac.uk> 7;; Maintainer: Glenn Morris <rgm@gnu.org>
8;; Keywords: fortran, f90, languages 8;; Keywords: fortran, f90, languages
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
@@ -276,7 +276,7 @@ The options are 'downcase-word, 'upcase-word, 'capitalize-word and nil."
276 "target" "then" "type" "use" "where" "while" "write" 276 "target" "then" "type" "use" "where" "while" "write"
277 ;; F95 keywords. 277 ;; F95 keywords.
278 "elemental" "pure") 'words) 278 "elemental" "pure") 'words)
279 "Regexp for F90 keywords.") 279 "Regexp used by the function `f90-change-keywords'.")
280 280
281(defconst f90-keywords-level-3-re 281(defconst f90-keywords-level-3-re
282 (regexp-opt 282 (regexp-opt
@@ -370,7 +370,8 @@ subroutine\\)\\|use\\|call\\)\\>[ \t]*\\(\\sw+\\)?"
370 (list 370 (list
371 ;; Variable declarations (avoid the real function call). 371 ;; Variable declarations (avoid the real function call).
372 '("^[ \t0-9]*\\(real\\|integer\\|c\\(haracter\\|omplex\\)\\|\ 372 '("^[ \t0-9]*\\(real\\|integer\\|c\\(haracter\\|omplex\\)\\|\
373logical\\|type[ \t]*(\\sw+)\\)\\(.*::\\|[ \t]*(.*)\\)?\\([^&!\n]*\\)" 373logical\\|double[ \t]*precision\\|*type[ \t]*(\\sw+)\\)\
374\\(.*::\\|[ \t]*(.*)\\)?\\([^&!\n]*\\)"
374 (1 font-lock-type-face t) (4 font-lock-variable-name-face t)) 375 (1 font-lock-type-face t) (4 font-lock-variable-name-face t))
375 ;; do, if, select, where, and forall constructs. 376 ;; do, if, select, where, and forall constructs.
376 '("\\<\\(end[ \t]*\\(do\\|if\\|select\\|forall\\|where\\)\\)\\>\ 377 '("\\<\\(end[ \t]*\\(do\\|if\\|select\\|forall\\|where\\)\\)\\>\
@@ -381,7 +382,7 @@ do\\([ \t]*while\\)?\\|select[ \t]*case\\|where\\|forall\\)\\)\\>"
381 (2 font-lock-constant-face nil t) (3 font-lock-keyword-face)) 382 (2 font-lock-constant-face nil t) (3 font-lock-keyword-face))
382 ;; Implicit declaration. 383 ;; Implicit declaration.
383 '("\\<\\(implicit\\)[ \t]*\\(real\\|integer\\|c\\(haracter\\|omplex\\)\ 384 '("\\<\\(implicit\\)[ \t]*\\(real\\|integer\\|c\\(haracter\\|omplex\\)\
384\\|logical\\|type[ \t]*(\\sw+)\\|none\\)[ \t]*" 385\\|logical\\|double[ \t]*precision\\|type[ \t]*(\\sw+)\\|none\\)[ \t]*"
385 (1 font-lock-keyword-face) (2 font-lock-type-face)) 386 (1 font-lock-keyword-face) (2 font-lock-type-face))
386 '("\\<\\(namelist\\|common\\)[ \t]*\/\\(\\sw+\\)?\/" 387 '("\\<\\(namelist\\|common\\)[ \t]*\/\\(\\sw+\\)?\/"
387 (1 font-lock-keyword-face) (2 font-lock-constant-face nil t)) 388 (1 font-lock-keyword-face) (2 font-lock-constant-face nil t))
@@ -698,6 +699,7 @@ Used in the F90 entry in `hs-special-modes-alist'.")
698 ("`de" "deallocate" ) 699 ("`de" "deallocate" )
699 ("`df" "define" ) 700 ("`df" "define" )
700 ("`di" "dimension" ) 701 ("`di" "dimension" )
702 ("`dp" "double precision")
701 ("`dw" "do while" ) 703 ("`dw" "do while" )
702 ("`el" "else" ) 704 ("`el" "else" )
703 ("`eli" "else if" ) 705 ("`eli" "else if" )
@@ -796,8 +798,6 @@ Variables controlling indentation style and extra features:
796 The possibilities are 'downcase-word, 'upcase-word, 'capitalize-word. 798 The possibilities are 'downcase-word, 'upcase-word, 'capitalize-word.
797`f90-leave-line-no' 799`f90-leave-line-no'
798 Do not left-justify line numbers (default nil). 800 Do not left-justify line numbers (default nil).
799`f90-keywords-re'
800 List of keywords used for highlighting/upcase-keywords etc.
801 801
802Turning on F90 mode calls the value of the variable `f90-mode-hook' 802Turning on F90 mode calls the value of the variable `f90-mode-hook'
803with no args, if that value is non-nil." 803with no args, if that value is non-nil."
diff --git a/lisp/progmodes/fortran.el b/lisp/progmodes/fortran.el
index 3b6c77fef29..0d9921fcd7b 100644
--- a/lisp/progmodes/fortran.el
+++ b/lisp/progmodes/fortran.el
@@ -4,7 +4,7 @@
4;; 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 4;; 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
5 5
6;; Author: Michael D. Prange <prange@erl.mit.edu> 6;; Author: Michael D. Prange <prange@erl.mit.edu>
7;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk> 7;; Maintainer: Glenn Morris <rgm@gnu.org>
8;; Keywords: fortran, languages 8;; Keywords: fortran, languages
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index fe05119d2cd..852cd8deb88 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -173,28 +173,28 @@ See Info node `(emacs)GDB Graphical Interface' for a more
173detailed description of this mode. 173detailed description of this mode.
174 174
175 175
176--------------------------------------------------------------------- 176+--------------------------------------------------------------+
177 GDB Toolbar 177| GDB Toolbar |
178--------------------------------------------------------------------- 178+-------------------------------+------------------------------+
179 GUD buffer (I/O of GDB) | Locals buffer 179| GUD buffer (I/O of GDB) | Locals buffer |
180 | 180| | |
181 | 181| | |
182 | 182| | |
183--------------------------------------------------------------------- 183+-------------------------------+------------------------------+
184 Source buffer | Input/Output (of inferior) buffer 184| Source buffer | I/O buffer (of inferior) |
185 | (comint-mode) 185| | (comint-mode) |
186 | 186| | |
187 | 187| | |
188 | 188| | |
189 | 189| | |
190 | 190| | |
191 | 191| | |
192--------------------------------------------------------------------- 192+-------------------------------+------------------------------+
193 Stack buffer | Breakpoints buffer 193| Stack buffer | Breakpoints buffer |
194 RET gdb-frames-select | SPC gdb-toggle-breakpoint 194| RET gdb-frames-select | SPC gdb-toggle-breakpoint |
195 | RET gdb-goto-breakpoint 195| | RET gdb-goto-breakpoint |
196 | d gdb-delete-breakpoint 196| | d gdb-delete-breakpoint |
197---------------------------------------------------------------------" 197+-------------------------------+------------------------------+"
198 ;; 198 ;;
199 (interactive (list (gud-query-cmdline 'gdba))) 199 (interactive (list (gud-query-cmdline 'gdba)))
200 ;; 200 ;;
@@ -1192,12 +1192,13 @@ happens to be appropriate."
1192 (let ((buf (gdb-get-buffer ',buf-key))) 1192 (let ((buf (gdb-get-buffer ',buf-key)))
1193 (and buf 1193 (and buf
1194 (with-current-buffer buf 1194 (with-current-buffer buf
1195 (let ((p (window-point (get-buffer-window buf 0))) 1195 (let* ((window (get-buffer-window buf 0))
1196 (p (window-point window))
1196 (buffer-read-only nil)) 1197 (buffer-read-only nil))
1197 (erase-buffer) 1198 (erase-buffer)
1198 (insert-buffer-substring (gdb-get-create-buffer 1199 (insert-buffer-substring (gdb-get-create-buffer
1199 'gdb-partial-output-buffer)) 1200 'gdb-partial-output-buffer))
1200 (set-window-point (get-buffer-window buf 0) p))))) 1201 (set-window-point window p)))))
1201 ;; put customisation here 1202 ;; put customisation here
1202 (,custom-defun))) 1203 (,custom-defun)))
1203 1204
@@ -2125,13 +2126,15 @@ corresponding to the mode line clicked."
2125 (while (re-search-forward "\\s-*{.*\n" nil t) 2126 (while (re-search-forward "\\s-*{.*\n" nil t)
2126 (replace-match " (array);\n" nil nil)))) 2127 (replace-match " (array);\n" nil nil))))
2127 (let ((buf (gdb-get-buffer 'gdb-locals-buffer))) 2128 (let ((buf (gdb-get-buffer 'gdb-locals-buffer)))
2128 (and buf (with-current-buffer buf 2129 (and buf
2129 (let ((p (window-point (get-buffer-window buf 0))) 2130 (with-current-buffer buf
2131 (let* ((window (get-buffer-window buf 0))
2132 (p (window-point window))
2130 (buffer-read-only nil)) 2133 (buffer-read-only nil))
2131 (erase-buffer) 2134 (erase-buffer)
2132 (insert-buffer-substring (gdb-get-create-buffer 2135 (insert-buffer-substring (gdb-get-create-buffer
2133 'gdb-partial-output-buffer)) 2136 'gdb-partial-output-buffer))
2134 (set-window-point (get-buffer-window buf 0) p))))) 2137 (set-window-point window p)))))
2135 (run-hooks 'gdb-info-locals-hook)) 2138 (run-hooks 'gdb-info-locals-hook))
2136 2139
2137(defun gdb-info-locals-custom () 2140(defun gdb-info-locals-custom ()
@@ -2528,10 +2531,10 @@ BUFFER nil or omitted means use the current buffer."
2528 (when (< left-margin-width 2) 2531 (when (< left-margin-width 2)
2529 (save-current-buffer 2532 (save-current-buffer
2530 (setq left-margin-width 2) 2533 (setq left-margin-width 2)
2531 (if (get-buffer-window (current-buffer) 0) 2534 (let ((window (get-buffer-window (current-buffer) 0)))
2535 (if window
2532 (set-window-margins 2536 (set-window-margins
2533 (get-buffer-window (current-buffer) 0) 2537 window left-margin-width right-margin-width)))))
2534 left-margin-width right-margin-width))))
2535 (gdb-put-string 2538 (gdb-put-string
2536 (propertize putstring 2539 (propertize putstring
2537 'face (if enabled 'breakpoint-enabled 'breakpoint-disabled)) 2540 'face (if enabled 'breakpoint-enabled 'breakpoint-disabled))
@@ -2543,10 +2546,10 @@ BUFFER nil or omitted means use the current buffer."
2543 (remove-images start end)) 2546 (remove-images start end))
2544 (when remove-margin 2547 (when remove-margin
2545 (setq left-margin-width 0) 2548 (setq left-margin-width 0)
2546 (if (get-buffer-window (current-buffer) 0) 2549 (let ((window (get-buffer-window (current-buffer) 0)))
2547 (set-window-margins 2550 (if window
2548 (get-buffer-window (current-buffer) 0) 2551 (set-window-margins
2549 left-margin-width right-margin-width)))) 2552 window left-margin-width right-margin-width)))))
2550 2553
2551 2554
2552;; 2555;;
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 12c7e1c0ba0..d38697a2152 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -336,9 +336,6 @@ we're in the GUD buffer)."
336;; speedbar support functions and variables. 336;; speedbar support functions and variables.
337(eval-when-compile (require 'speedbar)) ;For speedbar-with-attached-buffer. 337(eval-when-compile (require 'speedbar)) ;For speedbar-with-attached-buffer.
338 338
339(defvar gud-last-speedbar-buffer nil
340 "The last GUD buffer used.")
341
342(defvar gud-last-speedbar-stackframe nil 339(defvar gud-last-speedbar-stackframe nil
343 "Description of the currently displayed GUD stack. 340 "Description of the currently displayed GUD stack.
344t means that there is no stack, and we are in display-file mode.") 341t means that there is no stack, and we are in display-file mode.")
@@ -355,17 +352,22 @@ t means that there is no stack, and we are in display-file mode.")
355 (define-key gud-speedbar-key-map "j" 'speedbar-edit-line) 352 (define-key gud-speedbar-key-map "j" 'speedbar-edit-line)
356 (define-key gud-speedbar-key-map "e" 'speedbar-edit-line) 353 (define-key gud-speedbar-key-map "e" 'speedbar-edit-line)
357 (define-key gud-speedbar-key-map "\C-m" 'speedbar-edit-line) 354 (define-key gud-speedbar-key-map "\C-m" 'speedbar-edit-line)
358 (define-key gud-speedbar-key-map "D" 'gdb-var-delete))) 355 (define-key gud-speedbar-key-map " " 'speedbar-toggle-line-expansion)
356 (define-key gud-speedbar-key-map "[" 'speedbar-expand-line-descendants)
357 (define-key gud-speedbar-key-map "]" 'speedbar-contract-line-descendants)
358 (define-key gud-speedbar-key-map "D" 'gdb-var-delete))
359 359
360 (speedbar-add-expansion-list '("GUD" gud-speedbar-menu-items
361 gud-speedbar-key-map
362 gud-expansion-speedbar-buttons)))
360 363
361(defvar gud-speedbar-menu-items 364(defvar gud-speedbar-menu-items
362 ;; Note to self. Add expand, and turn off items when not available.
363 '(["Jump to stack frame" speedbar-edit-line 365 '(["Jump to stack frame" speedbar-edit-line
364 (with-current-buffer gud-comint-buffer 366 :visible (with-current-buffer gud-comint-buffer
365 (not (memq gud-minor-mode '(gdbmi gdba))))] 367 (not (memq gud-minor-mode '(gdbmi gdba))))]
366 ["Edit value" speedbar-edit-line 368 ["Edit value" speedbar-edit-line
367 (with-current-buffer gud-comint-buffer 369 :visible (with-current-buffer gud-comint-buffer
368 (memq gud-minor-mode '(gdbmi gdba)))] 370 (memq gud-minor-mode '(gdbmi gdba)))]
369 ["Delete expression" gdb-var-delete 371 ["Delete expression" gdb-var-delete
370 (with-current-buffer gud-comint-buffer 372 (with-current-buffer gud-comint-buffer
371 (memq gud-minor-mode '(gdbmi gdba)))]) 373 (memq gud-minor-mode '(gdbmi gdba)))])
@@ -376,89 +378,89 @@ t means that there is no stack, and we are in display-file mode.")
376 (gud-install-speedbar-variables) 378 (gud-install-speedbar-variables)
377 (add-hook 'speedbar-load-hook 'gud-install-speedbar-variables)) 379 (add-hook 'speedbar-load-hook 'gud-install-speedbar-variables))
378 380
381(defun gud-expansion-speedbar-buttons (directory zero)
382 "Wrapper for call to speedbar-add-expansion-list. DIRECTORY and
383ZERO are not used, but are required by the caller."
384 (gud-speedbar-buttons gud-comint-buffer))
385
379(defun gud-speedbar-buttons (buffer) 386(defun gud-speedbar-buttons (buffer)
380 "Create a speedbar display based on the current state of GUD. 387 "Create a speedbar display based on the current state of GUD.
381If the GUD BUFFER is not running a supported debugger, then turn 388If the GUD BUFFER is not running a supported debugger, then turn
382off the specialized speedbar mode." 389off the specialized speedbar mode. BUFFER is not used, but are
383 (let ((minor-mode (with-current-buffer buffer gud-minor-mode))) 390required by the caller."
384 (cond 391 (when (and (boundp 'gud-comint-buffer)
385 ((memq minor-mode '(gdbmi gdba)) 392 gud-comint-buffer
386 (when (or gdb-var-changed 393 ;; gud-comint-buffer might be killed
387 (not (save-excursion 394 (buffer-name gud-comint-buffer))
388 (goto-char (point-min)) 395 (let* ((minor-mode (with-current-buffer buffer gud-minor-mode))
389 (let ((case-fold-search t)) 396 (window (get-buffer-window (current-buffer) 0))
390 (looking-at "Watch Expressions:"))))) 397 (p (window-point window)))
391 (erase-buffer) 398 (cond
392 (insert "Watch Expressions:\n") 399 ((memq minor-mode '(gdbmi gdba))
393 (let ((var-list gdb-var-list)) 400 (when (or gdb-var-changed
394 (while var-list 401 (not (save-excursion
395 (let* ((depth 0) (start 0) (char ?+) 402 (goto-char (point-min))
396 (var (car var-list)) (varnum (nth 1 var))) 403 (let ((case-fold-search t))
397 (while (string-match "\\." varnum start) 404 (looking-at "Watch Expressions:")))))
398 (setq depth (1+ depth) 405 (erase-buffer)
399 start (1+ (match-beginning 0)))) 406 (insert "Watch Expressions:\n")
400 (if (equal (nth 2 var) "0") 407 (let ((var-list gdb-var-list))
401 (speedbar-make-tag-line 'bracket ?? nil nil 408 (while var-list
402 (concat (car var) "\t" (nth 4 var)) 409 (let* ((depth 0) (start 0) (char ?+)
403 'gdb-edit-value 410 (var (car var-list)) (varnum (nth 1 var)))
404 nil 411 (while (string-match "\\." varnum start)
405 (if (and (nth 5 var) 412 (setq depth (1+ depth)
406 gdb-show-changed-values) 413 start (1+ (match-beginning 0))))
407 'font-lock-warning-face 414 (if (equal (nth 2 var) "0")
408 nil) depth) 415 (speedbar-make-tag-line 'bracket ?? nil nil
409 (if (and (cadr var-list) 416 (concat (car var) "\t" (nth 4 var))
410 (string-match varnum (cadr (cadr var-list)))) 417 'gdb-edit-value
411 (setq char ?-)) 418 nil
412 (speedbar-make-tag-line 'bracket char 419 (if (and (nth 5 var)
413 'gdb-speedbar-expand-node varnum 420 gdb-show-changed-values)
414 (concat (car var) "\t" (nth 3 var)) 421 'font-lock-warning-face
415 nil nil nil depth))) 422 nil) depth)
416 (setq var-list (cdr var-list)))) 423 (if (and (cadr var-list)
417 (setq gdb-var-changed nil))) 424 (string-match varnum (cadr (cadr var-list))))
418 (t (if (and (save-excursion 425 (setq char ?-))
419 (goto-char (point-min)) 426 (speedbar-make-tag-line 'bracket char
420 (looking-at "Current Stack")) 427 'gdb-speedbar-expand-node varnum
421 (equal gud-last-last-frame gud-last-speedbar-stackframe)) 428 (concat (car var) "\t" (nth 3 var))
422 nil 429 nil nil nil depth)))
423 (setq gud-last-speedbar-buffer buffer) 430 (setq var-list (cdr var-list))))
424 (let ((gud-frame-list 431 (setq gdb-var-changed nil)))
425 (cond ((eq minor-mode 'gdb) 432 (t (if (and (save-excursion
426 (gud-gdb-get-stackframe buffer)) 433 (goto-char (point-min))
427 ;; Add more debuggers here! 434 (looking-at "Current Stack:"))
428 (t (speedbar-remove-localized-speedbar-support buffer) 435 (equal gud-last-last-frame gud-last-speedbar-stackframe))
429 nil)))) 436 nil
430 (erase-buffer) 437 (let ((gud-frame-list
431 (if (not gud-frame-list) 438 (cond ((eq minor-mode 'gdb)
432 (insert "No Stack frames\n") 439 (gud-gdb-get-stackframe buffer))
433 (insert "Current Stack:\n")) 440 ;; Add more debuggers here!
434 (dolist (frame gud-frame-list) 441 (t (speedbar-remove-localized-speedbar-support buffer)
435 (insert (nth 1 frame) ":\n") 442 nil))))
436 (if (= (length frame) 2) 443 (erase-buffer)
437 (progn 444 (if (not gud-frame-list)
438; (speedbar-insert-button "[?]" 445 (insert "No Stack frames\n")
439; 'speedbar-button-face 446 (insert "Current Stack:\n"))
440; nil nil nil t) 447 (dolist (frame gud-frame-list)
441 (speedbar-insert-button (car frame) 448 (insert (nth 1 frame) ":\n")
442 'speedbar-directory-face 449 (if (= (length frame) 2)
443 nil nil nil t)) 450 (progn
444; (speedbar-insert-button "[+]" 451 (speedbar-insert-button (car frame)
445; 'speedbar-button-face 452 'speedbar-directory-face
446; 'speedbar-highlight-face 453 nil nil nil t))
447; 'gud-gdb-get-scope-data 454 (speedbar-insert-button
448; frame t) 455 (car frame)
449 (speedbar-insert-button (car frame) 456 'speedbar-file-face
450 'speedbar-file-face 457 'speedbar-highlight-face
451 'speedbar-highlight-face 458 (cond ((memq minor-mode '(gdbmi gdba gdb))
452 (cond ((memq minor-mode '(gdbmi gdba gdb)) 459 'gud-gdb-goto-stackframe)
453 'gud-gdb-goto-stackframe) 460 (t (error "Should never be here")))
454 (t (error "Should never be here"))) 461 frame t))))
455 frame t))) 462 (setq gud-last-speedbar-stackframe gud-last-last-frame))))
456; (let ((selected-frame 463 (set-window-point window p))))
457; (cond ((eq ff 'gud-gdb-find-file)
458; (gud-gdb-selected-frame-info buffer))
459; (t (error "Should never be here"))))))
460 )
461 (setq gud-last-speedbar-stackframe gud-last-last-frame))))))
462 464
463 465
464;; ====================================================================== 466;; ======================================================================
@@ -2573,6 +2575,9 @@ It is saved for when this flag is not set.")
2573 ;; Stop displaying an arrow in a source file. 2575 ;; Stop displaying an arrow in a source file.
2574 (setq gud-overlay-arrow-position nil) 2576 (setq gud-overlay-arrow-position nil)
2575 (set-process-buffer proc nil) 2577 (set-process-buffer proc nil)
2578 (if (featurep 'speedbar)
2579 (speedbar-change-initial-expansion-list
2580 speedbar-previously-used-expansion-list-name))
2576 (if (memq gud-minor-mode-type '(gdbmi gdba)) 2581 (if (memq gud-minor-mode-type '(gdbmi gdba))
2577 (gdb-reset) 2582 (gdb-reset)
2578 (gud-reset))) 2583 (gud-reset)))
diff --git a/lisp/progmodes/mixal-mode.el b/lisp/progmodes/mixal-mode.el
index fd494324303..741ae8097a0 100644
--- a/lisp/progmodes/mixal-mode.el
+++ b/lisp/progmodes/mixal-mode.el
@@ -17,8 +17,8 @@
17;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 17;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18;; MA 02110-1301 USA 18;; MA 02110-1301 USA
19 19
20;; Author: Pieter E.J. Pareit <pieter.pareit@skynet.be> 20;; Author: Pieter E.J. Pareit <pieter.pareit@gmail.com>
21;; Maintainer: Pieter E.J. Pareit <pieter.pareit@skynet.be> 21;; Maintainer: Pieter E.J. Pareit <pieter.pareit@gmail.com>
22;; Created: 09 Nov 2002 22;; Created: 09 Nov 2002
23;; Version: 0.1 23;; Version: 0.1
24;; Keywords: Knuth mix mixal asm mixvm "The Art Of Computer Programming" 24;; Keywords: Knuth mix mixal asm mixvm "The Art Of Computer Programming"
@@ -27,17 +27,17 @@
27;; Major mode for the mix asm language. 27;; Major mode for the mix asm language.
28;; The mix asm language is described in "The Art Of Computer Programming". 28;; The mix asm language is described in "The Art Of Computer Programming".
29;; 29;;
30;; For optimal use, also use GNU MDK. Compiling needs mixasm, running 30;; For optimal use, also use GNU MDK. Compiling needs mixasm, running
31;; and debugging needs mixvm and mixvm.el from GNU MDK. You can get 31;; and debugging needs mixvm and mixvm.el from GNU MDK. You can get
32;; GNU MDK from `https://savannah.gnu.org/projects/mdk/' and 32;; GNU MDK from `https://savannah.gnu.org/projects/mdk/' and
33;; `ftp://ftp.gnu.org/pub/gnu/mdk'. 33;; `ftp://ftp.gnu.org/pub/gnu/mdk'.
34;; 34;;
35;; To use this mode, place the following in your .emacs file: 35;; To use this mode, place the following in your .emacs file:
36;; `(load-file "/PATH-TO-FILE/mixal-mode.el")'. 36;; `(load-file "/PATH-TO-FILE/mixal-mode.el")'.
37;; When you load a file with the extension .mixal the mode will be started 37;; When you load a file with the extension .mixal the mode will be started
38;; automatic. If you want to start the mode manual, use `M-x mixal-mode'. 38;; automatic. If you want to start the mode manual, use `M-x mixal-mode'.
39;; Font locking will work, the behavior of tabs is the same as emacs 39;; Font locking will work, the behavior of tabs is the same as Emacs's
40;; default behavior. You can compile a source file with `C-c c' you can 40;; default behavior. You can compile a source file with `C-c c' you can
41;; run a compiled file with `C-c r' or run it in debug mode with `C-c d'. 41;; run a compiled file with `C-c r' or run it in debug mode with `C-c d'.
42;; You can get more information about a particular operation code by using 42;; You can get more information about a particular operation code by using
43;; mixal-describe-operation-code or `C-h o'. 43;; mixal-describe-operation-code or `C-h o'.
@@ -45,6 +45,23 @@
45;; Have fun. 45;; Have fun.
46 46
47;;; History: 47;;; History:
48;; Version 0.3:
49;; 12/10/05: Stefan Monnier <monnier@iro.umontreal.ca>
50;; Use font-lock-syntactic-keywords to detect/mark comments.
51;; Use [^ \t\n]+ to match the operand part of a line.
52;; Drop mixal-operation-codes.
53;; Build the mixal-operation-codes-alist immediately.
54;; Use `interactive' in mixal-describe-operation-code.
55;; Remove useless ".*$" at the end of some regexps.
56;; Fix the definition of comment-start-skip.
57;; 08/10/05: sync mdk and emacs cvs
58;; from emacs: compile-command and require-final-newline
59;; from mdk: see version 0.2
60;; correct my email address
61;; Version 0.2:
62;; 06/04/05: mixasm no longer needs -g option
63;; fontlocking of comments works in all? cases now
64;; added some more mixal-operation-codes
48;; Version 0.1: 65;; Version 0.1:
49;; Version 0.1.1: 66;; Version 0.1.1:
50;; 22/11/02: bugfix in fontlocking, needed to add a '-' to the regex. 67;; 22/11/02: bugfix in fontlocking, needed to add a '-' to the regex.
@@ -54,7 +71,6 @@
54;; 09/11/02: started mixal-mode. 71;; 09/11/02: started mixal-mode.
55 72
56;;; Code: 73;;; Code:
57
58(defvar compile-command) 74(defvar compile-command)
59 75
60;;; Key map 76;;; Key map
@@ -66,15 +82,17 @@
66 (define-key map "\C-ho" 'mixal-describe-operation-code) 82 (define-key map "\C-ho" 'mixal-describe-operation-code)
67 map) 83 map)
68 "Keymap for `mixal-mode'.") 84 "Keymap for `mixal-mode'.")
69; (makunbound 'mixal-mode-map) 85;; (makunbound 'mixal-mode-map)
70 86
71;;; Syntax table 87;;; Syntax table
72(defvar mixal-mode-syntax-table 88(defvar mixal-mode-syntax-table
73 (let ((st (make-syntax-table))) 89 (let ((st (make-syntax-table)))
74 (modify-syntax-entry ?* "<" st) 90 ;; We need to do a bit more to make fontlocking for comments work.
91 ;; See mixal-font-lock-syntactic-keywords.
92 ;; (modify-syntax-entry ?* "<" st)
75 (modify-syntax-entry ?\n ">" st) 93 (modify-syntax-entry ?\n ">" st)
76 st) 94 st)
77 "Syntax table for `dot-mode'.") 95 "Syntax table for `mixal-mode'.")
78 96
79(defvar mixal-font-lock-label-face 'font-lock-variable-name-face 97(defvar mixal-font-lock-label-face 'font-lock-variable-name-face
80 "Face name to use for label names. 98 "Face name to use for label names.
@@ -91,43 +109,9 @@ value.")
91Default value is that of `font-lock-builtin-face', but you can modify its 109Default value is that of `font-lock-builtin-face', but you can modify its
92value.") 110value.")
93 111
94(defvar mixal-operation-codes
95 '("NOP" "ADD" "FADD" "SUB" "FSUB" "MUL" "FMUL" "DIV" "FDIV" "NUM" "CHAR"
96 "HLT" "SLA" "SRA" "SLAX" "SRAX" "SLC" "SRC" "MOVE" "LDA" "LD1" "LD2" "LD3"
97 "LD4" "LD5" "LD6" "LDX" "LDAN" "LD1N" "LD2N" "LD3N" "LD4N" "LD5N" "LD6N"
98 "LDXN" "STA" "ST1" "ST2" "ST3" "ST4" "ST5" "ST6" "STX" "STJ" "STZ" "JBUS"
99 "IOC" "IN" "OUT" "JRAD" "JMP" "JSJ" "JOV" "JNOV"
100 "JAN" "J1N" "J2N" "J3N" "J4N" "J5N" "J6N" "JXN"
101 "JAZ" "J1Z" "J2Z" "J3Z" "J4Z" "J5Z" "J6Z" "JXZ"
102 "JAP" "J1P" "J2P" "J3P" "J4P" "J5P" "J6P" "JXP"
103 "JANN" "J1NN" "J2NN" "J3NN" "J4NN" "J5NN" "J6NN" "JXNN"
104 "JANZ" "J1NZ" "J2NZ" "J3NZ" "J4NZ" "J5NZ" "J6NZ" "JXNZ"
105 "JANP" "J1NP" "J2NP" "J3NP" "J4NP" "J5NP" "J6NP" "JXNP"
106 "INCA" "DECA" "ENTA" "ENNA" "INC1" "DEC1" "ENT1" "ENN1"
107 "INC2" "DEC2" "ENT2" "ENN2" "INC3" "DEC3" "ENT3" "ENN3" "INC4" "DEC4"
108 "ENT4" "ENN4" "INC5" "DEC5" "ENT5" "ENN5" "INC6" "DEC6" "ENT6" "ENN6"
109 "INCX" "DECX" "ENTX" "ENNX" "CMPA" "FCMP" "CMP1" "CMP2" "CMP3" "CMP4"
110 "CMP5" "CMP6" "CMPX")
111 "List of possible operation codes as strings.")
112; (makunbound 'mixal-operation-codes)
113
114(defvar mixal-assembly-pseudoinstructions 112(defvar mixal-assembly-pseudoinstructions
115 '("ORIG" "EQU" "CON" "ALF" "END") 113 '("ORIG" "EQU" "CON" "ALF" "END")
116 "List of possible assembly pseudoinstructions") 114 "List of possible assembly pseudoinstructions.")
117
118;;; Font-locking:
119(defvar mixal-font-lock-keywords
120 `(("^\\([A-Z0-9a-z]+\\).*$"
121 (1 mixal-font-lock-label-face))
122 (,(regexp-opt mixal-operation-codes 'words)
123 . mixal-font-lock-operation-code-face)
124 (,(regexp-opt
125 mixal-assembly-pseudoinstructions 'words)
126 . mixal-font-lock-assembly-pseudoinstruction-face)
127 ("^[A-Z0-9a-z]*[ \t]+[A-Z0-9a-z]+[ \t]+[\\-A-Z0-9a-z,():]*[\t]+\\(.*\\)$"
128 (1 font-lock-comment-face)))
129 "Keyword highlighting specification for `mixal-mode'.")
130; (makunbound 'mixal-font-lock-keywords)
131 115
132;;;; Compilation 116;;;; Compilation
133;; Output from mixasm is compatible with default behavior of emacs, 117;; Output from mixasm is compatible with default behavior of emacs,
@@ -137,1121 +121,940 @@ value.")
137;; Tabs works well by default. 121;; Tabs works well by default.
138 122
139;;;; Describe 123;;;; Describe
140(defvar mixal-operation-codes-alist '() 124(defvar mixal-operation-codes-alist
141 "Alist that contains all the possible operation codes for mix. 125 ;; FIXME: the codes FADD, FSUB, FMUL, FDIV, JRAD, and FCMP were in
142Each elt has the form (OP-CODE GROUP FULL-NAME C-BYTE F-BYTE DESCRIPTION EXECUTION-TIME) 126 ;; mixal-operation-codes but not here. They should probably be added here.
143Where OP-CODE is the text of the opcode as an symbol, FULL-NAME is the human readable name 127 ;;
144as a string, C-BYTE is the operation code telling what operation is to be performed, F-BYTE holds 128 ;; We used to define this with a backquote and subexps like ,(+ 8 3) for
145an modification of the operation code which can be a symbol or a number, DESCRIPTION contains 129 ;; better clarity, but the resulting code was too big and caused the
146an string with a description about the operation code and EXECUTION-TIME holds info 130 ;; byte-compiler to eat up all the stack space. Even using
147about the time it takes, number or string.") 131 ;; `eval-when-compile' didn't help because the byte-compiler insists on
148; (makunbound 'mixal-operation-codes-alist) 132 ;; compiling the code before evaluating it.
149 133 '((LDA loading "load A" 8 field
150(defun mixal-add-operation-code (op-code group full-name C-byte F-byte description execution-time) 134 "Put in rA the contents of cell no. M.
151 "Add an operation code to the list that contains information about possible op code's."
152 (setq mixal-operation-codes-alist (cons (list op-code group full-name C-byte F-byte
153 description execution-time)
154 mixal-operation-codes-alist )))
155
156;; now add each operation code
157
158(mixal-add-operation-code
159 'LDA 'loading "load A" 8 'field
160 "Put in rA the contents of cell no. M.
161Uses a + when there is no sign in subfield. Subfield is left padded with 135Uses a + when there is no sign in subfield. Subfield is left padded with
162zeros to make a word." 136zeros to make a word."
163 2) 137 2)
164 138
165(mixal-add-operation-code 139 (LDX loading "load X" 15 field
166 'LDX 'loading "load X" 15 'field 140 "Put in rX the contents of cell no. M.
167 "Put in rX the contents of cell no. M.
168Uses a + when there is no sign in subfield. Subfield is left padded with 141Uses a + when there is no sign in subfield. Subfield is left padded with
169zeros to make a word." 142zeros to make a word."
170 2) 143 2)
171 144
172(mixal-add-operation-code 145 (LD1 loading "load I1" 9 field
173 'LD1 'loading "load I1" (+ 8 1) 'field 146 "Put in rI1 the contents of cell no. M.
174 "Put in rI1 the contents of cell no. M.
175Uses a + when there is no sign in subfield. Subfield is left padded with 147Uses a + when there is no sign in subfield. Subfield is left padded with
176zeros to make a word. Index registers only have 2 bytes and a sign, Trying 148zeros to make a word. Index registers only have 2 bytes and a sign, Trying
177to set anything more that that will result in undefined behavior." 149to set anything more that that will result in undefined behavior."
178 2) 150 2)
179 151
180(mixal-add-operation-code 152 (LD2 loading "load I2" 10 field
181 'LD2 'loading "load I2" (+ 8 2) 'field 153 "Put in rI2 the contents of cell no. M.
182 "Put in rI2 the contents of cell no. M.
183Uses a + when there is no sign in subfield. Subfield is left padded with 154Uses a + when there is no sign in subfield. Subfield is left padded with
184zeros to make a word. Index registers only have 2 bytes and a sign, Trying 155zeros to make a word. Index registers only have 2 bytes and a sign, Trying
185to set anything more that that will result in undefined behavior." 156to set anything more that that will result in undefined behavior."
186 2) 157 2)
187 158
188(mixal-add-operation-code 159 (LD3 loading "load I3" 11 field
189 'LD3 'loading "load I3" (+ 8 3) 'field 160 "Put in rI3 the contents of cell no. M.
190 "Put in rI3 the contents of cell no. M.
191Uses a + when there is no sign in subfield. Subfield is left padded with 161Uses a + when there is no sign in subfield. Subfield is left padded with
192zeros to make a word. Index registers only have 2 bytes and a sign, Trying 162zeros to make a word. Index registers only have 2 bytes and a sign, Trying
193to set anything more that that will result in undefined behavior." 163to set anything more that that will result in undefined behavior."
194 2) 164 2)
195 165
196(mixal-add-operation-code 166 (LD4 loading "load I4" 12 field
197 'LD4 'loading "load I4" (+ 8 4) 'field 167 "Put in rI4 the contents of cell no. M.
198 "Put in rI4 the contents of cell no. M.
199Uses a + when there is no sign in subfield. Subfield is left padded with 168Uses a + when there is no sign in subfield. Subfield is left padded with
200zeros to make a word. Index registers only have 2 bytes and a sign, Trying 169zeros to make a word. Index registers only have 2 bytes and a sign, Trying
201to set anything more that that will result in undefined behavior." 170to set anything more that that will result in undefined behavior."
202 2) 171 2)
203 172
204(mixal-add-operation-code 173 (LD5 loading "load I5" 13 field
205 'LD5 'loading "load I5" (+ 8 5) 'field 174 "Put in rI5 the contents of cell no. M.
206 "Put in rI5 the contents of cell no. M.
207Uses a + when there is no sign in subfield. Subfield is left padded with 175Uses a + when there is no sign in subfield. Subfield is left padded with
208zeros to make a word. Index registers only have 2 bytes and a sign, Trying 176zeros to make a word. Index registers only have 2 bytes and a sign, Trying
209to set anything more that that will result in undefined behavior." 177to set anything more that that will result in undefined behavior."
210 2) 178 2)
211 179
212(mixal-add-operation-code 180 (LD6 loading "load I6" 14 field
213 'LD6 'loading "load I6" (+ 8 6) 'field 181 "Put in rI6 the contents of cell no. M.
214 "Put in rI6 the contents of cell no. M.
215Uses a + when there is no sign in subfield. Subfield is left padded with 182Uses a + when there is no sign in subfield. Subfield is left padded with
216zeros to make a word. Index registers only have 2 bytes and a sign, Trying 183zeros to make a word. Index registers only have 2 bytes and a sign, Trying
217to set anything more that that will result in undefined behavior." 184to set anything more that that will result in undefined behavior."
218 2) 185 2)
219 186
220(mixal-add-operation-code 187 (LDAN loading "load A negative" 16 field
221 'LDAN 'loading "load A negative" 16 'field 188 "Put in rA the contents of cell no. M, with opposite sign.
222 "Put in rA the contents of cell no. M, with opposite sign.
223Uses a + when there is no sign in subfield, otherwise use the opposite sign. 189Uses a + when there is no sign in subfield, otherwise use the opposite sign.
224Subfield is left padded with zeros to make a word." 190Subfield is left padded with zeros to make a word."
225 2) 191 2)
226 192
227(mixal-add-operation-code 193 (LDXN loading "load X negative" 23 field
228 'LDXN 'loading "load X negative" 23 'field 194 "Put in rX the contents of cell no. M, with opposite sign.
229 "Put in rX the contents of cell no. M, with opposite sign.
230Uses a + when there is no sign in subfield, otherwise use the opposite sign. 195Uses a + when there is no sign in subfield, otherwise use the opposite sign.
231Subfield is left padded with zeros to make a word." 196Subfield is left padded with zeros to make a word."
232 2) 197 2)
233 198
234(mixal-add-operation-code 199 (LD1N loading "load I1 negative" 17 field
235 'LD1N 'loading "load I1 negative" (+ 16 1) 'field 200 "Put in rI1 the contents of cell no. M, with opposite sign.
236 "Put in rI1 the contents of cell no. M, with opposite sign.
237Uses a + when there is no sign in subfield, otherwise use the opposite sign. 201Uses a + when there is no sign in subfield, otherwise use the opposite sign.
238Subfield is left padded with zeros to make a word. Index registers only 202Subfield is left padded with zeros to make a word. Index registers only
239have 2 bytes and a sign, Trying to set anything more that that will result 203have 2 bytes and a sign, Trying to set anything more that that will result
240in undefined behavior." 204in undefined behavior."
241 2) 205 2)
242 206
243(mixal-add-operation-code 207 (LD2N loading "load I2 negative" 18 field
244 'LD2N 'loading "load I2 negative" (+ 16 2) 'field 208 "Put in rI2 the contents of cell no. M, with opposite sign.
245 "Put in rI2 the contents of cell no. M, with opposite sign.
246Uses a + when there is no sign in subfield, otherwise use the opposite sign. 209Uses a + when there is no sign in subfield, otherwise use the opposite sign.
247Subfield is left padded with zeros to make a word. Index registers only 210Subfield is left padded with zeros to make a word. Index registers only
248have 2 bytes and a sign, Trying to set anything more that that will result 211have 2 bytes and a sign, Trying to set anything more that that will result
249in undefined behavior." 212in undefined behavior."
250 2) 213 2)
251 214
252(mixal-add-operation-code 215 (LD3N loading "load I3 negative" 19 field
253 'LD3N 'loading "load I3 negative" (+ 16 3) 'field 216 "Put in rI3 the contents of cell no. M, with opposite sign.
254 "Put in rI3 the contents of cell no. M, with opposite sign.
255Uses a + when there is no sign in subfield, otherwise use the opposite sign. 217Uses a + when there is no sign in subfield, otherwise use the opposite sign.
256Subfield is left padded with zeros to make a word. Index registers only 218Subfield is left padded with zeros to make a word. Index registers only
257have 2 bytes and a sign, Trying to set anything more that that will result 219have 2 bytes and a sign, Trying to set anything more that that will result
258in undefined behavior." 220in undefined behavior."
259 2) 221 2)
260 222
261(mixal-add-operation-code 223 (LD4N loading "load I4 negative" 20 field
262 'LD4N 'loading "load I4 negative" (+ 16 4) 'field 224 "Put in rI4 the contents of cell no. M, with opposite sign.
263 "Put in rI4 the contents of cell no. M, with opposite sign.
264Uses a + when there is no sign in subfield, otherwise use the opposite sign. 225Uses a + when there is no sign in subfield, otherwise use the opposite sign.
265Subfield is left padded with zeros to make a word. Index registers only 226Subfield is left padded with zeros to make a word. Index registers only
266have 2 bytes and a sign, Trying to set anything more that that will result 227have 2 bytes and a sign, Trying to set anything more that that will result
267in undefined behavior." 228in undefined behavior."
268 2) 229 2)
269 230
270(mixal-add-operation-code 231 (LD5N loading "load I5 negative" 21 field
271 'LD5N 'loading "load I5 negative" (+ 16 5) 'field 232 "Put in rI5 the contents of cell no. M, with opposite sign.
272 "Put in rI5 the contents of cell no. M, with opposite sign.
273Uses a + when there is no sign in subfield, otherwise use the opposite sign. 233Uses a + when there is no sign in subfield, otherwise use the opposite sign.
274Subfield is left padded with zeros to make a word. Index registers only 234Subfield is left padded with zeros to make a word. Index registers only
275have 2 bytes and a sign, Trying to set anything more that that will result 235have 2 bytes and a sign, Trying to set anything more that that will result
276in undefined behavior." 236in undefined behavior."
277 2) 237 2)
278 238
279(mixal-add-operation-code 239 (LD6N loading "load I6 negative" 22 field
280 'LD6N 'loading "load I6 negative" (+ 16 6) 'field 240 "Put in rI6 the contents of cell no. M, with opposite sign.
281 "Put in rI6 the contents of cell no. M, with opposite sign.
282Uses a + when there is no sign in subfield, otherwise use the opposite sign. 241Uses a + when there is no sign in subfield, otherwise use the opposite sign.
283Subfield is left padded with zeros to make a word. Index registers only 242Subfield is left padded with zeros to make a word. Index registers only
284have 2 bytes and a sign, Trying to set anything more that that will result 243have 2 bytes and a sign, Trying to set anything more that that will result
285in undefined behavior." 244in undefined behavior."
286 2) 245 2)
287 246
288(mixal-add-operation-code 247 (STA storing "store A" 24 field
289 'STA 'storing "store A" 24 'field 248 "Store in cell Nr. M the contents of rA.
290 "Store in cell Nr. M the contents of rA.
291The modification of the operation code represents the subfield of the 249The modification of the operation code represents the subfield of the
292memory cell that is to be overwritten with bytes from a register. These 250memory cell that is to be overwritten with bytes from a register. These
293bytes are taken beginning by the rightmost side of the register. The 251bytes are taken beginning by the rightmost side of the register. The
294sign of the memory cell is not changed, unless it is part of the subfield." 252sign of the memory cell is not changed, unless it is part of the subfield."
295 2) 253 2)
296 254
297(mixal-add-operation-code 255 (STX storing "store X" 31 field
298 'STX 'storing "store X" 31 'field 256 "Store in cell Nr. M the contents of rX.
299 "Store in cell Nr. M the contents of rX.
300The modification of the operation code represents the subfield of the 257The modification of the operation code represents the subfield of the
301memory cell that is to be overwritten with bytes from a register. These 258memory cell that is to be overwritten with bytes from a register. These
302bytes are taken beginning by the rightmost side of the register. The 259bytes are taken beginning by the rightmost side of the register. The
303sign of the memory cell is not changed, unless it is part of the subfield." 260sign of the memory cell is not changed, unless it is part of the subfield."
304 2) 261 2)
305 262
306(mixal-add-operation-code 263 (ST1 storing "store I1" 25 field
307 'ST1 'storing "store I1" (+ 24 1) 'field 264 "Store in cell Nr. M the contents of rI1.
308 "Store in cell Nr. M the contents of rI1.
309The modification of the operation code represents the subfield of the 265The modification of the operation code represents the subfield of the
310memory cell that is to be overwritten with bytes from a register. These 266memory cell that is to be overwritten with bytes from a register. These
311bytes are taken beginning by the rightmost side of the register. The 267bytes are taken beginning by the rightmost side of the register. The
312sign of the memory cell is not changed, unless it is part of the subfield. 268sign of the memory cell is not changed, unless it is part of the subfield.
313Because index registers only have 2 bytes and a sign, the rest of the bytes 269Because index registers only have 2 bytes and a sign, the rest of the bytes
314are assumed to be 0." 270are assumed to be 0."
315 2) 271 2)
316 272
317(mixal-add-operation-code 273 (ST2 storing "store I2" 26 field
318 'ST2 'storing "store I2" (+ 24 2) 'field 274 "Store in cell Nr. M the contents of rI2.
319 "Store in cell Nr. M the contents of rI2.
320The modification of the operation code represents the subfield of the 275The modification of the operation code represents the subfield of the
321memory cell that is to be overwritten with bytes from a register. These 276memory cell that is to be overwritten with bytes from a register. These
322bytes are taken beginning by the rightmost side of the register. The 277bytes are taken beginning by the rightmost side of the register. The
323sign of the memory cell is not changed, unless it is part of the subfield. 278sign of the memory cell is not changed, unless it is part of the subfield.
324Because index registers only have 2 bytes and a sign, the rest of the bytes 279Because index registers only have 2 bytes and a sign, the rest of the bytes
325are assumed to be 0." 280are assumed to be 0."
326 2) 281 2)
327 282
328(mixal-add-operation-code 283 (ST3 storing "store I3" 27 field
329 'ST3 'storing "store I3" (+ 24 3) 'field 284 "Store in cell Nr. M the contents of rI3.
330 "Store in cell Nr. M the contents of rI3.
331The modification of the operation code represents the subfield of the 285The modification of the operation code represents the subfield of the
332memory cell that is to be overwritten with bytes from a register. These 286memory cell that is to be overwritten with bytes from a register. These
333bytes are taken beginning by the rightmost side of the register. The 287bytes are taken beginning by the rightmost side of the register. The
334sign of the memory cell is not changed, unless it is part of the subfield. 288sign of the memory cell is not changed, unless it is part of the subfield.
335Because index registers only have 2 bytes and a sign, the rest of the bytes 289Because index registers only have 2 bytes and a sign, the rest of the bytes
336are assumed to be 0." 290are assumed to be 0."
337 2) 291 2)
338 292
339(mixal-add-operation-code 293 (ST4 storing "store I4" 28 field
340 'ST4 'storing "store I4" (+ 24 4) 'field 294 "Store in cell Nr. M the contents of rI4.
341 "Store in cell Nr. M the contents of rI4.
342The modification of the operation code represents the subfield of the 295The modification of the operation code represents the subfield of the
343memory cell that is to be overwritten with bytes from a register. These 296memory cell that is to be overwritten with bytes from a register. These
344bytes are taken beginning by the rightmost side of the register. The 297bytes are taken beginning by the rightmost side of the register. The
345sign of the memory cell is not changed, unless it is part of the subfield. 298sign of the memory cell is not changed, unless it is part of the subfield.
346Because index registers only have 2 bytes and a sign, the rest of the bytes 299Because index registers only have 2 bytes and a sign, the rest of the bytes
347are assumed to be 0." 300are assumed to be 0."
348 2) 301 2)
349 302
350(mixal-add-operation-code 303 (ST5 storing "store I5" 29 field
351 'ST5 'storing "store I5" (+ 24 5) 'field 304 "Store in cell Nr. M the contents of rI5.
352 "Store in cell Nr. M the contents of rI5.
353The modification of the operation code represents the subfield of the 305The modification of the operation code represents the subfield of the
354memory cell that is to be overwritten with bytes from a register. These 306memory cell that is to be overwritten with bytes from a register. These
355bytes are taken beginning by the rightmost side of the register. The 307bytes are taken beginning by the rightmost side of the register. The
356sign of the memory cell is not changed, unless it is part of the subfield. 308sign of the memory cell is not changed, unless it is part of the subfield.
357Because index registers only have 2 bytes and a sign, the rest of the bytes 309Because index registers only have 2 bytes and a sign, the rest of the bytes
358are assumed to be 0." 310are assumed to be 0."
359 2) 311 2)
360 312
361(mixal-add-operation-code 313 (ST6 storing "store I6" 30 field
362 'ST6 'storing "store I6" (+ 24 6) 'field 314 "Store in cell Nr. M the contents of rI6.
363 "Store in cell Nr. M the contents of rI6.
364The modification of the operation code represents the subfield of the 315The modification of the operation code represents the subfield of the
365memory cell that is to be overwritten with bytes from a register. These 316memory cell that is to be overwritten with bytes from a register. These
366bytes are taken beginning by the rightmost side of the register. The 317bytes are taken beginning by the rightmost side of the register. The
367sign of the memory cell is not changed, unless it is part of the subfield. 318sign of the memory cell is not changed, unless it is part of the subfield.
368Because index registers only have 2 bytes and a sign, the rest of the bytes 319Because index registers only have 2 bytes and a sign, the rest of the bytes
369are assumed to be 0." 320are assumed to be 0."
370 2) 321 2)
371 322
372(mixal-add-operation-code 323 (STJ storing "store J" 32 field
373 'STJ 'storing "store J" 32 'field 324 "Store in cell Nr. M the contents of rJ.
374 "Store in cell Nr. M the contents of rJ.
375The modification of the operation code represents the subfield of the 325The modification of the operation code represents the subfield of the
376memory cell that is to be overwritten with bytes from a register. These 326memory cell that is to be overwritten with bytes from a register. These
377bytes are taken beginning by the rightmost side of the register. The sign 327bytes are taken beginning by the rightmost side of the register. The sign
378of rJ is always +, sign of the memory cell is not changed, unless it is 328of rJ is always +, sign of the memory cell is not changed, unless it is
379part of the subfield. The default field for STJ is (0:2)." 329part of the subfield. The default field for STJ is (0:2)."
380 2) 330 2)
381 331
382(mixal-add-operation-code 332 (STZ storing "store zero" 33 field
383 'STZ 'storing "store zero" 33 'field 333 "Store in cell Nr. M '+ 0'.
384 "Store in cell Nr. M '+ 0'.
385The modification of the operation code represents the subfield of the 334The modification of the operation code represents the subfield of the
386memory cell that is to be overwritten with zeros." 335memory cell that is to be overwritten with zeros."
387 2) 336 2)
388 337
389(mixal-add-operation-code 338 (ADD arithmetic "add" 1 field
390 'ADD 'arithmetic "add" 1 'field 339 "Add to A the contents of cell Nr. M.
391 "Add to A the contents of cell Nr. M.
392Subfield is padded with zero to make a word. 340Subfield is padded with zero to make a word.
393If the result is to large, the operation result modulo 1,073,741,823 (the 341If the result is to large, the operation result modulo 1,073,741,823 (the
394maximum value storable in a MIX word) is stored in `rA', and the overflow 342maximum value storable in a MIX word) is stored in `rA', and the overflow
395toggle is set to TRUE." 343toggle is set to TRUE."
396 2) 344 2)
397 345
398(mixal-add-operation-code 346 (SUB arithmetic "subtract" 2 field
399 'SUB 'arithmetic "subtract" 2 'field 347 "Subtract to A the contents of cell Nr. M.
400 "Subtract to A the contents of cell Nr. M.
401Subfield is padded with zero to make a word. 348Subfield is padded with zero to make a word.
402If the result is to large, the operation result modulo 1,073,741,823 (the 349If the result is to large, the operation result modulo 1,073,741,823 (the
403maximum value storable in a MIX word) is stored in `rA', and the overflow 350maximum value storable in a MIX word) is stored in `rA', and the overflow
404toggle is set to TRUE." 351toggle is set to TRUE."
405 2) 352 2)
406 353
407(mixal-add-operation-code 354 (MUL arithmetic "multiply" 3 field
408 'MUL 'arithmetic "multiply" 3 'field 355 "Multiplies the contents of cell Nr. M with A, result is 10 bytes and stored in rA and rX.
409 "Multiplies the contents of cell Nr. M with A, result is 10 bytes and stored in rA and rX.
410The sign is + if the sign of rA and cell M where the same, otherwise, it is -" 356The sign is + if the sign of rA and cell M where the same, otherwise, it is -"
411 10) 357 10)
412 358
413(mixal-add-operation-code 359 (DIV arithmetic "divide" 4 field
414 'DIV 'arithmetic "divide" 4 'field 360 "Both rA and rX are taken together and divided by cell Nr. M, quotient is placed in rA, remainder in rX.
415 "Both rA and rX are taken together and divided by cell Nr. M, quotient is placed in rA, remainder in rX.
416The sign is taken from rA, and after the divide the sign of rA is set to + when 361The sign is taken from rA, and after the divide the sign of rA is set to + when
417both the sign of rA and M where the same. Divide by zero and overflow of rA result 362both the sign of rA and M where the same. Divide by zero and overflow of rA
418in undefined behavior." 363result in undefined behavior."
419 12) 364 12)
420 365
421(mixal-add-operation-code 366 (ENTA address-transfer "enter A" 48
422 'ENTA 'address-transfer "enter A" 48 2 367 "Literal value is stored in rA.
423 "Literal value is stored in rA.
424Indexed, stores value of index in rA." 368Indexed, stores value of index in rA."
425 1) 369 1)
426 370
427(mixal-add-operation-code 371 (ENTX address-transfer "enter X" 55
428 'ENTX 'address-transfer "enter X" 55 2 372 "Literal value is stored in rX.
429 "Literal value is stored in rX.
430Indexed, stores value of index in rX." 373Indexed, stores value of index in rX."
431 1) 374 1)
432 375
433(mixal-add-operation-code 376 (ENT1 address-transfer "Enter rI1" 49
434 'ENT1 'address-transfer "Enter rI1" (+ 48 1) 2 377 "Literal value is stored in rI1.
435 "Literal value is stored in rI1.
436Indexed, stores value of index in rI1." 378Indexed, stores value of index in rI1."
437 1) 379 1)
438 380
439(mixal-add-operation-code 381 (ENT2 address-transfer "Enter rI2" 50
440 'ENT2 'address-transfer "Enter rI2" (+ 48 2) 2 382 "Literal value is stored in rI2.
441 "Literal value is stored in rI2.
442Indexed, stores value of index in rI2." 383Indexed, stores value of index in rI2."
443 1) 384 1)
444 385
445(mixal-add-operation-code 386 (ENT3 address-transfer "Enter rI3" 51
446 'ENT3 'address-transfer "Enter rI3" (+ 48 3) 2 387 "Literal value is stored in rI3.
447 "Literal value is stored in rI3.
448Indexed, stores value of index in rI3." 388Indexed, stores value of index in rI3."
449 1) 389 1)
450 390
451(mixal-add-operation-code 391 (ENT4 address-transfer "Enter rI4" 52
452 'ENT4 'address-transfer "Enter rI4" (+ 48 4) 2 392 "Literal value is stored in rI4.
453 "Literal value is stored in rI4.
454Indexed, stores value of index in rI4." 393Indexed, stores value of index in rI4."
455 1) 394 1)
456 395
457(mixal-add-operation-code 396 (ENT5 address-transfer "Enter rI5" 53
458 'ENT5 'address-transfer "Enter rI5" (+ 48 5) 2 397 "Literal value is stored in rI5.
459 "Literal value is stored in rI5.
460Indexed, stores value of index in rI5." 398Indexed, stores value of index in rI5."
461 1) 399 1)
462 400
463(mixal-add-operation-code 401 (ENT6 address-transfer "Enter rI6" 54
464 'ENT6 'address-transfer "Enter rI6" (+ 48 6) 2 402 "Literal value is stored in rI6.
465 "Literal value is stored in rI6.
466Indexed, stores value of index in rI6." 403Indexed, stores value of index in rI6."
467 1) 404 1)
468 405
469(mixal-add-operation-code 406 (ENNA address-transfer "enter negative A" 48
470 'ENNA 'address-transfer "enter negative A" 48 3 407 "Literal value is stored in rA with opposite sign.
471 "Literal value is stored in rA with opposite sign.
472Indexed, stores value of index in rA with opposite sign." 408Indexed, stores value of index in rA with opposite sign."
473 1) 409 1)
474 410
475(mixal-add-operation-code 411 (ENNX address-transfer "enter negative X" 55
476 'ENNX 'address-transfer "enter negative X" 55 3 412 "Literal value is stored in rX with opposite sign.
477 "Literal value is stored in rX with opposite sign.
478Indexed, stores value of index in rX with opposite sign." 413Indexed, stores value of index in rX with opposite sign."
479 1) 414 1)
480 415
481(mixal-add-operation-code 416 (ENN1 address-transfer "Enter negative rI1" 49
482 'ENN1 'address-transfer "Enter negative rI1" (+ 48 1) 3 417 "Literal value is stored in rI1 with opposite sign.
483 "Literal value is stored in rI1 with opposite sign.
484Indexed, stores value of index in rI1 with opposite sign." 418Indexed, stores value of index in rI1 with opposite sign."
485 1) 419 1)
486 420
487(mixal-add-operation-code 421 (ENN2 address-transfer "Enter negative rI2" 50
488 'ENN2 'address-transfer "Enter negative rI2" (+ 48 2) 3 422 "Literal value is stored in rI2 with opposite sign.
489 "Literal value is stored in rI2 with opposite sign.
490Indexed, stores value of index in rI2 with opposite sign." 423Indexed, stores value of index in rI2 with opposite sign."
491 1) 424 1)
492 425
493(mixal-add-operation-code 426 (ENN3 address-transfer "Enter negative rI3" 51
494 'ENN3 'address-transfer "Enter negative rI3" (+ 48 3) 3 427 "Literal value is stored in rI3 with opposite sign.
495 "Literal value is stored in rI3 with opposite sign.
496Indexed, stores value of index in rI3 with opposite sign." 428Indexed, stores value of index in rI3 with opposite sign."
497 1) 429 1)
498 430
499(mixal-add-operation-code 431 (ENN4 address-transfer "Enter negative rI4" 52
500 'ENN4 'address-transfer "Enter negative rI4" (+ 48 4) 3 432 "Literal value is stored in rI4 with opposite sign.
501 "Literal value is stored in rI4 with opposite sign.
502Indexed, stores value of index in rI4 with opposite sign." 433Indexed, stores value of index in rI4 with opposite sign."
503 1) 434 1)
504 435
505(mixal-add-operation-code 436 (ENN5 address-transfer "Enter negative rI5" 53
506 'ENN5 'address-transfer "Enter negative rI5" (+ 48 5) 3 437 "Literal value is stored in rI5 with opposite sign.
507 "Literal value is stored in rI5 with opposite sign.
508Indexed, stores value of index in rI5 with opposite sign." 438Indexed, stores value of index in rI5 with opposite sign."
509 1) 439 1)
510 440
511(mixal-add-operation-code 441 (ENN6 address-transfer "Enter negative rI6" 54
512 'ENN6 'address-transfer "Enter negative rI6" (+ 48 6) 3 442 "Literal value is stored in rI6 with opposite sign.
513 "Literal value is stored in rI6 with opposite sign.
514Indexed, stores value of index in rI6 with opposite sign." 443Indexed, stores value of index in rI6 with opposite sign."
515 1) 444 1)
516 445
517(mixal-add-operation-code 446 (INCA address-transfer "increase A" 48
518 'INCA 'address-transfer "increase A" 48 0 447 "Increase register A with the literal value of M.
519 "Increase register A with the literal value of M.
520On overflow the overflow toggle is set." 448On overflow the overflow toggle is set."
521 1) 449 1)
522 450
523(mixal-add-operation-code 451 (INCX address-transfer "increase X" 55
524 'INCX 'address-transfer "increase X" 55 0 452 "Increase register X with the literal value of M.
525 "Increase register X with the literal value of M.
526On overflow the overflow toggle is set." 453On overflow the overflow toggle is set."
527 1) 454 1)
528 455
529(mixal-add-operation-code 456 (INC1 address-transfer "increase I1" 49
530 'INC1 'address-transfer "increase I1" (+ 48 1) 0 457 "Increase register I1 with the literal value of M.
531 "Increase register I1 with the literal value of M.
532The result is undefined when the result does not fit in 458The result is undefined when the result does not fit in
5332 bytes." 4592 bytes."
534 1) 460 1)
535 461
536(mixal-add-operation-code 462 (INC2 address-transfer "increase I2" 50
537 'INC2 'address-transfer "increase I2" (+ 48 2) 0 463 "Increase register I2 with the literal value of M.
538 "Increase register I2 with the literal value of M.
539The result is undefined when the result does not fit in 464The result is undefined when the result does not fit in
5402 bytes." 4652 bytes."
541 1) 466 1)
542 467
543(mixal-add-operation-code 468 (INC3 address-transfer "increase I3" 51
544 'INC3 'address-transfer "increase I3" (+ 48 3) 0 469 "Increase register I3 with the literal value of M.
545 "Increase register I3 with the literal value of M.
546The result is undefined when the result does not fit in 470The result is undefined when the result does not fit in
5472 bytes." 4712 bytes."
548 1) 472 1)
549 473
550(mixal-add-operation-code 474 (INC4 address-transfer "increase I4" 52
551 'INC4 'address-transfer "increase I4" (+ 48 4) 0 475 "Increase register I4 with the literal value of M.
552 "Increase register I4 with the literal value of M.
553The result is undefined when the result does not fit in 476The result is undefined when the result does not fit in
5542 bytes." 4772 bytes."
555 1) 478 1)
556 479
557(mixal-add-operation-code 480 (INC5 address-transfer "increase I5" 53
558 'INC5 'address-transfer "increase I5" (+ 48 5) 0 481 "Increase register I5 with the literal value of M.
559 "Increase register I5 with the literal value of M.
560The result is undefined when the result does not fit in 482The result is undefined when the result does not fit in
5612 bytes." 4832 bytes."
562 1) 484 1)
563 485
564(mixal-add-operation-code 486 (INC6 address-transfer "increase I6" 54
565 'INC6 'address-transfer "increase I6" (+ 48 6) 0 487 "Increase register I6 with the literal value of M.
566 "Increase register I6 with the literal value of M.
567The result is undefined when the result does not fit in 488The result is undefined when the result does not fit in
5682 bytes." 4892 bytes."
569 1) 490 1)
570 491
571(mixal-add-operation-code 492 (DECA address-transfer "decrease A" 48
572 'DECA 'address-transfer "decrease A" 48 1 493 "Decrease register A with the literal value of M.
573 "Decrease register A with the literal value of M.
574On overflow the overflow toggle is set." 494On overflow the overflow toggle is set."
575 1) 495 1)
576 496
577(mixal-add-operation-code 497 (DECX address-transfer "decrease X" 55
578 'DECX 'address-transfer "decrease X" 55 1 498 "Decrease register X with the literal value of M.
579 "Decrease register X with the literal value of M.
580On overflow the overflow toggle is set." 499On overflow the overflow toggle is set."
581 1) 500 1)
582 501
583(mixal-add-operation-code 502 (DEC1 address-transfer "decrease I1" 49
584 'DEC1 'address-transfer "decrease I1" (+ 48 1) 1 503 "Decrease register I1 with the literal value of M.
585 "Decrease register I1 with the literal value of M.
586The result is undefined when the result does not fit in 504The result is undefined when the result does not fit in
5872 bytes." 5052 bytes."
588 1) 506 1)
589 507
590(mixal-add-operation-code 508 (DEC2 address-transfer "decrease I2" 50
591 'DEC2 'address-transfer "decrease I2" (+ 48 2) 1 509 "Decrease register I2 with the literal value of M.
592 "Decrease register I2 with the literal value of M.
593The result is undefined when the result does not fit in 510The result is undefined when the result does not fit in
5942 bytes." 5112 bytes."
595 1) 512 1)
596 513
597(mixal-add-operation-code 514 (DEC3 address-transfer "decrease I3" 51
598 'DEC3 'address-transfer "decrease I3" (+ 48 3) 1 515 "Decrease register I3 with the literal value of M.
599 "Decrease register I3 with the literal value of M.
600The result is undefined when the result does not fit in 516The result is undefined when the result does not fit in
6012 bytes." 5172 bytes."
602 1) 518 1)
603 519
604(mixal-add-operation-code 520 (DEC4 address-transfer "decrease I4" 52
605 'DEC4 'address-transfer "decrease I4" (+ 48 4) 1 521 "Decrease register I4 with the literal value of M.
606 "Decrease register I4 with the literal value of M.
607The result is undefined when the result does not fit in 522The result is undefined when the result does not fit in
6082 bytes." 5232 bytes."
609 1) 524 1)
610 525
611(mixal-add-operation-code 526 (DEC5 address-transfer "decrease I5" 53
612 'DEC5 'address-transfer "decrease I5" (+ 48 5) 1 527 "Decrease register I5 with the literal value of M.
613 "Decrease register I5 with the literal value of M.
614The result is undefined when the result does not fit in 528The result is undefined when the result does not fit in
6152 bytes." 5292 bytes."
616 1) 530 1)
617 531
618(mixal-add-operation-code 532 (DEC6 address-transfer "decrease I6" 54
619 'DEC6 'address-transfer "decrease I6" (+ 48 6) 1 533 "Decrease register I6 with the literal value of M.
620 "Decrease register I6 with the literal value of M.
621The result is undefined when the result does not fit in 534The result is undefined when the result does not fit in
6222 bytes." 5352 bytes."
623 1) 536 1)
624 537
625(mixal-add-operation-code 538 (CMPA comparison "compare A" 56 field
626 'CMPA 'comparison "compare A" 56 'field 539 "Compare contents of A with contents of M.
627 "Compare contents of A with contents of M.
628The field specifier works on both fields. The comparison indicator 540The field specifier works on both fields. The comparison indicator
629is set to LESS, EQUAL or GREATER depending on the outcome." 541is set to LESS, EQUAL or GREATER depending on the outcome."
630 2) 542 2)
631 543
632 544 (CMPX comparison "compare X" 63 field
633(mixal-add-operation-code 545 "Compare contents of rX with contents of M.
634 'CMPX 'comparison "compare X" 63 'field
635 "Compare contents of rX with contents of M.
636The field specifier works on both fields. The comparison indicator 546The field specifier works on both fields. The comparison indicator
637is set to LESS, EQUAL or GREATER depending on the outcome." 547is set to LESS, EQUAL or GREATER depending on the outcome."
638 2) 548 2)
639
640 549
641(mixal-add-operation-code 550 (CMP1 comparison "compare I1" 57 field
642 'CMP1 'comparison "compare I1" (+ 56 1) 'field 551 "Compare contents of rI1 with contents of M.
643 "Compare contents of rI1 with contents of M.
644The field specifier works on both fields. The comparison indicator 552The field specifier works on both fields. The comparison indicator
645is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 553is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
646have a value of 0." 554have a value of 0."
647 2) 555 2)
648
649 556
650(mixal-add-operation-code 557 (CMP2 comparison "compare I2" 58 field
651 'CMP2 'comparison "compare I2" (+ 56 2) 'field 558 "Compare contents of rI2 with contents of M.
652 "Compare contents of rI2 with contents of M.
653The field specifier works on both fields. The comparison indicator 559The field specifier works on both fields. The comparison indicator
654is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 560is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
655have a value of 0." 561have a value of 0."
656 2) 562 2)
657 563
658 564 (CMP3 comparison "compare I3" 59 field
659(mixal-add-operation-code 565 "Compare contents of rI3 with contents of M.
660 'CMP3 'comparison "compare I3" (+ 56 3) 'field
661 "Compare contents of rI3 with contents of M.
662The field specifier works on both fields. The comparison indicator 566The field specifier works on both fields. The comparison indicator
663is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 567is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
664have a value of 0." 568have a value of 0."
665 2) 569 2)
666
667 570
668(mixal-add-operation-code 571 (CMP4 comparison "compare I4" 60 field
669 'CMP4 'comparison "compare I4" (+ 56 4) 'field 572 "Compare contents of rI4 with contents of M.
670 "Compare contents of rI4 with contents of M.
671The field specifier works on both fields. The comparison indicator 573The field specifier works on both fields. The comparison indicator
672is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 574is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
673have a value of 0." 575have a value of 0."
674 2) 576 2)
675
676 577
677(mixal-add-operation-code 578 (CMP5 comparison "compare I5" 61 field
678 'CMP5 'comparison "compare I5" (+ 56 5) 'field 579 "Compare contents of rI5 with contents of M.
679 "Compare contents of rI5 with contents of M.
680The field specifier works on both fields. The comparison indicator 580The field specifier works on both fields. The comparison indicator
681is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 581is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
682have a value of 0." 582have a value of 0."
683 2) 583 2)
684 584
685 585 (CMP6 comparison "compare I6" 62 field
686(mixal-add-operation-code 586 "Compare contents of rI6 with contents of M.
687 'CMP6 'comparison "compare I6" (+ 56 6) 'field
688 "Compare contents of rI6 with contents of M.
689The field specifier works on both fields. The comparison indicator 587The field specifier works on both fields. The comparison indicator
690is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 588is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
691have a value of 0." 589have a value of 0."
692 2) 590 2)
693 591
694(mixal-add-operation-code 592 (JMP jump "jump" 39
695 'JMP 'jump "jump" 39 0 593 "Unconditional jump.
696 "Unconditional jump.
697Register J is set to the value of the next instruction that would have 594Register J is set to the value of the next instruction that would have
698been executed when there was no jump." 595been executed when there was no jump."
699 1) 596 1)
700 597
701(mixal-add-operation-code 598 (JSJ jump "jump, save J" 39
702 'JSJ 'jump "jump, save J" 39 1 599 "Unconditional jump, but rJ is not modified."
703 "Unconditional jump, but rJ is not modified." 600 1)
704 1)
705 601
706(mixal-add-operation-code 602 (JOV jump "jump on overflow" 39
707 'JOV 'jump "jump on overflow" 39 2 603 "Jump if OV is set (and turn it off).
708 "Jump if OV is set (and turn it off).
709Register J is set to the value of the next instruction that would have 604Register J is set to the value of the next instruction that would have
710been executed when there was no jump." 605been executed when there was no jump."
711 1) 606 1)
712 607
713(mixal-add-operation-code 608 (JNOV jump "Jump on no overflow" 39
714 'JNOV 'jump "Jump on no overflow" 39 3 609 "Jump if OV is not set (and turn it off).
715 "Jump if OV is not set (and turn it off).
716Register J is set to the value of the next instruction that would have 610Register J is set to the value of the next instruction that would have
717been executed when there was no jump." 611been executed when there was no jump."
718 1) 612 1)
719 613
720(mixal-add-operation-code 614 (JL jump "Jump on less" 39
721 'JL 'jump "Jump on less" 39 4 615 "Jump if '[CM] = L'.
722 "Jump if '[CM] = L'.
723Register J is set to the value of the next instruction that would have 616Register J is set to the value of the next instruction that would have
724been executed when there was no jump." 617been executed when there was no jump."
725 1) 618 1)
726
727 619
728(mixal-add-operation-code 620 (JE jump "Jump on equal" 39
729 'JE 'jump "Jump on equal" 39 5 621 "Jump if '[CM] = E'.
730 "Jump if '[CM] = E'.
731Register J is set to the value of the next instruction that would have 622Register J is set to the value of the next instruction that would have
732been executed when there was no jump." 623been executed when there was no jump."
733 1) 624 1)
734
735 625
736(mixal-add-operation-code 626 (JG jump "Jump on greater" 39
737 'JG 'jump "Jump on greater" 39 6 627 "Jump if '[CM] = G'.
738 "Jump if '[CM] = G'.
739Register J is set to the value of the next instruction that would have 628Register J is set to the value of the next instruction that would have
740been executed when there was no jump." 629been executed when there was no jump."
741 1) 630 1)
742 631
743 632 (JGE jump "Jump on not less" 39
744(mixal-add-operation-code 633 "Jump if '[CM]' does not equal 'L'.
745 'JGE 'jump "Jump on not less" 39 7
746 "Jump if '[CM]' does not equal 'L'.
747Register J is set to the value of the next instruction that would have 634Register J is set to the value of the next instruction that would have
748been executed when there was no jump." 635been executed when there was no jump."
749 1) 636 1)
750
751 637
752(mixal-add-operation-code 638 (JNE jump "Jump on not equal" 39
753 'JNE 'jump "Jump on not equal" 39 8 639 "Jump if '[CM]' does not equal 'E'.
754 "Jump if '[CM]' does not equal 'E'.
755Register J is set to the value of the next instruction that would have 640Register J is set to the value of the next instruction that would have
756been executed when there was no jump." 641been executed when there was no jump."
757 1) 642 1)
758 643
759 644 (JLE jump "Jump on not greater" 39
760(mixal-add-operation-code 645 "Jump if '[CM]' does not equal 'G'.
761 'JLE 'jump "Jump on not greater" 39 9
762 "Jump if '[CM]' does not equal 'G'.
763Register J is set to the value of the next instruction that would have 646Register J is set to the value of the next instruction that would have
764been executed when there was no jump." 647been executed when there was no jump."
765 1) 648 1)
766 649
767(mixal-add-operation-code 650 (JAN jump "jump A negative" 40
768 'JAN 'jump "jump A negative" 40 0 651 "Jump if the content of rA is negative.
769 "Jump if the content of rA is negative.
770Register J is set to the value of the next instruction that would have 652Register J is set to the value of the next instruction that would have
771been executed when there was no jump." 653been executed when there was no jump."
772 1) 654 1)
773
774 655
775(mixal-add-operation-code 656 (JAZ jump "jump A zero" 40
776 'JAZ 'jump "jump A zero" 40 1 657 "Jump if the content of rA is zero.
777 "Jump if the content of rA is zero.
778Register J is set to the value of the next instruction that would have 658Register J is set to the value of the next instruction that would have
779been executed when there was no jump." 659been executed when there was no jump."
780 1) 660 1)
781
782 661
783(mixal-add-operation-code 662 (JAP jump "jump A positive" 40
784 'JAP 'jump "jump A positive" 40 2 663 "Jump if the content of rA is positive.
785 "Jump if the content of rA is positive.
786Register J is set to the value of the next instruction that would have 664Register J is set to the value of the next instruction that would have
787been executed when there was no jump." 665been executed when there was no jump."
788 1) 666 1)
789 667
790 668 (JANN jump "jump A non-negative" 40
791(mixal-add-operation-code 669 "Jump if the content of rA is non-negative.
792 'JANN 'jump "jump A non-negative" 40 3
793 "Jump if the content of rA is non-negative.
794Register J is set to the value of the next instruction that would have 670Register J is set to the value of the next instruction that would have
795been executed when there was no jump." 671been executed when there was no jump."
796 1) 672 1)
797
798 673
799(mixal-add-operation-code 674 (JANZ jump "jump A non-zero" 40
800 'JANZ 'jump "jump A non-zero" 40 4 675 "Jump if the content of rA is non-zero.
801 "Jump if the content of rA is non-zero.
802Register J is set to the value of the next instruction that would have 676Register J is set to the value of the next instruction that would have
803been executed when there was no jump." 677been executed when there was no jump."
804 1) 678 1)
805
806 679
807(mixal-add-operation-code 680 (JANP jump "jump A non-positive" 40
808 'JANP 'jump "jump A non-positive" 40 5 681 "Jump if the content of rA is non-positive.
809 "Jump if the content of rA is non-positive.
810Register J is set to the value of the next instruction that would have 682Register J is set to the value of the next instruction that would have
811been executed when there was no jump." 683been executed when there was no jump."
812 1) 684 1)
813 685
814(mixal-add-operation-code 686 (JXN jump "jump X negative" 47
815 'JXN 'jump "jump X negative" 47 0 687 "Jump if the content of rX is negative.
816 "Jump if the content of rX is negative.
817Register J is set to the value of the next instruction that would have 688Register J is set to the value of the next instruction that would have
818been executed when there was no jump." 689been executed when there was no jump."
819 1) 690 1)
820 691
821 692 (JXZ jump "jump X zero" 47
822(mixal-add-operation-code 693 "Jump if the content of rX is zero.
823 'JXZ 'jump "jump X zero" 47 1
824 "Jump if the content of rX is zero.
825Register J is set to the value of the next instruction that would have 694Register J is set to the value of the next instruction that would have
826been executed when there was no jump." 695been executed when there was no jump."
827 1) 696 1)
828
829 697
830(mixal-add-operation-code 698 (JXP jump "jump X positive" 47
831 'JXP 'jump "jump X positive" 47 2 699 "Jump if the content of rX is positive.
832 "Jump if the content of rX is positive.
833Register J is set to the value of the next instruction that would have 700Register J is set to the value of the next instruction that would have
834been executed when there was no jump." 701been executed when there was no jump."
835 1) 702 1)
836
837 703
838(mixal-add-operation-code 704 (JXNN jump "jump X non-negative" 47
839 'JXNN 'jump "jump X non-negative" 47 3 705 "Jump if the content of rX is non-negative.
840 "Jump if the content of rX is non-negative.
841Register J is set to the value of the next instruction that would have 706Register J is set to the value of the next instruction that would have
842been executed when there was no jump." 707been executed when there was no jump."
843 1) 708 1)
844 709
845 710 (JXNZ jump "jump X non-zero" 47
846(mixal-add-operation-code 711 "Jump if the content of rX is non-zero.
847 'JXNZ 'jump "jump X non-zero" 47 4
848 "Jump if the content of rX is non-zero.
849Register J is set to the value of the next instruction that would have 712Register J is set to the value of the next instruction that would have
850been executed when there was no jump." 713been executed when there was no jump."
851 1) 714 1)
852
853 715
854(mixal-add-operation-code 716 (JXNP jump "jump X non-positive" 47
855 'JXNP 'jump "jump X non-positive" 47 5 717 "Jump if the content of rX is non-positive.
856 "Jump if the content of rX is non-positive.
857Register J is set to the value of the next instruction that would have 718Register J is set to the value of the next instruction that would have
858been executed when there was no jump." 719been executed when there was no jump."
859 1) 720 1)
860 721
861(mixal-add-operation-code 722 (J1N jump "jump I1 negative" 41
862 'J1N 'jump "jump I1 negative" (+ 40 1) 0 723 "Jump if the content of rI1 is negative.
863 "Jump if the content of rI1 is negative.
864Register J is set to the value of the next instruction that would have 724Register J is set to the value of the next instruction that would have
865been executed when there was no jump." 725been executed when there was no jump."
866 1) 726 1)
867 727
868 728 (J1Z jump "jump I1 zero" 41
869(mixal-add-operation-code 729 "Jump if the content of rI1 is zero.
870 'J1Z 'jump "jump I1 zero" (+ 40 1) 1
871 "Jump if the content of rI1 is zero.
872Register J is set to the value of the next instruction that would have 730Register J is set to the value of the next instruction that would have
873been executed when there was no jump." 731been executed when there was no jump."
874 1) 732 1)
875
876 733
877(mixal-add-operation-code 734 (J1P jump "jump I1 positive" 41
878 'J1P 'jump "jump I1 positive" (+ 40 1) 2 735 "Jump if the content of rI1 is positive.
879 "Jump if the content of rI1 is positive.
880Register J is set to the value of the next instruction that would have 736Register J is set to the value of the next instruction that would have
881been executed when there was no jump." 737been executed when there was no jump."
882 1) 738 1)
883
884 739
885(mixal-add-operation-code 740 (J1NN jump "jump I1 non-negative" 41
886 'J1NN 'jump "jump I1 non-negative" (+ 40 1) 3 741 "Jump if the content of rI1 is non-negative.
887 "Jump if the content of rI1 is non-negative.
888Register J is set to the value of the next instruction that would have 742Register J is set to the value of the next instruction that would have
889been executed when there was no jump." 743been executed when there was no jump."
890 1) 744 1)
891 745
892 746 (J1NZ jump "jump I1 non-zero" 41
893(mixal-add-operation-code 747 "Jump if the content of rI1 is non-zero.
894 'J1NZ 'jump "jump I1 non-zero" (+ 40 1) 4
895 "Jump if the content of rI1 is non-zero.
896Register J is set to the value of the next instruction that would have 748Register J is set to the value of the next instruction that would have
897been executed when there was no jump." 749been executed when there was no jump."
898 1) 750 1)
899
900 751
901(mixal-add-operation-code 752 (J1NP jump "jump I1 non-positive" 41
902 'J1NP 'jump "jump I1 non-positive" (+ 40 1) 5 753 "Jump if the content of rI1 is non-positive.
903 "Jump if the content of rI1 is non-positive.
904Register J is set to the value of the next instruction that would have 754Register J is set to the value of the next instruction that would have
905been executed when there was no jump." 755been executed when there was no jump."
906 1) 756 1)
907 757
908(mixal-add-operation-code 758 (J2N jump "jump I2 negative" 41
909 'J2N 'jump "jump I2 negative" (+ 40 1) 0 759 "Jump if the content of rI2 is negative.
910 "Jump if the content of rI2 is negative.
911Register J is set to the value of the next instruction that would have 760Register J is set to the value of the next instruction that would have
912been executed when there was no jump." 761been executed when there was no jump."
913 1) 762 1)
914 763
915 764 (J2Z jump "jump I2 zero" 41
916(mixal-add-operation-code 765 "Jump if the content of rI2 is zero.
917 'J2Z 'jump "jump I2 zero" (+ 40 1) 1
918 "Jump if the content of rI2 is zero.
919Register J is set to the value of the next instruction that would have 766Register J is set to the value of the next instruction that would have
920been executed when there was no jump." 767been executed when there was no jump."
921 1) 768 1)
922
923 769
924(mixal-add-operation-code 770 (J2P jump "jump I2 positive" 41
925 'J2P 'jump "jump I2 positive" (+ 40 1) 2 771 "Jump if the content of rI2 is positive.
926 "Jump if the content of rI2 is positive.
927Register J is set to the value of the next instruction that would have 772Register J is set to the value of the next instruction that would have
928been executed when there was no jump." 773been executed when there was no jump."
929 1) 774 1)
930
931 775
932(mixal-add-operation-code 776 (J2NN jump "jump I2 non-negative" 41
933 'J2NN 'jump "jump I2 non-negative" (+ 40 1) 3 777 "Jump if the content of rI2 is non-negative.
934 "Jump if the content of rI2 is non-negative.
935Register J is set to the value of the next instruction that would have 778Register J is set to the value of the next instruction that would have
936been executed when there was no jump." 779been executed when there was no jump."
937 1) 780 1)
938 781
939 782 (J2NZ jump "jump I2 non-zero" 41
940(mixal-add-operation-code 783 "Jump if the content of rI2 is non-zero.
941 'J2NZ 'jump "jump I2 non-zero" (+ 40 1) 4
942 "Jump if the content of rI2 is non-zero.
943Register J is set to the value of the next instruction that would have 784Register J is set to the value of the next instruction that would have
944been executed when there was no jump." 785been executed when there was no jump."
945 1) 786 1)
946
947 787
948(mixal-add-operation-code 788 (J2NP jump "jump I2 non-positive" 41
949 'J2NP 'jump "jump I2 non-positive" (+ 40 1) 5 789 "Jump if the content of rI2 is non-positive.
950 "Jump if the content of rI2 is non-positive.
951Register J is set to the value of the next instruction that would have 790Register J is set to the value of the next instruction that would have
952been executed when there was no jump." 791been executed when there was no jump."
953 1) 792 1)
954 793
955 794 (J3N jump "jump I3 negative" 41
956(mixal-add-operation-code 795 "Jump if the content of rI3 is negative.
957 'J3N 'jump "jump I3 negative" (+ 40 1) 0
958 "Jump if the content of rI3 is negative.
959Register J is set to the value of the next instruction that would have 796Register J is set to the value of the next instruction that would have
960been executed when there was no jump." 797been executed when there was no jump."
961 1) 798 1)
962
963 799
964(mixal-add-operation-code 800 (J3Z jump "jump I3 zero" 41
965 'J3Z 'jump "jump I3 zero" (+ 40 1) 1 801 "Jump if the content of rI3 is zero.
966 "Jump if the content of rI3 is zero.
967Register J is set to the value of the next instruction that would have 802Register J is set to the value of the next instruction that would have
968been executed when there was no jump." 803been executed when there was no jump."
969 1) 804 1)
970
971 805
972(mixal-add-operation-code 806 (J3P jump "jump I3 positive" 41
973 'J3P 'jump "jump I3 positive" (+ 40 1) 2 807 "Jump if the content of rI3 is positive.
974 "Jump if the content of rI3 is positive.
975Register J is set to the value of the next instruction that would have 808Register J is set to the value of the next instruction that would have
976been executed when there was no jump." 809been executed when there was no jump."
977 1) 810 1)
978 811
979 812 (J3NN jump "jump I3 non-negative" 41
980(mixal-add-operation-code 813 "Jump if the content of rI3 is non-negative.
981 'J3NN 'jump "jump I3 non-negative" (+ 40 1) 3
982 "Jump if the content of rI3 is non-negative.
983Register J is set to the value of the next instruction that would have 814Register J is set to the value of the next instruction that would have
984been executed when there was no jump." 815been executed when there was no jump."
985 1) 816 1)
986
987 817
988(mixal-add-operation-code 818 (J3NZ jump "jump I3 non-zero" 41
989 'J3NZ 'jump "jump I3 non-zero" (+ 40 1) 4 819 "Jump if the content of rI3 is non-zero.
990 "Jump if the content of rI3 is non-zero.
991Register J is set to the value of the next instruction that would have 820Register J is set to the value of the next instruction that would have
992been executed when there was no jump." 821been executed when there was no jump."
993 1) 822 1)
994
995 823
996(mixal-add-operation-code 824 (J3NP jump "jump I3 non-positive" 41
997 'J3NP 'jump "jump I3 non-positive" (+ 40 1) 5 825 "Jump if the content of rI3 is non-positive.
998 "Jump if the content of rI3 is non-positive.
999Register J is set to the value of the next instruction that would have 826Register J is set to the value of the next instruction that would have
1000been executed when there was no jump." 827been executed when there was no jump."
1001 1) 828 1)
1002 829
1003 830 (J4N jump "jump I4 negative" 41
1004(mixal-add-operation-code 831 "Jump if the content of rI4 is negative.
1005 'J4N 'jump "jump I4 negative" (+ 40 1) 0
1006 "Jump if the content of rI4 is negative.
1007Register J is set to the value of the next instruction that would have 832Register J is set to the value of the next instruction that would have
1008been executed when there was no jump." 833been executed when there was no jump."
1009 1) 834 1)
1010
1011 835
1012(mixal-add-operation-code 836 (J4Z jump "jump I4 zero" 41
1013 'J4Z 'jump "jump I4 zero" (+ 40 1) 1 837 "Jump if the content of rI4 is zero.
1014 "Jump if the content of rI4 is zero.
1015Register J is set to the value of the next instruction that would have 838Register J is set to the value of the next instruction that would have
1016been executed when there was no jump." 839been executed when there was no jump."
1017 1) 840 1)
1018
1019 841
1020(mixal-add-operation-code 842 (J4P jump "jump I4 positive" 41
1021 'J4P 'jump "jump I4 positive" (+ 40 1) 2 843 "Jump if the content of rI4 is positive.
1022 "Jump if the content of rI4 is positive.
1023Register J is set to the value of the next instruction that would have 844Register J is set to the value of the next instruction that would have
1024been executed when there was no jump." 845been executed when there was no jump."
1025 1) 846 1)
1026 847
1027 848 (J4NN jump "jump I4 non-negative" 41
1028(mixal-add-operation-code 849 "Jump if the content of rI4 is non-negative.
1029 'J4NN 'jump "jump I4 non-negative" (+ 40 1) 3
1030 "Jump if the content of rI4 is non-negative.
1031Register J is set to the value of the next instruction that would have 850Register J is set to the value of the next instruction that would have
1032been executed when there was no jump." 851been executed when there was no jump."
1033 1) 852 1)
1034
1035 853
1036(mixal-add-operation-code 854 (J4NZ jump "jump I4 non-zero" 41
1037 'J4NZ 'jump "jump I4 non-zero" (+ 40 1) 4 855 "Jump if the content of rI4 is non-zero.
1038 "Jump if the content of rI4 is non-zero.
1039Register J is set to the value of the next instruction that would have 856Register J is set to the value of the next instruction that would have
1040been executed when there was no jump." 857been executed when there was no jump."
1041 1) 858 1)
1042 859
1043 860 (J4NP jump "jump I4 non-positive" 41
1044(mixal-add-operation-code 861 "Jump if the content of rI4 is non-positive.
1045 'J4NP 'jump "jump I4 non-positive" (+ 40 1) 5
1046 "Jump if the content of rI4 is non-positive.
1047Register J is set to the value of the next instruction that would have 862Register J is set to the value of the next instruction that would have
1048been executed when there was no jump." 863been executed when there was no jump."
1049 1) 864 1)
1050
1051 865
1052(mixal-add-operation-code 866 (J5N jump "jump I5 negative" 41
1053 'J5N 'jump "jump I5 negative" (+ 40 1) 0 867 "Jump if the content of rI5 is negative.
1054 "Jump if the content of rI5 is negative.
1055Register J is set to the value of the next instruction that would have 868Register J is set to the value of the next instruction that would have
1056been executed when there was no jump." 869been executed when there was no jump."
1057 1) 870 1)
1058
1059 871
1060(mixal-add-operation-code 872 (J5Z jump "jump I5 zero" 41
1061 'J5Z 'jump "jump I5 zero" (+ 40 1) 1 873 "Jump if the content of rI5 is zero.
1062 "Jump if the content of rI5 is zero.
1063Register J is set to the value of the next instruction that would have 874Register J is set to the value of the next instruction that would have
1064been executed when there was no jump." 875been executed when there was no jump."
1065 1) 876 1)
1066 877
1067 878 (J5P jump "jump I5 positive" 41
1068(mixal-add-operation-code 879 "Jump if the content of rI5 is positive.
1069 'J5P 'jump "jump I5 positive" (+ 40 1) 2
1070 "Jump if the content of rI5 is positive.
1071Register J is set to the value of the next instruction that would have 880Register J is set to the value of the next instruction that would have
1072been executed when there was no jump." 881been executed when there was no jump."
1073 1) 882 1)
1074
1075 883
1076(mixal-add-operation-code 884 (J5NN jump "jump I5 non-negative" 41
1077 'J5NN 'jump "jump I5 non-negative" (+ 40 1) 3 885 "Jump if the content of rI5 is non-negative.
1078 "Jump if the content of rI5 is non-negative.
1079Register J is set to the value of the next instruction that would have 886Register J is set to the value of the next instruction that would have
1080been executed when there was no jump." 887been executed when there was no jump."
1081 1) 888 1)
1082 889
1083 890 (J5NZ jump "jump I5 non-zero" 41
1084(mixal-add-operation-code 891 "Jump if the content of rI5 is non-zero.
1085 'J5NZ 'jump "jump I5 non-zero" (+ 40 1) 4
1086 "Jump if the content of rI5 is non-zero.
1087Register J is set to the value of the next instruction that would have 892Register J is set to the value of the next instruction that would have
1088been executed when there was no jump." 893been executed when there was no jump."
1089 1) 894 1)
1090
1091 895
1092(mixal-add-operation-code 896 (J5NP jump "jump I5 non-positive" 41
1093 'J5NP 'jump "jump I5 non-positive" (+ 40 1) 5 897 "Jump if the content of rI5 is non-positive.
1094 "Jump if the content of rI5 is non-positive.
1095Register J is set to the value of the next instruction that would have 898Register J is set to the value of the next instruction that would have
1096been executed when there was no jump." 899been executed when there was no jump."
1097 1) 900 1)
1098
1099 901
1100(mixal-add-operation-code 902 (J6N jump "jump I6 negative" 41
1101 'J6N 'jump "jump I6 negative" (+ 40 1) 0 903 "Jump if the content of rI6 is negative.
1102 "Jump if the content of rI6 is negative.
1103Register J is set to the value of the next instruction that would have 904Register J is set to the value of the next instruction that would have
1104been executed when there was no jump." 905been executed when there was no jump."
1105 1) 906 1)
1106 907
1107 908 (J6Z jump "jump I6 zero" 41
1108(mixal-add-operation-code 909 "Jump if the content of rI6 is zero.
1109 'J6Z 'jump "jump I6 zero" (+ 40 1) 1
1110 "Jump if the content of rI6 is zero.
1111Register J is set to the value of the next instruction that would have 910Register J is set to the value of the next instruction that would have
1112been executed when there was no jump." 911been executed when there was no jump."
1113 1) 912 1)
1114
1115 913
1116(mixal-add-operation-code 914 (J6P jump "jump I6 positive" 41
1117 'J6P 'jump "jump I6 positive" (+ 40 1) 2 915 "Jump if the content of rI6 is positive.
1118 "Jump if the content of rI6 is positive.
1119Register J is set to the value of the next instruction that would have 916Register J is set to the value of the next instruction that would have
1120been executed when there was no jump." 917been executed when there was no jump."
1121 1) 918 1)
1122 919
1123 920 (J6NN jump "jump I6 non-negative" 41
1124(mixal-add-operation-code 921 "Jump if the content of rI6 is non-negative.
1125 'J6NN 'jump "jump I6 non-negative" (+ 40 1) 3
1126 "Jump if the content of rI6 is non-negative.
1127Register J is set to the value of the next instruction that would have 922Register J is set to the value of the next instruction that would have
1128been executed when there was no jump." 923been executed when there was no jump."
1129 1) 924 1)
1130
1131 925
1132(mixal-add-operation-code 926 (J6NZ jump "jump I6 non-zero" 41
1133 'J6NZ 'jump "jump I6 non-zero" (+ 40 1) 4 927 "Jump if the content of rI6 is non-zero.
1134 "Jump if the content of rI6 is non-zero.
1135Register J is set to the value of the next instruction that would have 928Register J is set to the value of the next instruction that would have
1136been executed when there was no jump." 929been executed when there was no jump."
1137 1) 930 1)
1138
1139 931
1140(mixal-add-operation-code 932 (J6NP jump "jump I6 non-positive" 41
1141 'J6NP 'jump "jump I6 non-positive" (+ 40 1) 5 933 "Jump if the content of rI6 is non-positive.
1142 "Jump if the content of rI6 is non-positive.
1143Register J is set to the value of the next instruction that would have 934Register J is set to the value of the next instruction that would have
1144been executed when there was no jump." 935been executed when there was no jump."
1145 1) 936 1)
1146 937
1147(mixal-add-operation-code 938 (SLA miscellaneous "shift left A" 6
1148 'SLA 'miscellaneous "shift left A" 6 0 939 "Shift to A, M bytes left.
1149 "Shift to A, M bytes left.
1150Hero's will be added to the right." 940Hero's will be added to the right."
1151 2) 941 2)
1152 942
1153 943 (SRA miscellaneous "shift right A" 6
1154(mixal-add-operation-code 944 "Shift to A, M bytes right.
1155 'SRA 'miscellaneous "shift right A" 6 1
1156 "Shift to A, M bytes right.
1157Zeros will be added to the left." 945Zeros will be added to the left."
1158 2) 946 2)
1159
1160 947
1161(mixal-add-operation-code 948 (SLAX miscellaneous "shift left AX" 6
1162 'SLAX 'miscellaneous "shift left AX" 6 2 949 "Shift AX, M bytes left.
1163 "Shift AX, M bytes left.
1164Zeros will be added to the right." 950Zeros will be added to the right."
1165 2) 951 2)
1166
1167 952
1168 953
1169(mixal-add-operation-code 954 (SRAX miscellaneous "shift right AX" 6
1170 'SRAX 'miscellaneous "shift right AX" 6 3 955 "Shift AX, M bytes right.
1171 "Shift AX, M bytes right.
1172Zeros will be added to the left." 956Zeros will be added to the left."
1173 2) 957 2)
1174 958
1175 959 (SLC miscellaneous "shift left AX circularly" 6
1176(mixal-add-operation-code 960 "Shift AX, M bytes left circularly.
1177 'SLC 'miscellaneous "shift left AX circularly" 6 4
1178 "Shift AX, M bytes left circularly.
1179The bytes that fall off to the left will be added to the right." 961The bytes that fall off to the left will be added to the right."
1180 2) 962 2)
1181
1182 963
1183(mixal-add-operation-code 964 (SRC miscellaneous "shift right AX circularly" 6
1184 'SRC 'miscellaneous "shift right AX circularly" 6 4 965 "Shift AX, M bytes right circularly.
1185 "Shift AX, M bytes right circularly.
1186The bytes that fall off to the right will be added to the left." 966The bytes that fall off to the right will be added to the left."
1187 2) 967 2)
1188 968
1189(mixal-add-operation-code 969 (MOVE miscellaneous "move" 7 number
1190 'MOVE 'miscellaneous "move" 7 'number 970 "Move MOD words from M to the location stored in rI1."
1191 "Move MOD words from M to the location stored in rI1." 971 (+ 1 (* 2 number)))
1192 '(+ 1 (* 2 number)))
1193 972
1194(mixal-add-operation-code 973 (NOP miscellaneous "no operation" 0 ignored
1195 'NOP 'miscellaneous "no operation" 0 'ignored 974 "No operation, M and F are not used by the machine."
1196 "No operation, M and F are not used by the machine." 975 1)
1197 1)
1198 976
1199(mixal-add-operation-code 977 (HLT miscellaneous "halt" 5
1200 'HLT 'miscellaneous "halt" 5 2 978 "Halt.
1201 "Halt.
1202Stop instruction fetching." 979Stop instruction fetching."
1203 1) 980 1)
1204 981
1205(mixal-add-operation-code 982 (IN input-output "input" 36 unit
1206 'IN 'input-output "input" 36 'unit 983 "Transfer a block of words from the specified unit to memory.
1207 "Transfer a block of words from the specified unit to memory.
1208The transfer starts at address M." 984The transfer starts at address M."
1209 1) 985 1)
1210 986
1211(mixal-add-operation-code 987 (OUT input-output "output" 37 unit
1212 'OUT 'input-output "output" 37 'unit 988 "Transfer a block of words from memory.
1213 "Transfer a block of words from memory.
1214The transfer starts at address M to the specified unit." 989The transfer starts at address M to the specified unit."
1215 1) 990 1)
1216 991
1217(mixal-add-operation-code 992 (IOC input-output "input-output control" 35 unit
1218 'IOC 'input-output "input-output control" 35 'unit 993 "Perform a control operation.
1219 "Perform a control operation.
1220The control operation is given by M on the specified unit." 994The control operation is given by M on the specified unit."
1221 1) 995 1)
1222
1223(mixal-add-operation-code
1224 'JRED 'input-output "jump ready" 38 'unit
1225 "Jump to M if the specified unit is ready."
1226 1)
1227 996
997 (JRED input-output "jump ready" 38 unit
998 "Jump to M if the specified unit is ready."
999 1)
1228 1000
1229(mixal-add-operation-code 1001 (JBUS input-output "jump busy" 34 unit
1230 'JBUS 'input-output "jump busy" 34 'unit 1002 "Jump to M if the specified unit is busy."
1231 "Jump to M if the specified unit is busy." 1003 1)
1232 1)
1233 1004
1234(mixal-add-operation-code 1005 (NUM conversion "convert to numeric" 5
1235 'NUM 'conversion "convert to numeric" 5 0 1006 "Convert rAX to its numerical value and store it in rA.
1236 "Convert rAX to its numerical value and store it in rA.
1237the register rAX is assumed to contain a character representation of 1007the register rAX is assumed to contain a character representation of
1238a number." 1008a number."
1239 10) 1009 10)
1240 1010
1241(mixal-add-operation-code 1011 (CHAR conversion "convert to characters" 5
1242 'CHAR 'conversion "convert to characters" 5 1 1012 "Convert the number stored in rA to a character representation.
1243 "Convert the number stored in rA to a character representation.
1244The converted character representation is stored in rAX." 1013The converted character representation is stored in rAX."
1245 10) 1014 10))
1015
1016 "Alist that contains all the possible operation codes for mix.
1017Each elt has the form
1018 (OP-CODE GROUP FULL-NAME C-BYTE F-BYTE DESCRIPTION EXECUTION-TIME)
1019Where OP-CODE is the text of the opcode as an symbol,
1020FULL-NAME is the human readable name as a string,
1021C-BYTE is the operation code telling what operation is to be performed,
1022F-BYTE holds a modification of the operation code which can be a symbol
1023 or a number,
1024DESCRIPTION contains an string with a description about the operation code and
1025EXECUTION-TIME holds info about the time it takes, number or string.")
1026;; (makunbound 'mixal-operation-codes-alist)
1027
1028
1029;;; Font-locking:
1030(defvar mixal-font-lock-syntactic-keywords
1031 ;; Normal comments start with a * in column 0 and end at end of line.
1032 '(("^\\*" (0 '(11))) ;(string-to-syntax "<") == '(11)
1033 ;; Every line can end with a comment which is placed after the operand.
1034 ;; I assume here that mnemonics without operands can not have a comment.
1035 ("^[[:alnum:]]*[ \t]+[[:alnum:]]+[ \t]+[^ \n\t]+[ \t]*\\([ \t]\\)[^\n \t]"
1036 (1 '(11)))))
1037
1038(defvar mixal-font-lock-keywords
1039 `(("^\\([A-Z0-9a-z]+\\)"
1040 (1 mixal-font-lock-label-face))
1041 (,(regexp-opt (mapcar (lambda (x) (symbol-name (car x)))
1042 mixal-operation-codes-alist) 'words)
1043 . mixal-font-lock-operation-code-face)
1044 (,(regexp-opt mixal-assembly-pseudoinstructions 'words)
1045 . mixal-font-lock-assembly-pseudoinstruction-face)
1046 ("^[A-Z0-9a-z]*[ \t]+[A-ZO-9a-z]+[ \t]+\\(=.*=\\)"
1047 (1 font-lock-constant-face)))
1048 "Keyword highlighting specification for `mixal-mode'.")
1049;; (makunbound 'mixal-font-lock-keywords)
1246 1050
1247(defvar mixal-describe-operation-code-history nil 1051(defvar mixal-describe-operation-code-history nil
1248 "History list for describe operation code.") 1052 "History list for describe operation code.")
1249 1053
1250(defun mixal-describe-operation-code (&optional op-code) 1054(defun mixal-describe-operation-code (op-code)
1251 "Display the full documentation of OP-CODE." 1055 "Display the full documentation of OP-CODE."
1252 (interactive) 1056 (interactive
1253 ;; we like to provide completition and history, so do it ourself (interactive "?bla")? 1057 (list
1254 (unless op-code
1255 (let* ((completion-ignore-case t) 1058 (let* ((completion-ignore-case t)
1256 ;; we already have a list, but it is not in the right format 1059 ;; we already have a list, but it is not in the right format
1257 ;; transform it to a valid table so completition can use it 1060 ;; transform it to a valid table so completition can use it
@@ -1259,15 +1062,16 @@ The converted character representation is stored in rAX."
1259 (cons (symbol-name (car elm)) nil)) 1062 (cons (symbol-name (car elm)) nil))
1260 mixal-operation-codes-alist)) 1063 mixal-operation-codes-alist))
1261 ;; prompt is different depending on we are close to a valid op-code 1064 ;; prompt is different depending on we are close to a valid op-code
1262 (have-default (member (current-word) mixal-operation-codes)) 1065 (have-default (assq (intern-soft (current-word))
1066 mixal-operation-codes-alist))
1263 (prompt (concat "Describe operation code " 1067 (prompt (concat "Describe operation code "
1264 (if have-default 1068 (if have-default
1265 (concat "(default " (current-word) "): ") 1069 (concat "(default " (current-word) "): ")
1266 ": ")))) 1070 ": "))))
1267 ;; as the operation code to the user 1071 ;; As the operation code to the user.
1268 (setq op-code (completing-read prompt table nil t nil 1072 (completing-read prompt table nil t nil
1269 'mixal-describe-operation-code-history 1073 'mixal-describe-operation-code-history
1270 (current-word))))) 1074 (current-word)))))
1271 ;; get the info on the op-code and output it to the help buffer 1075 ;; get the info on the op-code and output it to the help buffer
1272 (let ((op-code-help (assq (intern-soft op-code) mixal-operation-codes-alist))) 1076 (let ((op-code-help (assq (intern-soft op-code) mixal-operation-codes-alist)))
1273 (when op-code-help 1077 (when op-code-help
@@ -1282,13 +1086,14 @@ The converted character representation is stored in rAX."
1282 1086
1283;;;; Running 1087;;;; Running
1284(defun mixal-run () 1088(defun mixal-run ()
1285 "Run's mixal file in current buffer, assumes that file has been compiled" 1089 "Run mixal file in current buffer, assumes that file has been compiled."
1286 (interactive) 1090 (interactive)
1287 (mixvm (concat "mixvm -r -t -d " 1091 (mixvm (concat "mixvm -r -t -d "
1288 (file-name-sans-extension (buffer-file-name))))) 1092 (file-name-sans-extension (buffer-file-name)))))
1289 1093
1290(defun mixal-debug () 1094(defun mixal-debug ()
1291 "Starts mixvm for debugging, assumes that file has been compiled with debugging support" 1095 "Start mixvm for debugging.
1096Assumes that file has been compiled with debugging support."
1292 (interactive) 1097 (interactive)
1293 (mixvm (concat "mixvm " 1098 (mixvm (concat "mixvm "
1294 (file-name-sans-extension (buffer-file-name))))) 1099 (file-name-sans-extension (buffer-file-name)))))
@@ -1298,11 +1103,14 @@ The converted character representation is stored in rAX."
1298 "Major mode for the mixal asm language. 1103 "Major mode for the mixal asm language.
1299\\{mixal-mode-map}" 1104\\{mixal-mode-map}"
1300 (set (make-local-variable 'comment-start) "*") 1105 (set (make-local-variable 'comment-start) "*")
1301 (set (make-local-variable 'comment-start-skip) "*") 1106 (set (make-local-variable 'comment-start-skip) "^\\*[ \t]*")
1302 (set (make-local-variable 'font-lock-defaults) '(mixal-font-lock-keywords)) 1107 (set (make-local-variable 'font-lock-defaults)
1303; might add an indent function in the future 1108 `(mixal-font-lock-keywords nil nil nil nil
1304; (set (make-local-variable 'indent-line-function) 'mixal-indent-line) 1109 (font-lock-syntactic-keywords . ,mixal-font-lock-syntactic-keywords)
1305 (set (make-local-variable 'compile-command) (concat "mixasm -g " 1110 (parse-sexp-lookup-properties . t)))
1111 ;; might add an indent function in the future
1112 ;; (set (make-local-variable 'indent-line-function) 'mixal-indent-line)
1113 (set (make-local-variable 'compile-command) (concat "mixasm "
1306 buffer-file-name)) 1114 buffer-file-name))
1307 ;; mixasm will do strange when there is no final newline, 1115 ;; mixasm will do strange when there is no final newline,
1308 ;; so let Emacs ensure that it is always there 1116 ;; so let Emacs ensure that it is always there
@@ -1314,5 +1122,5 @@ The converted character representation is stored in rAX."
1314 1122
1315(provide 'mixal-mode) 1123(provide 'mixal-mode)
1316 1124
1317;;; arch-tag: be7c128a-bf61-4951-a90e-9398267ce3f3 1125;; arch-tag: be7c128a-bf61-4951-a90e-9398267ce3f3
1318;;; mixal-mode.el ends here 1126;;; mixal-mode.el ends here
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el
index b84fa87a0de..3cd243580e2 100644
--- a/lisp/progmodes/pascal.el
+++ b/lisp/progmodes/pascal.el
@@ -69,36 +69,34 @@
69 "Abbrev table in use in Pascal-mode buffers.") 69 "Abbrev table in use in Pascal-mode buffers.")
70(define-abbrev-table 'pascal-mode-abbrev-table ()) 70(define-abbrev-table 'pascal-mode-abbrev-table ())
71 71
72(defvar pascal-mode-map () 72(defvar pascal-mode-map
73 (let ((map (make-sparse-keymap)))
74 (define-key map ";" 'electric-pascal-semi-or-dot)
75 (define-key map "." 'electric-pascal-semi-or-dot)
76 (define-key map ":" 'electric-pascal-colon)
77 (define-key map "=" 'electric-pascal-equal)
78 (define-key map "#" 'electric-pascal-hash)
79 (define-key map "\r" 'electric-pascal-terminate-line)
80 (define-key map "\t" 'electric-pascal-tab)
81 (define-key map "\M-\t" 'pascal-complete-word)
82 (define-key map "\M-?" 'pascal-show-completions)
83 (define-key map "\177" 'backward-delete-char-untabify)
84 (define-key map "\M-\C-h" 'pascal-mark-defun)
85 (define-key map "\C-c\C-b" 'pascal-insert-block)
86 (define-key map "\M-*" 'pascal-star-comment)
87 (define-key map "\C-c\C-c" 'pascal-comment-area)
88 (define-key map "\C-c\C-u" 'pascal-uncomment-area)
89 (define-key map "\M-\C-a" 'pascal-beg-of-defun)
90 (define-key map "\M-\C-e" 'pascal-end-of-defun)
91 (define-key map "\C-c\C-d" 'pascal-goto-defun)
92 (define-key map "\C-c\C-o" 'pascal-outline-mode)
93 ;; A command to change the whole buffer won't be used terribly
94 ;; often, so no need for a key binding.
95 ;; (define-key map "\C-cd" 'pascal-downcase-keywords)
96 ;; (define-key map "\C-cu" 'pascal-upcase-keywords)
97 ;; (define-key map "\C-cc" 'pascal-capitalize-keywords)
98 map)
73 "Keymap used in Pascal mode.") 99 "Keymap used in Pascal mode.")
74(if pascal-mode-map
75 ()
76 (setq pascal-mode-map (make-sparse-keymap))
77 (define-key pascal-mode-map ";" 'electric-pascal-semi-or-dot)
78 (define-key pascal-mode-map "." 'electric-pascal-semi-or-dot)
79 (define-key pascal-mode-map ":" 'electric-pascal-colon)
80 (define-key pascal-mode-map "=" 'electric-pascal-equal)
81 (define-key pascal-mode-map "#" 'electric-pascal-hash)
82 (define-key pascal-mode-map "\r" 'electric-pascal-terminate-line)
83 (define-key pascal-mode-map "\t" 'electric-pascal-tab)
84 (define-key pascal-mode-map "\M-\t" 'pascal-complete-word)
85 (define-key pascal-mode-map "\M-?" 'pascal-show-completions)
86 (define-key pascal-mode-map "\177" 'backward-delete-char-untabify)
87 (define-key pascal-mode-map "\M-\C-h" 'pascal-mark-defun)
88 (define-key pascal-mode-map "\C-c\C-b" 'pascal-insert-block)
89 (define-key pascal-mode-map "\M-*" 'pascal-star-comment)
90 (define-key pascal-mode-map "\C-c\C-c" 'pascal-comment-area)
91 (define-key pascal-mode-map "\C-c\C-u" 'pascal-uncomment-area)
92 (define-key pascal-mode-map "\M-\C-a" 'pascal-beg-of-defun)
93 (define-key pascal-mode-map "\M-\C-e" 'pascal-end-of-defun)
94 (define-key pascal-mode-map "\C-c\C-d" 'pascal-goto-defun)
95 (define-key pascal-mode-map "\C-c\C-o" 'pascal-outline)
96;;; A command to change the whole buffer won't be used terribly
97;;; often, so no need for a key binding.
98; (define-key pascal-mode-map "\C-cd" 'pascal-downcase-keywords)
99; (define-key pascal-mode-map "\C-cu" 'pascal-upcase-keywords)
100; (define-key pascal-mode-map "\C-cc" 'pascal-capitalize-keywords)
101 )
102 100
103(defvar pascal-imenu-generic-expression 101(defvar pascal-imenu-generic-expression
104 '((nil "^[ \t]*\\(function\\|procedure\\)[ \t\n]+\\([a-zA-Z0-9_.:]+\\)" 2)) 102 '((nil "^[ \t]*\\(function\\|procedure\\)[ \t\n]+\\([a-zA-Z0-9_.:]+\\)" 2))
@@ -132,28 +130,31 @@
132(defconst pascal-exclude-str-start "{-----\\/----- EXCLUDED -----\\/-----") 130(defconst pascal-exclude-str-start "{-----\\/----- EXCLUDED -----\\/-----")
133(defconst pascal-exclude-str-end " -----/\\----- EXCLUDED -----/\\-----}") 131(defconst pascal-exclude-str-end " -----/\\----- EXCLUDED -----/\\-----}")
134 132
135(defvar pascal-mode-syntax-table nil 133(defvar pascal-mode-syntax-table
134 (let ((st (make-syntax-table)))
135 (modify-syntax-entry ?\\ "." st)
136 (modify-syntax-entry ?\( "()1" st)
137 (modify-syntax-entry ?\) ")(4" st)
138 ;; This used to use comment-syntax `b'. But the only document I could
139 ;; find about the syntax of Pascal's comments said that (* ... } is
140 ;; a valid comment, just as { ... *) or (* ... *) or { ... }.
141 (modify-syntax-entry ?* ". 23" st)
142 (modify-syntax-entry ?{ "<" st)
143 (modify-syntax-entry ?} ">" st)
144 (modify-syntax-entry ?+ "." st)
145 (modify-syntax-entry ?- "." st)
146 (modify-syntax-entry ?= "." st)
147 (modify-syntax-entry ?% "." st)
148 (modify-syntax-entry ?< "." st)
149 (modify-syntax-entry ?> "." st)
150 (modify-syntax-entry ?& "." st)
151 (modify-syntax-entry ?| "." st)
152 (modify-syntax-entry ?_ "_" st)
153 (modify-syntax-entry ?\' "\"" st)
154 st)
136 "Syntax table in use in Pascal-mode buffers.") 155 "Syntax table in use in Pascal-mode buffers.")
137 156
138(if pascal-mode-syntax-table 157
139 ()
140 (setq pascal-mode-syntax-table (make-syntax-table))
141 (modify-syntax-entry ?\\ "." pascal-mode-syntax-table)
142 (modify-syntax-entry ?( "()1" pascal-mode-syntax-table)
143 (modify-syntax-entry ?) ")(4" pascal-mode-syntax-table)
144 (modify-syntax-entry ?* ". 23b" pascal-mode-syntax-table)
145 (modify-syntax-entry ?{ "<" pascal-mode-syntax-table)
146 (modify-syntax-entry ?} ">" pascal-mode-syntax-table)
147 (modify-syntax-entry ?+ "." pascal-mode-syntax-table)
148 (modify-syntax-entry ?- "." pascal-mode-syntax-table)
149 (modify-syntax-entry ?= "." pascal-mode-syntax-table)
150 (modify-syntax-entry ?% "." pascal-mode-syntax-table)
151 (modify-syntax-entry ?< "." pascal-mode-syntax-table)
152 (modify-syntax-entry ?> "." pascal-mode-syntax-table)
153 (modify-syntax-entry ?& "." pascal-mode-syntax-table)
154 (modify-syntax-entry ?| "." pascal-mode-syntax-table)
155 (modify-syntax-entry ?_ "_" pascal-mode-syntax-table)
156 (modify-syntax-entry ?\' "\"" pascal-mode-syntax-table))
157 158
158(defconst pascal-font-lock-keywords (purecopy 159(defconst pascal-font-lock-keywords (purecopy
159 (list 160 (list
@@ -327,7 +328,7 @@ Other useful functions are:
327\\[pascal-beg-of-defun]\t- Move to beginning of current function. 328\\[pascal-beg-of-defun]\t- Move to beginning of current function.
328\\[pascal-end-of-defun]\t- Move to end of current function. 329\\[pascal-end-of-defun]\t- Move to end of current function.
329\\[pascal-goto-defun]\t- Goto function prompted for in the minibuffer. 330\\[pascal-goto-defun]\t- Goto function prompted for in the minibuffer.
330\\[pascal-outline]\t- Enter pascal-outline-mode (see also pascal-outline). 331\\[pascal-outline-mode]\t- Enter `pascal-outline-mode'.
331 332
332Variables controlling indentation/edit style: 333Variables controlling indentation/edit style:
333 334
@@ -792,8 +793,7 @@ on the line which ends a function or procedure named NAME."
792(defun pascal-indent-command () 793(defun pascal-indent-command ()
793 "Indent for special part of code." 794 "Indent for special part of code."
794 (let* ((indent-str (pascal-calculate-indent)) 795 (let* ((indent-str (pascal-calculate-indent))
795 (type (car indent-str)) 796 (type (car indent-str)))
796 (ind (car (cdr indent-str))))
797 (cond ((and (eq type 'paramlist) 797 (cond ((and (eq type 'paramlist)
798 (or (memq 'all pascal-auto-lineup) 798 (or (memq 'all pascal-auto-lineup)
799 (memq 'paramlist pascal-auto-lineup))) 799 (memq 'paramlist pascal-auto-lineup)))
@@ -971,7 +971,7 @@ Do not count labels, case-statements or records."
971 (end-of-line) 971 (end-of-line)
972 (point-marker) 972 (point-marker)
973 (re-search-backward "\\<case\\>" nil t))) 973 (re-search-backward "\\<case\\>" nil t)))
974 (beg (point)) oldpos 974 (beg (point))
975 (ind 0)) 975 (ind 0))
976 ;; Get right indent 976 ;; Get right indent
977 (while (< (point) end) 977 (while (< (point) end)
@@ -986,7 +986,6 @@ Do not count labels, case-statements or records."
986 (setq ind (current-column))) 986 (setq ind (current-column)))
987 (pascal-end-of-statement)))) 987 (pascal-end-of-statement))))
988 (goto-char beg) 988 (goto-char beg)
989 (setq oldpos (marker-position end))
990 ;; Indent all case statements 989 ;; Indent all case statements
991 (while (< (point) end) 990 (while (< (point) end)
992 (if (re-search-forward 991 (if (re-search-forward
@@ -999,7 +998,6 @@ Do not count labels, case-statements or records."
999 (forward-char 1) 998 (forward-char 1)
1000 (delete-horizontal-space) 999 (delete-horizontal-space)
1001 (insert " ")) 1000 (insert " "))
1002 (setq oldpos (point))
1003 (pascal-end-of-statement)) 1001 (pascal-end-of-statement))
1004 (goto-char savepos))) 1002 (goto-char savepos)))
1005 1003
@@ -1490,30 +1488,20 @@ The default is a name found in the buffer around point."
1490;;; 1488;;;
1491;;; Pascal-outline-mode 1489;;; Pascal-outline-mode
1492;;; 1490;;;
1493(defvar pascal-outline-map nil "Keymap used in Pascal Outline mode.") 1491(defvar pascal-outline-map
1494 1492 (let ((map (make-sparse-keymap)))
1495(if pascal-outline-map 1493 (if (fboundp 'set-keymap-name)
1496 nil 1494 (set-keymap-name pascal-outline-map 'pascal-outline-map))
1497 (if (fboundp 'set-keymap-name) 1495 (define-key map "\M-\C-a" 'pascal-outline-prev-defun)
1498 (set-keymap-name pascal-outline-map 'pascal-outline-map)) 1496 (define-key map "\M-\C-e" 'pascal-outline-next-defun)
1499 (if (fboundp 'set-keymap-parent) 1497 (define-key map "\C-c\C-d" 'pascal-outline-goto-defun)
1500 (set-keymap-parent (setq pascal-outline-map (make-sparse-keymap)) 1498 (define-key map "\C-c\C-s" 'pascal-show-all)
1501 pascal-mode-map) 1499 (define-key map "\C-c\C-h" 'pascal-hide-other-defuns)
1502 (setq pascal-outline-map (copy-keymap pascal-mode-map))) 1500 map)
1503 (define-key pascal-outline-map "\M-\C-a" 'pascal-outline-prev-defun) 1501 "Keymap used in Pascal Outline mode.")
1504 (define-key pascal-outline-map "\M-\C-e" 'pascal-outline-next-defun) 1502
1505 (define-key pascal-outline-map "\C-c\C-d" 'pascal-outline-goto-defun) 1503(define-obsolete-function-alias 'pascal-outline 'pascal-outline-mode)
1506 (define-key pascal-outline-map "\C-c\C-s" 'pascal-show-all) 1504(define-minor-mode pascal-outline-mode
1507 (define-key pascal-outline-map "\C-c\C-h" 'pascal-hide-other-defuns))
1508
1509(defvar pascal-outline-mode nil "Non-nil while using Pascal Outline mode.")
1510(make-variable-buffer-local 'pascal-outline-mode)
1511(set-default 'pascal-outline-mode nil)
1512(if (not (assoc 'pascal-outline-mode minor-mode-alist))
1513 (setq minor-mode-alist (append minor-mode-alist
1514 (list '(pascal-outline-mode " Outl")))))
1515
1516(defun pascal-outline (&optional arg)
1517 "Outline-line minor mode for Pascal mode. 1505 "Outline-line minor mode for Pascal mode.
1518When in Pascal Outline mode, portions 1506When in Pascal Outline mode, portions
1519of the text being edited may be made invisible. \\<pascal-outline-map> 1507of the text being edited may be made invisible. \\<pascal-outline-map>
@@ -1531,26 +1519,26 @@ Pascal Outline mode provides some additional commands.
1531\\[pascal-hide-other-defuns]\ 1519\\[pascal-hide-other-defuns]\
1532\t- Hide everything but the current function (function under the cursor). 1520\t- Hide everything but the current function (function under the cursor).
1533\\[pascal-outline]\t- Leave pascal-outline-mode." 1521\\[pascal-outline]\t- Leave pascal-outline-mode."
1534 (interactive "P") 1522 :init-value nil :lighter " Outl" :keymap pascal-outline-map
1535 (setq pascal-outline-mode 1523 (add-to-invisibility-spec '(pascal . t))
1536 (if (null arg) (not pascal-outline-mode) t)) 1524 (unless pascal-outline-mode
1537 (if (fboundp 'redraw-mode-line) 1525 (pascal-show-all)))
1538 (redraw-mode-line))
1539 (if pascal-outline-mode
1540 (progn
1541 (setq selective-display t)
1542 (use-local-map pascal-outline-map))
1543 (progn
1544 (setq selective-display nil)
1545 (pascal-show-all)
1546 (use-local-map pascal-mode-map))))
1547 1526
1548(defun pascal-outline-change (b e pascal-flag) 1527(defun pascal-outline-change (b e pascal-flag)
1549 (let ((modp (buffer-modified-p))) 1528 (save-excursion
1550 (unwind-protect 1529 ;; This used to use selective display so the boundaries used by the
1551 (subst-char-in-region b e (if (= pascal-flag ?\n) 1530 ;; callers didn't have to be precise, since it just looked for \n or \^M
1552 ?\^M ?\n) pascal-flag) 1531 ;; and switched them.
1553 (set-buffer-modified-p modp)))) 1532 (goto-char b) (setq b (line-end-position))
1533 (goto-char e) (setq e (line-end-position)))
1534 (when (> e b)
1535 ;; We could try and optimize this in the case where the region is
1536 ;; already hidden. But I'm not sure it's worth the trouble.
1537 (remove-overlays b e 'invisible 'pascal)
1538 (when (eq pascal-flag ?\^M)
1539 (let ((ol (make-overlay b e nil t nil)))
1540 (overlay-put ol 'invisible 'pascal)
1541 (overlay-put ol 'evaporate t)))))
1554 1542
1555(defun pascal-show-all () 1543(defun pascal-show-all ()
1556 "Show all of the text in the buffer." 1544 "Show all of the text in the buffer."
@@ -1628,5 +1616,5 @@ Pascal Outline mode provides some additional commands.
1628 1616
1629(provide 'pascal) 1617(provide 'pascal)
1630 1618
1631;;; arch-tag: 04535136-fd93-40b4-a505-c9bebdc051f5 1619;; arch-tag: 04535136-fd93-40b4-a505-c9bebdc051f5
1632;;; pascal.el ends here 1620;;; pascal.el ends here
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el
index 3df7dffd21e..aa598a7f370 100644
--- a/lisp/progmodes/sh-script.el
+++ b/lisp/progmodes/sh-script.el
@@ -3392,7 +3392,7 @@ t means to return a list of all possible completions of STRING.
3392 "Insert code to setup temporary file handling. See `sh-feature'." 3392 "Insert code to setup temporary file handling. See `sh-feature'."
3393 (bash sh-append ksh88) 3393 (bash sh-append ksh88)
3394 (csh (file-name-nondirectory (buffer-file-name)) 3394 (csh (file-name-nondirectory (buffer-file-name))
3395 "set tmp = /tmp/" str ".$$" \n 3395 "set tmp = `mktemp -t " str ".XXXXXX`" \n
3396 "onintr exit" \n _ 3396 "onintr exit" \n _
3397 (and (goto-char (point-max)) 3397 (and (goto-char (point-max))
3398 (not (bolp)) 3398 (not (bolp))
@@ -3400,8 +3400,8 @@ t means to return a list of all possible completions of STRING.
3400 "exit:\n" 3400 "exit:\n"
3401 "rm $tmp* >&/dev/null" > \n) 3401 "rm $tmp* >&/dev/null" > \n)
3402 (es (file-name-nondirectory (buffer-file-name)) 3402 (es (file-name-nondirectory (buffer-file-name))
3403 > "local( signals = $signals sighup sigint; tmp = /tmp/" str 3403 > "local( signals = $signals sighup sigint;" \n
3404 ".$pid ) {" \n 3404 > "tmp = `{ mktemp -t " str ".XXXXXX } ) {" \n
3405 > "catch @ e {" \n 3405 > "catch @ e {" \n
3406 > "rm $tmp^* >[2]/dev/null" \n 3406 > "rm $tmp^* >[2]/dev/null" \n
3407 "throw $e" \n 3407 "throw $e" \n
@@ -3412,10 +3412,10 @@ t means to return a list of all possible completions of STRING.
3412 (ksh88 sh-modify sh 3412 (ksh88 sh-modify sh
3413 7 "EXIT") 3413 7 "EXIT")
3414 (rc (file-name-nondirectory (buffer-file-name)) 3414 (rc (file-name-nondirectory (buffer-file-name))
3415 > "tmp = /tmp/" str ".$pid" \n 3415 > "tmp = `{ mktemp -t " str ".XXXXXX }" \n
3416 "fn sigexit { rm $tmp^* >[2]/dev/null }" \n) 3416 "fn sigexit { rm $tmp^* >[2]/dev/null }" \n)
3417 (sh (file-name-nondirectory (buffer-file-name)) 3417 (sh (file-name-nondirectory (buffer-file-name))
3418 > "TMP=${TMPDIR:-/tmp}/" str ".$$" \n 3418 > "TMP=`mktemp -t " str ".XXXXXX`" \n
3419 "trap \"rm $TMP* 2>/dev/null\" " ?0 \n)) 3419 "trap \"rm $TMP* 2>/dev/null\" " ?0 \n))
3420 3420
3421 3421
diff --git a/lisp/recentf.el b/lisp/recentf.el
index a2392fb852c..b14997d604f 100644
--- a/lisp/recentf.el
+++ b/lisp/recentf.el
@@ -206,6 +206,13 @@ elements (see `recentf-make-menu-element' for menu element form)."
206 function) 206 function)
207 :set 'recentf-menu-customization-changed) 207 :set 'recentf-menu-customization-changed)
208 208
209(defcustom recentf-menu-open-all-flag nil
210 "*Non-nil means to show an \"All...\" item in the menu.
211This item will replace the \"More...\" item."
212 :group 'recentf
213 :type 'boolean
214 :set 'recentf-menu-customization-changed)
215
209(defcustom recentf-menu-append-commands-flag t 216(defcustom recentf-menu-append-commands-flag t
210 "*Non-nil means to append command items to the menu." 217 "*Non-nil means to append command items to the menu."
211 :group 'recentf 218 :group 'recentf
@@ -278,7 +285,6 @@ If non-nil, `recentf-open-files' will show labels for keys that can be
278used as shortcuts to open the Nth file." 285used as shortcuts to open the Nth file."
279 :group 'recentf 286 :group 'recentf
280 :type 'boolean) 287 :type 'boolean)
281
282 288
283;;; Utilities 289;;; Utilities
284;; 290;;
@@ -448,6 +454,25 @@ Return non-nil if F1 is less than F2."
448 454
449;;; Menu building 455;;; Menu building
450;; 456;;
457(defsubst recentf-digit-shortcut-command-name (n)
458 "Return a command name to open the Nth most recent file.
459See also the command `recentf-open-most-recent-file'."
460 (intern (format "recentf-open-most-recent-file-%d" n)))
461
462(defvar recentf--shortcuts-keymap
463 (let ((km (make-sparse-keymap)))
464 (dolist (k '(0 9 8 7 6 5 4 3 2 1))
465 (let ((cmd (recentf-digit-shortcut-command-name k)))
466 ;; Define a shortcut command.
467 (defalias cmd
468 `(lambda ()
469 (interactive)
470 (recentf-open-most-recent-file ,k)))
471 ;; Bind it to a digit key.
472 (define-key km (vector (+ k ?0)) cmd)))
473 km)
474 "Digit shortcuts keymap.")
475
451(defvar recentf-menu-items-for-commands 476(defvar recentf-menu-items-for-commands
452 (list 477 (list
453 ["Cleanup list" 478 ["Cleanup list"
@@ -548,21 +573,29 @@ menu-elements (no sub-menu)."
548 (nconc l others)) 573 (nconc l others))
549 l)) 574 l))
550 575
576;; Count the number of assigned menu shortcuts.
577(defvar recentf-menu-shortcuts)
578
551(defun recentf-make-menu-items () 579(defun recentf-make-menu-items ()
552 "Make menu items from the recent list." 580 "Make menu items from the recent list."
553 (setq recentf-menu-filter-commands nil) 581 (setq recentf-menu-filter-commands nil)
554 (let ((file-items 582 (let* ((recentf-menu-shortcuts 0)
555 (mapcar 'recentf-make-menu-item 583 (file-items
556 (recentf-apply-menu-filter 584 (mapcar 'recentf-make-menu-item
557 recentf-menu-filter 585 (recentf-apply-menu-filter
558 (recentf-menu-elements recentf-max-menu-items))))) 586 recentf-menu-filter
587 (recentf-menu-elements recentf-max-menu-items)))))
559 (append (or file-items (list ["No files" t 588 (append (or file-items (list ["No files" t
560 :help "No recent file to open" 589 :help "No recent file to open"
561 :active nil])) 590 :active nil]))
562 (and (< recentf-max-menu-items (length recentf-list)) 591 (if recentf-menu-open-all-flag
563 (list ["More..." recentf-open-more-files 592 (list ["All..." recentf-open-files
564 :help "Open files that are not in the menu" 593 :help "Open recent files through a dialog"
565 :active t])) 594 :active t])
595 (and (< recentf-max-menu-items (length recentf-list))
596 (list ["More..." recentf-open-more-files
597 :help "Open files not in the menu through a dialog"
598 :active t])))
566 (and recentf-menu-filter-commands 599 (and recentf-menu-filter-commands
567 (cons "---" 600 (cons "---"
568 recentf-menu-filter-commands)) 601 recentf-menu-filter-commands))
@@ -570,15 +603,37 @@ menu-elements (no sub-menu)."
570 (cons "---" 603 (cons "---"
571 recentf-menu-items-for-commands))))) 604 recentf-menu-items-for-commands)))))
572 605
573(defsubst recentf-make-menu-item (elt) 606(defun recentf-menu-value-shortcut (name)
607 "Return a shorcut digit for file NAME.
608Return nil if file NAME is not one of the ten more recent."
609 (let ((i 0) k)
610 (while (and (not k) (< i 10))
611 (if (string-equal name (nth i recentf-list))
612 (progn
613 (setq recentf-menu-shortcuts (1+ recentf-menu-shortcuts))
614 (setq k (% (1+ i) 10)))
615 (setq i (1+ i))))
616 k))
617
618(defun recentf-make-menu-item (elt)
574 "Make a menu item from menu element ELT." 619 "Make a menu item from menu element ELT."
575 (let ((item (recentf-menu-element-item elt)) 620 (let ((item (recentf-menu-element-item elt))
576 (value (recentf-menu-element-value elt))) 621 (value (recentf-menu-element-value elt)))
577 (if (recentf-sub-menu-element-p elt) 622 (if (recentf-sub-menu-element-p elt)
578 (cons item (mapcar 'recentf-make-menu-item value)) 623 (cons item (mapcar 'recentf-make-menu-item value))
579 (vector item (list recentf-menu-action value) 624 (let ((k (and (< recentf-menu-shortcuts 10)
580 :help (concat "Open " value) 625 (recentf-menu-value-shortcut value))))
581 :active t)))) 626 (vector item
627 ;; If the file name is one of the ten more recent, use
628 ;; a digit shortcut command to open it, else use an
629 ;; anonymous command.
630 (if k
631 (recentf-digit-shortcut-command-name k)
632 `(lambda ()
633 (interactive)
634 (,recentf-menu-action ,value)))
635 :help (concat "Open " value)
636 :active t)))))
582 637
583(defsubst recentf-menu-bar () 638(defsubst recentf-menu-bar ()
584 "Return the keymap of the global menu bar." 639 "Return the keymap of the global menu bar."
@@ -930,6 +985,54 @@ unchanged."
930 t))))) 985 t)))))
931 l)) 986 l))
932 987
988;;; Hooks
989;;
990(defun recentf-track-opened-file ()
991 "Insert the name of the file just opened or written into the recent list."
992 (and buffer-file-name
993 (recentf-add-file buffer-file-name))
994 ;; Must return nil because it is run from `write-file-functions'.
995 nil)
996
997(defun recentf-track-closed-file ()
998 "Update the recent list when a buffer is killed.
999That is, remove a non kept file from the recent list."
1000 (and buffer-file-name
1001 (recentf-remove-if-non-kept buffer-file-name)))
1002
1003(defun recentf-update-menu ()
1004 "Update the recentf menu from the current recent list."
1005 (let ((cache (cons default-directory recentf-list)))
1006 ;; Does nothing, if nothing has changed.
1007 (unless (equal recentf-data-cache cache)
1008 (setq recentf-data-cache cache)
1009 (condition-case err
1010 (easy-menu-add-item
1011 (recentf-menu-bar) recentf-menu-path
1012 (easy-menu-create-menu recentf-menu-title
1013 (recentf-make-menu-items))
1014 recentf-menu-before)
1015 (error
1016 (message "recentf update menu failed: %s"
1017 (error-message-string err)))))))
1018
1019(defconst recentf-used-hooks
1020 '(
1021 (find-file-hook recentf-track-opened-file)
1022 (write-file-functions recentf-track-opened-file)
1023 (kill-buffer-hook recentf-track-closed-file)
1024 (menu-bar-update-hook recentf-update-menu)
1025 (kill-emacs-hook recentf-save-list)
1026 )
1027 "Hooks used by recentf.")
1028
1029(defsubst recentf-enabled-p ()
1030 "Return non-nil if recentf mode is currently enabled."
1031 (memq 'recentf-update-menu menu-bar-update-hook))
1032
1033;;; Commands
1034;;
1035
933;;; Common dialog stuff 1036;;; Common dialog stuff
934;; 1037;;
935(defun recentf-cancel-dialog (&rest ignore) 1038(defun recentf-cancel-dialog (&rest ignore)
@@ -953,13 +1056,10 @@ Go to the beginning of buffer if not found."
953 (goto-char (point-min)))) 1056 (goto-char (point-min))))
954 1057
955(defvar recentf-dialog-mode-map 1058(defvar recentf-dialog-mode-map
956 (let ((km (make-sparse-keymap))) 1059 (let ((km (copy-keymap recentf--shortcuts-keymap)))
957 (set-keymap-parent km widget-keymap) 1060 (set-keymap-parent km widget-keymap)
958 (define-key km "q" 'recentf-cancel-dialog) 1061 (define-key km "q" 'recentf-cancel-dialog)
959 (define-key km [down-mouse-1] 'widget-button-click) 1062 (define-key km [follow-link] "\C-m")
960 ;; Keys in reverse order of appearence in help.
961 (dolist (k '("0" "9" "8" "7" "6" "5" "4" "3" "2" "1"))
962 (define-key km k 'recentf-open-file-with-key))
963 km) 1063 km)
964 "Keymap used in recentf dialogs.") 1064 "Keymap used in recentf dialogs.")
965 1065
@@ -986,54 +1086,6 @@ Go to the beginning of buffer if not found."
986 (widget-setup) 1086 (widget-setup)
987 (switch-to-buffer (current-buffer)))) 1087 (switch-to-buffer (current-buffer))))
988 1088
989;;; Hooks
990;;
991(defun recentf-track-opened-file ()
992 "Insert the name of the file just opened or written into the recent list."
993 (and buffer-file-name
994 (recentf-add-file buffer-file-name))
995 ;; Must return nil because it is run from `write-file-functions'.
996 nil)
997
998(defun recentf-track-closed-file ()
999 "Update the recent list when a buffer is killed.
1000That is, remove a non kept file from the recent list."
1001 (and buffer-file-name
1002 (recentf-remove-if-non-kept buffer-file-name)))
1003
1004(defun recentf-update-menu ()
1005 "Update the recentf menu from the current recent list."
1006 (let ((cache (cons default-directory recentf-list)))
1007 ;; Does nothing, if nothing has changed.
1008 (unless (equal recentf-data-cache cache)
1009 (setq recentf-data-cache cache)
1010 (condition-case err
1011 (easy-menu-add-item
1012 (recentf-menu-bar) recentf-menu-path
1013 (easy-menu-create-menu recentf-menu-title
1014 (recentf-make-menu-items))
1015 recentf-menu-before)
1016 (error
1017 (message "recentf update menu failed: %s"
1018 (error-message-string err)))))))
1019
1020(defconst recentf-used-hooks
1021 '(
1022 (find-file-hook recentf-track-opened-file)
1023 (write-file-functions recentf-track-opened-file)
1024 (kill-buffer-hook recentf-track-closed-file)
1025 (menu-bar-update-hook recentf-update-menu)
1026 (kill-emacs-hook recentf-save-list)
1027 )
1028 "Hooks used by recentf.")
1029
1030(defsubst recentf-enabled-p ()
1031 "Return non-nil if recentf mode is currently enabled."
1032 (memq 'recentf-update-menu menu-bar-update-hook))
1033
1034;;; Commands
1035;;
1036
1037;;; Edit list dialog 1089;;; Edit list dialog
1038;; 1090;;
1039(defvar recentf-edit-list nil) 1091(defvar recentf-edit-list nil)
@@ -1081,14 +1133,14 @@ Click on Cancel or type `q' to cancel.\n")
1081 'push-button 1133 'push-button
1082 :notify 'recentf-edit-list-validate 1134 :notify 'recentf-edit-list-validate
1083 :help-echo "Delete selected files from the recent list" 1135 :help-echo "Delete selected files from the recent list"
1084 "Ok") 1136 "Ok")
1085 (widget-insert " ") 1137 (widget-insert " ")
1086 (widget-create 1138 (widget-create
1087 'push-button 1139 'push-button
1088 :notify 'recentf-cancel-dialog 1140 :notify 'recentf-cancel-dialog
1089 "Cancel") 1141 "Cancel")
1090 (recentf-dialog-goto-first 'checkbox))) 1142 (recentf-dialog-goto-first 'checkbox)))
1091 1143
1092;;; Open file dialog 1144;;; Open file dialog
1093;; 1145;;
1094(defun recentf-open-files-action (widget &rest ignore) 1146(defun recentf-open-files-action (widget &rest ignore)
@@ -1178,30 +1230,29 @@ use for the dialog. It defaults to \"*`recentf-menu-title'*\"."
1178 "Cancel") 1230 "Cancel")
1179 (recentf-dialog-goto-first 'link))) 1231 (recentf-dialog-goto-first 'link)))
1180 1232
1181(defun recentf-open-file-with-key (n)
1182 "Open the recent file with the shortcut numeric key N.
1183N must be a valid digit.
1184`1' opens the first file, `2' the second file, ... `9' the ninth file.
1185`0' opens the tenth file."
1186 (interactive
1187 (list
1188 (let ((n (string-to-number (this-command-keys))))
1189 (cond
1190 ((zerop n) 10)
1191 ((and (> n 0) (< n 10)) n)
1192 ((error "Invalid digit key %d" n))))))
1193 (when recentf--files-with-key
1194 (let ((file (nth (1- n) recentf--files-with-key)))
1195 (unless file (error "Not that many recent files"))
1196 (kill-buffer (current-buffer))
1197 (funcall recentf-menu-action file))))
1198
1199(defun recentf-open-more-files () 1233(defun recentf-open-more-files ()
1200 "Show a dialog to open a recent file that is not in the menu." 1234 "Show a dialog to open a recent file that is not in the menu."
1201 (interactive) 1235 (interactive)
1202 (recentf-open-files (nthcdr recentf-max-menu-items recentf-list) 1236 (recentf-open-files (nthcdr recentf-max-menu-items recentf-list)
1203 (format "*%s - More*" recentf-menu-title))) 1237 (format "*%s - More*" recentf-menu-title)))
1204 1238
1239(defun recentf-open-most-recent-file (&optional n)
1240 "Open the Nth most recent file.
1241Optional argument N must be a valid digit number. It defaults to 1.
12421 opens the most recent file, 2 the second most recent one, etc..
12430 opens the tenth most recent file."
1244 (interactive "p")
1245 (cond
1246 ((zerop n) (setq n 10))
1247 ((and (> n 0) (< n 10)))
1248 ((error "Recent file number out of range [0-9], %d" n)))
1249 (let ((file (nth (1- n) (or recentf--files-with-key recentf-list))))
1250 (unless file (error "Not that many recent files"))
1251 ;; Close the open files dialog.
1252 (when recentf--files-with-key
1253 (kill-buffer (current-buffer)))
1254 (funcall recentf-menu-action file)))
1255
1205;;; Save/load/cleanup the recent list 1256;;; Save/load/cleanup the recent list
1206;; 1257;;
1207(defconst recentf-save-file-header 1258(defconst recentf-save-file-header
@@ -1265,6 +1316,11 @@ That is, remove duplicates, non-kept, and excluded files."
1265 (message "File %s removed from the recentf list" f))) 1316 (message "File %s removed from the recentf list" f)))
1266 (message "Cleaning up the recentf list...done (%d removed)" n) 1317 (message "Cleaning up the recentf list...done (%d removed)" n)
1267 (setq recentf-list (nreverse newlist)))) 1318 (setq recentf-list (nreverse newlist))))
1319
1320;;; The minor mode
1321;;
1322(defvar recentf-mode-map (make-sparse-keymap)
1323 "Keymap to use in recentf mode.")
1268 1324
1269;;;###autoload 1325;;;###autoload
1270(define-minor-mode recentf-mode 1326(define-minor-mode recentf-mode
@@ -1273,9 +1329,12 @@ With prefix argument ARG, turn on if positive, otherwise off.
1273Returns non-nil if the new state is enabled. 1329Returns non-nil if the new state is enabled.
1274 1330
1275When recentf mode is enabled, it maintains a menu for visiting files 1331When recentf mode is enabled, it maintains a menu for visiting files
1276that were operated on recently." 1332that were operated on recently.
1333
1334\\{recentf-mode-map}"
1277 :global t 1335 :global t
1278 :group 'recentf 1336 :group 'recentf
1337 :keymap recentf-mode-map
1279 (unless (and recentf-mode (recentf-enabled-p)) 1338 (unless (and recentf-mode (recentf-enabled-p))
1280 (if recentf-mode 1339 (if recentf-mode
1281 (recentf-load-list) 1340 (recentf-load-list)
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index cdb592a3944..bb813808ed9 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -762,7 +762,7 @@ This basically creates a sparse keymap, and makes it's parent be
762 (define-key speedbar-file-key-map "-" 'speedbar-contract-line) 762 (define-key speedbar-file-key-map "-" 'speedbar-contract-line)
763 763
764 (define-key speedbar-file-key-map "[" 'speedbar-expand-line-descendants) 764 (define-key speedbar-file-key-map "[" 'speedbar-expand-line-descendants)
765 (define-key speedbar-file-key-map "]" 'speedbar-close-line-descendants) 765 (define-key speedbar-file-key-map "]" 'speedbar-contract-line-descendants)
766 766
767 (define-key speedbar-file-key-map " " 'speedbar-toggle-line-expansion) 767 (define-key speedbar-file-key-map " " 'speedbar-toggle-line-expansion)
768 768
diff --git a/lisp/startup.el b/lisp/startup.el
index ea3de24d488..ab6e8f0bc6c 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -121,8 +121,7 @@ This is normally copied from `default-directory' when Emacs starts.")
121 ("-bg" 1 x-handle-switch background-color) 121 ("-bg" 1 x-handle-switch background-color)
122 ("-background" 1 x-handle-switch background-color) 122 ("-background" 1 x-handle-switch background-color)
123 ("-ms" 1 x-handle-switch mouse-color) 123 ("-ms" 1 x-handle-switch mouse-color)
124 ("-itype" 0 x-handle-switch icon-type t) 124 ("-nbi" 0 x-handle-switch icon-type nil)
125 ("-i" 0 x-handle-switch icon-type t)
126 ("-iconic" 0 x-handle-iconic) 125 ("-iconic" 0 x-handle-iconic)
127 ("-xrm" 1 x-handle-xrm-switch) 126 ("-xrm" 1 x-handle-xrm-switch)
128 ("-cr" 1 x-handle-switch cursor-color) 127 ("-cr" 1 x-handle-switch cursor-color)
@@ -143,7 +142,7 @@ This is normally copied from `default-directory' when Emacs starts.")
143 ("--foreground-color" 1 x-handle-switch foreground-color) 142 ("--foreground-color" 1 x-handle-switch foreground-color)
144 ("--background-color" 1 x-handle-switch background-color) 143 ("--background-color" 1 x-handle-switch background-color)
145 ("--mouse-color" 1 x-handle-switch mouse-color) 144 ("--mouse-color" 1 x-handle-switch mouse-color)
146 ("--icon-type" 0 x-handle-switch icon-type t) 145 ("--no-bitmap-icon" 0 x-handle-switch icon-type nil)
147 ("--iconic" 0 x-handle-iconic) 146 ("--iconic" 0 x-handle-iconic)
148 ("--xrm" 1 x-handle-xrm-switch) 147 ("--xrm" 1 x-handle-xrm-switch)
149 ("--cursor-color" 1 x-handle-switch cursor-color) 148 ("--cursor-color" 1 x-handle-switch cursor-color)
@@ -1254,7 +1253,13 @@ This is an internal function used to turn off the splash screen after
1254the user caused an input event by hitting a key or clicking with the 1253the user caused an input event by hitting a key or clicking with the
1255mouse." 1254mouse."
1256 (interactive) 1255 (interactive)
1257 (push last-command-event unread-command-events) 1256 (if (and (consp last-command-event)
1257 (eq (posn-window (event-start last-command-event))
1258 (selected-window)))
1259 ;; This is a mouse-down event in the spash screen window.
1260 ;; Ignore it and consume the corresponding mouse-up event.
1261 (read-event)
1262 (push last-command-event unread-command-events))
1258 (throw 'exit nil)) 1263 (throw 'exit nil))
1259 1264
1260 1265
diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el
index 43601188e69..355b8beb703 100644
--- a/lisp/term/x-win.el
+++ b/lisp/term/x-win.el
@@ -54,8 +54,6 @@
54;; -font *font 54;; -font *font
55;; -foreground *foreground 55;; -foreground *foreground
56;; -geometry .geometry 56;; -geometry .geometry
57;; -i .iconType
58;; -itype .iconType
59;; -iconic .iconic 57;; -iconic .iconic
60;; -name .name 58;; -name .name
61;; -reverse *reverseVideo 59;; -reverse *reverseVideo
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index bd91e2b9b3d..74c7cbc5762 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -772,7 +772,8 @@ Mostly we check word delimiters."
772 ((get this-command 'flyspell-delayed) 772 ((get this-command 'flyspell-delayed)
773 ;; the current command is not delayed, that 773 ;; the current command is not delayed, that
774 ;; is that we must check the word now 774 ;; is that we must check the word now
775 (sit-for flyspell-delay)) 775 (and (not unread-command-events)
776 (sit-for flyspell-delay)))
776 (t t))) 777 (t t)))
777 (t t))) 778 (t t)))
778 779
@@ -1322,47 +1323,43 @@ Word syntax described by `flyspell-dictionary-alist' (which see)."
1322;* flyspell-external-point-words ... */ 1323;* flyspell-external-point-words ... */
1323;*---------------------------------------------------------------------*/ 1324;*---------------------------------------------------------------------*/
1324(defun flyspell-external-point-words () 1325(defun flyspell-external-point-words ()
1325 (let ((buffer flyspell-external-ispell-buffer)) 1326 "Mark words from a buffer listing incorrect words in order of appearance.
1326 (set-buffer buffer) 1327The list of incorrect words should be in `flyspell-external-ispell-buffer'.
1328\(We finish by killing that buffer and setting the variable to nil.)
1329The buffer to mark them in is `flyspell-large-region-buffer'."
1330
1331 (with-current-buffer flyspell-external-ispell-buffer
1327 (goto-char (point-min)) 1332 (goto-char (point-min))
1328 (let ((pword "") 1333 ;; Loop over incorrect words.
1329 (pcount 1)) 1334 (while (re-search-forward "\\([^\n]+\\)\n" (point-max) t)
1330 ;; now we are done with ispell, we have to find the word in 1335 ;; Bind WORD to the next one.
1331 ;; the initial buffer 1336 (let ((word (match-string 1)))
1332 (while (< (point) (- (point-max) 1)) 1337 ;; Here there used to be code to see if WORD is the same
1333 ;; we have to fetch the incorrect word 1338 ;; as the previous iteration, and count the number of consecutive
1334 (if (re-search-forward "\\([^\n]+\\)\n" (point-max) t) 1339 ;; identical words, and the loop below would search for that many.
1335 (let ((word (match-string 1))) 1340 ;; That code seemed to be incorrect, and on principle, should
1336 (if (string= word pword) 1341 ;; be unnecessary too. -- rms.
1337 (setq pcount (1+ pcount)) 1342 (if flyspell-issue-message-flag
1338 (progn 1343 (message "Spell Checking...%d%% [%s]"
1339 (setq pword word) 1344 (* 100 (/ (float (point)) (point-max)))
1340 (setq pcount 1))) 1345 word))
1341 (goto-char (match-end 0)) 1346 ;; Search the other buffer for occurrences of this word,
1342 (if flyspell-issue-message-flag 1347 ;; and check them. Stop when we find one that reports "incorrect".
1343 (message "Spell Checking...%d%% [%s]" 1348 ;; (I don't understand the reason for that logic,
1344 (* 100 (/ (float (point)) (point-max))) 1349 ;; but I didn't want to change it. -- rms.)
1345 word)) 1350 (with-current-buffer flyspell-large-region-buffer
1346 (set-buffer flyspell-large-region-buffer) 1351 (goto-char flyspell-large-region-beg)
1347 (goto-char flyspell-large-region-beg) 1352 (let ((keep t))
1348 (let ((keep t) 1353 (while (and keep
1349 (n 0)) 1354 (search-forward word flyspell-large-region-end t))
1350 (while (and (or (< n pcount) keep) 1355 (goto-char (- (point) 1))
1351 (search-forward word flyspell-large-region-end t)) 1356 (setq keep (flyspell-word)))
1352 (progn 1357 (setq flyspell-large-region-beg (point))))))
1353 (goto-char (- (point) 1))
1354 (setq n (1+ n))
1355 (setq keep (flyspell-word))))
1356 (if (= n pcount)
1357 (setq flyspell-large-region-beg (point))))
1358 (set-buffer buffer))
1359 (goto-char (point-max)))))
1360 ;; we are done 1358 ;; we are done
1361 (if flyspell-issue-message-flag (message "Spell Checking completed.")) 1359 (if flyspell-issue-message-flag (message "Spell Checking completed.")))
1362 ;; ok, we are done with pointing out incorrect words, we just 1360 ;; Kill and forget the buffer with the list of incorrect words.
1363 ;; have to kill the temporary buffer 1361 (kill-buffer flyspell-external-ispell-buffer)
1364 (kill-buffer flyspell-external-ispell-buffer) 1362 (setq flyspell-external-ispell-buffer nil))
1365 (setq flyspell-external-ispell-buffer nil)))
1366 1363
1367;*---------------------------------------------------------------------*/ 1364;*---------------------------------------------------------------------*/
1368;* flyspell-large-region ... */ 1365;* flyspell-large-region ... */
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index aeb2e5f87da..deeb09543ac 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -821,7 +821,7 @@ Otherwise returns the library directory name, if that is defined."
821 (let (case-fold-search) 821 (let (case-fold-search)
822 (setq ispell-really-aspell 822 (setq ispell-really-aspell
823 (and (search-forward-regexp 823 (and (search-forward-regexp
824 "(but really Aspell \\(.*\\))" nil t) 824 "(but really Aspell \\(.*?\\)\\(-[0-9]+\\)?)" nil t)
825 (progn 825 (progn
826 (setq ispell-aspell-supports-utf8 826 (setq ispell-aspell-supports-utf8
827 (not (version< (match-string 1) "0.60"))) 827 (not (version< (match-string 1) "0.60")))
diff --git a/lisp/textmodes/org.el b/lisp/textmodes/org.el
index f10e546d00b..b9542c9fce7 100644
--- a/lisp/textmodes/org.el
+++ b/lisp/textmodes/org.el
@@ -5,7 +5,7 @@
5;; Author: Carsten Dominik <dominik at science dot uva dot nl> 5;; Author: Carsten Dominik <dominik at science dot uva dot nl>
6;; Keywords: outlines, hypermedia, calendar 6;; Keywords: outlines, hypermedia, calendar
7;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/ 7;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
8;; Version: 3.16 8;; Version: 3.17
9;; 9;;
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11;; 11;;
@@ -80,6 +80,9 @@
80;; 80;;
81;; Changes: 81;; Changes:
82;; ------- 82;; -------
83;; Version 3.17
84;; - HTML export specifies character set depending on coding-system.
85;;
83;; Version 3.16 86;; Version 3.16
84;; - In tables, directly after the field motion commands like TAB and RET, 87;; - In tables, directly after the field motion commands like TAB and RET,
85;; typing a character will blank the field. Can be turned off with 88;; typing a character will blank the field. Can be turned off with
@@ -210,7 +213,7 @@
210 213
211;;; Customization variables 214;;; Customization variables
212 215
213(defvar org-version "3.16" 216(defvar org-version "3.17"
214 "The version number of the file org.el.") 217 "The version number of the file org.el.")
215(defun org-version () 218(defun org-version ()
216 (interactive) 219 (interactive)
@@ -482,89 +485,6 @@ or contain a special line
482If the file does not specify a category, then file's base name 485If the file does not specify a category, then file's base name
483is used instead.") 486is used instead.")
484 487
485(defun org-set-regexps-and-options ()
486 "Precompute regular expressions for current buffer."
487 (when (eq major-mode 'org-mode)
488 (let ((re (org-make-options-regexp
489 '("CATEGORY" "SEQ_TODO" "PRI_TODO" "TYP_TODO"
490 "STARTUP" "ARCHIVE")))
491 (splitre "[ \t]+")
492 kwds int key value cat arch)
493 (save-excursion
494 (save-restriction
495 (widen)
496 (goto-char (point-min))
497 (while (re-search-forward re nil t)
498 (setq key (match-string 1) value (match-string 2))
499 (cond
500 ((equal key "CATEGORY")
501 (if (string-match "[ \t]+$" value)
502 (setq value (replace-match "" t t value)))
503 (setq cat (intern value)))
504 ((equal key "SEQ_TODO")
505 (setq int 'sequence
506 kwds (append kwds (org-split-string value splitre))))
507 ((equal key "PRI_TODO")
508 (setq int 'priority
509 kwds (append kwds (org-split-string value splitre))))
510 ((equal key "TYP_TODO")
511 (setq int 'type
512 kwds (append kwds (org-split-string value splitre))))
513 ((equal key "STARTUP")
514 (let ((opts (org-split-string value splitre))
515 (set '(("fold" org-startup-folded t)
516 ("nofold" org-startup-folded nil)
517 ("content" org-startup-folded content)
518 ("dlcheck" org-startup-with-deadline-check t)
519 ("nodlcheck" org-startup-with-deadline-check nil)))
520 l var val)
521 (while (setq l (assoc (pop opts) set))
522 (setq var (nth 1 l) val (nth 2 l))
523 (set (make-local-variable var) val))))
524 ((equal key "ARCHIVE")
525 (string-match " *$" value)
526 (setq arch (replace-match "" t t value))
527 (remove-text-properties 0 (length arch)
528 '(face t fontified t) arch)))
529 )))
530 (and cat (set (make-local-variable 'org-category) cat))
531 (and kwds (set (make-local-variable 'org-todo-keywords) kwds))
532 (and arch (set (make-local-variable 'org-archive-location) arch))
533 (and int (set (make-local-variable 'org-todo-interpretation) int)))
534 ;; Compute the regular expressions and other local variables
535 (setq org-todo-kwd-priority-p (equal org-todo-interpretation 'priority)
536 org-todo-kwd-max-priority (1- (length org-todo-keywords))
537 org-ds-keyword-length (+ 2 (max (length org-deadline-string)
538 (length org-scheduled-string)))
539 org-done-string
540 (nth (1- (length org-todo-keywords)) org-todo-keywords)
541 org-todo-regexp
542 (concat "\\<\\(" (mapconcat 'regexp-quote org-todo-keywords
543 "\\|") "\\)\\>")
544 org-not-done-regexp
545 (concat "\\<\\("
546 (mapconcat 'regexp-quote
547 (nreverse (cdr (reverse org-todo-keywords)))
548 "\\|")
549 "\\)\\>")
550 org-todo-line-regexp
551 (concat "^\\(\\*+\\)[ \t]*\\("
552 (mapconcat 'regexp-quote org-todo-keywords "\\|")
553 "\\)? *\\(.*\\)")
554 org-nl-done-regexp
555 (concat "[\r\n]\\*+[ \t]+" org-done-string "\\>")
556 org-looking-at-done-regexp (concat "^" org-done-string "\\>")
557 org-deadline-regexp (concat "\\<" org-deadline-string)
558 org-deadline-time-regexp
559 (concat "\\<" org-deadline-string " *<\\([^>]+\\)>")
560 org-deadline-line-regexp
561 (concat "\\<\\(" org-deadline-string "\\).*")
562 org-scheduled-regexp
563 (concat "\\<" org-scheduled-string)
564 org-scheduled-time-regexp
565 (concat "\\<" org-scheduled-string " *<\\([^>]+\\)>"))
566 (org-set-font-lock-defaults)))
567
568(defgroup org-time nil 488(defgroup org-time nil
569 "Options concerning time stamps and deadlines in Org-mode." 489 "Options concerning time stamps and deadlines in Org-mode."
570 :tag "Org Time" 490 :tag "Org Time"
@@ -1755,6 +1675,89 @@ When this is non-nil, the headline after the keyword is set to the
1755 )) 1675 ))
1756(defvar org-n-levels (length org-level-faces)) 1676(defvar org-n-levels (length org-level-faces))
1757 1677
1678(defun org-set-regexps-and-options ()
1679 "Precompute regular expressions for current buffer."
1680 (when (eq major-mode 'org-mode)
1681 (let ((re (org-make-options-regexp
1682 '("CATEGORY" "SEQ_TODO" "PRI_TODO" "TYP_TODO"
1683 "STARTUP" "ARCHIVE")))
1684 (splitre "[ \t]+")
1685 kwds int key value cat arch)
1686 (save-excursion
1687 (save-restriction
1688 (widen)
1689 (goto-char (point-min))
1690 (while (re-search-forward re nil t)
1691 (setq key (match-string 1) value (match-string 2))
1692 (cond
1693 ((equal key "CATEGORY")
1694 (if (string-match "[ \t]+$" value)
1695 (setq value (replace-match "" t t value)))
1696 (setq cat (intern value)))
1697 ((equal key "SEQ_TODO")
1698 (setq int 'sequence
1699 kwds (append kwds (org-split-string value splitre))))
1700 ((equal key "PRI_TODO")
1701 (setq int 'priority
1702 kwds (append kwds (org-split-string value splitre))))
1703 ((equal key "TYP_TODO")
1704 (setq int 'type
1705 kwds (append kwds (org-split-string value splitre))))
1706 ((equal key "STARTUP")
1707 (let ((opts (org-split-string value splitre))
1708 (set '(("fold" org-startup-folded t)
1709 ("nofold" org-startup-folded nil)
1710 ("content" org-startup-folded content)
1711 ("dlcheck" org-startup-with-deadline-check t)
1712 ("nodlcheck" org-startup-with-deadline-check nil)))
1713 l var val)
1714 (while (setq l (assoc (pop opts) set))
1715 (setq var (nth 1 l) val (nth 2 l))
1716 (set (make-local-variable var) val))))
1717 ((equal key "ARCHIVE")
1718 (string-match " *$" value)
1719 (setq arch (replace-match "" t t value))
1720 (remove-text-properties 0 (length arch)
1721 '(face t fontified t) arch)))
1722 )))
1723 (and cat (set (make-local-variable 'org-category) cat))
1724 (and kwds (set (make-local-variable 'org-todo-keywords) kwds))
1725 (and arch (set (make-local-variable 'org-archive-location) arch))
1726 (and int (set (make-local-variable 'org-todo-interpretation) int)))
1727 ;; Compute the regular expressions and other local variables
1728 (setq org-todo-kwd-priority-p (equal org-todo-interpretation 'priority)
1729 org-todo-kwd-max-priority (1- (length org-todo-keywords))
1730 org-ds-keyword-length (+ 2 (max (length org-deadline-string)
1731 (length org-scheduled-string)))
1732 org-done-string
1733 (nth (1- (length org-todo-keywords)) org-todo-keywords)
1734 org-todo-regexp
1735 (concat "\\<\\(" (mapconcat 'regexp-quote org-todo-keywords
1736 "\\|") "\\)\\>")
1737 org-not-done-regexp
1738 (concat "\\<\\("
1739 (mapconcat 'regexp-quote
1740 (nreverse (cdr (reverse org-todo-keywords)))
1741 "\\|")
1742 "\\)\\>")
1743 org-todo-line-regexp
1744 (concat "^\\(\\*+\\)[ \t]*\\("
1745 (mapconcat 'regexp-quote org-todo-keywords "\\|")
1746 "\\)? *\\(.*\\)")
1747 org-nl-done-regexp
1748 (concat "[\r\n]\\*+[ \t]+" org-done-string "\\>")
1749 org-looking-at-done-regexp (concat "^" org-done-string "\\>")
1750 org-deadline-regexp (concat "\\<" org-deadline-string)
1751 org-deadline-time-regexp
1752 (concat "\\<" org-deadline-string " *<\\([^>]+\\)>")
1753 org-deadline-line-regexp
1754 (concat "\\<\\(" org-deadline-string "\\).*")
1755 org-scheduled-regexp
1756 (concat "\\<" org-scheduled-string)
1757 org-scheduled-time-regexp
1758 (concat "\\<" org-scheduled-string " *<\\([^>]+\\)>"))
1759 (org-set-font-lock-defaults)))
1760
1758;; Tell the compiler about dynamically scoped variables, 1761;; Tell the compiler about dynamically scoped variables,
1759;; and variables from other packages 1762;; and variables from other packages
1760(eval-when-compile 1763(eval-when-compile
@@ -7869,7 +7872,7 @@ this variable requires a restart of Emacs to become effective."
7869table editor in arbitrary modes.") 7872table editor in arbitrary modes.")
7870(make-variable-buffer-local 'orgtbl-mode) 7873(make-variable-buffer-local 'orgtbl-mode)
7871 7874
7872(defvar orgtbl-mode-map (make-sparse-keymap) 7875(defvar orgtbl-mode-map (make-keymap)
7873 "Keymap for `orgtbl-mode'.") 7876 "Keymap for `orgtbl-mode'.")
7874 7877
7875;;;###autoload 7878;;;###autoload
@@ -8827,6 +8830,12 @@ headlines. The default is 3. Lower levels will become bulleted lists."
8827 (lang-words nil) 8830 (lang-words nil)
8828 (head-count 0) cnt 8831 (head-count 0) cnt
8829 (start 0) 8832 (start 0)
8833 ;; FIXME: The following returns always nil under XEmacs
8834 (coding-system (and (fboundp 'coding-system-get)
8835 (boundp 'buffer-file-coding-system)
8836 buffer-file-coding-system))
8837 (charset (and coding-system
8838 (coding-system-get coding-system 'mime-charset)))
8830 table-open type 8839 table-open type
8831 table-buffer table-orig-buffer 8840 table-buffer table-orig-buffer
8832 ) 8841 )
@@ -8855,13 +8864,14 @@ headlines. The default is 3. Lower levels will become bulleted lists."
8855 (insert (format 8864 (insert (format
8856 "<html lang=\"%s\"><head> 8865 "<html lang=\"%s\"><head>
8857<title>%s</title> 8866<title>%s</title>
8858<meta http-equiv=\"Content-Type\" content=\"text/html\"> 8867<meta http-equiv=\"Content-Type\" content=\"text/html;charset=%s\">
8859<meta name=generator content=\"Org-mode\"> 8868<meta name=generator content=\"Org-mode\">
8860<meta name=generated content=\"%s %s\"> 8869<meta name=generated content=\"%s %s\">
8861<meta name=author content=\"%s\"> 8870<meta name=author content=\"%s\">
8862</head><body> 8871</head><body>
8863" 8872"
8864 language (org-html-expand title) date time author)) 8873 language (org-html-expand title) (or charset "iso-8859-1")
8874 date time author))
8865 (if title (insert (concat "<H1 align=\"center\">" 8875 (if title (insert (concat "<H1 align=\"center\">"
8866 (org-html-expand title) "</H1>\n"))) 8876 (org-html-expand title) "</H1>\n")))
8867 (if author (insert (concat (nth 1 lang-words) ": " author "\n"))) 8877 (if author (insert (concat (nth 1 lang-words) ": " author "\n")))
@@ -9408,6 +9418,9 @@ When LEVEL is non-nil, increase section numbers on that level."
9408;; i k @ expendable from outline-mode 9418;; i k @ expendable from outline-mode
9409;; 0123456789 ! %^& ()_{} " `' free 9419;; 0123456789 ! %^& ()_{} " `' free
9410 9420
9421;; Make `C-c C-x' a prefix key
9422(define-key org-mode-map "\C-c\C-x" (make-sparse-keymap))
9423
9411;; TAB key with modifiers 9424;; TAB key with modifiers
9412(define-key org-mode-map "\C-i" 'org-cycle) 9425(define-key org-mode-map "\C-i" 'org-cycle)
9413(define-key org-mode-map [(meta tab)] 'org-complete) 9426(define-key org-mode-map [(meta tab)] 'org-complete)
@@ -9587,7 +9600,7 @@ COMMANDS is a list of alternating OLDDEF NEWDEF command names."
9587 (if (fboundp 'command-remapping) 9600 (if (fboundp 'command-remapping)
9588 (define-key map (vector 'remap old) new) 9601 (define-key map (vector 'remap old) new)
9589 (substitute-key-definition old new map global-map))))) 9602 (substitute-key-definition old new map global-map)))))
9590 9603
9591(when (eq org-enable-table-editor 'optimized) 9604(when (eq org-enable-table-editor 'optimized)
9592 ;; If the user wants maximum table support, we need to hijack 9605 ;; If the user wants maximum table support, we need to hijack
9593 ;; some standard editing functions 9606 ;; some standard editing functions
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index 24267b7b8f2..3623c788882 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -577,7 +577,7 @@ An alternative value is \" . \", if you use a font with a narrow period."
577 ;; This is separate from the previous one because of cases like 577 ;; This is separate from the previous one because of cases like
578 ;; {\em foo {\bf bar} bla} where both match. 578 ;; {\em foo {\bf bar} bla} where both match.
579 (list (concat "\\\\\\(bf\\(series\\)?\\)\\>" args) 579 (list (concat "\\\\\\(bf\\(series\\)?\\)\\>" args)
580 2 '(tex-font-lock-append-prop 'bold) 'append))))) 580 3 '(tex-font-lock-append-prop 'bold) 'append)))))
581 "Gaudy expressions to highlight in TeX modes.") 581 "Gaudy expressions to highlight in TeX modes.")
582 582
583(defun tex-font-lock-suscript (pos) 583(defun tex-font-lock-suscript (pos)
diff --git a/lisp/toolbar/README b/lisp/toolbar/README
index 4bf1700dd91..81df0c874bd 100644
--- a/lisp/toolbar/README
+++ b/lisp/toolbar/README
@@ -7,4 +7,6 @@ The following icons are from GTK+ 2.x:
7 7
8 back_arrow.xpm and fwd_arrow.xpm are slightly modified undo and redo. 8 back_arrow.xpm and fwd_arrow.xpm are slightly modified undo and redo.
9 9
10 diropen.xpm is file-manager.png from Gnome hicolor theme.
11
10They are not part of Emacs, but distributed and used by Emacs. 12They are not part of Emacs, but distributed and used by Emacs.
diff --git a/lisp/toolbar/diropen.pbm b/lisp/toolbar/diropen.pbm
index 0f1996db78c..61adc3b2a23 100644
--- a/lisp/toolbar/diropen.pbm
+++ b/lisp/toolbar/diropen.pbm
Binary files differ
diff --git a/lisp/toolbar/diropen.xpm b/lisp/toolbar/diropen.xpm
index bdc0b19d7dd..6937b99a44d 100644
--- a/lisp/toolbar/diropen.xpm
+++ b/lisp/toolbar/diropen.xpm
@@ -1,215 +1,44 @@
1/* XPM */ 1/* XPM */
2static char * diropen_xpm[] = { 2static char * diropen_xpm[] = {
3"24 24 188 2", 3"19 24 17 1",
4" c None", 4" c None",
5". c #000000", 5". c #000100",
6"+ c #010100", 6"+ c #C6C9A6",
7"@ c #B5B8A5", 7"@ c #D0D3AF",
8"# c #E4E7D2", 8"# c #93997C",
9"$ c #878A76", 9"$ c #E6E7D0",
10"% c #33342B", 10"% c #BEC19E",
11"& c #0B0B0B", 11"& c #B4B895",
12"* c #E2E5CF", 12"* c #A7AA88",
13"= c #CFD4AF", 13"= c #6B6D59",
14"- c #CED3AE", 14"- c #4A4E40",
15"; c #B2B696", 15"; c #7C8166",
16"> c #2D2D25", 16"> c #898E72",
17", c #23241D", 17", c #3C4032",
18"' c #9D9F90", 18"' c #575845",
19") c #C6CAA6", 19") c #34332C",
20"! c #C4C9A5", 20"! c #24231D",
21"~ c #C6CBA7", 21" ............... ",
22"{ c #C7CCA8", 22" .+@@@@@@@@@@@@@#. ",
23"] c #C9CEA9", 23".$@@@@@@@@@@@@@@@#.",
24"^ c #555847", 24".++++%%%%%%%%%&&&*.",
25"/ c #1A1B15", 25".&&&&&&&&&&******#.",
26"( c #20201A", 26".*%+++%%%%%%%%%&=#.",
27"_ c #D4D6C2", 27".*+***********##-#.",
28": c #BEC2A0", 28".*+****;===;####-#.",
29"< c #B3B896", 29".*+****=*****###-#.",
30"[ c #B0B595", 30".*+****;*****###-#.",
31"} c #B3B797", 31".*+****########>-#.",
32"| c #B6BB99", 32".*&######>>>>>>>,>.",
33"1 c #BBC09E", 33".*#-------------'>)",
34"2 c #BCC19F", 34".*&&&&&&&&&&&&&*#>)",
35"3 c #81856C", 35".*&************#'>)",
36"4 c #3E3F32", 36".*&***********##,>)",
37"5 c #010101", 37".*&****====;###>,>)",
38"6 c #DADDC8", 38".#&****=**#**##>,;)",
39"7 c #AFB494", 39".#&****>****###>,;)",
40"8 c #AAAF8F", 40".#&****########>,;)",
41"9 c #A3A789", 41".##''''''''''''',;)",
42"0 c #A6AA8B", 42".#>==============;)",
43"a c #A9AD8E", 43".''''''''''''''''-!",
44"b c #A7AB8D", 44" ................. "};
45"c c #A4A88A",
46"d c #A1A588",
47"e c #AAAD96",
48"f c #B3B5A5",
49"g c #B8BBAA",
50"h c #BABCAB",
51"i c #40413B",
52"j c #CACDBB",
53"k c #BABDA8",
54"l c #0C0C09",
55"m c #DDDFCB",
56"n c #969B7E",
57"o c #9DA286",
58"p c #95987C",
59"q c #96997E",
60"r c #9A9D81",
61"s c #999D80",
62"t c #9DA184",
63"u c #A5AA8B",
64"v c #A4A98A",
65"w c #A3A889",
66"x c #A2A588",
67"y c #33352B",
68"z c #9B9E83",
69"A c #898D74",
70"B c #D8DBC9",
71"C c #84866E",
72"D c #7D8169",
73"E c #151612",
74"F c #D7DAC9",
75"G c #797D67",
76"H c #3D3F34",
77"I c #E0E0D9",
78"J c #EBEDDD",
79"K c #E8EBD9",
80"L c #D8DBCA",
81"M c #1A1A18",
82"N c #0A0A09",
83"O c #6E7067",
84"P c #8D8F84",
85"Q c #4A4B45",
86"R c #2C2D29",
87"S c #4B4C46",
88"T c #E7EAD8",
89"U c #E3E6D4",
90"V c #DEE1D0",
91"W c #DADCCC",
92"X c #DADCD1",
93"Y c #2B2C28",
94"Z c #D7DAC6",
95"` c #6F735E",
96" . c #0D0D0D",
97".. c #F4F4EC",
98"+. c #606251",
99"@. c #92957B",
100"#. c #4A4C3E",
101"$. c #434438",
102"%. c #CACFAB",
103"&. c #C6CBA8",
104"*. c #C2C6A4",
105"=. c #ABB091",
106"-. c #23251E",
107";. c #494B3D",
108">. c #DCDCD4",
109",. c #EAECDD",
110"'. c #CDD2AD",
111"). c #20201B",
112"!. c #1C1C17",
113"~. c #A4A88B",
114"{. c #414337",
115"]. c #BABF9D",
116"^. c #B5B999",
117"/. c #81836C",
118"(. c #070806",
119"_. c #D5D8C4",
120":. c #161616",
121"<. c #F2F2EA",
122"[. c #CACFAA",
123"}. c #050504",
124"|. c #3C3D32",
125"1. c #C9CEAA",
126"2. c #C8CDA9",
127"3. c #BFC4A2",
128"4. c #3E4035",
129"5. c #BCC09F",
130"6. c #B6BB9A",
131"7. c #B0B494",
132"8. c #9DA185",
133"9. c #535445",
134"0. c #B6B8A7",
135"a. c #747470",
136"b. c #ECECE2",
137"c. c #C3C8A5",
138"d. c #C2C7A4",
139"e. c #393B30",
140"f. c #BFC4A1",
141"g. c #BDC2A0",
142"h. c #C0C5A2",
143"i. c #3A3B31",
144"j. c #A9AD8F",
145"k. c #A3A78A",
146"l. c #80836D",
147"m. c #020201",
148"n. c #A6A998",
149"o. c #B8BC9B",
150"p. c #1B1C17",
151"q. c #181814",
152"r. c #AFB394",
153"s. c #ACB091",
154"t. c #878A72",
155"u. c #9B9F83",
156"v. c #9A9D82",
157"w. c #8A8D75",
158"x. c #4F5243",
159"y. c #070705",
160"z. c #9E9F91",
161"A. c #E5E6DA",
162"B. c #ADB192",
163"C. c #A6AA8C",
164"D. c #A5A98C",
165"E. c #4B4D3F",
166"F. c #70735F",
167"G. c #9FA286",
168"H. c #999D81",
169"I. c #35362D",
170"J. c #2D2E26",
171"K. c #8A8D74",
172"L. c #71735F",
173"M. c #080908",
174"N. c #E3E5D9",
175"O. c #C0C3AF",
176"P. c #94987C",
177"Q. c #8F9379",
178"R. c #8B8F75",
179"S. c #8A8E74",
180"T. c #888C73",
181"U. c #7D816A",
182"V. c #0E0F0C",
183"W. c #3E4034",
184"X. c #4E5042",
185"Y. c #282922",
186"Z. c #121310",
187"`. c #24251F",
188" + c #71745F",
189".+ c #6A6D59",
190"++ c #434538",
191"@+ c #080907",
192" ",
193" ",
194" ",
195" . . . . . . . ",
196" + @ # # # # # $ % ",
197" & * = = = - - ; > ",
198", ' * ) ! ~ { ] ] ^ / . . ",
199"( _ : < [ } | 1 2 3 4 5 . . . . . . . ",
200", 6 7 8 9 0 8 a b c d e f g h . i j k . ",
201"l m n o p q r s q t u v w x 9 . y z A . ",
202". B C D E . . . . . . . . . . . . . . . 5 5 ",
203". F G H I J K K L M N O P Q R . S T U V W X Y ",
204". Z ` ...= = = +.. @.= = = #.. $.%.&.*.1 =.-. ",
205". Z ;.>.,.'.- - ).!.'.'.'.'.~.. {.&.*.].^./.(. ",
206". _.:.<.%.[.%.[.}.|.1.{ 2.2.3.. 4.5.6.7.8.9.l ",
207". 0.a.b.c.d.d.*.}.e.f.g.h.g.} . i.[ j.k.l.m. ",
208". n.>.o.o.^.} } p.q.r.r.r.s.t.. % u.v.w.x.y. ",
209". z.A.B.j.C.D.k.E.. F.G.u.H.I.. J.K.K.L.M. ",
210". N.O.P.Q.R.S.T.U.V.}.W.X.Y.Z.. `. +.+++@+ ",
211" . . . . . . . . . . . . . . . . . . }. ",
212" ",
213" ",
214" ",
215" "};