diff options
114 files changed, 16023 insertions, 14832 deletions
| @@ -1,3 +1,12 @@ | |||
| 1 | 2005-10-08 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * make-dist (tempparent): Don't check for 14-char file name limit. | ||
| 4 | |||
| 5 | 2005-10-07 Romain Francoise <romain@orebokech.com> | ||
| 6 | |||
| 7 | * make-dist: Add etc/images/ezimage and etc/images/mail | ||
| 8 | directories. Install images in etc/images. | ||
| 9 | |||
| 1 | 2005-10-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 10 | 2005-10-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 2 | 11 | ||
| 3 | * configure.in: Prefer Carbon if --enable-carbon-app or | 12 | * configure.in: Prefer Carbon if --enable-carbon-app or |
diff --git a/admin/ChangeLog b/admin/ChangeLog index df7954d73bb..3ed09ce60c9 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2005-10-11 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * FOR-RELEASE (FATAL ERRORS): Remove item about JPEG | ||
| 4 | libraries on Windows (Done). | ||
| 5 | |||
| 1 | 2005-10-01 Jason Rumney <jasonr@gnu.org> | 6 | 2005-10-01 Jason Rumney <jasonr@gnu.org> |
| 2 | 7 | ||
| 3 | * admin.el (set-version): Set version numbers in nt/emacs.rc. | 8 | * admin.el (set-version): Set version numbers in nt/emacs.rc. |
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 3515f78d04a..73309bbb7e5 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -53,20 +53,8 @@ test), it may be better just to avoid displaying such images for emacs 22. | |||
| 53 | ** Investigate reported crashes related to using an | 53 | ** Investigate reported crashes related to using an |
| 54 | invalid pointer from string_free_list. | 54 | invalid pointer from string_free_list. |
| 55 | 55 | ||
| 56 | ** Emacs on Windows crashes reading JPEG images from files. | ||
| 57 | |||
| 58 | The problem is caused by the Emacs executable and the image library | ||
| 59 | having multiple, incompatible copies of the run-time code, which can | ||
| 60 | happen when mixing a MSVC build of Emacs with a MinGW build of the | ||
| 61 | jpeg library (or the other way around). The fix is straightforward | ||
| 62 | and has already been posted on the developers' list, but it is on the | ||
| 63 | back burner waiting for a legal comment or an alternate implementation | ||
| 64 | (around 30 lines of code). | ||
| 65 | |||
| 66 | * BUGS | 56 | * BUGS |
| 67 | 57 | ||
| 68 | * Pierre Albarede's Aug 30 bug report about C-v and long lines. | ||
| 69 | |||
| 70 | ** Make a new interface for specifying window configurations | 58 | ** Make a new interface for specifying window configurations |
| 71 | so that we can fix bugs in balance-windows. | 59 | so that we can fix bugs in balance-windows. |
| 72 | 60 | ||
| @@ -132,7 +120,7 @@ people who have checked it. | |||
| 132 | SECTION READERS | 120 | SECTION READERS |
| 133 | ----------------------------- | 121 | ----------------------------- |
| 134 | man/abbrevs.texi Chong Yidong Joakim Verona | 122 | man/abbrevs.texi Chong Yidong Joakim Verona |
| 135 | man/anti.texi | 123 | man/anti.texi Chong Yidong |
| 136 | man/basic.texi "Luc Teirlinck" Chong Yidong | 124 | man/basic.texi "Luc Teirlinck" Chong Yidong |
| 137 | man/buffers.texi "Luc Teirlinck" Chong Yidong | 125 | man/buffers.texi "Luc Teirlinck" Chong Yidong |
| 138 | man/building.texi "Ted Zlatanov" <tzz@lifelogs.com> | 126 | man/building.texi "Ted Zlatanov" <tzz@lifelogs.com> |
| @@ -153,7 +141,7 @@ man/indent.texi "Luc Teirlinck" Chong Yidong | |||
| 153 | man/killing.texi "Luc Teirlinck" Chong Yidong | 141 | man/killing.texi "Luc Teirlinck" Chong Yidong |
| 154 | man/kmacro.texi "Luc Teirlinck" Chong Yidong | 142 | man/kmacro.texi "Luc Teirlinck" Chong Yidong |
| 155 | man/macos.texi | 143 | man/macos.texi |
| 156 | man/maintaining.texi | 144 | man/maintaining.texi Chong Yidong |
| 157 | man/major.texi "Luc Teirlinck" Chong Yidong | 145 | man/major.texi "Luc Teirlinck" Chong Yidong |
| 158 | man/mark.texi "Luc Teirlinck" Chong Yidong | 146 | man/mark.texi "Luc Teirlinck" Chong Yidong |
| 159 | man/mini.texi "Luc Teirlinck" Chong Yidong | 147 | man/mini.texi "Luc Teirlinck" Chong Yidong |
| @@ -184,7 +172,7 @@ SECTION READERS | |||
| 184 | ---------------------------------- | 172 | ---------------------------------- |
| 185 | lispref/abbrevs.texi "Luc Teirlinck" Chong Yidong | 173 | lispref/abbrevs.texi "Luc Teirlinck" Chong Yidong |
| 186 | lispref/advice.texi joakim@verona.se Chong Yidong | 174 | lispref/advice.texi joakim@verona.se Chong Yidong |
| 187 | lispref/anti.texi | 175 | lispref/anti.texi Chong Yidong |
| 188 | lispref/backups.texi "Luc Teirlinck" Chong Yidong | 176 | lispref/backups.texi "Luc Teirlinck" Chong Yidong |
| 189 | lispref/buffers.texi "Luc Teirlinck" Chong Yidong | 177 | lispref/buffers.texi "Luc Teirlinck" Chong Yidong |
| 190 | lispref/calendar.texi Joakim Verona <joakim@verona.se> Chong Yidong | 178 | lispref/calendar.texi Joakim Verona <joakim@verona.se> Chong Yidong |
diff --git a/etc/ChangeLog b/etc/ChangeLog index 12a85271f72..d5bc0f4abb0 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,15 @@ | |||
| 1 | 2005-10-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * NEWS: -nb => -nbi | ||
| 4 | |||
| 5 | 2005-10-10 Carsten Dominik <dominik@science.uva.nl> | ||
| 6 | |||
| 7 | * orgcard.tex: Version 3.17, no changes except version number. | ||
| 8 | |||
| 9 | 2005-10-09 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 10 | |||
| 11 | * NEWS: -nb, --no-bitmap-icon | ||
| 12 | |||
| 1 | 2005-10-02 Stefan Monnier <monnier@iro.umontreal.ca> | 13 | 2005-10-02 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 14 | ||
| 3 | * TODO: Clarify the local variables entry. | 15 | * TODO: Clarify the local variables entry. |
| @@ -251,6 +251,11 @@ disables the splash screen; see also the variable | |||
| 251 | `inhibit-splash-screen'). | 251 | `inhibit-splash-screen'). |
| 252 | 252 | ||
| 253 | +++ | 253 | +++ |
| 254 | ** The default is now to use an bitmap as the icon, so the command-line options | ||
| 255 | --icon-type, -i has been replaced with options --no-bitmap-icon, -nbi to turn | ||
| 256 | the bitmap icon off. | ||
| 257 | |||
| 258 | +++ | ||
| 254 | ** New user option `inhibit-startup-buffer-menu'. | 259 | ** New user option `inhibit-startup-buffer-menu'. |
| 255 | When loading many files, for instance with `emacs *', Emacs normally | 260 | When loading many files, for instance with `emacs *', Emacs normally |
| 256 | displays a buffer menu. This option turns the buffer menu off. | 261 | displays a buffer menu. This option turns the buffer menu off. |
| @@ -2982,6 +2987,50 @@ from Outlook-format appointments in mail messages. The variable | |||
| 2982 | `diary-outlook-formats' can be customized to recognize additional | 2987 | `diary-outlook-formats' can be customized to recognize additional |
| 2983 | formats. | 2988 | formats. |
| 2984 | 2989 | ||
| 2990 | +++ | ||
| 2991 | ** Speedbar changes: | ||
| 2992 | |||
| 2993 | *** Speedbar items can now be selected by clicking mouse-1, based on | ||
| 2994 | the `mouse-1-click-follows-link' mechanism. | ||
| 2995 | |||
| 2996 | *** SPC and DEL are no longer bound to scroll up/down in the speedbar | ||
| 2997 | keymap. | ||
| 2998 | |||
| 2999 | *** The new command `speedbar-toggle-line-expansion', bound to SPC, | ||
| 3000 | contracts or expands the line under the cursor. | ||
| 3001 | |||
| 3002 | *** New command `speedbar-create-directory', bound to `M'. | ||
| 3003 | |||
| 3004 | *** The new commands `speedbar-expand-line-descendants' and | ||
| 3005 | `speedbar-contract-line-descendants', bound to `[' and `]' | ||
| 3006 | respectively, expand and contract the line under cursor with all of | ||
| 3007 | its descendents. | ||
| 3008 | |||
| 3009 | *** The new user option `speedbar-query-confirmation-method' controls | ||
| 3010 | how querying is performed for file operations. A value of 'always | ||
| 3011 | means to always query before file operations; 'none-but-delete means | ||
| 3012 | to not query before any file operations, except before a file | ||
| 3013 | deletion. | ||
| 3014 | |||
| 3015 | *** The new user option `speedbar-select-frame-method' specifies how | ||
| 3016 | to select a frame for displaying a file opened with the speedbar. A | ||
| 3017 | value of 'attached means to use the attached frame (the frame that | ||
| 3018 | speedbar was started from.) A number such as 1 or -1 means to pass | ||
| 3019 | that number to `other-frame'. | ||
| 3020 | |||
| 3021 | *** The new user option `speedbar-use-tool-tips-flag', if non-nil, | ||
| 3022 | means to display tool-tips for speedbar items. | ||
| 3023 | |||
| 3024 | *** The frame management code in speedbar.el has been split into a new | ||
| 3025 | `dframe' library. Emacs Lisp code that makes use of the speedbar | ||
| 3026 | should use `dframe-attached-frame' instead of | ||
| 3027 | `speedbar-attached-frame', `dframe-timer' instead of `speedbar-timer', | ||
| 3028 | `dframe-close-frame' instead of `speedbar-close-frame', and | ||
| 3029 | `dframe-activity-change-focus-flag' instead of | ||
| 3030 | `speedbar-activity-change-focus-flag'. The variables | ||
| 3031 | `speedbar-update-speed' and `speedbar-navigating-speed' are also | ||
| 3032 | obsolete; use `dframe-update-speed' instead. | ||
| 3033 | |||
| 2985 | --- | 3034 | --- |
| 2986 | ** sql changes. | 3035 | ** sql changes. |
| 2987 | 3036 | ||
| @@ -4428,7 +4477,7 @@ If non-nil, that says to preserve the window's current margin, fringe, | |||
| 4428 | and scroll-bar settings. | 4477 | and scroll-bar settings. |
| 4429 | 4478 | ||
| 4430 | +++ | 4479 | +++ |
| 4431 | *** The new function `window-split-tree' returns a frame's window split tree. | 4480 | *** The new function `window-tree' returns a frame's window tree. |
| 4432 | 4481 | ||
| 4433 | +++ | 4482 | +++ |
| 4434 | ** Customizable fringe bitmaps | 4483 | ** Customizable fringe bitmaps |
diff --git a/etc/orgcard.ps b/etc/orgcard.ps index fb550f246e6..8631e221e59 100644 --- a/etc/orgcard.ps +++ b/etc/orgcard.ps | |||
| @@ -10,7 +10,7 @@ | |||
| 10 | %DVIPSWebPage: (www.radicaleye.com) | 10 | %DVIPSWebPage: (www.radicaleye.com) |
| 11 | %DVIPSCommandLine: dvips -t landscape -o orgcard.ps orgcard.dvi | 11 | %DVIPSCommandLine: dvips -t landscape -o orgcard.ps orgcard.dvi |
| 12 | %DVIPSParameters: dpi=600, compressed | 12 | %DVIPSParameters: dpi=600, compressed |
| 13 | %DVIPSSource: TeX output 2005.09.23:1744 | 13 | %DVIPSSource: TeX output 2005.10.10:1112 |
| 14 | %%BeginProcSet: texc.pro | 14 | %%BeginProcSet: texc.pro |
| 15 | %! | 15 | %! |
| 16 | /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S | 16 | /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S |
| @@ -385,183 +385,181 @@ E12CD06BD02AB38CBA57492EFEB4A12AE7B58548623D7F862515AA3EC1B4F84A | |||
| 385 | 7C9CB4390F825B68E7A6DF4D67DAEF89F1D461ABEDACBF1FA02FEF65F0B8E3ED | 385 | 7C9CB4390F825B68E7A6DF4D67DAEF89F1D461ABEDACBF1FA02FEF65F0B8E3ED |
| 386 | 45974B9EC80855D5A1B34D792CC7793D4F05E81E185C3FA86C8A8FF108BAC2E0 | 386 | 45974B9EC80855D5A1B34D792CC7793D4F05E81E185C3FA86C8A8FF108BAC2E0 |
| 387 | 801AB0B3FE4C0CD5257441F29F2F293F4BDCC67D00EFB68440FAEAFE138279D2 | 387 | 801AB0B3FE4C0CD5257441F29F2F293F4BDCC67D00EFB68440FAEAFE138279D2 |
| 388 | 415687CEFCE35F8A1BBB0C18AE4A8ABA688D2F3894B5654AB7AD595E022E6BB3 | 388 | 415687CEFCE35F8A1BBB0C18AE4A8ABA688D2F3894B5654AB7AD595E02221090 |
| 389 | 083B492C4D6F553EE6DB0D7EF1616F397EA60DC79B6FF8998154D881C74F07D2 | 389 | 2BB6DBA4C0F57B6505E06154D2FD2B4867047BA56876080E6355F74A94B6110E |
| 390 | C3B1B9AE8C307182A23EE559466355AA9D092FAA3651C430A550F9C6B18BB05E | 390 | 519BDFCCE8B1591398350C973E52643947FF0DDF1EF1D5BDC2CB548691337378 |
| 391 | 1F4B2D7DA2AE2C9BF19B27C827F0E087FD64C5AEB89DF781E2D3FB7F5A471054 | 391 | CF13E83C7724774281EBCCD04A9A6193DFCAA31067CCDD98444C705CDFC58F57 |
| 392 | 8013A06284F6016A236A1152441EE4703EF4CDB21B964FC029980C62A30DA336 | 392 | 51343E8EEF46E9B779B89D59ABE35BAB4F08719816215E434BEB69263F40E144 |
| 393 | B5B8DF6EC9FB172B746F1E7A1AB9B5828B1EE32889B22FB532D02045E3567F7C | 393 | B30D52B749F3B66A9147F225777BC69BB72A12C96852AB90629CB453EC8BEF3D |
| 394 | 44B2A0028D20469F45390FEAA44C3555BFAC6F4AF6350CAA53AB97286D25EE00 | 394 | 62FD39F7DFF6F9466E98EB42D718EC3F40773D76EFB2FF4E7261C3C64A4C937E |
| 395 | 933BA6B4E511CF1EBFE8BF240023602A60C3ABC555A08927D0E6AEDC3516D6FA | 395 | 823F633F19C6F58F4BD5E0EF012ECBECC797680A1B862AED6A1DFFD252155E20 |
| 396 | E4D82F913831A17710EC3A6DB1CE499B58C7B530A1EC4AC1AFF12ED8E79D7EEC | 396 | 57E8B6B0156FEED1987931DE5EF1CA6D3B580BEAF56C71D8A2385481CFF22E6E |
| 397 | 62B47FCAB38ABB2E80B7E05426A416742315C848BEC5AC0D1116BAEFBF220607 | 397 | 7B6D2FB8F139B5FC183BF5FA5E1ECADE0C78F6F43F37AF77F228E6E41B98142C |
| 398 | 3490F241891680E26C03DB4FFAE6CA4FCB6292226D4549CBCABC3206D1E4D327 | 398 | 085427FF927194E7BE2B84ECCA36BA40DD7EDB158D3DA6109F4668FD12AB988B |
| 399 | 6AAC59B3F07E5D68CD7752C1BA1178A8C7DB6E947DCFAA9EEEDBD01FC8A4D201 | 399 | 0D65E1E14C092F865452DC646E0C246376ACA12C01F17D714A4DB87EDE98B6C3 |
| 400 | F5BD270279DC4805A24382F6A6108D1B3414D40F46EA91C6108B333342EE1F7E | 400 | 60E5A0F414813EF3392168D164463CDB5D55CE2862008ED4FD65F113195E5CE8 |
| 401 | 7086DC76CE42C9C6A6D2858CE3B3E82D0294D8A88E22A0FA9028509F97C85CF5 | 401 | 854F473644A50DAAC5D39A3E10D690ECEE89CABBFA93D2B91F4116FAB704797C |
| 402 | 3B565E5570F8D4F6F40B8CBD19181B62176FBE65972381E0715EA9281EAE0FE7 | 402 | C8397FDDC9F364013CDCAE9E9704B1DE28E2CD476AF57C3A30460AF14634C05E |
| 403 | 66B5154154738DEAFC9932B3D16EC9EB6F7524F22147C085272719A4AC5CBED3 | 403 | 7F1F232F563BFE0C7C3D669700A38A4752AE88BB814DFD08B40E9E7F8BFA0252 |
| 404 | E62D88246C56B12ACEB231D42BE72F46D7C6749F9F2487DCEA19ACD3FF21E05B | 404 | 177405ECFE96FC249A6F1B530AF5CF106E21EFE0AC0729C36385E022BBA827F1 |
| 405 | 74324DF87D11DE064F7EFA010B699E7C199908BFC672DDCD69B98D81DDC9C7A4 | 405 | 68C11A91E90CA1472AB5767F14821E8FE5E32C7DB4A88FB64E746187CEF23FCE |
| 406 | 062C25FFF5052E5B8042AE6898BAF38ED1C063780B672F0B4E8D331127C0D612 | 406 | C499D2472AF392EBB6F79F714AC991F390769C25DC58D364147D868AC08DD739 |
| 407 | 5705230D97ADCC8103D85DFC7BF7CF154C8A6AABC88419E732EE1C6C724288FE | 407 | FA4602613467E3F2B04ECCCD12333F55D80BA4132883B2498D652E61D4E0096C |
| 408 | 46F011FD8DD86B343F6240D95D20E8C01452365A061345E876A1B672C2548FC0 | 408 | B5193FA063E5C4131397D76C9656CE31CDC41D24C17F3208971BB853FDCB3F62 |
| 409 | CC0E1B02843714DCA1D8837FBB77E42E590A00D0A4EC1A34DF909A83898C6275 | 409 | B3CC083E6D9682CACA448112C84C0FC9FB19C8AB13E0C33EDFEC2A4CC16AB125 |
| 410 | DC40EAD69FB9436D7D5F0CDB5984A79B86A5AC2DFA0C54F8DC2B210D5C5F890E | 410 | 044C048B65011725D34571D9C235736B61A485F7FF0835C7294A6FF2E48194F1 |
| 411 | 64487A1BEB453C2B8D15BE63A1C74CCAEA825CC480AE4C2F4EE985DF8FB624A5 | 411 | 8FFF4C5A055091AFF95E674F9CD2E43ECCA77F4876B5B50A1D5B38319D594246 |
| 412 | 60CA0E37A9638558EC3C5D1E87936B77D6422E87AB313CC4D91185AA672B92F3 | 412 | CCA3CD4F81AB3CE49B648FB21F0959801B814422D31DA4F7C3581032F8310E76 |
| 413 | 9D76E2D34A17BA0F35203E72B7D26B71B332D352B2101E871539CB4479954F9C | 413 | 95660ABF1A1DB536081F61FBB83AE5C8B47A9E0575FC475754DEC3689B28582C |
| 414 | 714158C724DAA05BB5B479CD54E8B0528EF51043EA676CCA3AF74F6CE6024EEE | 414 | 016062AA7AA63EE703DBC73ACCB5316DC3A12A2B7926D132D5B463B01452B475 |
| 415 | 71346FB0DE3310627BCF9C354FA2BFA44D00E4C11EFC1585C5C5E0C56ECAB11A | 415 | 51862ED934A55F3DEB560FE2CAC39909C99CBDCA1F7239D122D9FFDE76D90D8E |
| 416 | EB2037735F483FC4DE666CC61DD2B3214FC3EB4E960DEE07E5835533BE351B99 | 416 | 0576A645714E190BE1938E8A9EF1E4E5C55AC58899C2ED571F246A612EB73EBD |
| 417 | 18A32EE9888E98922885F3BFC8D5A86B076FF8030D68535FDBA76FBF821842A1 | 417 | 24B76697C6A4FFDF1447CA182096A771B26788DD9456E0DD04C83119B0E1D0C7 |
| 418 | F7068897E43B3533A9020F1FB35F6BDD8A97C4EE1ACA20EE72081527955D6EC9 | 418 | 3C4323F13AC8786BF2B89F3759180E58AA599D2F981FE280E82768C0E3ABBBA7 |
| 419 | 6A2FE32DB339508A0D05AD69AA839BC0D0B7C3B3EE4319A5D27FFDFDF9756583 | 419 | CC14B6521FE6179CDD5EFD68E9BDC2F53B5D6C25155564176618EA019D0BA472 |
| 420 | A39D0570768314B0B2D5303EF7AF3D52B651093C440CD8AFCE9E27F512D52345 | 420 | 76C553A27871443019F43AE1B1B898AAFE70EA1F274C57582E70719AF3A53597 |
| 421 | E292E0E582FBB4A628705A63E6FA384AE2898D324BE2E142716114F158E6178B | 421 | 1E88D7603DC99E5113062024B63E9BE65CE676E4F61DDB8F77E40C47A8F7D6A8 |
| 422 | 5F4D198C5A16608D05C22E647C3025A12955BB5F423563EED4AF398BF2621383 | 422 | 2590664A97ED1D14547FCBED2C7E37BC09558954D4E3B93DFC48E504BCCE7865 |
| 423 | 04AEE3E372C05ADEF6C5D1E5047EE5701884A65B56E0AF429B78FC3A20F72CE8 | 423 | E44F4C479A27F3BCF551203BB51F443630B06F3D75D24EE7478B1AF78130174F |
| 424 | F1AEBA8DED5F661A2B336BDC348F8360839E1C2455E7DDB0E190ACA4FA5F4F19 | 424 | FCE0B804DBCE20F62989ECD03A0CC1A42A1F7FBB673EED9E93E1B36D6E3E9905 |
| 425 | A2223C786B8E8AE770CEC7A8DEFE523E94458BB67CB2F22555802BDA8CEFD118 | 425 | 24E71A3391786905FFF7A2B56FC23AE64D4478D25ECDFAE9235606EEDC854E62 |
| 426 | ED2E1BFEE8FFDF6BDF4A61A3E5461B65166147057D47507E7DA9297BE7856D7C | 426 | F2EE5F50849138DE28C569D08961EACE1E6AA1787825B0706C532ABE724AD9D9 |
| 427 | 36126E3B82352231A9E9EFC120935438F90913F6DB8953D325907CC8CB0BA012 | 427 | 87B1F459B0197A9F2B8002686E814BC91A91DEC9C0BE90F3F76242E3709228E3 |
| 428 | 3AFD73AC92E481E1FDD6DE7C49ECA620DE1AFCA3E5BA20AADD72B66BE2ECD1DA | 428 | DE8116E7138751A8854E8A515BBA1E0F8A16C77BFABB6562601B85E1497E6E82 |
| 429 | 70FE7AB3C8DEEC078A034628E68F7B915FE7AC8C3F20A5FA0A80436E4FE0A20D | 429 | AE4B8688DD6FDEFCD53226058BC6923EE68A195F375DC42448DD39905439A38D |
| 430 | 36589A6F5DB1BACDD8D7325E2F21464FBAB56E729FE7343B02D260FDB2C48607 | 430 | 1B61CC01CEF9D2618F72E05E018A9E83AB1BACA13D1FAEE362F60C2E00523558 |
| 431 | 4FA69790941A8F45ADE89EF8C1027B04466D1BDAD348A91D5191C7A596BE2408 | 431 | E801B3BC8F79E4079D10627DAC3EE837B39337BFA4FCCE26FFAE8B9AAD60B710 |
| 432 | 5EDE1545714987B4473A51B0C39B1CD9F7B27E7DFC4E828D321E7F40282D7184 | 432 | 0BDDAADC236257D1DC9A7C41F83EE6F44573A357A3A1820D03685C919D80293C |
| 433 | 7C5341A9EB897DA4A6C77ACC3FC22B98F40D5422CF53F3E561F781E7BD0F8D77 | 433 | 1276AAB97166B2D0D82D1045075648ACCA7933FF2B68F7584DA6E78899F0F5C2 |
| 434 | F1225D15E96FD9A5723FC0A9E07FCDC18A837C7B14EE0A3158AFAFA976E6F419 | 434 | 247A46AD8162A61671A1B633DF24EBFCC985C029223B98362431118BD6ADFAE5 |
| 435 | B57A920F7B0784082F818DFE9535570D1C2DB50421D47946FF134BE8FF8B70F5 | 435 | 61A8C91E79306D1E3D4DFA5073C6BAB2DD04D441418B47015A7A0F21DA1C1B8C |
| 436 | F3BD74B7F330BCB49D0CA72C275B39F1204BC7B701F26F80586CE138043BFC05 | 436 | 0E9B5DAF91CDCB69F86B62B4C003BE88B4DAE2D5F9DC00FEA9D3136B7EBF92E2 |
| 437 | 11E101A875BA9277500C5AAF134F7E56C34E4704C4F47199F27EE2CC95B70DA7 | 437 | 7AD8617DEEEE72E869E2483548B56B90BC88F8E767676341B45FD0C000B8E080 |
| 438 | BB6D247FA6035D0DF7CCE23B54D67A348528FA551C0CD11BD1B46C62530CD19E | 438 | 42CC156B75ABFA7026D54B31FFE73D285A2330C7698727BCA6511F8C404994EB |
| 439 | 386B27B16A1DDFFB157604C074124374878F9ADEEAE039B4CC91426BE209BE74 | 439 | 8C8D437CB593291E8816FFFE3E4BD7BAADA3CB009982EC7F0192C5429FF37D2A |
| 440 | 24FB053A5759BE2D970A5CE835D2E462AFFBF4649380049CBFBA8A030135A09D | 440 | AC8DD62D454A8B50857804BDB8EBA7347902EEDCB394FF153503E77174D71439 |
| 441 | 42DD6EA17E65E0C8BFF3A442B64FC5298C50AD74ED875176EF737F8BE425CB94 | 441 | A57D9941E1EC82D2CC49847933FF387BC7EC6E730BA6EFE48A9BB5B1A6785DCC |
| 442 | 4C7035B5DC09E70A5B35230627CAE6449145357A220400C34281EB9475D3EA87 | 442 | AD7A9557FF402D8AF864E0FAEB0AAAE4C93243F3E6C550A18047F2CB9AB57FAC |
| 443 | 310F5D6C14FAAF11356651346907AD48FA099EAE60ECD1E4C9491DCB6519043E | 443 | CE3F57FA2072D37763FB32172C2908B152948BE21051D26715C9326B858D538C |
| 444 | A1D5536CC8F92EA54A4D7FB9D1045284FA76C70F9DC5A23412584D11753C94EF | 444 | B9C8A6DDF567C6DC6E7DBFE7CFD29A498490AC16D964B1FC1FD81B95735A5E3B |
| 445 | 306A38B474E4F27AE0879819A5BA1FB401FACC0A71678C88BB2E7A8C1D130D91 | 445 | 03CE325D2138969138F3B6CB027E54C987E4C81E52EFA77A824B40F71B2EA2CC |
| 446 | FCAD77B00FAC404BA1578779135656287A1F0BC7B6C4D3122ABED9F8B1927D3A | 446 | E98F2AB61546E4BFADE41731E48D6EE82C19257DD9FFF78CF3D01A2055863099 |
| 447 | 2038D58CA763939F53B8F667DF14811FCB3781B774EE3137B95B456F77E077C3 | 447 | 21C06567DF3F852DC96838488CBB41D5D587BAC66C9586F093E493E1EFA65260 |
| 448 | F3557D5E06CEDBFB7FD84F5CFA36BF60D0C6BB8EE19FAABD169148FF6C38C30C | 448 | 9B9F0148227A5D3F69FFF499675F0A52EF0615E8272825E69D0D8496CAD940CA |
| 449 | B1E354FB043E47F4D1C98A9F95FFECC90760E4DD269F5E212F7E0F6B5519664E | 449 | 93655503DA72D62D8D35C6E25337ADF834198C750910461C25965925D0DEF604 |
| 450 | 8D88024A5F439DC44C08C2F87EA4C4C5FB0FE0DA729C5D3D53F803B6CFC92793 | 450 | 844C1257BFF739EAD0918630473F5B9E88A5AB0417815239189E0738A1134655 |
| 451 | B955E961428A9BC704FC576CBD7B77A2E52CE46AA1CEF0CC8987D682804C1052 | 451 | DCF9B009A68120E823B23C770F7AD7C0A11EBE9962D3F14940C8D2C1A7295F63 |
| 452 | D0998F37B2122EFA3932346E5947A5C96E09563D8DDAE2BD95D137155C044788 | 452 | 908BD22A418F4E8F81526FC827CBA16BA143050278D4F2FECBBFAFD3DC8003F8 |
| 453 | 1ECB14524651A18A0FC7F0D43F7C8888246BF5F3D7EFBA55F7924FACBD9948D5 | 453 | 81FD27C56330B33BEBA0EFEF1F0384C45756B1A74339E232873504E55DB50E3B |
| 454 | B10027AFA16FD9876E034A9409D9DE405BD3370A907BF9ECBA8289061C94019D | 454 | 59A2CA167D209142C1ED6029313C73B7D83B0E22B1410C01519206795FA33F63 |
| 455 | 56FFA03F2FC8FFC11882CD5ACCF3AEE9D0FDDECB08433E19F536CEBDB5554947 | 455 | C88A326500EB96700A24A434382BEEA0D0692E12E3AC72D568AA0133B0CCCF70 |
| 456 | 7769A3D1A6160689F118B55FEB95EE64391236407596C67E59EB604358845376 | 456 | C34C979B31975536089EA02286AC17FAC1CC980FDB0BA382F7755602DCB18CEA |
| 457 | D828EF56639C526F69634AD2C5C13F36F2CD9889BFFEE334F9EF212006298465 | 457 | C862957FD6DA71D7180B3AFA8851458B5DA45DD8C5336E7033F4E957CFC2C08D |
| 458 | 2CDB8F2BC4EE08157E5AE915763EAC45CAAA393FACF3CF8E50788AE1AE6BD39B | 458 | 1B3F550A219034ACFE7353BDB815B7B65BAF0F947BFC3C5E47AAB9FEE752B938 |
| 459 | 49F24D099DC274C4CA6538C20ABBD8BBB9FBE3A038D6798317B938327A7F33FD | 459 | 34F5E6AADE58FD6F827B0649DB56F21097A780F57E253AA57CA6D5C97AB407B8 |
| 460 | 866D1CCD14148C95B96E0F35596C6A558077A6C7A2D87CC83393FDB57A6391F1 | 460 | 8646B1652557344AB12A962D745016BF5E3E712E56520A30D2D4725FA67B2AC4 |
| 461 | 875E85FEDAEA2036B1618DF94687A978E6CFDF7944F39E422FE3303270CDAD35 | 461 | 8E331D28063727F0DCB494D6DE60F01FC86DD340EB5C8201CEE5C83B141A6FF9 |
| 462 | 81F7626BD3375AD01D436A012868C735326114F8AFB42B886CD32EB4A98A19B4 | 462 | 72974B88E35BE6061626D570539AB1BA69183EBD64FEDDE0E3C8221A5190DA08 |
| 463 | E1B62B77F2F00548C531EE95F5EA677D16BE65BECF9FE0334757FCFA45F84CED | 463 | 58853CB53920A109561473A0E0A3E6C89E66F9A5372483CDF9CB9F05F6AD5AD1 |
| 464 | 42F30B37E7DE566107D0F57A3B777E38A725D7AA8A4383BCEFE55CD51AF0B6ED | 464 | F673B2DB23090B73C08E0D914366AFF8190366111E0504E11A1B123E2E752B75 |
| 465 | D1EB1942129CDFDBFFFB5E8D55DAA966AE6A086603F30D400359C2C273DEDEDE | 465 | 90728C69D7FBCCFD6411CBE4AF4734CD67F4F4CF231F38F4A2085C9896C5CE05 |
| 466 | 38DE88FB502DA13592F3A7D396816DE8A0A86093E2B6DBA7A77C411F27A478E9 | 466 | 8DC64395C62FDFB3ED92FBF66451DA41385E35FF0E0B381DCEBAF01CB9550679 |
| 467 | 3EF3166D7AD9133DDF48D873AEF825EF6CB162B98482BD50BDD2D48DD65CC73E | 467 | A0B3016A0E6CAC3E9C9B6FCDD0991B3AD4DB08B899A321FB78EE4205A0440285 |
| 468 | FEF538543B1A6DC11E71A3904A11EA208E70CD1852B0B19CB2EDCD0813D90B07 | 468 | BE7D4AECB70BF2574EFD1A8E715AF68DC99E30DE8233C557AA120584199A80EB |
| 469 | 19F0DEFFA8F02099B4D6EE3E74B0F0E6BBA43C4A24E6E91E1973ECAB64D313C0 | 469 | BCABC03A01AAEF4259F4740D3E217288BBDD85F690BFF141CAD097B6E7353364 |
| 470 | 99F93025AEBBE3B402A87724ADF72937C66235F36A698529F92CFB67D861F908 | 470 | CE25F9818D743CE61A3EC151B120462A411332FE32F279F7BE76014AC2BF7C44 |
| 471 | 493730108FC4D7D9A8E01644FBBEF3B39253B7BFF5EF1DF6C2ACC4CC7F1EFD6E | 471 | C9B2E6A156F4F63C2522470963BF1FE855AD6A083349BAE5A077AE1381F0E264 |
| 472 | 72F8A54E8D568A484D0E15D2C88D1743D6E225ABD547F7953A5F5E42406F4EAE | 472 | 4F3CC894E16A0B1E5195B66CB83F0904E3C9C3154E87231CFF119A00165C4338 |
| 473 | EADD36D4998A41CEBABCB1F2945687400C7BE6322E4D924D9901D42032CC55FE | 473 | 7EBE20D9F9F7E73AE9DBFF5A5B25E241A52C180843852748415EB5F040B38D59 |
| 474 | 64254DEB51F5C844BCDB03D7069AD72F8F55CC306E12481D0CFAC6210BBF6EC1 | 474 | FA08110F79D73ABDF3AABCB1A95933E7A56120D63B473ACA80B80769638ED878 |
| 475 | 51D195E3A1B23ACD61FFF6A1A446D86DAD11BAD6A74B66D1B7362004FE7C3D2D | 475 | 0E0513D8134962A1C350712424910E4528AB2C27F805E73D0C204B94809C5872 |
| 476 | E4D5580654FB98A089F7322DACF853C0FF96747526AFE3F896988F7B0144897B | 476 | DE2B60DB49C7414001AE889875E6FE43F8D3BDE20EA92F4B92F9E9077F96987A |
| 477 | 88091909ADDB26726D582235467E7E75372F16F804C7063311402E0F08C41804 | 477 | FAF2EF0CE7FD75387CC8E98CCEC81F1EC31955098C66936CFAC4200A7896B245 |
| 478 | 3264D3A54C0795902B0A70CF624827016B3D135F57C192E05EAE87EBE42618CD | 478 | CD57EE8BFF38CF671576240C466CD5AE235E46DDA8825C72619AD25EBD9B4D20 |
| 479 | CC4D35AF0EEF5BB9A0B78580573458BF8E808B2C9352D9AC844FC13B64EA6A0A | 479 | B0DBC776CFB8E8F988903E59573D77D9CD6AC5CA6447323B9B6B9D4EA9C975A6 |
| 480 | 680636D47A0DF610F14FC3B59215B21599C52E206B5038F5AF3A9121BDDB0991 | 480 | CAC725E12C3B10BD7D38BED398F49D132D850B737979658BE3D6585D63052366 |
| 481 | 64AEA5390C32ED5242C93DEAC8A8E398223A4466BEE9AF7DC8EBD1E58E82700D | 481 | 255234F4A3A6CFA9E1B1CA462CD6FBFE67F8B02E7988BD6C81AECB1396AFB4C9 |
| 482 | 97AF154B17F0CB94835996913FA29796BF0F262FD7BF307BF31D628128655E40 | 482 | 6CF9F41A9426D1AE18A3CA08062CD08FF430935081B48EF4FF53093B1BD25B15 |
| 483 | 8E8A8A6D0073EADB219EFAA3F1C1A040A5CA2B3AB8BF13500250D5DCC6C23A8D | 483 | 13B8F3207B3F5AF6788364DD45853A1ABB21E67848184228238C7290ECDD5B6F |
| 484 | 546ACF1B5CE5E71362B9B8B472DB26FDE4624C4D25659F80179E2B840EEEDA65 | 484 | 6A755FCA9D9422FB325FC74A8831C33F053DED1525FC298DCFA03F382FE259CB |
| 485 | 262CAE1572E905DC55993DD5652EF70AD17D4FC3651816E60CEE9A7ED5BE8989 | 485 | 6DA17A718CFBC755A5EA1B46AACB7C5882B341D01EF761625804C83A2073E41E |
| 486 | BCC82E24E2B118C176EC340917ED0D61C5195A3B5BAE92373DF0426B1B0E2E3E | 486 | C1B47DF7037677D53BEBB9D1EBCE59E1D10E68C4E4BC9972443FFDE127B6A7AC |
| 487 | 07109E9975DED88D1D0A5459D6DBF6912938201A68B3260252091F8C977EA319 | 487 | 0ACA3D597FD27904183920B6050DF7F6D2B6EFF4FDE0BF73863020BD00C03803 |
| 488 | F765D5E0FF6142886632373821EEA024B37604FEAD330949B483E7E9D972B07C | 488 | DF70E829030D042FF85E288550BA31479A53EA746760D4D330EF65A9CD017EB4 |
| 489 | DE877A6991218B9992092462F59EE0BE0342BFB7F26E06AEBA3272D61BA95026 | 489 | 75528EDC8F9D527098258D7C89A642333C73CEB113F80D3D507E0D7E62BECEC5 |
| 490 | C1529A435D9F96CBDF8541F91DB2851470B2155C544882D0D0E3990CED8CCF21 | 490 | C63C8545A01F94E2ED182472AA6AC86864E3725C31930B0ED0B8AE8AC33FE5D2 |
| 491 | DC8CD12312EB65A48E085935D2B8C0825027737E7E7256AEB89FCE18436FE4C1 | 491 | 5A2AADDCECA9877DBBB9CBDD7255F5AE1F0D64A399447AAECAC3360D77BB85D0 |
| 492 | 234453520F8E5799ABDDF6B0289178E0A5FCE7E0C9EF98983DAD2C27F69AD57A | 492 | 49988DF9FD104F31917A03ED7C3319CD51EF4DE19D7EAA3292DD8D1BE8A729AF |
| 493 | 417B9539492F30C6AFFFED9CBDC21EBFFAFDDF1F6E9AA9E312988C6CB380CD82 | 493 | ED576D7D298EEF456B4E252B9057A8186328ADAFE674FD28936FA4A66AA8CEFE |
| 494 | D86224F31FD16D04E2C07016E99B23F59F05D4F0BCC758B4ABF5FBB2101DE03C | 494 | FD75A180F88B56FF34C353EA48E19D94BD98B0BD330A06D2FDE75D950EED3A61 |
| 495 | 88F5C6971BC83CD764A2045074C31A8C465047FC28CC7D3CEC16EF29E3DDB8B2 | 495 | ED046D38B86429EAD3C8FD076BBF224F97A07EB96DF43027A1F3C841080B08D9 |
| 496 | 61CD29FAB521D6127A792DF0190F2D5F79879A25682A9452C2A04898B1D748FA | 496 | 90669E035C80E052EF8C209097AC6C1EA442E6E553055D659573CC1764866C76 |
| 497 | B1B686CD1F9B706657FC96BAB215E471630F94E6A68741CB3035F04F22FA0779 | 497 | 4A998871A49FE54F852DC81C19EB833DCB827C4FFEA4203C1539FB6057006EFC |
| 498 | 5266634CAD26160BA102705891640B1171D41BDA8F75E482C62CD3A9D3155738 | 498 | 8C9FAAF9E4676EA22CAC6907105292F59169E0690CAAC7C5D71E6CA25220BB09 |
| 499 | 1CC4109C167294849466BDC51AB3F640226787E805DCB1A6DDEE253B23E7BDB5 | 499 | 6B815EE86C14BB4FC2EB5F684E96A5A23813F0979D07990723861939EA40A6A8 |
| 500 | BCF49FB392113175211BE07E855AF27EF7E7BACE38AB88C1D9BBFD648CE1A073 | 500 | B6B360F5DB0062A426036CEF16485B4BBB0A18056E8BEA923884EB5876F82A90 |
| 501 | 9305F78663CD67AFFF0881B355661DB7A48D6F427F31E6E0ED530D55CF5FF3BC | 501 | F9B175F1F9C0DEAC73DBF7A8B8B735C271CCB85181FA5007706E31D349571B9B |
| 502 | 06D2F4FE5E2CE0ADC23B293C5DEDDC39E5F21DE7E629B7A2333C7B0FC6DFE4BD | 502 | C876251A0DEB34DB2715CD37B5F38CE8D5AF46C338C98B70FF11535D355ACFC7 |
| 503 | 53FF9F83580668D56E0810CB5830CF84A1E6AE8E4A8CA2EEFED7EDF89A09AD75 | 503 | 9107738B8907A52BEEE7EF642593D486EE15CEA7D17328F58D2C453FFC9D5422 |
| 504 | 9D315E5C70A0AF0352BC304808209E9E4EFA27A8A9AFB5ABDACB712E47AF831B | 504 | 35084974E464ADD547B26F3FA94988DF0B1F36ECD048D41C8459A258698DA53A |
| 505 | 7FFE6F3BCEDB86661A9A6B2F515C215276E963997C88E24FFA9593192303C907 | 505 | B71546604E7EBACAD7A9A949451A5841B3CBFC65E818B6923003CC9CB2D0EE17 |
| 506 | 7E9B2E1096D692024C3B52849BD82E0FB5FA248DC46B457A634194C6BA29F2C2 | 506 | 54DB8F558DA7CC3E5678CA5F2317A0713B8CA73D4B4F555BF5CB00410B7CAC34 |
| 507 | 9FEBD559E7CC6A3B5D9256DE1396EB2C635B7A128193EF783CD2ED5F217BB9EE | 507 | C862B645F311E814A23F60810162C6E7FCC2830ABE3BEF1F60975F1ADEE9174A |
| 508 | 1B2D2377F993BE53ADD197F2F12DCC0576B2B0FD6DCF6784016F36F6BA89B834 | 508 | 82E67ADFEAF665F4DEB6EFA2A12F2A44AFF5D5B73FE036AF2BDC271E44E5C119 |
| 509 | 262D1E024963D39E279479E1D127CA75112BCFE619615EB6C15346EC3A2EDC7E | 509 | F3165F00248C3CFBE900A4D925B9E99BD7B72549DA2E26BDDAA760936F7D056E |
| 510 | 8A342E1FC8B8A61B3D08968C00977A4654F036C4B9353DC2C7500EB8F12A2AFE | 510 | 16214EFC4BF143588FDC9195389359F05FB38B07FA192895B5482BC16DA48FB2 |
| 511 | 12491D37A10EBDB0F19409736DA7B62AE9A9E7AE738DA76A63D0CA3C11B997A5 | 511 | 675F45BE53D1FD413192E344AE1B8D4D34B6DE4BD2C5F0CCAC25D8C416E82FF4 |
| 512 | B0FD5E8C0FDF9759487B3803280F1036B2DDAD846AA162113E5D2EE94B301A58 | 512 | 8DD67C02CE58BE6C1411750195A6FC57186BA2A501D9E94E55B99435FF0B80A9 |
| 513 | 02911791528309473040FE0F512A7A2FB30508DC2FA0F4B4220147AB7CC4A83B | 513 | 468ABE2014EB30AADC5512550BCC194B2654CF439E669779FFA2D0D956B02311 |
| 514 | 7B7A9313AFEE47127AC66CCA2FD6301D58C27B5C49E4C41785EDF404C5D9DC5A | 514 | 9A7C15A34D3EB890D1971307E85CF10C316A560454ABEFE5B9E4BF9E12D2C18B |
| 515 | 54443FCCB690A5AABB33C7E1874DFE775E39CBA54C3F609065E77D7DB6C34BD2 | 515 | D42ABCC8A9E848028BE311B0315E3EF2DA66F87C0204D62172F3DA5392489B4D |
| 516 | 892EC469510256C092AD1A8B70C78D68C2EC211CAD18D3A38D571B7C25B7C465 | 516 | 6DE4005E73F3C7CA198F6EAF1359C7B41E0A9B6A1D4E5BA635A376157910521D |
| 517 | D8F90E80E19392B13899CDE111D7145C7A8DB5B988F54049E5E94BABF539A7C9 | 517 | 516AD8BF7275725C81D75D553D6C45807422C979E85896967933C80B693FAFDD |
| 518 | 6AA339CA44B0DB3B406B9F29373A3AE28B5E4544D25D0A4DDBB1EBC9DE4D5854 | 518 | 7A0BF5CFD1CB0C19CB60517BC725F5B5AE16D38E9878CC4B80B5CA95C942E6FC |
| 519 | 2A0C39158DAA88CCA1C2DE5F9E588A35669FC9CCD6C80251CD95B3B75555C37B | 519 | 2DABE3617E5CF76CC6CD83F257E7B7B746D164A26B451D400C8177946FA447EE |
| 520 | 19D6E10D1A2EA592D6FFB2A640BE02F00C1A62B5D6B1038C6F13FEF94ED8EEDD | 520 | 6A68C961E78DFBC76DF68AEBD9E1061DC729088E4C2FE68DB331A031B42BFB26 |
| 521 | BD4B1CE4A61DD41DBE1EB32DD2E98513AC545E9CCDCDC74F8D1293BFC4F81AC9 | 521 | 14045F941615EA0D1ADB1F7672FF6726AC59AF4835115B14ADB0C6422BAE128B |
| 522 | 1AAE6611F1F439C52A87C760D08F86D7273EE05569F0D62A88F8C0BA1E6BE645 | 522 | 956F8AA6F35773757D13EF82C640F1D79E7904AE638958A63F8D4B48534B6758 |
| 523 | 9191D1D39D43C9C3565C972A145E0AA8924FDA038B4600A8FA5DD3CA2DA18863 | 523 | EE840A51857C852EB04680C6B5789D0EF46178A02801CDE990D2C1689B7FCA63 |
| 524 | 6ED416AC4133D0E96EAB882BD17F1C995D7822A9A6BD20F9589EA1B99317AA71 | 524 | D3F3953340DBFDCA3FEDE5F026F0C15EB43848B78A6C2D6C01231FDDDC0A67CF |
| 525 | CE08AAD2837F4956C32731CD2895697AA160B039EAE99842AE7C6D562BF0F383 | 525 | AF1C673B95370C4FB888B551BC360762DB048D91F614A764E9EB618111122664 |
| 526 | 5369C8A133D6F3C4BEC8B45911143B9C825F8A3CF4FDCB31B97F48006BE9ADC0 | 526 | C33BDDA6C8996B8B85A3583C5661B5B66B8222B46325F6244E0323B3B3EEE469 |
| 527 | 11DCFD1AA424D6D4C5F21A2DED6E5E4622BD2D6419F8B097FEDD3BF4806BA6E5 | 527 | 433F262863585D54DF1F11AEF52C2114CB0AFCDCD2AF7C6C7ED155B1F58B84C1 |
| 528 | 5FE67DE62197608351FA7BF17909687B58DC6323356A1560EBA7DAF0DA6C30F1 | 528 | AB11520AB2D62C3DECDD638D83E42195B8315BCB37C1A7A0BE6BA1274AC9C4FB |
| 529 | 9A1463EB04179802CD3D9393867DC77191ED81B045B924AA3F76809565792135 | 529 | FB9647197DED96DD50FBDFE9E46050400B78F04744E687ED5F51DCD04067DACB |
| 530 | 2D24B8E017A7FF8C8991D060E6F3F6137BCCF30B41A14DB349A677C99D2EC6FE | 530 | E4299E7EEC824DEBE6D165C463B920A4BBD08EC3554F4CEE40F044529AA8F059 |
| 531 | 591BF5CFFA31098AAA62D88E10E2F9844F3AF63AEDED630B1CDDF6FBD581B5B6 | 531 | 81AEC16191D42BCE549DC373DC8252D8AB83C4512BCB4FDF83603D629B26E302 |
| 532 | 98ED711902189716AABEDBE428594FEE3C203BF6764932847474C12B74D9D9E4 | 532 | A49E90B234503D5622FFB038E8EA2CE5794FA2E97E80FE5231ECE372A35DB9B5 |
| 533 | D18AA4553DC217E0EE86C5CA32398BAAF0955247A1BABCCB62CD3C59798DDC83 | 533 | D7D86AC8B690635AC11789940493C7D37934E2FDF8F56433824C7F2AAFA357D4 |
| 534 | 8D248B6E1E9700E989766503D664AB48809E5339A9FD63C537468075FE34D0C8 | 534 | 6952E877C901139D1F68F379DE71A51C0F7EAA3272A412744C52F9782DAFA97B |
| 535 | 2124080D8AAC6D82EC06146ECB9625DD1A1885B4A9338596EB6A4082DEF5EBF3 | 535 | 8A753144988536ADAE7964B6E7D63191C1C521DCB90656DD8AF540C67D30B644 |
| 536 | AE5ACB49645174BBBC1BC4E64FC4D26469216DFA9C1AB7DDB5364CDBFD50F9E1 | 536 | 048B0CC17F54090F1CAE35B59F190BDC2A473BA8BBAC2D8E4004E6BFB02FE922 |
| 537 | B837419A5B7C5968048618AC453CA045E37D8A87F01B24D30E1F0B905CB29816 | 537 | 849F6DE710ABDE45BF0CBCC91EA5FE97806C059617D5EB64FBBEDBC570A39F5C |
| 538 | DF958C7FCA6E5BC581E76F03D2B2E67E97B974E4EDBFB31C3851ABD18A8B17B9 | 538 | DB4C9E35F3C57E6693196066843B53DF3633C3E44F4A3857DEE327121DFB0BF6 |
| 539 | E4ACC739EE9A72EE738F047F5A67C9EE3011E534C363C4604D4C580B7853F659 | 539 | 3CFA4F3FD2EE79DE54ED1E66168B6718F0DB0EAE4B0387AC2D680E60BAE49478 |
| 540 | 7F769BE90A5E2469258B20F8D4DF10BD4A0B69586CDDA5BD08F6FEC75451386B | 540 | 0D89683C04CF89CB5B22CA2A5B4F56827388AEC1263EC0E0918E12E26834FF3D |
| 541 | ED5ABF5489B30D495C24183D6695EC6B7FD554A050A9C7B04D76A783B4346D70 | 541 | E53BF07C6670109AC0236F4676C014782B9AB4C139499A0E72A8FF6101A39F5B |
| 542 | 62A0A947304D81F35C29001F3E855AA34FA9B0CB1A5DD721247087AC30851702 | 542 | 99B33D6EF20B9A959159EC1BDFE1AAC8846352DE5B3B29137A34E8ACD5883FD9 |
| 543 | B2484D7F7C488256758D24318903958AB96AE39216AA7252708D7897C3607914 | 543 | 56F140D6BF3A66A4E2B547CF555DBAA3C8A04E2616873C76AD8E0257C8224EA9 |
| 544 | DD35B0C862FBB495AFD7AB36FE422BDB7935CE34B6EAF269A7512328D56EBF7E | 544 | 5EF69C5EE5BBA0D9DAA564EE3648A3F19AC70652EF6B2529D87E11FF3102A846 |
| 545 | 8FB7698BE3946D38365AB6180F139E15E28A52FF40A1C2C42C7D1596C58B654C | 545 | 4AB88679CF80547A3D94A2EFFAC31005CAB09BEF2B9D20B5AEB4FA1882126B62 |
| 546 | 04E43AE282CE56BECB9F8EE264D062630205BD361AC7385380F7D3BED9B0C26D | 546 | B7C151CE7A504381B3E24EE88FC789B0ED87A13A3A04AB0742940DEEB24B5D3D |
| 547 | FC01078D6BBB23C70D32EA798AC9620C60CCBBBCAEF286F52189EE63DF7832EA | 547 | 75FDCDA9B817FA318C932E9397E4E4011714EA81D69717F21470ABA8BA20DDDD |
| 548 | FECA2C7EF4D2CA56EF45406365330C898FA73415F9A18E877429C9124982EB41 | 548 | A9ECF00C6804214BC82B20C91A445C6B0B5158F57315CF1939539F6A2FFEF426 |
| 549 | FA7159B512FAC6259910A21866470AD9945A0D7FC39D956334A6B30026AA0838 | 549 | E493FCF410E5D576AF15B178E77E65B79328A79ECC7A681C6C8585EFCE1DC079 |
| 550 | 43E3369BC9C743BE3C29512D49EE3551933CFD29658AA3A2B41E265A68152B9E | 550 | C0F140D40EC95B468564DE0BAFA0EB3E70BE89797146F56B7BE9A4B7BF3E5B8F |
| 551 | 6E5ED231DA1EB9C36392ED8C2692FB9E316E96AB83806D72FC1B4C6354E85149 | 551 | BCECD50A1793FCE65EBA1E335247E3964BE095810964326D580CF2F26133A799 |
| 552 | 2655F669F44E49C4110ABFE8F0FEC7821B388436C99C33B203ABADB40729CE97 | 552 | 1A078D83BD6E550812CC56CF295A1E6545B339440A1D3392866B9E4500428130 |
| 553 | A804BCDE32480ACEF760580E7BF94CE28077555F3FC58CAB8048E7CD891A5BA0 | 553 | E42B64F1E4824FB0D785F787C7A0515DD39678008950E25564E3E148190F8C30 |
| 554 | F09AE7E90C64E0374565DF7E03DFEA10198B742BA58CD7969E2EAEEC8311613A | 554 | 922D719A29798C3C120EEDD5BC0F4C321F82C08761E68D8400993655CEB31839 |
| 555 | A9092E53147729A4C32B4ACA7AB77A9E01EFF4F294C601A79A3276917682A345 | 555 | A98154FE243670B464AC40BAD7F18893F517A09D7EB5CB30CAD9ADF62DF7D9DA |
| 556 | 0A52DFC61AB6E5D3CD6D989BDD8ADCF02272E4A1633B2939158434BD7D168975 | 556 | 5F60EC004A9B9A49DD43005B66E05EDEDBCD49B94DCA88E91F6D359ECF19FC2D |
| 557 | 96A85A09BDAA86DC5BCF2088672B5217E87449DA42F66464B49926AC4A047BED | 557 | 660EEDB26CD608D0B2E0867633CF353F16804E2E8155C9DF6B6FEEEB2CE1FEF0 |
| 558 | 14023EB87BD154073A163DECD7F6380F38C52BFDADE187DA6A92DDED2E4724F5 | 558 | 9492C875FDDA09F81D8266766E6CE28199D1EA777FF67F71F3F7BEB60A2DEF9E |
| 559 | D2E58CE99686D259A4269DA7275AE3F43DDF42593750405108575A5037B2F912 | 559 | 68B059FB0135812071176E44A70C38A3FA80648225631B16B17D683343313F52 |
| 560 | F18584CBD9FE3EF6935CCB5E081982DEC072F7FD6B55FF962D84373CB0F8C0E7 | 560 | 810F6E7D60BB7C895317C6C0A93289B1A29E6D221E55BE350547FD775CE2F77F |
| 561 | C990834B6B64934C646AE5929BFFE0609739EC2691048AE17FD884009B975CAB | 561 | 94ACA7430811E849E86F87C4913D04E15B704A8059C9F4E9B15EB1F32F081F19 |
| 562 | 43C38008EC1893931947B846F7BD5B2B4D20AFFCB1270A27D32CC9E673AC0D26 | 562 | 49255ABA9890AE20DEF0BCEB216B5372DE32AED9577FFD9E06 |
| 563 | E3AC2BA7EF1A4A1A823B14DC8E25745EADF916F0EE3EBA79CB75FC17AFFFA614 | ||
| 564 | F570D732E4C7CA6F52B3C3A1CC726DBD1CE3E808 | ||
| 565 | 0000000000000000000000000000000000000000000000000000000000000000 | 563 | 0000000000000000000000000000000000000000000000000000000000000000 |
| 566 | 0000000000000000000000000000000000000000000000000000000000000000 | 564 | 0000000000000000000000000000000000000000000000000000000000000000 |
| 567 | 0000000000000000000000000000000000000000000000000000000000000000 | 565 | 0000000000000000000000000000000000000000000000000000000000000000 |
| @@ -2033,273 +2031,271 @@ A208ED52A9684A802003AAD6D9FCD5A3CF635FCC938931CB94C751212CCCDA6E | |||
| 2033 | 6EAD4AEF60B83DB1E356D7B6844375FB3AAA0389F56D070F426C759ECD2F970B | 2031 | 6EAD4AEF60B83DB1E356D7B6844375FB3AAA0389F56D070F426C759ECD2F970B |
| 2034 | 2E65032797BEE2FFDD78CF0B7C9684F6EB8FAAB6502F4676CA8F23D37CC4D4A3 | 2032 | 2E65032797BEE2FFDD78CF0B7C9684F6EB8FAAB6502F4676CA8F23D37CC4D4A3 |
| 2035 | 42EFDCFAC381E4B95D63E26FAC8DC58232288CDF0A98F076816242E68A3C3189 | 2033 | 42EFDCFAC381E4B95D63E26FAC8DC58232288CDF0A98F076816242E68A3C3189 |
| 2036 | 8EA28401139ED158D704F62F79ED030B0B8C6FDF57D79CB24D633DAEA4D152F2 | 2034 | 8EAEDFDBC8802E6C8D2F78857CE66105FEFAA26AA62235515B9DF83D86CA7F06 |
| 2037 | 6D841A03E07789BCC6FE50E341EBB0E62D9A727C6A55256893D89562240BE250 | 2035 | 4887E80BC9C14A4C5974463498998052A711AF175999917AB6530A5981D5FC02 |
| 2038 | 43EB09EAEB3C19F1BCB4319DC85CE4FA356D25386C9646BE83B51DECCADDF627 | 2036 | F6F5BDAFD469D43E2E2134C6BFF0B68ED9CABD7A14B0F0C2427F14682AD3E1E5 |
| 2039 | 32DEFB64DC618A9506F372828A3B615E63CB685AF64E199532C3AA540A6B628A | 2037 | EC92396EF1DF4FC20F1B574F1FDF7BE782DAEB1490C2182F017E633F47EE6B56 |
| 2040 | 8E4019355DCBF124E438AEA613E35D755F8B9263861A63966743FB7DF52F2F08 | 2038 | 971A2837D4C9E8C78E5B28D34BA512FBD85CC07117D7A261904D6E2C57413264 |
| 2041 | 2D4337B8ECB52EF7E09311A5FF7C40E608E68B9D0A764F83A294E3439CED09CA | 2039 | DC745E50EACD437C729BCA09AA240BF7F99B11DABC36B90AD717BED1439D1649 |
| 2042 | CEE4EFE17CAAC95C323E51B205DA84CA8C17260D7643DA0DC0222A5A6F192602 | 2040 | A8F219ABF3C3E8275B4C41DD3251907E90601B7625C72E4EC7BB58EE544E09CC |
| 2043 | B240ADCCCEB494EAAA6DD3961D0A5B697A1754C77FFBFB45305B72C533D6D506 | 2041 | D86769AE126E8325A6997F7163187B190B0C73F76783EE86095540C40C86CDBE |
| 2044 | 6ED9C0E158AC4CC72F1CE4D70D35EE49FB5997BC93CA764B7CDBDC0DED90A276 | 2042 | B2ED24860D2224024AA004929555C0C4EA645EFEE62B7A20DFFAB78A256704E4 |
| 2045 | 5B7333DDA2EA5CB20696DBC572D77DD5847752A7181DFB4D862B7454DF10893B | 2043 | 0BE2A5E2DFD2086BB24376D399A14888757AACCCAAB87C123445F38C7B2D6B75 |
| 2046 | B41B2D30036A20BFAC047CA6E78118C1B59AAE1A36938CE018105478260C91BA | 2044 | 3E7EB1D517A4B4C8770251666F76C1F1C79DE62671BD3D0CAD2C1434D9E0E931 |
| 2047 | 84F8CE3EFEC29EBDECD0C1D65AC7DE83B2A6210BD2D535EB78471375A03ED62D | 2045 | 883723EB811D9906BE8305278E586493C90CEAA20307064A29F20BB204E5CEA8 |
| 2048 | 7AAB24E7E940B021B6772D2C74C662E78F25782F00C956F49C078246D3D5D230 | 2046 | FE94F52A5DE7C1F3F7403F642F29E81F2B38760DB0F0DFE9775FDFE49C685F69 |
| 2049 | BACC06F32A5804C4984FE5F40D53A21710435E43A9D178AE305C052A44773E2E | 2047 | 360C20D3ACAFD0BF01C813DEF6C95F16BFB43923A78B5B20112BBA77DCFB3F81 |
| 2050 | 018175E9B6D0A6F856179DDF4B66B9B6C02080BFD3F79821CFF92F44F7900367 | 2048 | 7DE00A59336368DE9737943A9B33160D3FA500B5C74D36BDACC54A5D6862056E |
| 2051 | F43EB4BD305740DF903D212B00B44DB51718D40A186D0CF87CFAE417FD957611 | 2049 | B02CD766308328E2C8C7FC41A0E9B21C75C08219195CD22FC5D3A99AC9FB25C7 |
| 2052 | 5314E281183E04CC0218AAA77C267AFD4A0D4E1908A1D60E1005B33EB5EE5047 | 2050 | 1D72A08B5B86B4866CBA3CC965743CFDB0FBD2DC51EB24BA7BC9E6C99A03259E |
| 2053 | BACDB817380466BF1D084140E623402D174A0810BC2447BB2A0B7A1C1E4EADDE | 2051 | B78BFBAE4DA928215E1B969FD6B00E3C44393AE4C0F3A18E380A55BB8EAD5713 |
| 2054 | 04EB1432A994D12446064F3F08CF3FA1D62CC361EB1B8D956CE12255C12C35FD | 2052 | 44D479967A07C711E8DB24C3E01EC9F0B6C2F936DBFB3F3B5FBF0850C55B9A38 |
| 2055 | A0528F3C74A333C3409E138A551D2E2351DB44BC0F1F6CA6454E3A64B2A74659 | 2053 | 2C546BED80AFE9B30E3AA308FD575FBF349F4C556A1F5227495EB5A313CC6AAA |
| 2056 | A7CCE55CDEB071FD94B4D166E17F3640DDE2B3D5633E3AD8CA18F0C6776BC247 | 2054 | BA779533C79CC35EE45C86333E307864EDD1BB5D45BC3058BA88A351FD39312B |
| 2057 | 263AE4E046077DC73D5E9C7117AA1B8A823B5A18A64004329F47379B050597D1 | 2055 | B031A56703E91714EEE44056F6B826090B63CD30144C95B88A3E5B250A2B2AF8 |
| 2058 | 0D3925A3E59D630C1E88EC5A6B61BB696635B48A65D000820B4AB15C11F43A1D | 2056 | 9254E991853F7C8165185BAEBA1F088C9AE10B16B618F8E32352DEB52967E3A9 |
| 2059 | 028C5667E750A6875650883B6DD72A783280772EBF55A6E08814DF09D8047CE2 | 2057 | A39E6DF485104508B77B3569AF0FF6AC768EAB7432BCD14F18B0A6B2D7AF694D |
| 2060 | BAF5498D4F567FCED475372BDD73DFDA5911FCC6B32ACE95DF38900BED5747CA | 2058 | 958E51BF543A3A337FE6CA854586F2FD61C5835A939AD374CB05BC334CD893C8 |
| 2061 | 4880693640008D4298EBF2C9C053B38C821A244367331EC78BAD53EAC16D358E | 2059 | 031FE1D92920DB07488228C03FDEF985574836565885E5023CEFE96AD27D2F7F |
| 2062 | 94F1BCC39C05B61A8347E4B69B19941B320271FCE6E415FB14352587A929077F | 2060 | 468DE1FE34C26216CF4219288A88DB2512CC9A79BBC672D38A430B643B64D09A |
| 2063 | 9DC65C455A76B8C2F5E7FBBD0437EC17134242D3BB13B0722C6B197C54E5EAD8 | 2061 | C2A82DD14F6AC4085C2B2D950839F1B3DBE701AD3F4488ADFC4953056AE03B04 |
| 2064 | 18AF5887986C7895294E4E810EA9BC21D29E2CED5C82BAFA33FE5058F3F252A2 | 2062 | 0CAB248A3697303B74171D342AC88F6E436A28970752BBDDA6A49CA78DFC76EB |
| 2065 | C1C2F313872048F8D2EADE51B5A94290094085F43D81ED74DE3EFE8AE9DEA7EA | 2063 | 8A2EAF1E6E663DE24E221125555B79CFD316BD450196DFE80AFC35F9D0EFD36E |
| 2066 | 49F466F7F133F2C82D656523B407797A61B8C9982D5B60293EB7F18A2085E1EF | 2064 | FA0D1050E4CE2DF26B9605FB8950E2BBE6C873F1621DDD52FC977D9A7E5E5DCB |
| 2067 | 7C1F60A8A438314F0388F722ACFCE55195C1F3F1E17159845941589928BEC56A | 2065 | 3C7200B775513A763647F6DF8C6EBCB415242654867A519A57880271AB25A9C8 |
| 2068 | F31ED3C2218CDE188A3B55D17FF605E05D8AE1065CAC7B135A1E6B54EC841644 | 2066 | 9255B10E0D0FEF324CC97D1BE4278C69A7ED352FFDD4B83FA569CDF24E8698E3 |
| 2069 | B430A21C8B0ACAF85204A564E57FE3AAC1A4B8E8D1CFBA68852D39C4A3159DC4 | 2067 | 04CAB5E8F66EB18BACADCB452E7E2D93FAA3D7DED9E392E7A82B2E343F61CC6C |
| 2070 | 605EDF016558176CF811F7591977490B3C21A1E4A79D27E5D76310FCBD435C95 | 2068 | D8943214CB064C361930803CF4C470925857C83D9FA4871854E84980762F8B11 |
| 2071 | 40F95C34771663015DF949A64B171F229F83025C0A907965DD988A0F2A75E8E1 | 2069 | CAC395DC7C24DA3D94C70903CF0B406F67D71E37835A40A676CEE1780C955E7E |
| 2072 | 1B498406159A0C332949577D32E1545FA3401879F05329982C72A203D7652CE6 | 2070 | 2699F15A82AF0138A106E0BB7C179F1480678F90D7794777652300C073D8127C |
| 2073 | 5AD49FF99AA463047C93F56DE4916158EED499FD7073823BC5324BC00191B24E | 2071 | 9C0F6C08AF449C339C324B286BCF56CA6CB069D351AAEE86C04BBF3BFED533B5 |
| 2074 | 456D1A93FBF6E6137B4AA3A773047072021F8C20E9A553879C60A54774A9E845 | 2072 | 4993C9EDAE588F9122BBF1D830E1B024235EBF5842FCD14DA0E759453A0A87D0 |
| 2075 | BBE9DB5D253F61EA096DDFCD8F321B74465B604BF3AD557CD20E6F1C7B0169BF | 2073 | 569C89320936EF3A9A93865600133C2800BD77A49A7CB1EA1ABC17A89AEA5383 |
| 2076 | B37105EDBC8FDBF1E3DB5554775E475DD3AC4F88DF0D72CDA441C04A0CC47526 | 2074 | 50740DB2DBA5A00ABB556FDD5181B8086CC1683703829BD9995E9B9928ED6CE6 |
| 2077 | 7A35680041E78C0B8CE7A54540D591DF9CC8164EA3A3C7C871B029AF99DC0DE2 | 2075 | 4ADACDFB73DE333CA7B8F7DB17EB25C30846D9DF5110FBF2A5B004E80486B5F0 |
| 2078 | E994E863765F9D907EF27DBB707E9EA1CB479E1AAC73F741E9EF0AA96F8455CD | 2076 | F0A5E9EE3B37FDF87E52A65CA61DAF5774521BE090875605FC33445A8CB47470 |
| 2079 | 0084F105227A5A3B6E066C5487FC956CDCC0E8D1F6B92E8E0F54EBDA69C7DE9B | 2077 | 5C088A7AAED828BD3D93BE80F93CCBB71B702DA053B9CF4C5D949678B54E7D7B |
| 2080 | A63EA7FC5C969185D72362A6EA294E30DE8E13CB701C90EF7E13250B34545B30 | 2078 | 8B4D28E3283310890884A4DEE9BA606770C8FC52FAA87A1846E402F5110F79CF |
| 2081 | CA046BA19A488FE9FB27C7FB9B7A6017F78D2B8E9C5ACDA576801381F6B2C435 | 2079 | 685AD45742AA00FA8304E668BB4B3A78BA2BE8717306419F4EE1EC696B4C8CD9 |
| 2082 | DA1B205A4041A7C1E0B55B44E71AB130A11713DA2D971D2FDD1416AD86412604 | 2080 | 0877326DE7DCCE619D86F9A75C194CD7406A9B1B9C962A381DA83707264F879F |
| 2083 | 6E65D39D7D77732E6B42910C85FCDCB473E5F2ED159F9AF583CA21C4AE230D63 | 2081 | FF16DBFB7B15D38347423C4D14CB8B26007BF591AC6A0FA815852433CE4AC18A |
| 2084 | 607222B23A1E413A671F55E6B71B1F772F9EED06CBD5F299D033DAC93F80330D | 2082 | 4FD19818F04737C71BBF48C925699AFCFDD25D92010069D2568E655B43A2A88E |
| 2085 | 3E3CAD7850FDAE6EF00E1E1D02395CA135829FC65A6B8CC95537DCD7AB804425 | 2083 | 3F734C472714E5FC7CAD6189611A10FC281118DA6D78743B9F5CA56301888AB4 |
| 2086 | 2172752ADC751F0CCE122C7A470CF445FF92D6DDBA43E0903AF9EBDDF94DEA18 | 2084 | 1B4099F9593D046157054869A6267C12474BABDAF528DD0E0F2452C38052787C |
| 2087 | 679567FD8A7E78DCF94B26D5C2E4E46BDF150D67032545A5DCA2EA06E49BA763 | 2085 | 12B04D3F2A46888BBA6ED82374485BDFF8B887B8238105D63E912B01D25FB099 |
| 2088 | D5531360293B0AF7D83A7706D82C730B97D78FD494E47502CAA1125B1AEE7093 | 2086 | 834F60570D0E50CFF2ABC21162EAED3B6D1E8F3575E285EB59A3CFE0D4291255 |
| 2089 | 129C7BB9DC79AFCF1F08E8157A50AEA2CDB077806133548C9159D1C5B8EDA8BA | 2087 | 40EFDDD282C4A213FD3313C21DC6D90AD561435DF54236CA665EE4B45D7F57C8 |
| 2090 | 8FC4E14051F42AD4217EB631A846394CE942C16A2B2FA617701CB3403ACB7AED | 2088 | C43B9AFF7AB6E35C1D3BF42CC45DAD238B10F782559007BBA003B508CB25C41F |
| 2091 | 1B0BDF2F56B65F14BD2D3D4860AFA59D61709D1AEE9388B04E40B7F6D1878293 | 2089 | 8CA0B35779C6B5EA62D3F3D4543E12863DCC7A41432DF12464F119E9584C8BFD |
| 2092 | 9D828F81DB610843ED5306632A99A23E11D00A53B46660E6AE8BD5DB9284BDB5 | 2090 | FD46563D85185C21A221D398AC93B79C1206975DAB906418E4F27DB339B6B50E |
| 2093 | BF5F5118DEF0585FB46364C7F0CA697C43712C8A366F717D600D56B3B5162E98 | 2091 | BE1CB70F5ADACA9635B61CCC4DC831CC3EF73AB139061D725190EA2E0C8FD7C6 |
| 2094 | 24EA12C92C8831414F54DA383B358AEC3E312C456EF0DBD70E81819DDC2F00FA | 2092 | 8D805D2D19A2F54769D68ACE92B6DBF22C0A2EDB9B45C604E724FABE2762AA93 |
| 2095 | B3E1EDE9C4610F5E51D0F4E0EAD5508BA97AC5D6EB5F16D2927633A7E92D521C | 2093 | 2F30FE0FF0FFA874FD655D416F254BC4EE83EFC2489DDA222C669FDDDC14170E |
| 2096 | E9C34D91D69C5273E3B591E8E9732EC02FFCE392AA2093A154A8AF4323BE07A3 | 2094 | 607B85563BECB3D0D397CDF9CFD6E1D7FF5116334317A188FB8537B38B328CDE |
| 2097 | ED6E4E2A0FC7CE95E879AC41D515014E54913E3B68D83FD3C621F400CF93F9D0 | 2095 | 2D05354E9774AAA3BD0E21053683879F89324F1714B42DF0A6E9D902BA5373E3 |
| 2098 | 2308DEB63797130B1C9FCB29ED6FD1BB8E140178CE267192E5D2830DFEA98831 | 2096 | 2A6E95367DD0CFCEC5F1576631969BC441CA14E5E927FE46CB26601D492B8A9E |
| 2099 | 500EB89845F0D6B47BD87958CA500896A1AAB34AB6AE1568D0CFF85766CA1B78 | 2097 | D5FB32EC9BECA60CA49A241C5F432B2E71B4EC4AE2E4CAF8A488CE89639F2008 |
| 2100 | AA828FDD1B699828832ECE7E48B2AD702109B72781640C7CFA52E0A490C22A36 | 2098 | 04762E7F895F5865655E81AEEF5B4CB02E47ABEA8E35F95B289B5BF52D760539 |
| 2101 | D106F18CBC5B629C61A3FAFEA54946A2BF98133683FEA93C17499CC8621F9395 | 2099 | 53C5F2950A886B43E4D6AF59199A6C8CDAA2BB2767D5ABDEFFCD40EEFA0B1D02 |
| 2102 | D169358AF2C2D4F9008954E5DCE465E1F2333CB65DFD554052D49E268677B602 | 2100 | ED629131B0FFBD54693A602AC1BD15745E2C80C4A9DB293EA112393CC16A3904 |
| 2103 | 7D064A95B1B2AF7F6B4F223D772C88201A835A934465139DAE6AE837F6F653F0 | 2101 | A26BA8FFD378D0C13D656ECEEBCCDB6F177777CB24359791F987BBC6A8F9F33F |
| 2104 | 60CCE5FAF8FE9A6198294771724BE20A20E3A65BA23F34B59310154F54730941 | 2102 | 54919747ABC99A0C994F65151C777472AF32480E21399F6FF16BAB2B1501FE31 |
| 2105 | C39D3D438F2DAB828172F68A16CAB5A3D1EAFD41A982C8D7DA0438146625CD88 | 2103 | 9D991F02F20235D5117B1255622EDECC52FB0A752C9DC5CF7DB8B8213E0386E1 |
| 2106 | A0D3264A1C4947B2ADD5B320B982C12D1AA4C45334CA821177EA18F2ECFCA050 | 2104 | 4CE8CA8116B3326DE080035488E7E68F52DB93B456B7DBE5CE4A10298083B1DA |
| 2107 | 11577526AE45DB0C4E2D11F9470954AB14BDCE0F921097A6B73239B8E11CF61D | 2105 | 8C1C682D701299958D772E7ADD0E94944F0C4CD12A23DE08FAC08469CDA4B7FA |
| 2108 | D2A41C16C8286A4D5C1E4F90CA103203CD2361C983593BE6CDF6E1A93E15AD93 | 2106 | 7E7C86A82C998975B0CF64527869AA22388B3338C0DB25B26B3C5BB43DF9AB3A |
| 2109 | CB4B66C51F0BB708EC26CDE3E413FD5F14100A0402D1FFEFEF92A3060C8178EE | 2107 | 7A356DAA33B0B36B4C39330635FE1D8BD33A00208B49F15CE341A54C5698F447 |
| 2110 | B7448BBA900476F1ABFAB06478ADB9D426FF04604A4C7881D96A7B66E6BBDA4C | 2108 | 43638F0B8EEEC6BA29DE5F016365CD09342039C6C30D2C25E38BF1D6DBB78580 |
| 2111 | B828F046F5307345354D8DEF36543281AEEDE1407F9ED00D55BF3A7808D26422 | 2109 | F0BF68CDFBD27D25AA0D9B60D91AE236157C9C5293046695E6C6C74388CB4E69 |
| 2112 | C26DF7CF6880111F52D0E884D8ADAB5B8CAE44DB6F4C4A7BD6D4B29C69DBE0E5 | 2110 | 43B316C090C3641E1B846FAC1579770B4A2D0F55847CA1162DEDFD59D544E402 |
| 2113 | 8EE2F7FF6AA30BFFCEB9A6AF4909FFCD80F68EA11E2AFD247257D1C1ADC14E5B | 2111 | 0D472889C3B8177FC1FC57A1D56894750787A6388A9F53004575B85437674062 |
| 2114 | FB18ADDEDA37AC39B95906EF8F5531011BC351B19A7D7056F90FA1FA0228634C | 2112 | E93B2517E379DFD6F735B363D5588591A1D5C384193B6FC50CF4BFF941307783 |
| 2115 | 3C353A19539F78EFF72152E1A83C40F705923605DD4E3AC3801CCDFC3393B665 | 2113 | 3D23C679FB825C99E536B1D0638AE039CD1B38D3FDD72FF18A3E686C32576328 |
| 2116 | 9BD2334180424290256C383F229AB6062D3732B8E3497E8E413AC1CB5896016D | 2114 | F16A3090AA2D5527009F821A5F6DAEC910982407451BC6442762B8486C3F923C |
| 2117 | 9333B7610D3899BE52FFC49A2F24A7E9BA277C46D1B53763CAB0FC8076E3C0B8 | 2115 | 4F2EA39609025D5BC6345EB42A74342304819397459C7C576AA92ECEB4584D58 |
| 2118 | AA329CB6D9BC4714891C766F4E7B1DB3C17E34CECA89CA084DEA904227976419 | 2116 | BF275974AF38FD6CE06A25EC5659D9BE7F616602D48CD61A3F9303500D1A1DA1 |
| 2119 | E93940D4F773C28FBFB771CF206D857168C3C9200A1EDF3281465F4AA3639250 | 2117 | E6D0EAD6141B3E5209E6728DC6436AC89E27D591C4A1057467C5EE398CFFBDC5 |
| 2120 | 8167B6839466831D66D7AC762F1F4138A5DC4940AB4A908CCD022D37541E02F2 | 2118 | E9E9DBE6649F926671D15AC22E4DA06D2E882BB371682172D21F108D62BABC36 |
| 2121 | DD976E727A9AD36DAFC65FE440D4A9EDDC5434E7E60431C6F65F1EEA1FC2381F | 2119 | 28F0A65F816E0F389C27419EFA98B070B4F761AF9E8277D1AAA42D8CA68B51CA |
| 2122 | A9CE5E6AFF4187EA3C03FF68AA552410675D55E321DE3073638EAAE12F9F164E | 2120 | 21C09C83AD39A9B94EB527F4E114EEAD8DFA8996EA536E0FB71EFCAB6EBD5EA0 |
| 2123 | 0206CD106458EB6E1AABEDC21E93DF33D4FE77F168CB5E2F7051077EE345377B | 2121 | 1C3840716B944F6DD6B7BA486F188202D879A07242550A1487F96E0704EBA09E |
| 2124 | 1AFF83007A866E86A3AB71D96C5264A524F367C5C94BC3C13FA63ADCFD3A0612 | 2122 | BF6EBCA8AEEFE48EB5CE14CB3E3D7823DDE0EE6700D5E5D60D76A677FE18AD56 |
| 2125 | 2D384E8622C0FE2FD6F3BCD97276EC66DD3A348AED1049958516168712F7605B | 2123 | 6752653E7333CC4C21229079F40F4DCC756362B8BBF4AC77C527E285956B1543 |
| 2126 | 4A0935B2526A6F2107AC9CCE157823E0476798790426C029B64ACD8152ABA13F | 2124 | 4268C9CCFDECF6E4E5A9B65893AC7C707465E0502AF76E458B6193B943F8CB3E |
| 2127 | 0B977FAA390FC397E5181B37B9A67FF72A8FCA83EA399DD2F3D9ED076F26EF5F | 2125 | AEDDEC24C24AD1DF95B958EB48F9D79608A2C53D281F77801B1D0191E2456B17 |
| 2128 | 871FBBA26AFA0B83ECEC1DDCEB5A543DFB395314F32D0096520F3F03FD4C242C | 2126 | 825825502754E688CACD557422C5EEF2221F39DE067051611D118020DD2CF23B |
| 2129 | 9B089D84E46A62875DA88811CA1DE61E898698219EBD5C3E240A513261BC4046 | 2127 | F7530C9F085AD552E0EE0E2A0967631D36D3F19F16D0C3EBA4806B1B050F74E3 |
| 2130 | 9563C6B3376ADD56C10A01080326DE260F58DC1C247F6B37C77031E58E2B62FB | 2128 | D101E032C64C8950560EA38C473099D45DB3E9B3ECE0F5DD604B3AB8CE424618 |
| 2131 | 07D1A560A187EB97D93214211D3EA4CE098C306985199C98F289CC14C15C24D0 | 2129 | BFB6BF2A357CA3FDE707BA64B42BF9585E95F717FAA6157E6B03D098EED24DF5 |
| 2132 | 1E1B27B4626D8B877FABF9935EEBE37E5EE2FDF544E9262A4CE1748EBC50D690 | 2130 | DA296997ABFD50D085092AF1FBA05DD63A354200134E6CC02AC5978CD7F5DB4C |
| 2133 | C6C58846736684482C5BE0585115BA020984571C5FD3A6787E8F5B76E9AF4258 | 2131 | 9F6480918FE5348DD6908C6CC33413E41B41E308CA598AE14E61C1E61F8EED96 |
| 2134 | 97BDB1937C7E482C1080639007A1F6C06993A8C168DE54FAF48E2C5BAB7CF01A | 2132 | 995E95D2AF962AD7E7E08AE45FE5A15A9C9B9C9A4A003F80EE6A35EC9DE3428A |
| 2135 | 521A043B69C656EC17B10AE310F5768979A6CADC836CC10A5C842728BFDA4BF6 | 2133 | 98863BBD9F3247BBD3661EABA6DB4A885E3CF961E3FA211BC75B97C01AF1D196 |
| 2136 | D5D836EE57B49D8D42DD26FC15E13ABDF58043CF6AF5969374914DCAF4DAA415 | 2134 | 5A67092149A7D759804BDCE977EB1BBE8E150DF922B7E9AB6F90A8F4373BDDE2 |
| 2137 | 42D24BB29521E29CC2AE3113ACE9098A954D9A43FF36E5EC12655E49EA8118D8 | 2135 | AEB4BEB35DA4876795B5401A84BC613A43F425FCF92E9F9EF479CCC441C2B35C |
| 2138 | 009CC243141EB69112E5F93C313A095946067DAD6662E69E12EAD6D803E3F2D0 | 2136 | EF2745005AA4890E904004C66434408374D569A1ED0B6CFB30A26C91C9ADC8F3 |
| 2139 | 9FD1095FF7E1449744882D2CB4184727FBEAECF87BAD52DC5855FB3D0CEC065F | 2137 | 07EC65241B13F5B9741527DBE436E8C9DB6FF461A78391AC480D5A8AF8DF33AE |
| 2140 | F93D86608522082CE33EE38BCA76DE948931334A7D66E306EE3F6A95EE28D40C | 2138 | 79AB46290DDD2C1D6BD0CBAC35EE36496EAE145D52353E6EB263DFE620EB54B0 |
| 2141 | B79C62A848E44D7ED27BDE438054CEE3478F64F5BA9F4AB828BDC228BF616F70 | 2139 | 49651CA5B551077E59A0963F707F1DEB5B329BDB46F59537854B982C7A5C5D43 |
| 2142 | 7F589760B6CB6C66558ED8F3518D283AD8950B75C8304983D0E597FD8C9FB30A | 2140 | 6DD9398FB9D035DA69C9874094104F4EF073E8FD995C8FC81D8B285E22CEB34D |
| 2143 | 3BBBE79820E68B547A5398BE7BFB4FF9EEEBA6584275FD4E328698746763C356 | 2141 | 568F6609A5902886875DE5C52C496D5146D200BF495F5EC143B93CC49E5C2A08 |
| 2144 | FCE94EA9CC2768AE4C6261F623755646EF15421A73870578EDEDD6ACA608FEE7 | 2142 | D4267B161D4AAD19A05EF614886BC60A66A6342FB499480F38BDEBC97E0A5C1E |
| 2145 | 9E3DBC12CA6A25D6C1F8628865A7A737FD13780372E1423D7B079B5360CD1A42 | 2143 | 5759955496515E544266E1DC67620A31A47997B6AD78F5DAB4640EF4AFC5E0FE |
| 2146 | 0C94CFA4A5E6E812C149BDBF6A94D99D55AF61182BF43AA9DE6FF801C1524E4B | 2144 | EAB4677B4D02CEB83868BB7E0192DC0B8B2A32A78575A4019A7137F206223238 |
| 2147 | 1727815484C92F8E63C2D9C716ECE1C0451ACD62832F349D6E8D2C1F9646B6BF | 2145 | C754551A6644A3D3DFFBF819916ED174FDEF284DABE4179FF24F406303547ABF |
| 2148 | 2B82352E14ADDC6EB1DAAD0F46D852ACE0AD78F638F491FEC7E5C70BCAC41305 | 2146 | D453EF90B6713978992A11DF0D0CBCCF423AF7D29B171AA79978EEA46574BF14 |
| 2149 | 5FA3E5018BCA8CA62C412C6304C6330D020CEA9AF60ED5964B907EBF65634B11 | 2147 | 2A631C701B921C6746067A40AC96F5A05D3F60834F5A63363D05D44CFE0E6820 |
| 2150 | 7D2CB6A25CFA843BE865A82D50FCFF7F94E47580E7DB88CD060FD149FC0C1EA6 | 2148 | E467E28CF920243F3B01A09F20D91DDACDEDB5EDA65CC9CA01C395BCE006F690 |
| 2151 | F174D407FE7CA377967ADACC5B876233ECD2601036F87D8CAEC8320D70C5EC06 | 2149 | 8D83231B3015692822C11F541E5D4A6651A315151A26C4A145D7D4644682B094 |
| 2152 | 42E62EF1A2A2033B8DCEB7DDC4D8E94264EDC2AD8E3C4D1B8BAB34572312F5DD | 2150 | 9A8870FD7E6AD333E7A78933BACD0F28A1B8CBCA57A7FE19AB2165A22648D09C |
| 2153 | EBD34F74EB83A5AA8FEC51E663E1F104EDBA38469DD49EFEECDEA2BE7DF7C8DC | 2151 | 7796E45EF0F36605561BE1F039106DA70ED7C603081D459F004CDA4B4CD201EC |
| 2154 | 9E424CB30B135335FB2F128DAB2EFE900F7CE6B401615B0DFCE70D4C22F51F60 | 2152 | E7653A8311DC66B95AE6DBBDEEBA50016D14ADE0488FE1AB0377B7049A0F9A09 |
| 2155 | 0F5247A261CEBD55B6716A36ED3ED2BC4C1DF2E1A4D63EF5C9F3D17C1C8DABA6 | 2153 | 14B16EA09F1EE2565D567EE0FA21C712F5DBD1CC53E8C23E40338E43C4965BE4 |
| 2156 | CC2D06C252D21BC288020D51D1343CD2531DC71AF1195F535B2228708B03E63B | 2154 | EEF1CAE961E2F2C9775BD78274FB62016A7363FA3D3936D02667EA6841775DF9 |
| 2157 | 59EDB01D4BB609798EB0EC74A72837B34D5351CC617F6403E9F5465A299613A2 | 2155 | 3CBF9165389CCFA9392D139735575C3662F0355BC343851BCEDD7CA61278EB0B |
| 2158 | 2137C6DDA812F6326840FF7616CF323AAF43203742783E5570EB4FC228C93ACA | 2156 | A7810A4317C52B15F559C0F0762A0F4A17D52052779B655C3F77CD0613D07367 |
| 2159 | 46C3FC78BEC83A655B48CBA55D337728A2DD0DEEF346338C1ABDAEE2A56F6C3E | 2157 | 52BB9BF23D904FD1B70AD6C107EB1831C241BA878BD7CF0B2EFAA4BD2E3F9BCF |
| 2160 | 784ED1742B242052224E4EB5FC583F238807A119E78C9B290645B516EF931BC5 | 2158 | D09A2A4F2C9EE9D742ED921721701AC2ACD6E9754CDB6E1EAD891B0D63474600 |
| 2161 | 598A64FCD9BD82A5D1D4CE3F01C5A08B12147B0128C712612FBCD7E485603AFB | 2159 | 24C221A5550472C685E6BC6ADAF7BAD61135D960B66B59A524423CF6815407B5 |
| 2162 | 769B6A6829AB4237762F70824DEAD4414EE5BD4AC440F76CC9FCB155D9AD320F | 2160 | 29ACEE91F08C4F3AFF74931786D014BDF6F85A57C50C50CA13082F0F962D8A7D |
| 2163 | A84EE2E7797EAD8E2EA03946AA3816540F4DC97EA169EF7D44A107030A5275C2 | 2161 | D91BB97760E1DF2A8051FEE387AEC967524E8AA2D6D4C824AADD46EDF9683DB5 |
| 2164 | 7321F760948A24E243B95C9B44C5110576B81A9BDF7206AA9445E673F65407EE | 2162 | 6FDD72CCA7D000BE8BD526F5AC2990ECAA151A4B65F87BACAB9CEDFE7F2BE5BF |
| 2165 | 13F5F1389F9875B5E9997ADE151DE75E7DF47A128007F0FAB2A3B6B218C104E6 | 2163 | 0DA724EF6AA670E37CB8DFCE9D32A90590831C9E71FA8C929F01C09D379B819F |
| 2166 | 0D8B168F630110BA045BA473C7B515D6FB3E8D9D6B90AC901499306B44A79D7D | 2164 | C86B1F1CA2DCCAD147496898756107F3B1EA3FF25D603E625C3ADB1A122C4010 |
| 2167 | 28B9AFBB5963ADA9ED6DCA3DA607C994F0DA16CEEC47717B1EAD6FAF96580133 | 2165 | B1A8BE368C268F1938CC1DA24ED7F22634A4B3DEBCEFE6AC250B9384F7A34131 |
| 2168 | 2055DDFAA11EAAD717569C8F702A119235569458298D489F66F50502D8D29D53 | 2166 | 36A38C1589FFA8EDB470D62EE09EE9F19E6CC76F0EBDA2C9E9D6276C466F02BD |
| 2169 | AF4C050D783345477827805D408944472D7FF85B0EF814C36BE790C71BA19594 | 2167 | 5F6F9E9AF9A74793B8B36C36E8C198215EB0259F871FD4356A9FFB3337988711 |
| 2170 | 5EE88D99B47B3B098FA7D8C84C99AA51290604C8C4CCD6080101235BC741E4A2 | 2168 | 5A84B7829626D3C7FBAD3D4FD5EA30953408BB97D77229F5C27150D72CBB6A6C |
| 2171 | 1A2F54778A7E77B63EA497ECB71EA8AD469D65DDD6D8776707DD52160C7BFBCA | 2169 | 4585FE13E452D977DBF7EC2639F06B0D0420D965CAB90E1797DE9D201E1219AA |
| 2172 | 23929AE8AF2A0D8D2D8D233923404E300D0678D08BB8BA3FA4B81B46922C04A5 | 2170 | 3B06CD074470641FE3CDD17A17E68FB3B7F2B5498F2C74D6209EB97EF626286C |
| 2173 | A521C71F808560D2B1DE5F9F7B3B629475134B4702125805CF4CAA0BE126EF9E | 2171 | 1982FD51DB1B80CF8D3AAC6C449AF5B32966D483B12C4C2C4C2359523B603892 |
| 2174 | AFE93778035EC428DCE96A93B274102E8FB0D11C96D0B4C27A6F33DD6000E6ED | 2172 | 13109BA0D7E208DC74CFC4583AF2F0E50AE9458F5112A780991C8B6EA248E76E |
| 2175 | 823C814E8572E36AD1E21C8EA27462E08CB71259AC109C86999A4D50D6177E2D | 2173 | 15C78B3B068C5BFFB1F015A9639EFBCCCC5507206D204EC199CE2D38A2A2F7ED |
| 2176 | 0F8713C6CFB0415D02D52FA559DEC8995F536B2CF338E1E6CEFF1DDD91DF4F7F | 2174 | E9604F1F146AAC9F21B0F6E306202E5BA947C38FA3C9CFE0E2332A903E9F9360 |
| 2177 | 68B550977E7BB90DEF1EC24A008312EEC5E4BFE0993743D067CEF1EFEB383C24 | 2175 | C3C8750D8DA48FA999397CB7C98F130E449E6116D120DA2902137B9B9CD92D4F |
| 2178 | C9C80F936068C2BCF2085252DFC096D05B7135F1C645A8C1BA3C8C16E6A330D8 | 2176 | 48BA0A077EDF1BE73E43A4C445D9D3738EFE2674FB1849F2037D7CE3D43D126A |
| 2179 | E4C1A41F0BFB9A0AB4C21872D512222A0059E35DDE9F144D1451AD78D16F1F4B | 2177 | 607D72B5EEDD491EBDBC9E45EE8AD7E07DE4B0AB22698CCA2800DC307C2D3726 |
| 2180 | 5B3666466A18F6247739BECE6A892A617375C722D6BF5DED9A519CF2EE29DD2E | 2178 | A98D432531FED2BD1FFE8329A23FFE76837D502A7453FA4EDD1C6EEC8DDCC96B |
| 2181 | 23326963FF9CFCA32E53FE9E4704CC2FA42B915436C34BA169E9878690AB4BD4 | 2179 | C23543F90CC51B078F513E0444CA873332E146B87785078084B6E5E89DF07C68 |
| 2182 | 8AA2BA04479F5F9E472308AEBBC45CB6270A690422C68C5C56CC6675B0BEF0F5 | 2180 | 3777F088436E1D5E5D3EC8078E5D4079AE89C546EEEF93B5EC16CB8C6D95051B |
| 2183 | EB4DB9478295CF9D922F8D869A3A20C42C5B4C5E0181738262E468659AF751D1 | 2181 | DF0D5B1B59487483402198EE5D20DF471DC29330012EB2934FF9321E5F55D42E |
| 2184 | D0C170935944475288010298D0DAC4AE7708CB253B8941F91DA2020F47B5B55D | 2182 | 9DDAC8B2A5ABC0549D3E31F4E700F92F92D41991E3680C74D3C8D78FC37F24E0 |
| 2185 | 0470D6C4FD89D970ADACCED67DE7BA99EA1EA02A633B2E7731D0EF6556190849 | 2183 | 6A00CB6FA5145BBA9637DE8A8BCB5DA54E4CBF2A42874A277D8BE7BE258BDFB3 |
| 2186 | 7952308071B8DC8CDBAB15F6FCFE1C667BD4C0D6C5D351E56FB5747CF7518597 | 2184 | 580E4360299187051E62C27B2C79CDDB9B279A2059325CBA86847B13893AA6D9 |
| 2187 | 9F155290E8FAC19A51B31AAC847B696BF626B65F18919E0FB5895E49137C208B | 2185 | E497C6A771868237B064D20953D44DEDCDA37586ECDE68994A96EB8013753EF2 |
| 2188 | 36381592CAB93193FA04C50D4D37943FC52054E3466E7ED7134BBD646BCDAE5B | 2186 | CAACD7045E07B8440DCBE8DCBD6862A14E349691C93C83F9F7F9E67C5A746BC0 |
| 2189 | CC8C0943166E82FEFE02141592572A6EFA52FD193E0092BC581A4244F83CEB34 | 2187 | 7864B3E9938BB5A8D244DE021D45B7766364F5AA1BC2BA0633404F00AD6A097C |
| 2190 | C9F35737ABAF1754D61ABD899A8BBE2AF894200A759AAEDB27C4E1A339DC60A9 | 2188 | DC400FADF01566720B6341407C60045EEDD3187B79EE341FB867A0D1C61903BA |
| 2191 | F22ED20E54E952E2C6DB328E6D9F2543C318247AFDF6EE1E890D2FE0956C0924 | 2189 | 2FF729083A1D94B1B2CC31E28F6D098135E9008BF046650D8EA8881EC30C03CE |
| 2192 | 2C3119516A9DE1F8CD15CEB11D3F802D3F41E9B3927CECFCCBBE55F8B2C9261C | 2190 | DEAC187BC4B92E3F8F90F6E433E3053A2841D95B4CD5A5536D2FD8BA3C8BFCA9 |
| 2193 | 51990DD48EA5AC1900A32FC053C7812C9683564B523938B3C74C9C078DB851F6 | 2191 | BA560A0171B941AD077865DCFA6D7DCAAF5EBE285BD0807A7207BE986E8351BE |
| 2194 | E219BB63042B69978523D638C549E5227921C446AFFA396A8E6728C774119791 | 2192 | 03064839D4358B16264538A453D42C095552F552383FBA044C7F2D47A3A69EC4 |
| 2195 | D77AA58D7853DB026416BB2CF5CBB624F83D4DEA2056915E43D0DD3481B41896 | 2193 | 6E5FD899E0E55CF0B94BDACBC436660DD0CB9C24030345944BF4C62FFA0C7A63 |
| 2196 | E715E2AAC87C10DF63DBFF724CE4A5CCA6C6F009213E2E748275809784F65288 | 2194 | 35F86BC16EB62F5B117458B12ED15387165036F2A2E106BF8D388075382D886E |
| 2197 | F96177F90D07C3FBAB0F83FA54B46F50C5D921E498C06DEC3B704840F7AA72FC | 2195 | 5FCE7DE83E43F9145D0DAD6CCD00772F6D3C0804BA01B9DF8F31AFC3B2E0F7C1 |
| 2198 | 0D0F1DB46CE59496B6A79D9169AF68E708B7E1AEAD754E6C8C6C534527CC9B09 | 2196 | 976A83DFFD9DE717AAEB614EE6C32DFB3E0592BDC29C18ED416AB637E8769C7C |
| 2199 | 6513DC67C5A1941CC4061394F34D2A482450ABFFC78480ADA145FE2C24355D00 | 2197 | 9F0D9AC0F017A9CC75BA10EF9B30ED1C31DAA78D6CA6F3F71A988F0FBB0BA50E |
| 2200 | 85E581FB956F19A361C91AA32C8084BCD0443E85D313020043A4870721AAA540 | 2198 | 4775BD68A0FA366E16351193EC5390EC553437388EBE4153E678D850DFDBDBDD |
| 2201 | 8D78F7A2B9D33DD67306A68BA901461ECB068DC745BDF0F5FD5EB4AD9E9B93BE | 2199 | BDFA73F47A3E6A800EEFDA70402B73E571B3B55A6475C055A89D0504423F829D |
| 2202 | 4D2536FC5FC13D3DA84173CB3423B67DB738C26030509EB748688943316666A1 | 2200 | FA76DD2C7D78280429E6527AAA64AD7FD074F300732771ACA43288CDBB3D26FD |
| 2203 | B6CD6976E8D383C28D5B88078C500D4135531DAE5D6DF1C5DBFF191E3382E565 | 2201 | DD4A0AF02CED8E7503E6479643741581E0565970A56C7DD5D7E1C314639EA886 |
| 2204 | 3DC50B22DEA1E1367518A9143C3158519271C41301339F8666C4180ACF631BF4 | 2202 | 0E581B4DE3742FB93683F0BF5932019AF0AE1DF9A2812B3E0200C6FCED8AB6E0 |
| 2205 | CC44488929D90655608F33EAF4E1966C03D187181EFB474143E3F309543E687A | 2203 | C5256611D969FF4472771FC0ADB16E71A5C32BB6E3C3A79C832C32574262ACE4 |
| 2206 | 6AE1C12E33892D9A3C218AF94A4DE08797E639636C7D2745FA846CBB1479E2C8 | 2204 | 20225A253F4B5C750903DF5D9F5C3AD6DE75500F2B2584973612115924906460 |
| 2207 | 45978FE6B22D02D4CAF3DEE8542D5B978A86BFD526069981094B4F0BAF2EB6E2 | 2205 | AE9AB02B1DEE0AACD47B7610241ADFEA06EEC2677BA7CEA0CF3CA93BE4083710 |
| 2208 | 77F7AC896366A642837C057774F0A45235AE35827EB47D4D2F430CA4B8F4BD42 | 2206 | 1956D6974422517019551C92FC19CDFFCAEF2A26C9508D206D9642D66B33971C |
| 2209 | 45DCCAFB700E20C031FC1A38923C6173615D2D03CF4C225016CC93A0356ABB63 | 2207 | 8996CDFD0789B2DFB9460A8E00BD6E2BA83120E94E4EBFBBD5A06C2C77555465 |
| 2210 | B4F50AFE3BDDC417472BEBA6A3216B81A0755D68B99DF13AD956AF12518B7FB3 | 2208 | B50579BBC9EBF8C6D9066C4114383392998324DCF86B9ADC935F66176E019DBB |
| 2211 | 9A9EF940AD5C7E788C579F0AEE8E52BC8F033CE70E995A29E48F8527313B79A4 | 2209 | 081AE411E45A1499A7DF7B5C998C6DF917AB3D43639CE6365AFBACE5FF30A70F |
| 2212 | 19A7AD0276FFB441A8A8F2DBD3EE8000C6788FDA0FEC0BFE72B1DAE52F890209 | 2210 | F0B0087701AA9C5E871A97EF789F94A222F7E586BE8BD1C83FF7E0A429918A8C |
| 2213 | 0CB03B7C02B8CEA68328B43D16A93F40B3EF8ECA9B8C27EDF01931B06DB3ED55 | 2211 | 0275B463A881742F71096D6ED5946BDF93CD1EA0D407C0542ACE030BE6214211 |
| 2214 | 08F3017BC5965DED9281965A0DB6A6412B6AD447608346F8B254E5914E8A5093 | 2212 | BB580CAF11EB8635D6C00052A5A0ADCED3CD6BD1E99141BE1D247CB48CE39CD6 |
| 2215 | 0B1F561AAF68179612BBAF1D8C4501FCAFA6D024AD505BB29BE89F9307793A35 | 2213 | CAEE933C1068729E9A167515F743E0B66BD06481FFA48CE9C6DCF4F0145BC851 |
| 2216 | DBB3264052836CF223D6A2BE17117AD4DEBC2E3CC3853A2879C5F4B2F036871D | 2214 | 0710C946391AABEFB70AA2D02DF83E68EED2305195B53B667331B9EF352D7FFF |
| 2217 | 966EA551071A2230A00A8F12FE60114ADEA08E5F32FBED0ABBA31CD7A5D509EC | 2215 | 56EAC2571490A80E0F5EDB22EF988671B978CBA393FAEE0271A02AD4E7916FAD |
| 2218 | CC72EFE19AEF2107095DBAD50F73AB56ABA9D0384C29526DEF162910B89CECB0 | 2216 | 5BA6E42816C0E4A6B59AD4882CBBE4279392940636B95B14AC72EC763F3C8DF5 |
| 2219 | B0ED2F5BDA61AFC44632D737810ED47BB89994772198167315F898DE0614F2DF | 2217 | 158902E1144BCB9B77497B94AB6F985BAFE6A6EA919ADF5DC76D9547BFC10CF7 |
| 2220 | A0EA64CE22FA62EC1A2D8184DCB57DFE6CD9A573AD7815CE677049AA3B073A68 | 2218 | F27AF0F3F369A40F0818EC70BA8D0E3064208B929F4691B4C3359FF49A32477F |
| 2221 | 6F103C97951A401CB7D5C4E41E936C73C6ECC0AE0163576C913097A50CD2B189 | 2219 | E21B57B2C2D7A6C444C09147DAF3C53BBAF46FDC8F18F8F53534F69DB5568BFA |
| 2222 | C135927450521BAC01D981B805BE453428839DBE2CF0B2A96E3D5DE93B1D9411 | 2220 | 41412B4050EBAD38E48DE3CB3B2024365A2D9436AFAE44DFA3B145EB031F2B34 |
| 2223 | BD2BDAEE782636388CDB0304E6621ED1AE849C45B51E36A9D6065F6ACFFE8224 | 2221 | A98C93D81397DED7235D26F7C55B6E9DEC79AAD7ECD9D25119C11657E7F593C0 |
| 2224 | FBD2C5B02D2324CA550CFB66D0F9489E2B4B0DA49A3260DF965683F433F7860A | 2222 | 00B3B94107B15D33F2B27BCB1C7544018613FCE5546AB33EA041BDD6DF071D9A |
| 2225 | 1F4B12F772F332A049F909383B88AF16C321441F3A2074590E907983B7B7E643 | 2223 | 93AB099D606F7B5437A61C294770AFD946F292CBC5C0E657DFD3B99645D02611 |
| 2226 | 1349CE37B942E166C851DBF68B2F58023566987CAB9F1D05BF773161B81A0584 | 2224 | C3C2D5C083304436098C8BF60C7527F06997B4D10AE189322D279DB5834EDB43 |
| 2227 | 2B39DAB2E00DD4E101465EF425A6C24FE051FED0B658A2E02CE960FD55A3CAE9 | 2225 | FAC2E91C1E9B468583AE8EBB861898CE9415A6FA5E099EAAE096BDE2978A142B |
| 2228 | B1DEBE866D4B0CA3AD93AF477C4EDC907F3FA286153D8FBA938CE0EA2D314914 | 2226 | 930EE1DE108AB039C1512D066AD015A88024072732AD9932203E38F8F822931C |
| 2229 | B0F988FF0226F4409518323DFF26E78A4654827B5BF9F2A6BA534AA93C17901C | 2227 | 226A39466C45C1D5161583730D41695AD184C7DA4A2F6E06599B0A7D2676C99F |
| 2230 | 2B855C3E28AB0B0F09DA1C07CF904802C97108FB8F85E349150E773DADACBD3B | 2228 | 265568564D74A19CFE27CE4F3EAF0F1C1AC97902FAF891506B735F9E35D4E91B |
| 2231 | CFBC02FC33182DE08ED5C6B01FDC9C955286AD96909235404538595E81EE86D3 | 2229 | 10A54E78899C211532A36D3C85D7C37B287D7D0BB3FCCF4922FA25A2B7EE57E9 |
| 2232 | 8886492962E92E11B8F5C753DCBFC88306A0D390E8674C04C183830CAFF8101B | 2230 | 6F834FA1614758B455E4ED8A4F3BB2155EF04D18F8771DE6E441AD8B90CEC661 |
| 2233 | FAC76B1DC865BDEDFD3B0C28C6CA1C969993D335AF70F80782A08E13BE7F00AD | 2231 | 81096112F28A4F5BF8C0D03647974574330A9DB9FD4858A866B827E02815D6FE |
| 2234 | FF175C302E582B13A64B33F46640CFD5224164762F7EC20CBB779A6C6A536027 | 2232 | 269545855B4C2978ADF3D01FD470375622DB6302841304C4B34DFC14C934A5EA |
| 2235 | D801CFC048190F02EFBDC670147EC52759A2D7F54E19A30989DE04DFB08062D3 | 2233 | D948AFF88638AB565855086B9BDC7ED1C2B1A2DCDE0237F64379FBF189B062BC |
| 2236 | 6A78B0FA6F5FDB2CB5D225CB1FCF6C71407A576E3D985AA1BF482665794CCCF5 | 2234 | 3E271422401D7044171D1CF04BCE2334018509119BF2A1A9F77D539FB78049F7 |
| 2237 | CFA9038ED91157260B3F85E7B50F1A47CB61519391E744F62B5E567E13AF41F4 | 2235 | 55447125C1B1BC734D552A95A6542A45B56BC7A9D77D865D69FAD63EBB5CEF5C |
| 2238 | AF224D3A8CF5AE9734B3EFEBE5CD56CC4C26FD551CEF64D56A52D5C1D0B00F22 | 2236 | A6CC02E78F40A5F4D2D0083A57B9EE39AA1A85AB63F3611BD2F27CC4C0C38B99 |
| 2239 | 727844FBFBF599DED45A466E46BD20BED6BDA0539F01A6EA7087A76313A59668 | 2237 | C66CE4ABA335F4E6325EF52E64BFB558C1B0C811C779A46F079E64639EC28C94 |
| 2240 | CC48D25D0AC54558A77684114BC2941EF7E785A61CA6A4AC12113248E5F999E6 | 2238 | 7FB1A2D4C30533813E739009C352DCF93441E0C61A2B43D180D495C62D4433E2 |
| 2241 | 4B7B3DDC3D06CA3196381CD543B52917660E8AAB1B5EF56CAAD0CF5CCA14AD86 | 2239 | D5CDC01224D6CE29F06FDFA328E338648FB3C47BBEAED76E2C10DB94B8B39D19 |
| 2242 | 82ED132A71E7C48B79DE14525BD110E5831E0A575E2425727769A66C1F018ECD | 2240 | 9A596EAB6D5E0033252119CD31BDC7857CF5833E011DB5330DAEC0C0C6C2CC37 |
| 2243 | 6304682D80E7E343EB106B126DE1384D729E9F2A8E054B7DDF651207BCE28BAA | 2241 | C3B81DADE8B960867D48E26ADF34929E7A74C220048C250AFD23CD03CA8CAFE7 |
| 2244 | 18D19C9D7085C747749C52B89A4CB492B5FABFCBACA522E21CF33CDFF0488F46 | 2242 | AAA8D671FFE2654B5E129B632D2F6AE861C0868F7567ECE49364558EEBE71069 |
| 2245 | 79D81BF13513BC1293F0E17F37D808143E1C197543DFA6CA2A8969638F0CD799 | 2243 | C1EBB2A01276A674D83944221FB6206A4CB07F451ECBEF842FC10C107ED7CF01 |
| 2246 | 5930300FD61DB36DB8D256CB1682E23CCD65479C7791B2D3DD0BB1AD5E248674 | 2244 | 7B1584DC6B33A0BB78B9741433E59446427D272CC35EA60C69988FB24E5F8FC6 |
| 2247 | 95277F235CC9D0BDEC4D3F320B03C3DFAADACCBA2B33422F5664E777DB049495 | 2245 | B8E8B5980FCD7381BFC34789377156F357B7D3A2165913DBC2D15DF5CF92E6FB |
| 2248 | 2B34B5D369AFCD58F5F69DCDDB865B332EE1955226E4BACE1D4D1A71AD791785 | 2246 | 42DB4B09628D45936F15456A007230CC9EA9703C14B12443497C8961A46055D8 |
| 2249 | 7BC2B701A5BF7611413DCCA1336BBBAEADC5BAF054324A641BAFFB601531B187 | 2247 | FC5D1A2E3E03BB7993079353406FAB03AA50CE6D589EFAC8E186898D39A3B158 |
| 2250 | 791C2367A302040DF89E3A6879C50A9903DBAD252AFC558634860065244751F0 | 2248 | 73A86DBEC6D4BA9F706E3E66AC32510865C7FC495CBDD03482F48F77A7C68A56 |
| 2251 | 07F6B91729FCB170140A39190956EE31CFFFB360A4FEA9F8064AF6224898C633 | 2249 | 7FD81C53FCD359F3518A810A9EBF8B3287B3498FD8DC09612F46F8933B24F230 |
| 2252 | 15B743C005CA3603F22409B5404A532659E0748DF6A08A304B799206C26CF81A | 2250 | 6EA06D9CC090E62350DC87C37EE8C2A00B5B305B5F9DF024A354D218BBD6F893 |
| 2253 | B0B2B4737AD52DD6D2B9F3E001F2CB8FE3DFC2C42197721D534D94400AF45A79 | 2251 | 29C2455C3A6FA80442CF96F71EF417766B36BEA9599A148C741019958E5D9D6F |
| 2254 | 62BBC2D9810530D880A68004C5221B2BF6EA5D366E387B4970D82C03AAE964B7 | 2252 | 57BD18C456126C9C2E61B26BA99CC24E381CF54DF698B638395DC4CF5646B297 |
| 2255 | 97763C054083502D5F7928EC7A016B779E714F80518A332587D56B98038A8F17 | 2253 | 35DF231EF503C8A9242ABEC825B86E6B1C396225DE9DD5A74CD4AB2E52CE5502 |
| 2256 | CE35F07308AD6BEF760174EE9EF6D779B73D97BC8810D335A945A80AA820E495 | 2254 | E64FE52B841E9C903B6041010CF762B9DA460DBE1B7AB6547E56967AD50A20A8 |
| 2257 | 8ED3F2C9436E19C11C2F4C4926530E2BD813527D99DA5D43BA763E397B66FE67 | 2255 | A3562CE86FE628FCBD8D5A46CDC6928CC907883B3B223D1BB39FFEC99C295471 |
| 2258 | 9979299DD514743C8DE3A014FA551E68257739EC2A6A06E29D3096DD4D53516B | 2256 | 5819DA78E1A28E67BE9C9ECF030D17B750CF63A1FFCCE03488BBCD5AB8833229 |
| 2259 | E68204CB21CDA0AF8862980CA956DB89DD6FF54D12A120A82F1948F28F8F5F55 | 2257 | 129EFF723149ACCA53F3349F20A95175C634C1AECBA667E94A6EC7240CC73738 |
| 2260 | B69252C842D1B564DAA862CC4C86D42124E88C2CEE773C4394EF7AB12781FDB4 | 2258 | 56853DA698EFBFBE8D4EA742115D056E60A5C563CE677211F762D78728F4A4FF |
| 2261 | 7C1F6950D36987C92896F14F6BE66DCE2D2ECF7EEBFF92D5A782A3ECF958A9BD | 2259 | 16106B14CF733EC786BC81BF382D929C6E779BF2C5CAC1A7141311467B230972 |
| 2262 | E8E551F0FB231241B1C9CBAC93B18A29052362F894E0A86930660BA6015CA415 | 2260 | 473561159C7F359C249A40CC0A2B78153B1407C9B5C58B61BE08EE79D2361242 |
| 2263 | BC65885A29A4BA20D1229B0F12D03C52E38476FBC50C59CF702A6DC11F5B819F | 2261 | 7F796F70F131C8EB601DCAC36940A0432598B85A9808D2E3A3AE04481AC98AD4 |
| 2264 | 414AA539D622755302271F43870E337595A7BBB674BD11CF0B20F0CC2FF7BD88 | 2262 | 765F604A00F6BFBFABC92FCDAFDA89DAF343D56D8BB390DD8196E65823CCBE14 |
| 2265 | 6EFB43E36E3870F748593249ACA4CAFEDE6BF14C3F6B474F18C877346CAFAB38 | 2263 | A44D12EC7460A65E46C3546D6A2C3B5E16B023DEE94A5F29CEEE87F773748F96 |
| 2266 | 359620FAF58C4923ECA8EF490942E05693F0909623FD974F54928CC11A7F7E9B | 2264 | 32EF586A0CE0E35DC20A2F79A398A52060A5A4ACAAC9F38A5C5F5E18C5F548B6 |
| 2267 | 6F2DD0B23EB06801AEA78B27ED6D4C718B8CB0F1E838487BCB51595E3AF1515D | 2265 | 14EC4B3E3DCA73ECF7111C84980AB97DFBCC2B072D917EE0110248FF4728042E |
| 2268 | 9C28B2FB5E74CF4C5772178D603BA50D44C172C89B78EB40DFFFE008C8BAB54A | 2266 | F527F2B5BC1C5CA2FC93FA15ED3F83DC3992CA9ED5BF29EC2ACD3F65CFEFD598 |
| 2269 | 053D5B9A9C62E5EA50C0932F743FA66C3374B727AFCEDE1A125236A76BE64570 | 2267 | D3ED8D7F3D54D220D79CD51A599194E511A440B43F1976B944FBA750C80E786D |
| 2270 | 9F94369064AE74428173DBCE2CFF1DF90DE1BC0A5AE52C9B93DEDAECAA606E32 | 2268 | 514014EB35E21B85CF8DE707B96B03B2BB973B9E215C1FC9816DB019765D5B25 |
| 2271 | B6987990E4429C87CB6B2E08800689345862483F1C1C63EEA072EB6EF3A6DC34 | 2269 | 0A1B77FAAA4E048CA5BA20CEA9CA184F59BF87DE90BED9DD310C7FAFE3E93583 |
| 2272 | 9A05C17F98D501D15C6D1FDD87B608DF395691A99D027AE89BD031CE74D96C32 | 2270 | DC243BA6CFDD104A3B126AC33F040E706D9EC76C986C1BC084623E58EA5E197B |
| 2273 | 1C1DBB33B70A1DA9DF76E28A7E645601CA6843724221C83E0840D1EEC4E0A3C2 | 2271 | 2E35DC67BA1BC12FA7013F9212868299C2AA052521D0FE1C8117BA36553B8024 |
| 2274 | C898A366F03152FAB5C21575FE079C8F367B72E12061AC4D85C59BD6C28D241B | 2272 | 4FFD05A76B5AB7285E06584ED89DE8E7B6BD50CBA86B0E167BD86820AD60112A |
| 2275 | 118BE6000AE4CE9C2BAC0C9BE46B4BFA2EE160E65D5B9B405CDCFDB619EEF7AD | 2273 | 9C90BECB87FFEEEC23104B36BEEEF385FEDF701E9CED8C77D1BD04DB0F5C7616 |
| 2276 | 66B6C14BB536006EDAC9B340F4618372A2F71EEC48B618E1FCA5B55492DE9ACD | 2274 | 373AC3D57A4E056E1A22238E4E4873084E29B993B43F382D90161084F3243769 |
| 2277 | BDA5F30B25739C3352E70C8BC6AD31A263B89A01E3BAB92D8351206C57C40983 | 2275 | AEC08A9272E3F1FAC01BACD9FD24D0C7749423CF64078B39AF900305714A3980 |
| 2278 | 7FADECB045A309CB9BFE28925446D98137D872FF8D1863376D055F4D3D0FDB00 | 2276 | 2CB0B3D6F122A6CEF41C2E290D8EFC54E4ECC8908FDAC9DFD7F3F0EE7A98D260 |
| 2279 | 008A2B12570DB5E2E770F300DB06FA5F287C9E1A58F92E5C6B0AD193F44C6D62 | 2277 | EC5C7E3484AFBDE096CCC71D9C2E2DDFA1429C0845AD23A6D235663086C76716 |
| 2280 | 01822097C8059A187FD56F5E243BAB3726589CF24DF311289E9F663E8C1A9622 | 2278 | F5A9EAA8BD0B23D6A9482E452E0BFE1B2FD9B24FC4495C212B4EF23D328AE080 |
| 2281 | 21BEB646FC0C3F3BE1821A67F249E80CABF77894B5C197C00A42AF80E4F5C0E8 | 2279 | 8CD8DBF54981E161763D7F354A1A411A61D71C5CF36E551269024CEA701E9462 |
| 2282 | 51C7464C427C2DF89FCCFA851EEA7C40F661FAAB65EB5CD9D5B5F7EA5D86DF7C | 2280 | E09EC70BC5676B2F5DAA0202FBA4948E8E2F896DF94CF23CD93882F0C6F574F2 |
| 2283 | C54F0504F573A3860FDDF2D186E8D36D394C861BE9C48162B61AB9A8E7DDDF31 | 2281 | C2508020035864D35D73E573105F13F1AF6CE24F4DDD537D52C1E04E1275BF48 |
| 2284 | 18404D5C8C6BDF7C8FAAB452831199090F70BA20AF0289593B3A1AAADB9B3D6E | 2282 | 7F28BFA941FEC50C43AC453CCF22645BEED3434AE099A63DCDAA368C2DBDBB65 |
| 2285 | 8E0798B87E8DE26E8333E49896AC44508E835581A9BFFCEAF0E59CBB13BC04A2 | 2283 | F1C83773639DC0E5E22521622A5A7F1FB6C05FA104E22AA914629A5599545712 |
| 2286 | C05C936DDB7D69DBDEB9B0411CEDB53F1D149496BF51BB23C3B07F62D34A1FEF | 2284 | 9612711D4D8702405003E5D3A94334E32AED660957DE864F657D0878A8636639 |
| 2287 | F0BE8139A9CB352821AE90293BB79E82751336C9EDD971455FCF0452A72FA705 | 2285 | 3644D887B87ADB7148DEE4C3F40C302A018F0D8939D901080BDE7C64813DF7B5 |
| 2288 | 0454F32DC0BC4394C4E4F4C90E203313BEC4483053CC3ABFF8E9FDAD6D65A7A8 | 2286 | 23D6484C7AD67B42AF576895873775C4D8BDFEF8D429317F10D9D344C429D5E8 |
| 2289 | 67FFC0B08A4F6582BE48F050C817F05B6949BB50E4B83456F801A83B9FCE8B05 | 2287 | 8C95A7CBD3BD08F28D46C620EAF97BC44FFF733970C76D2436BC46B04B5CB80D |
| 2290 | FF97F73AF6B037C8EBF49E62F3497C92F351D942E5C7AA49156458254E7E67C2 | 2288 | D6900BDE70957162C71B62F5E0B07637050ADFFF583014DA9F24DED2CA080F50 |
| 2291 | 97A49E4F75114F62623A471CB2C21A7C666D3E8088FD1F3F67627E5B6949508A | 2289 | 574262A788352244EE07ACA41E7827C30D40BF3DD7BBD32F1EE757A661B8F83B |
| 2292 | EAC44C7FF37F501348A93944ACDF4284613B9ECA369FE186E2E0C013693448B5 | 2290 | 7CD28FE74546961C5A6AE1E201ED17343522264D3CA4C149FD0AE2ECE287068A |
| 2293 | CDA2B7630E09A0283236B0DB58C29B5249AFEBB87B5357549D4D55A1A871832F | 2291 | 3A269B22C8CF8EC9D6B375B38AC613F0F1F4A47C99404D541674B7C40C4CED3B |
| 2294 | F07C5CD2D1272E02A59D8433DB9FF170706AB964A07F52E4CC6782E8DCA74BFA | 2292 | 79105290D297F9771072FCBCC89502405BA5D927C01062B3A781C45EB6048E73 |
| 2295 | 3D6B5347990224FC3780F036BFF243CAC8B9CBF544086C0078C290FCCB665612 | 2293 | 961ECA73E091FCE341EB6723439B38B188EA498FE9E77B2E5E97880A4CC9ADFD |
| 2296 | 75BB17D6B80A09CF21EA087BD82592E5E3F801BE227D5EED19BC99F5750F0E24 | 2294 | A6F3AF790B84BDEBD1331F77DF164ABC9B969BB5C431BD9FAF52539B339BAA9C |
| 2297 | ECE512FB2B35DFB1B6BE645D7ECA90AA0EB583BE252BE3E7AC4A642FCDC4D541 | 2295 | 96ABC3D341722CD608CEF0F08D3E6AAE4962DB8198673B19F3C469559B993F5D |
| 2298 | 23180C2C71835BA0CBC06E56E99F198FFC2830021C20A9ED35DFFA76C0FBB7D9 | 2296 | DFF518F5EAF32191B9BC76165FA1A5CFE7B4BA741D140EFDF797F51807385F01 |
| 2299 | F48A05EC327123B520E0BC1ABDE393C0AF88AF610C1513E7E578595B90B9D101 | 2297 | A4DCD08030ADD12175887CBB60210FF5F275E8BD9706D69CE55F0D5030951A7B |
| 2300 | 245006733BD8A44F89FFC7164AA59B1E73558A85F775B7AC1FC6D646D89544AA | 2298 | B0D31DFA257ADFA67C9914D4A1EFDC365AEAAA4B31FDA0D401A542 |
| 2301 | B9CD23D9C7403F122749C21FF7539A87307084C0FA290570EC52E0BA8F306B37 | ||
| 2302 | 491ADF370A75112AC14F33A7F57BA0DC82271E5ADE77CB | ||
| 2303 | 0000000000000000000000000000000000000000000000000000000000000000 | 2299 | 0000000000000000000000000000000000000000000000000000000000000000 |
| 2304 | 0000000000000000000000000000000000000000000000000000000000000000 | 2300 | 0000000000000000000000000000000000000000000000000000000000000000 |
| 2305 | 0000000000000000000000000000000000000000000000000000000000000000 | 2301 | 0000000000000000000000000000000000000000000000000000000000000000 |
| @@ -2314,7 +2310,7 @@ TeXDict begin 55380996 39158280 1000 600 600 (orgcard.dvi) | |||
| 2314 | @start /Fa 242[61 13[{ TeXbbad153fEncoding ReEncodeFont }1 | 2310 | @start /Fa 242[61 13[{ TeXbbad153fEncoding ReEncodeFont }1 |
| 2315 | 49.8132 /CMSY6 rf /Fb 134[32 1[43 32 34 24 24 24 1[34 | 2311 | 49.8132 /CMSY6 rf /Fb 134[32 1[43 32 34 24 24 24 1[34 |
| 2316 | 30 34 50 18 32 1[18 34 30 19 27 34 27 34 30 13[34 44 | 2312 | 30 34 50 18 32 1[18 34 30 19 27 34 27 34 30 13[34 44 |
| 2317 | 1[41 47 1[54 3[22 1[47 39 2[43 1[45 6[18 3[30 30 1[30 | 2313 | 1[41 47 1[54 3[22 1[47 39 2[43 1[45 6[18 2[30 1[30 1[30 |
| 2318 | 30 30 30 1[18 21 18 44[{ TeXf7b6d320Encoding ReEncodeFont }42 | 2314 | 30 30 30 1[18 21 18 44[{ TeXf7b6d320Encoding ReEncodeFont }42 |
| 2319 | 49.8132 /CMR6 rf /Fc 135[33 3[24 29 4[40 58 18 2[22 36 | 2315 | 49.8132 /CMR6 rf /Fc 135[33 3[24 29 4[40 58 18 2[22 36 |
| 2320 | 2[33 36 33 33 36 50[22 46[{ TeX74afc74cEncoding ReEncodeFont }14 | 2316 | 2[33 36 33 33 36 50[22 46[{ TeX74afc74cEncoding ReEncodeFont }14 |
| @@ -2338,7 +2334,7 @@ TeXDict begin 55380996 39158280 1000 600 600 (orgcard.dvi) | |||
| 2338 | rf /Fi 133[31 37 37 51 37 39 27 28 28 37 39 35 39 59 | 2334 | rf /Fi 133[31 37 37 51 37 39 27 28 28 37 39 35 39 59 |
| 2339 | 20 37 22 20 39 35 22 31 39 31 39 35 2[35 1[35 3[53 72 | 2335 | 20 37 22 20 39 35 22 31 39 31 39 35 2[35 1[35 3[53 72 |
| 2340 | 53 53 51 39 52 1[48 55 53 65 44 55 1[25 53 55 46 48 54 | 2336 | 53 53 51 39 52 1[48 55 53 65 44 55 1[25 53 55 46 48 54 |
| 2341 | 51 50 53 6[20 3[35 2[35 35 35 1[35 20 24 20 55 35 27 | 2337 | 51 50 53 6[20 2[35 3[35 35 35 1[35 20 24 20 55 35 27 |
| 2342 | 27 20 2[35 59 35 20 19[39 39 41 11[{ TeXf7b6d320Encoding ReEncodeFont } | 2338 | 27 20 2[35 59 35 20 19[39 39 41 11[{ TeXf7b6d320Encoding ReEncodeFont } |
| 2343 | 71 66.4176 /CMR8 rf /Fj 141[57 2[69 76 6[69 42 63 76 | 2339 | 71 66.4176 /CMR8 rf /Fj 141[57 2[69 76 6[69 42 63 76 |
| 2344 | 61 1[67 14[103 2[103 1[131 9[99 16[69 69 1[69 1[46 3[53 | 2340 | 61 1[67 14[103 2[103 1[131 9[99 16[69 69 1[69 1[46 3[53 |
| @@ -2354,7 +2350,7 @@ TeXDict begin | |||
| 2354 | %%Page: 1 1 | 2350 | %%Page: 1 1 |
| 2355 | TeXDict begin @landscape 1 0 bop -169 -357 a Fj(Org-Mo)t(de)45 | 2351 | TeXDict begin @landscape 1 0 bop -169 -357 a Fj(Org-Mo)t(de)45 |
| 2356 | b(Reference)h(Card)g(\(1/2\))546 -242 y Fi(\(for)23 b(v)n(ersion)h | 2352 | b(Reference)h(Card)g(\(1/2\))546 -242 y Fi(\(for)23 b(v)n(ersion)h |
| 2357 | (3.16\))-150 -42 y Fh(Getting)37 b(Started)-150 125 y | 2353 | (3.17\))-150 -42 y Fh(Getting)37 b(Started)-150 125 y |
| 2358 | Fi(Put)24 b(the)h(follo)n(wing)e(in)g(y)n(our)h Fg(~/.emacs)931 | 2354 | Fi(Put)24 b(the)h(follo)n(wing)e(in)g(y)n(our)h Fg(~/.emacs)931 |
| 2359 | 102 y Ff(1)-150 199 y Fg(\(autoload)38 b('org-mode)g("org")e("Org)h | 2355 | 102 y Ff(1)-150 199 y Fg(\(autoload)38 b('org-mode)g("org")e("Org)h |
| 2360 | (mode")g(t\))-150 268 y(\(autoload)h('org-diary)g("org")f("Org)f(mode)h | 2356 | (mode")g(t\))-150 268 y(\(autoload)h('org-diary)g("org")f("Org)f(mode)h |
| @@ -2569,7 +2565,7 @@ end | |||
| 2569 | %%Page: 2 2 | 2565 | %%Page: 2 2 |
| 2570 | TeXDict begin @landscape 2 1 bop -169 -357 a Fj(Org-Mo)t(de)45 | 2566 | TeXDict begin @landscape 2 1 bop -169 -357 a Fj(Org-Mo)t(de)45 |
| 2571 | b(Reference)h(Card)g(\(2/2\))546 -242 y Fi(\(for)23 b(v)n(ersion)h | 2567 | b(Reference)h(Card)g(\(2/2\))546 -242 y Fi(\(for)23 b(v)n(ersion)h |
| 2572 | (3.16\))-150 -36 y Fh(Timeline)37 b(and)g(Agenda)-150 | 2568 | (3.17\))-150 -36 y Fh(Timeline)37 b(and)g(Agenda)-150 |
| 2573 | 120 y Fi(sho)n(w)24 b(timeline)f(of)h(curren)n(t)g(org)f(\014le)458 | 2569 | 120 y Fi(sho)n(w)24 b(timeline)f(of)h(curren)n(t)g(org)f(\014le)458 |
| 2574 | b Fg(C-c)36 b(C-r)-150 190 y Fi(...)30 b(include)24 b(past)h(dates)793 | 2570 | b Fg(C-c)36 b(C-r)-150 190 y Fi(...)30 b(include)24 b(past)h(dates)793 |
| 2575 | b Fg(C-u)36 b(C-c)g(C-r)-150 288 y Fi(add)24 b(curren)n(t)g(\014le)g | 2571 | b Fg(C-u)36 b(C-c)g(C-r)-150 288 y Fi(add)24 b(curren)n(t)g(\014le)g |
| @@ -2755,7 +2751,7 @@ b Fi(with)g(the)h(cur-)4242 3574 y(sor)h(still)g(in)g(a)h(line)f(to)h | |||
| 2755 | Fg(org-CUA-compatibility)p Fi(.)4535 3770 y Fb(Cop)n(yrigh)n(t)4838 | 2751 | Fg(org-CUA-compatibility)p Fi(.)4535 3770 y Fb(Cop)n(yrigh)n(t)4838 |
| 2756 | 3768 y(c)4821 3770 y Fa(\015)d Fb(2005)i(F)-5 b(ree)21 | 2752 | 3768 y(c)4821 3770 y Fa(\015)d Fb(2005)i(F)-5 b(ree)21 |
| 2757 | b(Soft)n(w)n(are)i(F)-5 b(oundation,)20 b(Inc.)4795 3826 | 2753 | b(Soft)n(w)n(are)i(F)-5 b(oundation,)20 b(Inc.)4795 3826 |
| 2758 | y(v3.16)h(for)h(Org-Mo)r(de)e(3.16,)i(2005)4912 3882 | 2754 | y(v3.17)h(for)h(Org-Mo)r(de)e(3.17,)i(2005)4912 3882 |
| 2759 | y(Author:)k(Philip)18 b(Ro)r(ok)n(e)4473 3937 y(based)j(on)g(refcard)g | 2755 | y(Author:)k(Philip)18 b(Ro)r(ok)n(e)4473 3937 y(based)j(on)g(refcard)g |
| 2760 | (design)g(and)f(format)i(b)n(y)f(Stephen)f(Gildea)4242 | 2756 | (design)g(and)f(format)i(b)n(y)f(Stephen)f(Gildea)4242 |
| 2761 | 4022 y(P)n(ermission)28 b(is)f(gran)n(ted)i(to)f(mak)n(e)h(and)e | 2757 | 4022 y(P)n(ermission)28 b(is)f(gran)n(ted)i(to)f(mak)n(e)h(and)e |
diff --git a/etc/orgcard.tex b/etc/orgcard.tex index f4c1af25972..cd077848978 100644 --- a/etc/orgcard.tex +++ b/etc/orgcard.tex | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | % Reference Card for Org Mode 3.16 | 1 | % Reference Card for Org Mode 3.17 |
| 2 | % | 2 | % |
| 3 | %**start of header | 3 | %**start of header |
| 4 | \newcount\columnsperpage | 4 | \newcount\columnsperpage |
| @@ -58,7 +58,7 @@ | |||
| 58 | % Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik | 58 | % Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik |
| 59 | % for their many good ideas. | 59 | % for their many good ideas. |
| 60 | 60 | ||
| 61 | \def\orgversionnumber{3.16} | 61 | \def\orgversionnumber{3.17} |
| 62 | \def\year{2005} | 62 | \def\year{2005} |
| 63 | 63 | ||
| 64 | \def\shortcopyrightnotice{\vskip 1ex plus 2 fill | 64 | \def\shortcopyrightnotice{\vskip 1ex plus 2 fill |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2ce77d020b3..3e31b1df46e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,25 +1,363 @@ | |||
| 1 | 2005-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 | |||
| 12 | 2005-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 | |||
| 20 | 2005-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 | |||
| 28 | 2005-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 | |||
| 33 | 2005-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 | |||
| 38 | 2005-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 | |||
| 48 | 2005-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 | |||
| 55 | 2005-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 | |||
| 68 | 2005-10-12 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 69 | |||
| 70 | * startup.el (command-line-x-option-alist): -nb => -nbi | ||
| 71 | |||
| 72 | 2005-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 | |||
| 78 | 2005-10-12 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 79 | |||
| 80 | * desktop.el (desktop-load-file): Do nothing when FUNCTION is nil. | ||
| 81 | |||
| 82 | 2005-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 | |||
| 92 | 2005-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 | |||
| 97 | 2005-10-11 Jay Belanger <belanger@truman.edu> | ||
| 98 | |||
| 99 | * calc/calcalg2.el (calc-integral): With an argument, compute the | ||
| 100 | definite integral. | ||
| 101 | |||
| 102 | 2005-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 | |||
| 107 | 2005-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 | |||
| 112 | 2005-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 | |||
| 119 | 2005-10-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 120 | |||
| 121 | * calendar/appt.el (appt-check): Use diary-selective-display var. | ||
| 122 | |||
| 123 | 2005-10-10 Richard M. Stallman <rms@gnu.org> | ||
| 124 | |||
| 125 | * net/newsticker.el (newsticker-start, newsticker-show-news): | ||
| 126 | Add autoload cookies. | ||
| 127 | |||
| 128 | 2005-10-10 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> | ||
| 129 | |||
| 130 | * progmodes/sh-script.el (sh-tmp-file): Use mktemp. | ||
| 131 | |||
| 132 | 2005-10-10 Karl Chen <quarl@cs.berkeley.edu> | ||
| 133 | |||
| 134 | * jka-cmpr-hook.el (jka-compr-handler): Fix typo in `operations' prop. | ||
| 135 | |||
| 136 | 2005-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 | |||
| 151 | 2005-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 | |||
| 162 | 2005-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 | |||
| 173 | 2005-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 | |||
| 186 | 2005-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 | |||
| 194 | 2005-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 | |||
| 203 | 2005-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 | |||
| 208 | 2005-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 | |||
| 217 | 2005-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 | |||
| 227 | 2005-10-09 Bill Wohler <wohler@newt.com> | ||
| 228 | |||
| 229 | * Makefile.in (updates): Add mh-loaddefs dependency. | ||
| 230 | |||
| 231 | 2005-10-09 Chong Yidong <cyd@stupidchicken.com> | ||
| 232 | |||
| 233 | * speedbar.el (speedbar-file-key-map): Fix typo. | ||
| 234 | |||
| 235 | 2005-10-09 Daniel Brockman <daniel@brockman.se> | ||
| 236 | |||
| 237 | * cus-start.el (line-spacing): Add custom spec. | ||
| 238 | |||
| 239 | 2005-10-09 Romain Francoise <romain@orebokech.com> | ||
| 240 | |||
| 241 | * textmodes/ispell.el (ispell-check-version): Fix last change. | ||
| 242 | |||
| 243 | 2005-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 | |||
| 250 | 2005-10-09 Nick Roberts <nickrob@snap.net.nz> | ||
| 251 | |||
| 252 | * progmodes/gud.el (gud-speedbar-menu-items): Use :visible | ||
| 253 | instead of :active. | ||
| 254 | |||
| 255 | 2005-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 | |||
| 260 | 2005-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 | |||
| 278 | 2005-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 | |||
| 284 | 2005-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 | |||
| 300 | 2005-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 | |||
| 306 | 2005-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 | |||
| 324 | 2005-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 | |||
| 1 | 2005-10-06 Bill Wohler <wohler@newt.com> | 340 | 2005-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 | ||
| 11 | 2005-10-07 Nick Roberts <nickrob@snap.net.nz> | 350 | 2005-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 | ||
| 19 | 2005-10-06 Thien-Thi Nguyen <ttn@gnu.org> | 358 | 2005-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 | ||
| 24 | 2005-10-06 Stefan Monnier <monnier@iro.umontreal.ca> | 362 | 2005-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 | ||
| 554 | 2005-09-24 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change) | 892 | 2005-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 | ||
| 5829 | 2005-06-09 Luc Teirlinck <teirllm@auburn.edu> | 6166 | 2005-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 | ||
| 12078 | 2005-01-16 Kai Grossjohann <kgrossjo@eu.uu.net> | 12413 | 2005-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 | ||
| 12083 | 2005-01-15 Richard M. Stallman <rms@gnu.org> | 12418 | 2005-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 | |||
| 2 | 2004-12-31 Jay Belanger <belanger@truman.edu> | 1 | 2004-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 @@ | |||
| 673 | 2004-12-13 Stefan Monnier <monnier@iro.umontreal.ca> | 672 | 2004-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 | ||
| 1241 | 2004-11-27 Arne Jørgensen <arne@arnested.dk> (tiny change) | 1240 | 2004-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 | ||
| 1717 | 2004-11-23 Jan Djärv <jan.h.d@swipnet.se> | 1716 | 2004-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 | ||
| 2616 | 2004-11-09 Jan Djärv <jan.h.d@swipnet.se> | 2615 | 2004-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 | ||
| 2810 | 2004-11-04 Jan Djärv <jan.h.d@swipnet.se> | 2809 | 2004-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 | ||
| 2906 | 2004-11-02 Jan Djärv <jan.h.d@swipnet.se> | 2905 | 2004-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 | ||
| 2981 | 2004-11-01 Jan Djärv <jan.h.d@swipnet.se> | 2980 | 2004-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 | ||
| 3099 | 2004-10-31 Jan Djärv <jan.h.d@swipnet.se> | 3098 | 2004-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 | ||
| 3195 | 2004-10-28 Jan Djärv <jan.h.d@swipnet.se> | 3194 | 2004-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 | ||
| 4112 | 2004-09-23 HÃ¥kon Malmedal <hmalmedal@yahoo.no> (tiny change) | 4111 | 2004-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 | ||
| 4822 | 2004-08-31 Jan Djärv <jan.h.d@swipnet.se> | 4821 | 2004-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 | ||
| 6052 | 2004-06-12 Jérôme Marant <jerome@marant.org> (tiny change) | 6051 | 2004-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 | ||
| 6180 | 2004-06-09 Jan Djärv <jan.h.d@swipnet.se> | 6179 | 2004-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 | ||
| 6234 | 2004-06-08 Jan Djärv <jan.h.d@swipnet.se> | 6233 | 2004-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 | ||
| 6295 | 2004-06-06 Jan Djärv <jan.h.d@swipnet.se> | 6294 | 2004-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 | ||
| 7051 | 2004-05-15 Jan Djärv <jan.h.d@swipnet.se> | 7050 | 2004-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 | ||
| 7141 | 2004-05-12 Jan Djärv <jan.h.d@swipnet.se> | 7140 | 2004-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 | ||
| 7603 | 2004-05-03 Jan Djärv <jan.h.d@swipnet.se> | 7602 | 2004-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 | ||
| 7608 | 2004-05-03 Jan Djärv <jan.h.d@swipnet.se> | 7607 | 2004-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 | ||
| 8177 | 2004-04-23 Juan León Lahoz GarcÃa <juan-leon.lahoz@tecsidel.es> | 8176 | 2004-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 | ||
| 8455 | 2004-04-19 Jan Djärv <jan.h.d@swipnet.se> | 8454 | 2004-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 | ||
| 9093 | 2004-04-02 Jan Djärv <jan.h.d@swipnet.se> | 9092 | 2004-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 | ||
| 9154 | 2004-03-31 HÃ¥kan Granath <hakan.granath@kau.se> (tiny change) | 9153 | 2004-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 @@ | |||
| 9226 | 2004-03-28 Stefan Monnier <monnier@iro.umontreal.ca> | 9225 | 2004-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 | ||
| 9231 | 2004-03-27 Luc Teirlinck <teirllm@auburn.edu> | 9230 | 2004-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 | ||
| 10572 | 2004-02-15 Jan Djärv <jan.h.d@swipnet.se> | 10571 | 2004-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 | ||
| 10631 | 2004-02-10 Jan Djärv <jan.h.d@swipnet.se> | 10630 | 2004-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 | ||
| 10796 | 2004-02-05 Jan Djärv <jan.h.d@swipnet.se> | 10795 | 2004-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 | ||
| 10820 | 2004-02-03 Jan Djärv <jan.h.d@swipnet.se> | 10819 | 2004-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 | ||
| 11052 | 2004-01-21 Jan Djärv <jan.h.d@swipnet.se> | 11051 | 2004-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 | ||
| 11801 | 2003-11-29 Jan Djärv <jan.h.d@swipnet.se> | 11800 | 2003-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 | ||
| 12220 | 2003-10-23 Francesco Potortì <pot@gnu.org> | 12219 | 2003-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 | ||
| 12225 | 2003-10-23 Dave Love <fx@gnu.org> | 12224 | 2003-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 | ||
| 13814 | 2003-07-20 Kai Großjohann <kai.grossjohann@gmx.net> | 13813 | 2003-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 | ||
| 122 | updates: update-subdirs autoloads finder-data custom-deps | 122 | updates: 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. |
| 656 | If a number, variables are assumed to be NxN matrices. | 656 | If a number, variables are assumed to be NxN matrices. |
| 657 | If `sqmatrix', variables are assumed to be square matrices of an unspecified size. | ||
| 657 | If `scalar', variables are assumed to be scalar-valued. | 658 | If `scalar', variables are assumed to be scalar-valued. |
| 658 | If nil, symbolic math routines make no assumptions about variables.") | 659 | If 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 | "\ |
| 494 | Update loaddefs.el with all the current autoloads from DIRS, and no old ones. | 495 | Update loaddefs.el with all the current autoloads from DIRS, and no old ones. |
| 495 | This uses `update-file-autoloads' (which see) do its work. | 496 | This uses `update-file-autoloads' (which see) to do its work. |
| 496 | In an interactive call, you must give one argument, the name | 497 | In an interactive call, you must give one argument, the name |
| 497 | of a single directory. In a call from Lisp, you can supply multiple | 498 | of a single directory. In a call from Lisp, you can supply multiple |
| 498 | directories as separate arguments, but this usage is discouraged. | 499 | directories 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 | |||
| 354 | Each element in a user-level keywords list should have one of these forms: | 354 | Each 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 | ||
| 381 | MATCH-HIGHLIGHT should be of the form: | 381 | MATCH-HIGHLIGHT should be of the form: |
| 382 | 382 | ||
| 383 | (MATCH FACENAME [OVERRIDE [LAXMATCH]]) | 383 | (SUBEXP FACENAME [OVERRIDE [LAXMATCH]]) |
| 384 | 384 | ||
| 385 | MATCH is the subexpression of MATCHER to be highlighted. FACENAME is an | 385 | SUBEXP is the number of the subexpression of MATCHER to be highlighted. |
| 386 | expression whose value is the face name to use. Face default attributes | 386 | |
| 387 | can be modified via \\[customize]. Instead of a face, FACENAME can | 387 | FACENAME is an expression whose value is the face name to use. |
| 388 | evaluate to a property list of the form (face FACE PROP1 VAL1 PROP2 VAL2 ...) | 388 | Instead of a face, FACENAME can evaluate to a property list |
| 389 | of the form (face FACE PROP1 VAL1 PROP2 VAL2 ...) | ||
| 389 | in which case all the listed text-properties will be set rather than | 390 | in which case all the listed text-properties will be set rather than |
| 390 | just FACE. In such a case, you will most likely want to put those | 391 | just FACE. In such a case, you will most likely want to put those |
| 391 | properties in `font-lock-extra-managed-props' or to override | 392 | properties 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 | |||
| 395 | be overwritten. If `keep', only parts not already fontified are highlighted. | 396 | be overwritten. If `keep', only parts not already fontified are highlighted. |
| 396 | If `prepend' or `append', existing fontification is merged with the new, in | 397 | If `prepend' or `append', existing fontification is merged with the new, in |
| 397 | which the new or existing fontification, respectively, takes precedence. | 398 | which the new or existing fontification, respectively, takes precedence. |
| 398 | If LAXMATCH is non-nil, no error is signaled if there is no MATCH in MATCHER. | 399 | If LAXMATCH is non-nil, that means don't signal an error if there is |
| 400 | no match for SUBEXP in MATCHER. | ||
| 399 | 401 | ||
| 400 | For example, an element of the form highlights (if not already highlighted): | 402 | For 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 | |||
| 508 | should return a face. This is normally set via `font-lock-defaults'.") | 510 | should 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. |
| 512 | Can be the list or the name of a function or variable whose value is the list. | 514 | The value can be the list itself, or the name of a function or variable |
| 515 | whose value is the list. | ||
| 516 | |||
| 513 | See `font-lock-keywords' for a description of the form of this list; | 517 | See `font-lock-keywords' for a description of the form of this list; |
| 514 | the differences are listed below. MATCH-HIGHLIGHT should be of the form: | 518 | only 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 | ||
| 518 | where SYNTAX can be a string (as taken by `modify-syntax-entry'), a syntax | 522 | where SYNTAX can be a string (as taken by `modify-syntax-entry'), a syntax |
| 519 | table, a cons cell (as returned by `string-to-syntax') or an expression whose | 523 | table, a cons cell (as returned by `string-to-syntax') or an expression whose |
| 520 | value is such a form. OVERRIDE cannot be `prepend' or `append'. | 524 | value is such a form. OVERRIDE cannot be `prepend' or `append'. |
| 521 | 525 | ||
| 522 | For example, an element of the form highlights syntactically: | 526 | Here are two examples of elements of `font-lock-syntactic-keywords' |
| 527 | and 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 | ||
| 542 | This is normally set via `font-lock-defaults'.") | 543 | This 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 @@ | |||
| 1 | 2005-10-09 Daniel Brockman <daniel@brockman.se> | ||
| 2 | |||
| 3 | * format-spec.el (format-spec): Propagate text properties of % spec. | ||
| 4 | |||
| 5 | 2005-01-21 Derek Atkins <warlord@MIT.EDU> (tiny change) | ||
| 6 | |||
| 7 | * pgg-pgp.el (pgg-pgp-decrypt-region): Use passphrase cache. | ||
| 8 | |||
| 9 | 2005-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 | |||
| 14 | 2005-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 | |||
| 19 | 2005-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 | |||
| 24 | 2005-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 | |||
| 1 | 2005-10-04 Reiner Steib <Reiner.Steib@gmx.de> | 29 | 2005-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. |
| 34 | FORMAT is a string containing `format'-like specs like \"bash %u %k\", | 34 | FORMAT is a string containing `format'-like specs like \"bash %u %k\", |
| 35 | while SPECIFICATION is an alist mapping from format spec characters | 35 | while SPECIFICATION is an alist mapping from format spec characters |
| 36 | to values." | 36 | to values. Any text properties on a %-spec itself are propagated to |
| 37 | the 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. |
| 370 | Does not display the buffer during evaluation. See | 370 | Does 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. |
| 380 | To evaluate a form without viewing the buffer, see `ibuffer-do-eval'." | 380 | To 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. |
| 993 | Called interactively, this function allows selection of modes | 993 | Called 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. |
| 1100 | Ordering is lexicographic." | 1100 | Ordering 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. |
| 1114 | Ordering is lexicographic." | 1114 | Ordering 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. |
| 1128 | Ordering is lexicographic." | 1128 | Ordering 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 | ||
| 3306 | Moving within a node: | 3303 | Moving 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 | ||
| 3317 | Advanced commands: | 3314 | Advanced 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. | ||
| 3321 | 1 .. 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. | ||
| 3325 | 1 .. 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 | ||
| 182 | updates: update-subdirs autoloads finder-data custom-deps | 182 | updates: 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 |
| 213 | compile: subdirs.el compile-$(SHELLTYPE) doit | 213 | compile: subdirs.el mh-autoloads compile-$(SHELLTYPE) doit |
| 214 | 214 | ||
| 215 | compile-CMD: | 215 | compile-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 | ||
| 288 | recompile: doit | 288 | recompile: 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. | ||
| 294 | MH_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 | |||
| 304 | mh-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 | ||
| 322 | bootstrap: update-subdirs autoloads compile finder-data custom-deps | 360 | bootstrap: 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 @@ | |||
| 1 | mh-autoloads.el | ||
| 1 | mh-loaddefs.el | 2 | mh-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 @@ | |||
| 1 | 2005-09-30 Bill Wohler <wohler@newt.com> | 1 | 2005-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 | |||
| 12 | 2005-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 | |||
| 19 | 2005-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 | |||
| 24 | 2005-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 | |||
| 41 | 2005-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 | |||
| 46 | 2005-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 | |||
| 52 | 2005-07-04 Lute Kamstra <lute@gnu.org> | ||
| 53 | |||
| 54 | Update FSF's address in GPL notices. | ||
| 55 | |||
| 56 | 2005-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 | |||
| 62 | 2005-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 | |||
| 111 | 2005-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 | |||
| 118 | 2005-06-14 Juanma Barranquero <lekktu@gmail.com> | ||
| 119 | |||
| 120 | * mh-mime.el (mh-secure-message): Follow error conventions. | ||
| 121 | |||
| 122 | 2005-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 | |||
| 130 | 2005-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 | |||
| 181 | 2005-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 | |||
| 196 | 2005-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 | |||
| 201 | 2005-05-05 Bill Wohler <wohler@newt.com> | ||
| 202 | |||
| 203 | * mh-e.el (Version, mh-version): Added +cvs to release number. | ||
| 204 | |||
| 205 | 2005-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 | |||
| 213 | 2005-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 | |||
| 220 | 2005-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 | |||
| 237 | 2005-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 | |||
| 249 | 2005-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 | |||
| 256 | 2005-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 | |||
| 278 | 2005-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 | |||
| 283 | 2005-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 | |||
| 291 | 2005-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 | |||
| 296 | 2005-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 | |||
| 314 | 2005-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 | |||
| 322 | 2005-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 | |||
| 327 | 2005-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 | |||
| 334 | 2005-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 | |||
| 340 | 2004-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 | |||
| 348 | 2004-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 | |||
| 354 | 2004-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 | |||
| 360 | 2004-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 | |||
| 365 | 2004-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 | |||
| 386 | 2004-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 | |||
| 391 | 2004-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 | |||
| 401 | 2004-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 | |||
| 413 | 2004-08-24 Bill Wohler <wohler@newt.com> | ||
| 414 | |||
| 415 | * mh-e.el (Version, mh-version): Added +cvs to release number. | ||
| 416 | |||
| 417 | 2004-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 | |||
| 425 | 2004-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 | |||
| 431 | 2004-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 | |||
| 448 | 2004-08-21 Bill Wohler <wohler@newt.com> | ||
| 449 | |||
| 450 | * mh-e.el (Version, mh-version): Add +cvs to release number. | ||
| 451 | |||
| 452 | 2004-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 | |||
| 460 | 2004-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 | |||
| 466 | 2004-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 | |||
| 472 | 2004-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 | |||
| 479 | 2004-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 | |||
| 485 | 2004-08-15 Bill Wohler <wohler@newt.com> | ||
| 486 | |||
| 487 | * mh-e.el (Version, mh-version): Added +cvs to release number. | ||
| 488 | |||
| 489 | 2004-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 | |||
| 497 | 2004-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 | |||
| 504 | 2004-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 | |||
| 520 | 2004-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 | |||
| 531 | 2004-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 | |||
| 541 | 2004-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 | |||
| 550 | 2004-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 | |||
| 570 | 2004-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 | |||
| 577 | 2004-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 | |||
| 582 | 2004-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 | |||
| 623 | 2004-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 | |||
| 651 | 2004-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 | |||
| 660 | 2004-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 | |||
| 668 | 2004-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 | |||
| 674 | 2004-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 | |||
| 725 | 2004-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 | |||
| 814 | 2004-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 | |||
| 820 | 2004-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 | |||
| 826 | 2004-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 | |||
| 832 | 2004-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 | |||
| 837 | 2004-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 | |||
| 843 | 2004-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 | ||
| 850 | 2004-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 | |||
| 855 | 2004-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 | |||
| 864 | 2003-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 | |||
| 875 | 2003-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 | |||
| 882 | 2003-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 | |||
| 889 | 2003-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 | |||
| 894 | 2003-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 | |||
| 906 | 2003-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 | |||
| 916 | 2003-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 | |||
| 928 | 2003-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 | |||
| 936 | 2003-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 | |||
| 954 | 2003-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 | |||
| 965 | 2003-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 | |||
| 976 | 2003-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 | |||
| 981 | 2003-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 | |||
| 987 | 2003-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 | |||
| 1011 | 2003-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 | |||
| 1020 | 2003-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 | |||
| 1032 | 2003-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 | |||
| 1038 | 2003-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 | |||
| 1050 | 2003-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 | |||
| 1057 | 2003-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 | |||
| 1079 | 2003-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 | |||
| 1089 | 2003-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 | |||
| 1094 | 2003-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 | |||
| 1109 | 2003-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 | |||
| 1117 | 2003-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 | |||
| 1125 | 2003-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 | |||
| 1138 | 2003-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 | |||
| 1150 | 2003-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 | |||
| 1171 | 2003-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 | |||
| 1178 | 2003-10-22 Satyaki Das <satyakid@stanford.edu> | ||
| 1179 | |||
| 1180 | * mh-speed.el (timer): Avoid compiler warning in XEmacs. | ||
| 1181 | |||
| 1182 | 2003-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 | |||
| 1223 | 2003-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 | |||
| 1229 | 2003-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 | |||
| 1239 | 2003-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 | |||
| 1245 | 2003-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 | |||
| 1278 | 2003-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 | |||
| 1283 | 2003-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 | |||
| 1302 | 2003-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 | |||
| 1313 | 2003-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 | |||
| 1332 | 2003-10-04 Mark D Baushke <mdb@gnu.org> | ||
| 1333 | |||
| 1334 | * mh-comp.el (mh-letter-menu): Simplify menu heading. | ||
| 1335 | |||
| 1336 | 2003-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 | |||
| 1364 | 2003-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 | |||
| 1382 | 2003-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 | |||
| 1388 | 2003-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 | |||
| 1408 | 2003-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 | |||
| 1453 | 2003-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 | |||
| 1464 | 2003-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 | |||
| 1494 | 2003-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 | |||
| 1502 | 2003-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 | |||
| 1513 | 2003-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 | |||
| 1520 | 2003-09-18 Peter S Galbraith <psg@debian.org> | ||
| 1521 | |||
| 1522 | * mh-comp.el (mh-insert-fields): Make sure field has a colon. | ||
| 1523 | |||
| 1524 | 2003-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 | |||
| 1531 | 2003-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 | |||
| 1536 | 2003-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 | |||
| 1541 | 2003-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 | |||
| 1546 | 2003-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 | |||
| 1552 | 2003-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 | |||
| 1557 | 2003-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 | |||
| 1572 | 2003-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 | |||
| 1580 | 2003-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 | |||
| 1587 | 2003-09-05 Peter S Galbraith <psg@debian.org> | ||
| 1588 | |||
| 1589 | * mh-e.el (mh-version): Bumped version number to 7.4.2+cvs. | ||
| 1590 | |||
| 1591 | 2003-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 | |||
| 1611 | 2003-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 | |||
| 1616 | 2003-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 | |||
| 1622 | 2003-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 | |||
| 1630 | 2003-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 | |||
| 1641 | 2003-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 | |||
| 1657 | 2003-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 | |||
| 1684 | 2003-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 | |||
| 1705 | 2003-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 | |||
| 1724 | 2003-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 | |||
| 1733 | 2003-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 | |||
| 1746 | 2003-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 | |||
| 1758 | 2003-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 | |||
| 1786 | 2003-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 | |||
| 1800 | 2003-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 | |||
| 1810 | 2003-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 | |||
| 1815 | 2003-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 | |||
| 1821 | 2003-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 | |||
| 1830 | 2003-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 | |||
| 1838 | 2003-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 | |||
| 1863 | 2003-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 | |||
| 1881 | 2003-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 | |||
| 1892 | 2003-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 | |||
| 1899 | 2003-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 | |||
| 1951 | 2003-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 | |||
| 1976 | 2003-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 | |||
| 1984 | 2003-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 | |||
| 1989 | 2003-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 | |||
| 2005 | 2003-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 | |||
| 2013 | 2003-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 | |||
| 2042 | 2003-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 | |||
| 2053 | 2003-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 | |||
| 2068 | 2003-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 | |||
| 2092 | 2003-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 | |||
| 2103 | 2003-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 | |||
| 2113 | 2003-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 | |||
| 2157 | 2003-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 | |||
| 2172 | 2003-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 | |||
| 2187 | 2003-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 | |||
| 2200 | 2003-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 | |||
| 2216 | 2003-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 | |||
| 2237 | 2003-08-04 Satyaki Das <satyakid@stanford.edu> | ||
| 2238 | |||
| 2239 | * mh-e.el (mh-scan-folder): Handle ranges from user input properly. | ||
| 2240 | |||
| 2241 | 2003-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 | |||
| 2270 | 2003-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 | |||
| 2275 | 2003-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 | |||
| 2287 | 2003-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 | |||
| 2300 | 2003-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 | |||
| 2308 | 2003-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 | |||
| 2330 | 2003-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 | |||
| 2335 | 2003-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 | |||
| 2344 | 2003-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 | |||
| 2350 | 2003-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 | |||
| 2381 | 2003-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 | |||
| 2414 | 2003-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 | |||
| 2429 | 2003-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 | |||
| 2436 | 2003-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 | |||
| 2455 | 2003-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 | |||
| 2460 | 2003-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 | |||
| 2470 | 2003-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 | |||
| 2486 | 2003-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 | |||
| 2495 | 2003-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 | |||
| 2506 | 2003-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 | |||
| 2516 | 2003-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 | |||
| 2528 | 2003-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 | |||
| 2538 | 2003-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 | |||
| 2546 | 2003-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 | |||
| 2579 | 2003-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 | |||
| 2585 | 2003-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 | |||
| 2608 | 2003-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 | |||
| 2615 | 2003-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 | |||
| 2624 | 2003-06-24 Bill Wohler <wohler@newt.com> | ||
| 2625 | |||
| 2626 | * mh-e.el (Version, mh-version): Set to 7.4.1+cvs. | ||
| 2627 | |||
| 2628 | 2003-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 | |||
| 2636 | 2003-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 | |||
| 2646 | 2003-06-24 Bill Wohler <wohler@newt.com> | ||
| 2647 | |||
| 2648 | * mh-e.el (Version, mh-version): Set to 7.4+cvs. | ||
| 2649 | |||
| 2650 | 2003-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 | |||
| 2658 | 2003-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 | |||
| 2686 | 2003-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 | |||
| 2694 | 2003-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 | |||
| 2705 | 2003-06-13 Bill Wohler <wohler@newt.com> | ||
| 2706 | |||
| 2707 | * mh-index.el (mh-flists-execute): Needed to expand mhpath too. | ||
| 2708 | |||
| 2709 | 2003-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 | |||
| 2714 | 2003-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 | |||
| 2720 | 2003-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 | |||
| 2727 | 2003-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 | |||
| 2733 | 2003-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 | |||
| 2740 | 2003-06-05 Bill Wohler <wohler@newt.com> | ||
| 2741 | |||
| 2742 | * mh-customize.el (mh-identity-list): Fixed typo in docstring. | ||
| 2743 | |||
| 2744 | 2003-06-05 Peter S Galbraith <psg@debian.org> | ||
| 2745 | |||
| 2746 | * mh-comp.el (mh-letter-complete-function-alist): Add bcc an reply-to. | ||
| 2747 | |||
| 2748 | 2003-06-04 Peter S Galbraith <psg@debian.org> | ||
| 2749 | |||
| 2750 | * mh-comp.el (mh-letter-complete-function-alist): Add dcc. | ||
| 2751 | |||
| 2752 | 2003-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 | |||
| 2778 | 2003-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 | |||
| 2786 | 2003-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 | |||
| 2807 | 2003-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 | |||
| 2825 | 2003-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 | |||
| 2845 | 2003-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 | |||
| 2863 | 2003-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 | |||
| 2868 | 2003-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 | |||
| 2879 | 2003-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 | |||
| 2888 | 2003-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 | |||
| 2903 | 2003-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 | |||
| 2911 | 2003-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 | |||
| 2916 | 2003-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 | |||
| 2932 | 2003-05-30 Satyaki Das <satyakid@stanford.edu> | ||
| 2933 | |||
| 2934 | * mh-comp.el (mh-letter-mode): Skip over invisible text quickly. | ||
| 2935 | |||
| 2936 | 2003-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 | |||
| 2945 | 2003-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 | |||
| 2965 | 2003-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 | |||
| 2970 | 2003-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 | |||
| 2976 | 2003-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 | |||
| 3000 | 2003-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 | |||
| 3009 | 2003-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 | |||
| 3022 | 2003-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 | |||
| 3028 | 2003-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 | |||
| 3037 | 2003-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 | |||
| 3046 | 2003-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 | |||
| 3056 | 2003-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 | |||
| 3068 | 2003-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 | |||
| 3093 | 2003-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 | |||
| 3115 | 2003-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 | |||
| 3137 | 2003-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 | |||
| 3142 | 2003-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 | |||
| 3152 | 2003-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 | |||
| 3161 | 2003-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 | |||
| 3175 | 2003-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 | |||
| 3189 | 2003-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 | |||
| 3252 | 2003-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 | |||
| 3258 | 2003-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 | |||
| 3269 | 2003-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 | |||
| 3279 | 2003-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 | |||
| 3285 | 2003-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 | |||
| 3303 | 2003-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 | |||
| 3311 | 2003-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 | |||
| 3320 | 2003-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 | |||
| 3335 | 2003-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 | |||
| 3340 | 2003-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 | |||
| 3348 | 2003-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 | |||
| 3387 | 2003-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 | |||
| 3392 | 2003-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 | |||
| 3420 | 2003-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 | |||
| 3426 | 2003-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 | |||
| 3442 | 2003-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 | |||
| 3449 | 2003-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 | |||
| 3455 | 2003-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 | |||
| 3463 | 2003-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 | |||
| 3468 | 2003-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 | |||
| 3494 | 2003-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 | |||
| 3500 | 2003-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 | |||
| 3506 | 2003-05-01 Satyaki Das <satyakid@stanford.edu> | ||
| 3507 | |||
| 3508 | * mh-loaddefs.el: Regenerated. | ||
| 3509 | |||
| 3510 | * mh-seq.el (mh-read-range): Fix comment. | ||
| 3511 | |||
| 3512 | 2003-04-30 Mark D. Baushke <mdb@gnu.org> | ||
| 3513 | |||
| 3514 | * mh-e.el (mh-help-messages): Better documentation for the F map. | ||
| 3515 | |||
| 3516 | 2003-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 | |||
| 3531 | 2003-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 | |||
| 3541 | 2003-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 | |||
| 3570 | 2003-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 | |||
| 3576 | 2003-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 | |||
| 3591 | 2003-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 | |||
| 3598 | 2003-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 | |||
| 3618 | 2003-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 | |||
| 3626 | 2003-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 | |||
| 3633 | 2003-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 | |||
| 3661 | 2003-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 | |||
| 3668 | 2003-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 | |||
| 3739 | 2003-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 | |||
| 3757 | 2003-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 | |||
| 3765 | 2003-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 | |||
| 3773 | 2003-04-24 Satyaki Das <satyakid@stanford.edu> | ||
| 3774 | |||
| 3775 | * mh-unit.el (mh-files): Fix the list of files to check. | ||
| 3776 | |||
| 3777 | 2003-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 | |||
| 3806 | 2003-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 | |||
| 3822 | 2003-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 | |||
| 3830 | 2003-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 | |||
| 3842 | 2003-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 | |||
| 3851 | 2003-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 | |||
| 3861 | 2003-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 | |||
| 3871 | 2003-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 | |||
| 3879 | 2003-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 | |||
| 3884 | 2003-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 | |||
| 3921 | 2003-04-11 Satyaki Das <satyaki@theforce.stanford.edu> | ||
| 3922 | |||
| 3923 | * mh-seq.el (mh-iterate-on-msg-or-seq): Add a missed comma. | ||
| 3924 | |||
| 3925 | 2003-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 | |||
| 3937 | 2003-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 | |||
| 3949 | 2003-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 | |||
| 3960 | 2003-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 | |||
| 3974 | 2003-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 | |||
| 3984 | 2003-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 | |||
| 3997 | 2003-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 | |||
| 4003 | 2003-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 | |||
| 4033 | 2003-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 | |||
| 4048 | 2003-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 | |||
| 4073 | 2003-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 | |||
| 4120 | 2003-04-05 Peter S Galbraith <psg@debian.org> | ||
| 4121 | |||
| 4122 | * mh-loaddefs.el: Regenerated. | ||
| 4123 | * mh-funcs.el (mh-ephem-message): autoload. | ||
| 4124 | |||
| 4125 | 2003-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 | |||
| 4130 | 2003-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 | |||
| 4135 | 2003-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 | |||
| 4140 | 2003-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 | |||
| 4175 | 2003-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 | |||
| 4183 | 2003-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 | |||
| 4188 | 2003-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 | |||
| 4195 | 2003-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 | |||
| 4217 | 2003-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 | |||
| 4224 | 2003-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 | |||
| 4233 | 2003-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 | |||
| 4238 | 2003-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 | |||
| 4248 | 2003-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 | |||
| 4266 | 2003-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 | |||
| 4273 | 2003-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 | |||
| 4279 | 2003-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 | |||
| 4292 | 2003-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 | |||
| 4297 | 2003-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 | |||
| 4306 | 2003-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 | |||
| 4316 | 2003-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 | |||
| 4326 | 2003-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 | |||
| 4350 | 2003-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 | |||
| 4379 | 2003-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 | |||
| 4403 | 2003-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 | |||
| 4424 | 2003-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 | |||
| 4429 | 2003-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 | |||
| 4443 | 2003-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 | |||
| 4452 | 2003-03-21 Bill Wohler <wohler@newt.com> | ||
| 4453 | |||
| 4454 | * mh-customize.el (mh-invisible-header-fields): Added X-Bogosity | ||
| 4455 | for bogofilter. | ||
| 4456 | |||
| 4457 | 2003-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 | |||
| 4493 | 2003-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 | |||
| 4498 | 2003-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 | |||
| 4504 | 2003-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 | |||
| 4515 | 2003-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 | |||
| 4558 | 2003-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 | |||
| 4568 | 2003-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 | |||
| 4575 | 2003-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 | |||
| 4589 | 2003-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 | |||
| 4597 | 2003-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 | |||
| 4602 | 2003-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 | |||
| 4618 | 2003-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 | |||
| 4624 | 2003-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 | |||
| 4678 | 2003-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 | |||
| 4688 | 2003-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 | |||
| 4700 | 2003-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 | |||
| 4707 | 2003-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 | |||
| 4719 | 2003-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 | |||
| 4730 | 2003-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 | |||
| 4745 | 2003-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 | |||
| 4757 | 2003-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 | |||
| 4763 | 2003-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 | |||
| 4776 | 2003-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 | |||
| 4787 | 2003-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 | |||
| 4795 | 2003-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 | |||
| 4808 | 2003-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 | |||
| 4814 | 2003-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 | |||
| 4820 | 2003-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 | |||
| 4825 | 2003-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 | |||
| 4834 | 2003-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 | |||
| 4842 | 2003-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 | |||
| 4857 | 2003-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 | |||
| 4890 | 2003-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 | |||
| 4925 | 2003-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 | |||
| 4943 | 2003-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 | |||
| 4961 | 2003-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 | |||
| 4968 | 2003-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 | |||
| 4978 | 2003-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 | |||
| 5000 | 2003-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 | |||
| 5044 | 2003-02-14 Ville Skyttä <scop@xemacs.org> | ||
| 5045 | |||
| 5046 | * mh-comp.el: Add autoloaded auto-mode-alist association. | ||
| 5047 | |||
| 5048 | 2003-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 | |||
| 5053 | 2003-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 | |||
| 5063 | 2003-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 | |||
| 5074 | 2003-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 | |||
| 5080 | 2003-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 | |||
| 5086 | 2003-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 | |||
| 5105 | 2003-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 | |||
| 5116 | 2003-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 | |||
| 5125 | 2003-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 | |||
| 5138 | 2003-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 | |||
| 5147 | 2003-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 | |||
| 5157 | 2003-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 | |||
| 5166 | 2003-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 | |||
| 5173 | 2003-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 | |||
| 5181 | 2003-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 | |||
| 5187 | 2003-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 | |||
| 5196 | 2003-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 | |||
| 5212 | 2003-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 | |||
| 5221 | 2003-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 | |||
| 5240 | 2003-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 | |||
| 5257 | 2003-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 | |||
| 5277 | 2003-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 | |||
| 5288 | 2003-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 | |||
| 5309 | 2003-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 | |||
| 5315 | 2003-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 | |||
| 5323 | 2003-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 | |||
| 5330 | 2003-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 | |||
| 5335 | 2003-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 | |||
| 5341 | 2003-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 | |||
| 5346 | 2003-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 | |||
| 5370 | 2003-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 | |||
| 5375 | 2003-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 | |||
| 5395 | 2003-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 | |||
| 5424 | 2003-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 | |||
| 5438 | 2003-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 | |||
| 5443 | 2003-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 | |||
| 5456 | 2003-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 | |||
| 5462 | 2003-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 | |||
| 5470 | 2003-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 | |||
| 5514 | 2003-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 | |||
| 5552 | 2003-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 | |||
| 5558 | 2003-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 | |||
| 5565 | 2003-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 | |||
| 5570 | 2003-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 | |||
| 5575 | 2003-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 | |||
| 5611 | 2003-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 | |||
| 5627 | 2003-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 | |||
| 5634 | 2003-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 | |||
| 5640 | 2003-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 | |||
| 5661 | 2003-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 | |||
| 5667 | 2003-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 | |||
| 5687 | 2003-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 | |||
| 5692 | 2003-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 | |||
| 5711 | 2003-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 | |||
| 5726 | 2003-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 | |||
| 5754 | 2003-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 | |||
| 5789 | 2003-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 | |||
| 5823 | 2003-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 | |||
| 5856 | 2003-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 | |||
| 5903 | 2003-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 | |||
| 5956 | 2003-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 | |||
| 5975 | 2003-01-07 Bill Wohler <wohler@newt.com> | ||
| 5976 | |||
| 5977 | * mh-e.el (Version, mh-version): Set to 7.1+cvs. | ||
| 5978 | |||
| 5979 | 2003-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 | |||
| 5987 | 2003-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 | |||
| 5997 | 2003-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 | |||
| 6029 | 2003-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 | |||
| 6036 | 2003-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 | |||
| 6044 | 2002-12-28 Satyaki Das <satyaki@theforce.stanford.edu> | ||
| 6045 | |||
| 6046 | * mh-index.el (mh-namazu-execute-search): Fix bug in documentation. | ||
| 6047 | |||
| 6048 | 2002-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 | |||
| 6061 | 2002-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 | |||
| 6070 | 2002-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 | |||
| 6088 | 2002-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 | |||
| 6094 | 2002-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 | |||
| 6108 | 2002-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 | |||
| 6129 | 2002-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 | |||
| 6149 | 2002-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 | |||
| 6155 | 2002-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 | |||
| 6160 | 2002-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 | |||
| 6167 | 2002-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 | |||
| 6179 | 2002-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 | |||
| 6201 | 2002-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 | |||
| 6224 | 2002-12-19 Peter S Galbraith <psg@debian.org> | ||
| 6225 | |||
| 6226 | * mh-alias.el (mh-alias-add-alias): Bug fix. | ||
| 6227 | |||
| 6228 | 2002-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 | |||
| 6266 | 2002-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 | |||
| 6277 | 2002-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 | |||
| 6302 | 2002-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 | |||
| 6324 | 2002-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 | |||
| 6380 | 2002-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 | |||
| 6386 | 2002-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 | |||
| 6470 | 2002-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 | |||
| 6497 | 2002-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 | |||
| 6510 | 2002-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 | |||
| 6534 | 2002-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 | |||
| 6549 | 2002-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 | |||
| 6573 | 2002-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 | |||
| 6583 | 2002-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 | |||
| 6593 | 2002-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 | |||
| 6604 | 2002-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 | |||
| 6614 | 2002-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 | |||
| 6622 | 2002-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 | |||
| 6629 | 2002-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 | |||
| 6635 | 2002-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 | |||
| 6650 | 2002-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 | |||
| 6668 | 2002-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 | |||
| 6674 | 2002-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 | |||
| 6694 | 2002-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 | |||
| 6702 | 2002-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 | |||
| 6707 | 2002-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 | |||
| 6712 | 2002-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 | |||
| 6722 | 2002-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 | |||
| 6743 | 2002-12-03 Bill Wohler <wohler@newt.com> | ||
| 6744 | |||
| 6745 | * Makefile (MH-E-SRC, emacs): | ||
| 6746 | |||
| 6747 | 2002-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 | |||
| 6767 | 2002-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 | |||
| 6775 | 2002-12-03 Bill Wohler <wohler@newt.com> | ||
| 6776 | |||
| 6777 | * mh-customize.el (mh-show-threads-flag): Alphabetized. | ||
| 6778 | |||
| 6779 | 2002-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 | |||
| 6784 | 2002-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 | |||
| 6789 | 2002-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 | |||
| 6795 | 2002-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 | |||
| 6808 | 2002-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 | |||
| 6818 | 2002-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 | |||
| 6845 | 2002-12-02 Bill Wohler <wohler@newt.com> | ||
| 6846 | |||
| 6847 | * Makefile (mh-loaddefs.el): Suppress creation of backup file. | ||
| 6848 | |||
| 6849 | 2002-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 | |||
| 6865 | 2002-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 | |||
| 6876 | 2002-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 | |||
| 6894 | 2002-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 | |||
| 6929 | 2002-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 | |||
| 6952 | 2002-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 | |||
| 6999 | 2002-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 | |||
| 7034 | 2002-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 | |||
| 7066 | 2002-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 | |||
| 7073 | 2002-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 | |||
| 7082 | 2002-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 | |||
| 7087 | 2002-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 | |||
| 7098 | 2002-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 | |||
| 7106 | 2002-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 | |||
| 7111 | 2002-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 | |||
| 7122 | 2002-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 | |||
| 7135 | 2002-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 | |||
| 7141 | 2002-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 | |||
| 7164 | 2002-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 | |||
| 7169 | 2002-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 | |||
| 7175 | 2002-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 | |||
| 7181 | 2002-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 | |||
| 7193 | 2002-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 | |||
| 7204 | 2002-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 | |||
| 7209 | 2002-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 | |||
| 7215 | 2002-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 | |||
| 7226 | 2002-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 | |||
| 7231 | 2002-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 | |||
| 7236 | 2002-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 | |||
| 7258 | 2002-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 | |||
| 7283 | 2002-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 | |||
| 7328 | 2002-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 | |||
| 7337 | 2002-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 | |||
| 7350 | 2002-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 | |||
| 7404 | 2002-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 | |||
| 7412 | 2002-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 | |||
| 7424 | 2002-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 | |||
| 7432 | 2002-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 | |||
| 7455 | 2002-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 | |||
| 7461 | 2002-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 | |||
| 7469 | 2002-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 | |||
| 7490 | 2002-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 | |||
| 7498 | 2002-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 | |||
| 7512 | 2002-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 | |||
| 7519 | 2002-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 | |||
| 7526 | 2002-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 | |||
| 7534 | 2002-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 | |||
| 7565 | 2002-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 | |||
| 7570 | 2002-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 | |||
| 7579 | 2002-11-04 Eric Ding <eding@rational.com> | ||
| 7580 | |||
| 7581 | * mh-comp.el (mh-rejected-letter-start): add another string | ||
| 7582 | |||
| 7583 | 2002-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 | |||
| 7588 | 2002-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 | |||
| 7594 | 2002-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 | |||
| 7603 | 2002-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 | |||
| 7610 | 2002-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 | |||
| 7618 | 2002-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 | |||
| 7625 | 2002-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 | |||
| 7664 | 2002-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 | |||
| 7692 | 2002-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 | |||
| 7698 | 2002-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 | |||
| 7721 | 2002-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 | |||
| 7730 | 2002-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 | |||
| 7738 | 2002-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 | |||
| 7743 | 2002-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 | |||
| 7761 | 2002-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 | |||
| 7769 | 2002-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 | |||
| 7775 | 2002-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 | |||
| 7782 | 2002-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 | |||
| 7794 | 2002-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 | |||
| 7801 | 2002-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 | |||
| 7810 | 2002-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 | |||
| 7816 | 2002-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 | |||
| 7824 | 2002-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 | |||
| 7834 | 2002-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 | |||
| 7854 | 2002-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 | |||
| 7864 | 2002-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 | |||
| 7870 | 2002-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 | |||
| 7877 | 2002-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 | |||
| 7882 | 2002-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 | |||
| 7902 | 2002-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 | |||
| 7908 | 2002-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 | |||
| 7913 | 2002-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 | |||
| 7922 | 2002-10-27 Steve Youngs <youngs@xemacs.org> | ||
| 7923 | |||
| 7924 | * .cvsignore: New file. | ||
| 7925 | |||
| 7926 | 2002-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 | |||
| 7957 | 2002-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 | |||
| 7972 | 2002-10-26 Satyaki Das <satyaki@theforce.stanford.edu> | ||
| 7973 | |||
| 7974 | * mh-e.el (mh-last-msg): Add call to mh-recenter. | ||
| 7975 | |||
| 7976 | 2002-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 | |||
| 7983 | 2002-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 | |||
| 7995 | 2002-10-26 Peter S Galbraith <psg@debian.org> | ||
| 7996 | |||
| 7997 | * mh-comp.el (mh-insert-mail-followup-to): Fix for new defcustom. | ||
| 7998 | |||
| 7999 | 2002-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 | |||
| 8007 | 2002-10-26 Bill Wohler <wohler@newt.com> | ||
| 8008 | |||
| 8009 | * mh-utils.el (mh-invisible-headers): Added Mail-Followup-To. | ||
| 8010 | |||
| 8011 | 2002-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 | |||
| 8016 | 2002-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 | |||
| 8037 | 2002-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 | |||
| 8052 | 2002-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 | |||
| 8075 | 2002-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 | |||
| 8091 | 2002-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 | |||
| 8119 | 2002-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 | |||
| 8160 | 2002-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 | |||
| 8172 | 2002-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 | |||
| 8243 | 2002-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 | |||
| 8249 | 2002-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 | |||
| 8256 | 2002-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 | |||
| 8262 | 2002-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 | |||
| 8276 | 2002-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 | |||
| 8282 | 2002-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 | |||
| 8287 | 2002-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 | |||
| 8312 | 2002-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 | |||
| 8318 | 2002-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 | |||
| 8398 | 2002-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 | |||
| 8407 | 2002-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 | |||
| 8414 | 2002-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 | |||
| 8420 | 2002-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 | |||
| 8429 | 2002-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 | |||
| 8435 | 2002-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 | |||
| 8456 | 2002-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 | |||
| 8486 | 2002-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 | |||
| 8494 | 2002-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 | |||
| 8500 | 2002-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 | |||
| 8507 | 2002-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 | |||
| 8513 | 2002-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 | |||
| 8518 | 2002-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 | |||
| 8529 | 2002-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 | |||
| 8534 | 2002-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 | |||
| 8541 | 2002-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 | |||
| 8552 | 2002-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 | |||
| 8568 | 2002-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 | |||
| 8595 | 2002-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 | |||
| 8601 | 2002-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 | |||
| 8617 | 2002-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 | |||
| 8637 | 2002-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 | |||
| 8647 | 2002-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 | |||
| 8660 | 2002-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 | |||
| 8667 | 2002-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 | |||
| 8677 | 2002-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 | |||
| 8687 | 2002-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 | |||
| 8695 | 2002-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 | |||
| 8703 | 2002-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 | |||
| 8709 | 2002-10-18 Mark D Baushke <mdb@gnu.org> | ||
| 8710 | |||
| 8711 | * mh-utils.el (mh-invisible-headers): Add more anti-spam headers. | ||
| 8712 | |||
| 8713 | 2002-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 | |||
| 8720 | 2002-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 | |||
| 8739 | 2002-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 | |||
| 8744 | 2002-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 | |||
| 8750 | 2002-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 | |||
| 8772 | 2002-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 | |||
| 8780 | 2002-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 | |||
| 8793 | 2002-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 | |||
| 8838 | 2002-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 | |||
| 8856 | 2002-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 | |||
| 8874 | 2002-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 | |||
| 8879 | 2002-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 | |||
| 8916 | 2002-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 | |||
| 8929 | 2002-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 | |||
| 8935 | 2002-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 | |||
| 8940 | 2002-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 | |||
| 8946 | 2002-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 | |||
| 8965 | 2002-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 | |||
| 8979 | 2002-10-11 Satyaki Das <satyaki@theforce.stanford.edu> | ||
| 8980 | |||
| 8981 | * mh-seq.el (mh-thread-generate): Kill dead code. | ||
| 8982 | |||
| 8983 | 2002-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 | |||
| 9011 | 2002-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 | |||
| 9020 | 2002-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 | |||
| 9026 | 2002-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 | |||
| 9033 | 2002-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 | |||
| 9041 | 2002-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 | |||
| 9047 | 2002-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 | |||
| 9052 | 2002-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 | |||
| 9058 | 2002-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 | |||
| 9076 | 2002-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 | |||
| 9089 | 2002-10-08 Peter S Galbraith <psg@debian.org> | ||
| 9090 | |||
| 9091 | * mh-e.el (mh-folder-folder-menu): Add entry for "Thread Folder". | ||
| 9092 | |||
| 9093 | 2002-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 | |||
| 9102 | 2002-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 | |||
| 9115 | 2002-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 | |||
| 9120 | 2002-10-02 Satyaki Das <satyaki@theforce.stanford.edu> | ||
| 9121 | |||
| 9122 | * mh-mime.el (mh-insert-mime-button): Rewrite without using | ||
| 9123 | replace-match. | ||
| 9124 | |||
| 9125 | 2002-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 | |||
| 9130 | 2002-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 | |||
| 9137 | 2002-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 | |||
| 9151 | 2002-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 | |||
| 9162 | 2002-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 | |||
| 9179 | 2002-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 | |||
| 9186 | 2002-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 | |||
| 9192 | 2002-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 | |||
| 9202 | 2002-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 | |||
| 9209 | 2002-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 | |||
| 9216 | 2002-09-16 Peter S Galbraith <psg@debian.org> | ||
| 9217 | |||
| 9218 | * mh-comp.el (mail-citation-hook): Doc tweaks suggested by Bill. | ||
| 9219 | |||
| 9220 | 2002-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 | |||
| 9225 | 2002-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 | |||
| 9239 | 2002-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 | |||
| 9251 | 2002-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 | |||
| 9267 | 2002-08-17 Satyaki Das <satyaki@theforce.stanford.edu> | ||
| 9268 | |||
| 9269 | * mh-comp.el (compilation-fix): Reorder defvars to avoid warnings | ||
| 9270 | during compilation. | ||
| 9271 | |||
| 9272 | 2002-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 | |||
| 9286 | 2002-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 | |||
| 9292 | 2002-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 | |||
| 9304 | 2002-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 | |||
| 9315 | 2002-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 | |||
| 9325 | 2002-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 | |||
| 9331 | 2002-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 | |||
| 9336 | 2002-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 | |||
| 9353 | 2002-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 | |||
| 9358 | 2002-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 | |||
| 9370 | 2002-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 | |||
| 9378 | 2002-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 | |||
| 9385 | 2002-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 | |||
| 9393 | 2002-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 | |||
| 9418 | 2002-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 | |||
| 9433 | 2002-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 | |||
| 9438 | 2002-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 | |||
| 9443 | 2002-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 | |||
| 9449 | 2002-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 | |||
| 9457 | 2002-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 | |||
| 9464 | 2002-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 | |||
| 9483 | 2002-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 | |||
| 9502 | 2002-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 | |||
| 9507 | 2002-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 | |||
| 9534 | 2002-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 | |||
| 9540 | 2002-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 | |||
| 9558 | 2002-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 | |||
| 9577 | 2002-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 | |||
| 9592 | 2002-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 | |||
| 9626 | 2002-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 | |||
| 9637 | 2002-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 | |||
| 9647 | 2002-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 | |||
| 9654 | 2002-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 | |||
| 9660 | 2002-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 | |||
| 9673 | 2002-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 | |||
| 9701 | 2002-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 | |||
| 9710 | 2002-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 | |||
| 9725 | 2002-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 | |||
| 9748 | 2002-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 | |||
| 9760 | 2002-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 | |||
| 9782 | 2002-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 | |||
| 9787 | 2002-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 | |||
| 9810 | 2002-06-05 Peter S Galbraith <psg@debian.org> | ||
| 9811 | |||
| 9812 | * mh-e.el (mh-folder-message-menu): Add an entry for mh-modify. | ||
| 9813 | |||
| 9814 | 2002-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 | |||
| 9824 | 2002-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 | |||
| 9830 | 2002-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 | |||
| 9841 | 2002-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 | |||
| 9846 | 2002-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 | |||
| 9862 | 2002-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 | |||
| 9868 | 2002-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 | |||
| 9921 | 2002-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 | |||
| 9930 | 2002-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 | |||
| 9991 | 2002-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 | |||
| 10000 | 2002-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 | |||
| 10016 | 2002-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 | |||
| 10037 | 2002-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 | |||
| 10048 | 2002-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 | |||
| 10057 | 2002-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 | |||
| 10063 | 2002-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 | |||
| 10070 | 2002-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 | |||
| 10075 | 2002-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 | |||
| 10083 | 2002-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 | |||
| 10095 | 2002-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 | |||
| 10101 | 2002-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 | |||
| 10126 | 2002-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 | |||
| 10135 | 2002-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 | |||
| 10142 | 2002-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 | |||
| 10156 | 2002-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 | |||
| 10163 | 2001-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 | |||
| 10187 | 2001-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 | |||
| 10210 | 2001-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 | |||
| 10243 | 2001-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 | |||
| 10252 | 2001-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 | |||
| 10265 | 2001-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 | |||
| 10281 | 2001-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 | |||
| 10291 | 2001-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 | |||
| 10302 | 2001-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 | |||
| 10310 | 2001-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 | |||
| 10328 | 2001-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 | |||
| 10334 | 2001-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 | |||
| 10343 | 2001-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 | |||
| 10359 | 2001-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 | |||
| 10365 | 2001-12-04 Bill Wohler <wohler@newt.com> | ||
| 10366 | |||
| 10367 | * mh-e.el (mh-folder-map): Added "S" for `mh-sort-folder'. | ||
| 10368 | |||
| 10369 | 2001-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 | |||
| 10380 | 2001-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 | |||
| 10388 | 2001-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 | |||
| 10395 | 2001-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 | |||
| 10405 | 2001-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 | |||
| 10447 | 2001-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 | |||
| 10455 | 2001-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 | |||
| 10461 | 2001-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 | |||
| 10467 | 2001-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 | |||
| 10484 | 2001-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 | |||
| 10540 | 2001-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 | |||
| 10556 | 2001-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 | |||
| 10563 | 2001-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 | |||
| 10613 | 2001-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 | |||
| 10622 | 2001-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 | |||
| 10630 | 2001-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 | |||
| 10635 | 2001-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 | |||
| 10640 | 2001-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 | |||
| 10662 | 2001-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 | |||
| 10672 | 2001-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 | |||
| 10681 | 2001-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 | |||
| 10688 | 2001-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 | |||
| 10694 | 2001-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 | |||
| 10701 | 2001-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 | |||
| 10725 | 2001-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 | |||
| 10734 | 2001-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 | |||
| 10741 | 2001-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 | |||
| 10766 | 2001-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 | |||
| 10773 | 2001-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 | |||
| 10778 | 2001-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 | |||
| 10783 | 2001-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 | |||
| 10804 | 2001-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 | |||
| 10823 | 2001-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 | |||
| 10834 | 2001-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 | |||
| 10850 | 2001-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 | |||
| 10857 | 2001-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 | |||
| 10862 | 2001-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 | |||
| 10877 | 2001-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 | |||
| 10917 | 2001-11-20 Eric Ding <ericding@alum.mit.edu> | ||
| 10918 | |||
| 10919 | * mh-utils.el (mh-show-from-face): Fix typo in defface | ||
| 10920 | |||
| 10921 | 2001-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 | |||
| 10937 | 2001-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 | |||
| 10964 | 2001-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 | |||
| 10990 | 2001-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 | |||
| 10996 | 2001-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 | |||
| 11006 | 2001-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 | |||
| 11017 | 2001-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 | |||
| 11043 | 2001-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 | |||
| 11050 | 2001-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 | |||
| 11057 | 2001-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 | |||
| 11067 | 2001-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 | |||
| 11074 | 2001-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 | |||
| 11084 | 2001-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 | |||
| 11089 | 2001-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 | |||
| 11094 | 2001-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 | |||
| 11099 | 2001-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 | |||
| 11106 | 2001-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 | |||
| 11115 | 2001-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 | |||
| 11121 | 2001-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 | |||
| 11128 | 2001-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 | |||
| 11133 | 2001-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 | |||
| 11146 | 2001-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 | |||
| 11151 | 2001-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 | |||
| 11157 | 2001-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 | |||
| 11162 | 2001-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 | |||
| 11170 | 2001-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 | |||
| 11187 | 2001-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 | |||
| 11197 | 2001-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 | |||
| 11205 | 2001-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 | |||
| 11217 | 2001-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 | |||
| 11225 | 2001-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 | |||
| 11231 | 2001-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 | |||
| 11243 | 2001-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 | |||
| 11252 | 2001-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 | |||
| 11259 | 2001-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 | |||
| 11264 | 2001-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 | |||
| 11275 | 2001-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 | |||
| 11280 | 2001-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 | |||
| 11288 | 2001-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 | |||
| 11297 | 2001-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 | |||
| 11303 | 2001-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 | |||
| 11311 | 2001-04-14 chad brown <y@mit.edu> | ||
| 11312 | |||
| 11313 | Rearrange the font-lock keywords a bit. | ||
| 11314 | |||
| 11315 | 2001-04-12 chad brown <y@mit.edu> | ||
| 11316 | 13 | ||
| 11317 | Preliminary (somewhat boring) font-lock support for mh-e. More | 14 | 2005-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 | ||
| 11321 | 2001-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 | ||
| 11326 | 2001-02-19 Bill Wohler <wohler@newt.com> | 23 | 2005-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 @@ | |||
| 1 | 2005-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 | |||
| 12 | 2005-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 | |||
| 22 | 2005-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 | |||
| 121 | 2005-09-24 Bill Wohler <wohler@newt.com> | ||
| 122 | |||
| 123 | * mh-unit.el (mh-unit): Changed lm-verify test to Emacs 22. | ||
| 124 | |||
| 125 | 2005-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 | |||
| 148 | 2005-07-19 Bill Wohler <wohler@newt.com> | ||
| 149 | |||
| 150 | * README (INSTALL): Added info for Mac users. | ||
| 151 | |||
| 152 | 2005-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 | |||
| 158 | 2005-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 | |||
| 164 | 2005-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 | |||
| 170 | 2005-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 | |||
| 177 | 2005-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 | |||
| 185 | 2005-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 | |||
| 192 | 2005-05-28 Bill Wohler <wohler@newt.com> | ||
| 193 | |||
| 194 | * mh-e.el (Version, mh-version): Added +cvs to version. | ||
| 195 | |||
| 196 | 2005-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 | |||
| 204 | 2005-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 | |||
| 255 | 2005-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 | |||
| 270 | 2005-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 | |||
| 275 | 2005-05-05 Bill Wohler <wohler@newt.com> | ||
| 276 | |||
| 277 | * mh-e.el (Version, mh-version): Added +cvs to release number. | ||
| 278 | |||
| 279 | 2005-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 | |||
| 287 | 2005-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 | |||
| 294 | 2005-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 | |||
| 311 | 2005-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 | |||
| 323 | 2005-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 | |||
| 330 | 2005-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 | |||
| 352 | 2005-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 | |||
| 357 | 2005-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 | |||
| 365 | 2005-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 | |||
| 370 | 2005-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 | |||
| 388 | 2005-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 | |||
| 396 | 2005-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 | |||
| 401 | 2005-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 | |||
| 408 | 2005-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 | |||
| 414 | 2004-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 | |||
| 422 | 2004-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 | |||
| 428 | 2004-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 | |||
| 434 | 2004-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 | |||
| 439 | 2004-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 | |||
| 460 | 2004-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 | |||
| 465 | 2004-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 | |||
| 475 | 2004-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 | |||
| 487 | 2004-08-24 Bill Wohler <wohler@newt.com> | ||
| 488 | |||
| 489 | * mh-e.el (Version, mh-version): Added +cvs to release number. | ||
| 490 | |||
| 491 | 2004-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 | |||
| 499 | 2004-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 | |||
| 505 | 2004-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 | |||
| 522 | 2004-08-21 Bill Wohler <wohler@newt.com> | ||
| 523 | |||
| 524 | * mh-e.el (Version, mh-version): Add +cvs to release number. | ||
| 525 | |||
| 526 | 2004-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 | |||
| 534 | 2004-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 | |||
| 540 | 2004-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 | |||
| 546 | 2004-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 | |||
| 553 | 2004-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 | |||
| 559 | 2004-08-15 Bill Wohler <wohler@newt.com> | ||
| 560 | |||
| 561 | * mh-e.el (Version, mh-version): Added +cvs to release number. | ||
| 562 | |||
| 563 | 2004-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 | |||
| 571 | 2004-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 | |||
| 578 | 2004-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 | |||
| 594 | 2004-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 | |||
| 605 | 2004-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 | |||
| 615 | 2004-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 | |||
| 624 | 2004-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 | |||
| 644 | 2004-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 | |||
| 651 | 2004-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 | |||
| 656 | 2004-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 | |||
| 697 | 2004-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 | |||
| 725 | 2004-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 | |||
| 734 | 2004-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 | |||
| 742 | 2004-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 | |||
| 748 | 2004-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 | |||
| 799 | 2004-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 | |||
| 888 | 2004-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 | |||
| 894 | 2004-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 | |||
| 900 | 2004-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 | |||
| 906 | 2004-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 | |||
| 911 | 2004-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 | |||
| 917 | 2004-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 | |||
| 924 | 2004-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 | |||
| 929 | 2004-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 | |||
| 938 | 2003-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 | |||
| 949 | 2003-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 | |||
| 956 | 2003-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 | |||
| 963 | 2003-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 | |||
| 968 | 2003-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 | |||
| 980 | 2003-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 | |||
| 990 | 2003-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 | |||
| 1002 | 2003-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 | |||
| 1010 | 2003-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 | |||
| 1028 | 2003-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 | |||
| 1039 | 2003-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 | |||
| 1050 | 2003-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 | |||
| 1055 | 2003-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 | |||
| 1061 | 2003-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 | |||
| 1085 | 2003-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 | |||
| 1094 | 2003-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 | |||
| 1106 | 2003-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 | |||
| 1112 | 2003-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 | |||
| 1124 | 2003-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 | |||
| 1131 | 2003-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 | |||
| 1153 | 2003-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 | |||
| 1163 | 2003-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 | |||
| 1168 | 2003-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 | |||
| 1183 | 2003-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 | |||
| 1191 | 2003-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 | |||
| 1199 | 2003-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 | |||
| 1212 | 2003-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 | |||
| 1224 | 2003-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 | |||
| 1245 | 2003-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 | |||
| 1252 | 2003-10-22 Satyaki Das <satyakid@stanford.edu> | ||
| 1253 | |||
| 1254 | * mh-speed.el (timer): Avoid compiler warning in XEmacs. | ||
| 1255 | |||
| 1256 | 2003-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 | |||
| 1297 | 2003-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 | |||
| 1303 | 2003-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 | |||
| 1313 | 2003-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 | |||
| 1319 | 2003-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 | |||
| 1352 | 2003-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 | |||
| 1357 | 2003-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 | |||
| 1376 | 2003-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 | |||
| 1387 | 2003-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 | |||
| 1406 | 2003-10-04 Mark D Baushke <mdb@gnu.org> | ||
| 1407 | |||
| 1408 | * mh-comp.el (mh-letter-menu): Simplify menu heading. | ||
| 1409 | |||
| 1410 | 2003-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 | |||
| 1438 | 2003-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 | |||
| 1456 | 2003-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 | |||
| 1462 | 2003-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 | |||
| 1482 | 2003-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 | |||
| 1527 | 2003-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 | |||
| 1538 | 2003-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 | |||
| 1568 | 2003-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 | |||
| 1576 | 2003-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 | |||
| 1587 | 2003-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 | |||
| 1594 | 2003-09-18 Peter S Galbraith <psg@debian.org> | ||
| 1595 | |||
| 1596 | * mh-comp.el (mh-insert-fields): Make sure field has a colon. | ||
| 1597 | |||
| 1598 | 2003-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 | |||
| 1605 | 2003-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 | |||
| 1610 | 2003-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 | |||
| 1615 | 2003-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 | |||
| 1620 | 2003-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 | |||
| 1626 | 2003-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 | |||
| 1631 | 2003-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 | |||
| 1646 | 2003-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 | |||
| 1654 | 2003-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 | |||
| 1661 | 2003-09-05 Peter S Galbraith <psg@debian.org> | ||
| 1662 | |||
| 1663 | * mh-e.el (mh-version): Bumped version number to 7.4.2+cvs. | ||
| 1664 | |||
| 1665 | 2003-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 | |||
| 1685 | 2003-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 | |||
| 1690 | 2003-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 | |||
| 1696 | 2003-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 | |||
| 1704 | 2003-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 | |||
| 1715 | 2003-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 | |||
| 1731 | 2003-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 | |||
| 1758 | 2003-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 | |||
| 1779 | 2003-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 | |||
| 1798 | 2003-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 | |||
| 1807 | 2003-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 | |||
| 1820 | 2003-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 | |||
| 1832 | 2003-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 | |||
| 1860 | 2003-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 | |||
| 1874 | 2003-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 | |||
| 1884 | 2003-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 | |||
| 1889 | 2003-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 | |||
| 1895 | 2003-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 | |||
| 1904 | 2003-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 | |||
| 1912 | 2003-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 | |||
| 1937 | 2003-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 | |||
| 1955 | 2003-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 | |||
| 1966 | 2003-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 | |||
| 1973 | 2003-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 | |||
| 2025 | 2003-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 | |||
| 2050 | 2003-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 | |||
| 2058 | 2003-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 | |||
| 2063 | 2003-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 | |||
| 2079 | 2003-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 | |||
| 2087 | 2003-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 | |||
| 2116 | 2003-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 | |||
| 2127 | 2003-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 | |||
| 2142 | 2003-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 | |||
| 2166 | 2003-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 | |||
| 2177 | 2003-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 | |||
| 2187 | 2003-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 | |||
| 2231 | 2003-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 | |||
| 2246 | 2003-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 | |||
| 2261 | 2003-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 | |||
| 2274 | 2003-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 | |||
| 2290 | 2003-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 | |||
| 2311 | 2003-08-04 Satyaki Das <satyakid@stanford.edu> | ||
| 2312 | |||
| 2313 | * mh-e.el (mh-scan-folder): Handle ranges from user input properly. | ||
| 2314 | |||
| 2315 | 2003-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 | |||
| 2344 | 2003-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 | |||
| 2349 | 2003-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 | |||
| 2361 | 2003-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 | |||
| 2374 | 2003-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 | |||
| 2382 | 2003-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 | |||
| 2404 | 2003-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 | |||
| 2409 | 2003-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 | |||
| 2418 | 2003-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 | |||
| 2424 | 2003-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 | |||
| 2455 | 2003-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 | |||
| 2488 | 2003-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 | |||
| 2503 | 2003-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 | |||
| 2510 | 2003-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 | |||
| 2529 | 2003-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 | |||
| 2534 | 2003-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 | |||
| 2544 | 2003-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 | |||
| 2560 | 2003-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 | |||
| 2569 | 2003-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 | |||
| 2580 | 2003-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 | |||
| 2590 | 2003-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 | |||
| 2602 | 2003-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 | |||
| 2612 | 2003-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 | |||
| 2620 | 2003-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 | |||
| 2653 | 2003-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 | |||
| 2659 | 2003-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 | |||
| 2682 | 2003-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 | |||
| 2689 | 2003-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 | |||
| 2698 | 2003-06-24 Bill Wohler <wohler@newt.com> | ||
| 2699 | |||
| 2700 | * mh-e.el (Version, mh-version): Set to 7.4.1+cvs. | ||
| 2701 | |||
| 2702 | 2003-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 | |||
| 2710 | 2003-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 | |||
| 2720 | 2003-06-24 Bill Wohler <wohler@newt.com> | ||
| 2721 | |||
| 2722 | * mh-e.el (Version, mh-version): Set to 7.4+cvs. | ||
| 2723 | |||
| 2724 | 2003-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 | |||
| 2732 | 2003-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 | |||
| 2760 | 2003-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 | |||
| 2768 | 2003-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 | |||
| 2779 | 2003-06-13 Bill Wohler <wohler@newt.com> | ||
| 2780 | |||
| 2781 | * mh-index.el (mh-flists-execute): Needed to expand mhpath too. | ||
| 2782 | |||
| 2783 | 2003-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 | |||
| 2788 | 2003-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 | |||
| 2794 | 2003-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 | |||
| 2801 | 2003-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 | |||
| 2807 | 2003-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 | |||
| 2814 | 2003-06-05 Bill Wohler <wohler@newt.com> | ||
| 2815 | |||
| 2816 | * mh-customize.el (mh-identity-list): Fixed typo in docstring. | ||
| 2817 | |||
| 2818 | 2003-06-05 Peter S Galbraith <psg@debian.org> | ||
| 2819 | |||
| 2820 | * mh-comp.el (mh-letter-complete-function-alist): Add bcc an reply-to. | ||
| 2821 | |||
| 2822 | 2003-06-04 Peter S Galbraith <psg@debian.org> | ||
| 2823 | |||
| 2824 | * mh-comp.el (mh-letter-complete-function-alist): Add dcc. | ||
| 2825 | |||
| 2826 | 2003-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 | |||
| 2852 | 2003-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 | |||
| 2860 | 2003-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 | |||
| 2881 | 2003-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 | |||
| 2899 | 2003-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 | |||
| 2919 | 2003-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 | |||
| 2937 | 2003-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 | |||
| 2942 | 2003-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 | |||
| 2953 | 2003-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 | |||
| 2962 | 2003-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 | |||
| 2977 | 2003-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 | |||
| 2985 | 2003-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 | |||
| 2990 | 2003-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 | |||
| 3006 | 2003-05-30 Satyaki Das <satyakid@stanford.edu> | ||
| 3007 | |||
| 3008 | * mh-comp.el (mh-letter-mode): Skip over invisible text quickly. | ||
| 3009 | |||
| 3010 | 2003-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 | |||
| 3019 | 2003-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 | |||
| 3039 | 2003-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 | |||
| 3044 | 2003-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 | |||
| 3050 | 2003-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 | |||
| 3074 | 2003-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 | |||
| 3083 | 2003-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 | |||
| 3096 | 2003-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 | |||
| 3102 | 2003-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 | |||
| 3111 | 2003-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 | |||
| 3120 | 2003-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 | |||
| 3130 | 2003-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 | |||
| 3142 | 2003-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 | |||
| 3167 | 2003-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 | |||
| 3189 | 2003-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 | |||
| 3211 | 2003-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 | |||
| 3216 | 2003-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 | |||
| 3226 | 2003-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 | |||
| 3235 | 2003-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 | |||
| 3249 | 2003-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 | |||
| 3263 | 2003-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 | |||
| 3326 | 2003-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 | |||
| 3332 | 2003-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 | |||
| 3343 | 2003-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 | |||
| 3353 | 2003-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 | |||
| 3359 | 2003-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 | |||
| 3377 | 2003-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 | |||
| 3385 | 2003-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 | |||
| 3394 | 2003-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 | |||
| 3409 | 2003-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 | |||
| 3414 | 2003-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 | |||
| 3422 | 2003-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 | |||
| 3461 | 2003-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 | |||
| 3466 | 2003-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 | |||
| 3494 | 2003-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 | |||
| 3500 | 2003-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 | |||
| 3516 | 2003-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 | |||
| 3523 | 2003-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 | |||
| 3529 | 2003-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 | |||
| 3537 | 2003-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 | |||
| 3542 | 2003-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 | |||
| 3568 | 2003-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 | |||
| 3574 | 2003-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 | |||
| 3580 | 2003-05-01 Satyaki Das <satyakid@stanford.edu> | ||
| 3581 | |||
| 3582 | * mh-loaddefs.el: Regenerated. | ||
| 3583 | |||
| 3584 | * mh-seq.el (mh-read-range): Fix comment. | ||
| 3585 | |||
| 3586 | 2003-04-30 Mark D. Baushke <mdb@gnu.org> | ||
| 3587 | |||
| 3588 | * mh-e.el (mh-help-messages): Better documentation for the F map. | ||
| 3589 | |||
| 3590 | 2003-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 | |||
| 3605 | 2003-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 | |||
| 3615 | 2003-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 | |||
| 3644 | 2003-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 | |||
| 3650 | 2003-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 | |||
| 3665 | 2003-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 | |||
| 3672 | 2003-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 | |||
| 3692 | 2003-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 | |||
| 3700 | 2003-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 | |||
| 3707 | 2003-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 | |||
| 3735 | 2003-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 | |||
| 3742 | 2003-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 | |||
| 3813 | 2003-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 | |||
| 3831 | 2003-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 | |||
| 3839 | 2003-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 | |||
| 3847 | 2003-04-24 Satyaki Das <satyakid@stanford.edu> | ||
| 3848 | |||
| 3849 | * mh-unit.el (mh-files): Fix the list of files to check. | ||
| 3850 | |||
| 3851 | 2003-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 | |||
| 3880 | 2003-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 | |||
| 3896 | 2003-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 | |||
| 3904 | 2003-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 | |||
| 3916 | 2003-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 | |||
| 3925 | 2003-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 | |||
| 3935 | 2003-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 | |||
| 3945 | 2003-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 | |||
| 3953 | 2003-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 | |||
| 3958 | 2003-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 | |||
| 3995 | 2003-04-11 Satyaki Das <satyaki@theforce.stanford.edu> | ||
| 3996 | |||
| 3997 | * mh-seq.el (mh-iterate-on-msg-or-seq): Add a missed comma. | ||
| 3998 | |||
| 3999 | 2003-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 | |||
| 4011 | 2003-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 | |||
| 4023 | 2003-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 | |||
| 4034 | 2003-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 | |||
| 4048 | 2003-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 | |||
| 4058 | 2003-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 | |||
| 4071 | 2003-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 | |||
| 4077 | 2003-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 | |||
| 4107 | 2003-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 | |||
| 4122 | 2003-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 | |||
| 4147 | 2003-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 | |||
| 4194 | 2003-04-05 Peter S Galbraith <psg@debian.org> | ||
| 4195 | |||
| 4196 | * mh-loaddefs.el: Regenerated. | ||
| 4197 | * mh-funcs.el (mh-ephem-message): autoload. | ||
| 4198 | |||
| 4199 | 2003-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 | |||
| 4204 | 2003-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 | |||
| 4209 | 2003-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 | |||
| 4214 | 2003-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 | |||
| 4249 | 2003-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 | |||
| 4257 | 2003-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 | |||
| 4262 | 2003-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 | |||
| 4269 | 2003-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 | |||
| 4291 | 2003-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 | |||
| 4298 | 2003-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 | |||
| 4307 | 2003-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 | |||
| 4312 | 2003-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 | |||
| 4322 | 2003-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 | |||
| 4340 | 2003-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 | |||
| 4347 | 2003-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 | |||
| 4353 | 2003-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 | |||
| 4366 | 2003-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 | |||
| 4371 | 2003-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 | |||
| 4380 | 2003-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 | |||
| 4390 | 2003-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 | |||
| 4400 | 2003-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 | |||
| 4424 | 2003-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 | |||
| 4453 | 2003-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 | |||
| 4477 | 2003-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 | |||
| 4498 | 2003-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 | |||
| 4503 | 2003-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 | |||
| 4517 | 2003-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 | |||
| 4526 | 2003-03-21 Bill Wohler <wohler@newt.com> | ||
| 4527 | |||
| 4528 | * mh-customize.el (mh-invisible-header-fields): Added X-Bogosity | ||
| 4529 | for bogofilter. | ||
| 4530 | |||
| 4531 | 2003-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 | |||
| 4567 | 2003-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 | |||
| 4572 | 2003-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 | |||
| 4578 | 2003-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 | |||
| 4589 | 2003-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 | |||
| 4632 | 2003-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 | |||
| 4642 | 2003-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 | |||
| 4649 | 2003-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 | |||
| 4663 | 2003-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 | |||
| 4671 | 2003-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 | |||
| 4676 | 2003-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 | |||
| 4692 | 2003-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 | |||
| 4698 | 2003-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 | |||
| 4752 | 2003-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 | |||
| 4762 | 2003-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 | |||
| 4774 | 2003-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 | |||
| 4781 | 2003-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 | |||
| 4793 | 2003-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 | |||
| 4804 | 2003-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 | |||
| 4819 | 2003-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 | |||
| 4831 | 2003-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 | |||
| 4837 | 2003-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 | |||
| 4850 | 2003-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 | |||
| 4861 | 2003-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 | |||
| 4869 | 2003-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 | |||
| 4882 | 2003-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 | |||
| 4888 | 2003-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 | |||
| 4894 | 2003-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 | |||
| 4899 | 2003-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 | |||
| 4908 | 2003-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 | |||
| 4916 | 2003-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 | |||
| 4931 | 2003-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 | |||
| 4964 | 2003-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 | |||
| 4999 | 2003-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 | |||
| 5017 | 2003-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 | |||
| 5035 | 2003-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 | |||
| 5042 | 2003-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 | |||
| 5052 | 2003-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 | |||
| 5074 | 2003-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 | |||
| 5118 | 2003-02-14 Ville Skyttä <scop@xemacs.org> | ||
| 5119 | |||
| 5120 | * mh-comp.el: Add autoloaded auto-mode-alist association. | ||
| 5121 | |||
| 5122 | 2003-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 | |||
| 5127 | 2003-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 | |||
| 5137 | 2003-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 | |||
| 5148 | 2003-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 | |||
| 5154 | 2003-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 | |||
| 5160 | 2003-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 | |||
| 5179 | 2003-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 | |||
| 5190 | 2003-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 | |||
| 5199 | 2003-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 | |||
| 5212 | 2003-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 | |||
| 5221 | 2003-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 | |||
| 5231 | 2003-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 | |||
| 5240 | 2003-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 | |||
| 5247 | 2003-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 | |||
| 5255 | 2003-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 | |||
| 5261 | 2003-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 | |||
| 5270 | 2003-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 | |||
| 5286 | 2003-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 | |||
| 5295 | 2003-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 | |||
| 5314 | 2003-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 | |||
| 5331 | 2003-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 | |||
| 5351 | 2003-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 | |||
| 5362 | 2003-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 | |||
| 5383 | 2003-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 | |||
| 5389 | 2003-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 | |||
| 5397 | 2003-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 | |||
| 5404 | 2003-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 | |||
| 5409 | 2003-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 | |||
| 5415 | 2003-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 | |||
| 5420 | 2003-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 | |||
| 5444 | 2003-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 | |||
| 5449 | 2003-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 | |||
| 5469 | 2003-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 | |||
| 5498 | 2003-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 | |||
| 5512 | 2003-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 | |||
| 5517 | 2003-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 | |||
| 5530 | 2003-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 | |||
| 5536 | 2003-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 | |||
| 5544 | 2003-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 | |||
| 5588 | 2003-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 | |||
| 5626 | 2003-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 | |||
| 5632 | 2003-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 | |||
| 5639 | 2003-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 | |||
| 5644 | 2003-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 | |||
| 5649 | 2003-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 | |||
| 5685 | 2003-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 | |||
| 5701 | 2003-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 | |||
| 5708 | 2003-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 | |||
| 5714 | 2003-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 | |||
| 5735 | 2003-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 | |||
| 5741 | 2003-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 | |||
| 5761 | 2003-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 | |||
| 5766 | 2003-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 | |||
| 5785 | 2003-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 | |||
| 5800 | 2003-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 | |||
| 5828 | 2003-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 | |||
| 5863 | 2003-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 | |||
| 5897 | 2003-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 | |||
| 5930 | 2003-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 | |||
| 5977 | 2003-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 | |||
| 6030 | 2003-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 | |||
| 6049 | 2003-01-07 Bill Wohler <wohler@newt.com> | ||
| 6050 | |||
| 6051 | * mh-e.el (Version, mh-version): Set to 7.1+cvs. | ||
| 6052 | |||
| 6053 | 2003-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 | |||
| 6061 | 2003-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 | |||
| 6071 | 2003-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 | |||
| 6103 | 2003-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 | |||
| 6110 | 2003-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 | |||
| 6118 | 2002-12-28 Satyaki Das <satyaki@theforce.stanford.edu> | ||
| 6119 | |||
| 6120 | * mh-index.el (mh-namazu-execute-search): Fix bug in documentation. | ||
| 6121 | |||
| 6122 | 2002-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 | |||
| 6135 | 2002-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 | |||
| 6144 | 2002-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 | |||
| 6162 | 2002-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 | |||
| 6168 | 2002-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 | |||
| 6182 | 2002-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 | |||
| 6203 | 2002-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 | |||
| 6223 | 2002-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 | |||
| 6229 | 2002-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 | |||
| 6234 | 2002-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 | |||
| 6241 | 2002-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 | |||
| 6253 | 2002-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 | |||
| 6275 | 2002-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 | |||
| 6298 | 2002-12-19 Peter S Galbraith <psg@debian.org> | ||
| 6299 | |||
| 6300 | * mh-alias.el (mh-alias-add-alias): Bug fix. | ||
| 6301 | |||
| 6302 | 2002-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 | |||
| 6340 | 2002-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 | |||
| 6351 | 2002-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 | |||
| 6376 | 2002-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 | |||
| 6398 | 2002-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 | |||
| 6454 | 2002-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 | |||
| 6460 | 2002-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 | |||
| 6544 | 2002-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 | |||
| 6571 | 2002-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 | |||
| 6584 | 2002-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 | |||
| 6608 | 2002-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 | |||
| 6623 | 2002-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 | |||
| 6647 | 2002-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 | |||
| 6657 | 2002-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 | |||
| 6667 | 2002-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 | |||
| 6678 | 2002-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 | |||
| 6688 | 2002-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 | |||
| 6696 | 2002-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 | |||
| 6703 | 2002-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 | |||
| 6709 | 2002-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 | |||
| 6724 | 2002-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 | |||
| 6742 | 2002-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 | |||
| 6748 | 2002-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 | |||
| 6768 | 2002-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 | |||
| 6776 | 2002-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 | |||
| 6781 | 2002-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 | |||
| 6786 | 2002-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 | |||
| 6796 | 2002-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 | |||
| 6817 | 2002-12-03 Bill Wohler <wohler@newt.com> | ||
| 6818 | |||
| 6819 | * Makefile (MH-E-SRC, emacs): | ||
| 6820 | |||
| 6821 | 2002-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 | |||
| 6841 | 2002-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 | |||
| 6849 | 2002-12-03 Bill Wohler <wohler@newt.com> | ||
| 6850 | |||
| 6851 | * mh-customize.el (mh-show-threads-flag): Alphabetized. | ||
| 6852 | |||
| 6853 | 2002-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 | |||
| 6858 | 2002-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 | |||
| 6863 | 2002-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 | |||
| 6869 | 2002-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 | |||
| 6882 | 2002-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 | |||
| 6892 | 2002-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 | |||
| 6919 | 2002-12-02 Bill Wohler <wohler@newt.com> | ||
| 6920 | |||
| 6921 | * Makefile (mh-loaddefs.el): Suppress creation of backup file. | ||
| 6922 | |||
| 6923 | 2002-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 | |||
| 6939 | 2002-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 | |||
| 6950 | 2002-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 | |||
| 6968 | 2002-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 | |||
| 7003 | 2002-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 | |||
| 7026 | 2002-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 | |||
| 7073 | 2002-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 | |||
| 7108 | 2002-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 | |||
| 7140 | 2002-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 | |||
| 7147 | 2002-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 | |||
| 7156 | 2002-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 | |||
| 7161 | 2002-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 | |||
| 7172 | 2002-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 | |||
| 7180 | 2002-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 | |||
| 7185 | 2002-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 | |||
| 7196 | 2002-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 | |||
| 7209 | 2002-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 | |||
| 7215 | 2002-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 | |||
| 7238 | 2002-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 | |||
| 7243 | 2002-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 | |||
| 7249 | 2002-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 | |||
| 7255 | 2002-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 | |||
| 7267 | 2002-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 | |||
| 7278 | 2002-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 | |||
| 7283 | 2002-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 | |||
| 7289 | 2002-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 | |||
| 7300 | 2002-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 | |||
| 7305 | 2002-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 | |||
| 7310 | 2002-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 | |||
| 7332 | 2002-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 | |||
| 7357 | 2002-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 | |||
| 7402 | 2002-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 | |||
| 7411 | 2002-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 | |||
| 7424 | 2002-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 | |||
| 7478 | 2002-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 | |||
| 7486 | 2002-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 | |||
| 7498 | 2002-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 | |||
| 7506 | 2002-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 | |||
| 7529 | 2002-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 | |||
| 7535 | 2002-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 | |||
| 7543 | 2002-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 | |||
| 7564 | 2002-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 | |||
| 7572 | 2002-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 | |||
| 7586 | 2002-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 | |||
| 7593 | 2002-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 | |||
| 7600 | 2002-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 | |||
| 7608 | 2002-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 | |||
| 7639 | 2002-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 | |||
| 7644 | 2002-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 | |||
| 7653 | 2002-11-04 Eric Ding <eding@rational.com> | ||
| 7654 | |||
| 7655 | * mh-comp.el (mh-rejected-letter-start): add another string | ||
| 7656 | |||
| 7657 | 2002-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 | |||
| 7662 | 2002-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 | |||
| 7668 | 2002-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 | |||
| 7677 | 2002-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 | |||
| 7684 | 2002-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 | |||
| 7692 | 2002-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 | |||
| 7699 | 2002-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 | |||
| 7738 | 2002-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 | |||
| 7766 | 2002-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 | |||
| 7772 | 2002-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 | |||
| 7795 | 2002-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 | |||
| 7804 | 2002-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 | |||
| 7812 | 2002-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 | |||
| 7817 | 2002-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 | |||
| 7835 | 2002-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 | |||
| 7843 | 2002-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 | |||
| 7849 | 2002-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 | |||
| 7856 | 2002-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 | |||
| 7868 | 2002-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 | |||
| 7875 | 2002-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 | |||
| 7884 | 2002-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 | |||
| 7890 | 2002-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 | |||
| 7898 | 2002-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 | |||
| 7908 | 2002-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 | |||
| 7928 | 2002-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 | |||
| 7938 | 2002-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 | |||
| 7944 | 2002-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 | |||
| 7951 | 2002-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 | |||
| 7956 | 2002-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 | |||
| 7976 | 2002-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 | |||
| 7982 | 2002-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 | |||
| 7987 | 2002-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 | |||
| 7996 | 2002-10-27 Steve Youngs <youngs@xemacs.org> | ||
| 7997 | |||
| 7998 | * .cvsignore: New file. | ||
| 7999 | |||
| 8000 | 2002-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 | |||
| 8031 | 2002-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 | |||
| 8046 | 2002-10-26 Satyaki Das <satyaki@theforce.stanford.edu> | ||
| 8047 | |||
| 8048 | * mh-e.el (mh-last-msg): Add call to mh-recenter. | ||
| 8049 | |||
| 8050 | 2002-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 | |||
| 8057 | 2002-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 | |||
| 8069 | 2002-10-26 Peter S Galbraith <psg@debian.org> | ||
| 8070 | |||
| 8071 | * mh-comp.el (mh-insert-mail-followup-to): Fix for new defcustom. | ||
| 8072 | |||
| 8073 | 2002-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 | |||
| 8081 | 2002-10-26 Bill Wohler <wohler@newt.com> | ||
| 8082 | |||
| 8083 | * mh-utils.el (mh-invisible-headers): Added Mail-Followup-To. | ||
| 8084 | |||
| 8085 | 2002-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 | |||
| 8090 | 2002-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 | |||
| 8111 | 2002-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 | |||
| 8126 | 2002-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 | |||
| 8149 | 2002-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 | |||
| 8165 | 2002-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 | |||
| 8193 | 2002-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 | |||
| 8234 | 2002-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 | |||
| 8246 | 2002-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 | |||
| 8317 | 2002-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 | |||
| 8323 | 2002-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 | |||
| 8330 | 2002-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 | |||
| 8336 | 2002-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 | |||
| 8350 | 2002-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 | |||
| 8356 | 2002-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 | |||
| 8361 | 2002-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 | |||
| 8386 | 2002-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 | |||
| 8392 | 2002-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 | |||
| 8472 | 2002-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 | |||
| 8481 | 2002-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 | |||
| 8488 | 2002-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 | |||
| 8494 | 2002-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 | |||
| 8503 | 2002-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 | |||
| 8509 | 2002-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 | |||
| 8530 | 2002-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 | |||
| 8560 | 2002-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 | |||
| 8568 | 2002-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 | |||
| 8574 | 2002-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 | |||
| 8581 | 2002-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 | |||
| 8587 | 2002-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 | |||
| 8592 | 2002-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 | |||
| 8603 | 2002-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 | |||
| 8608 | 2002-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 | |||
| 8615 | 2002-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 | |||
| 8626 | 2002-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 | |||
| 8642 | 2002-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 | |||
| 8669 | 2002-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 | |||
| 8675 | 2002-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 | |||
| 8691 | 2002-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 | |||
| 8711 | 2002-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 | |||
| 8721 | 2002-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 | |||
| 8734 | 2002-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 | |||
| 8741 | 2002-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 | |||
| 8751 | 2002-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 | |||
| 8761 | 2002-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 | |||
| 8769 | 2002-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 | |||
| 8777 | 2002-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 | |||
| 8783 | 2002-10-18 Mark D Baushke <mdb@gnu.org> | ||
| 8784 | |||
| 8785 | * mh-utils.el (mh-invisible-headers): Add more anti-spam headers. | ||
| 8786 | |||
| 8787 | 2002-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 | |||
| 8794 | 2002-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 | |||
| 8813 | 2002-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 | |||
| 8818 | 2002-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 | |||
| 8824 | 2002-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 | |||
| 8846 | 2002-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 | |||
| 8854 | 2002-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 | |||
| 8867 | 2002-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 | |||
| 8912 | 2002-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 | |||
| 8930 | 2002-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 | |||
| 8948 | 2002-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 | |||
| 8953 | 2002-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 | |||
| 8990 | 2002-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 | |||
| 9003 | 2002-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 | |||
| 9009 | 2002-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 | |||
| 9014 | 2002-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 | |||
| 9020 | 2002-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 | |||
| 9039 | 2002-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 | |||
| 9053 | 2002-10-11 Satyaki Das <satyaki@theforce.stanford.edu> | ||
| 9054 | |||
| 9055 | * mh-seq.el (mh-thread-generate): Kill dead code. | ||
| 9056 | |||
| 9057 | 2002-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 | |||
| 9085 | 2002-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 | |||
| 9094 | 2002-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 | |||
| 9100 | 2002-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 | |||
| 9107 | 2002-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 | |||
| 9115 | 2002-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 | |||
| 9121 | 2002-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 | |||
| 9126 | 2002-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 | |||
| 9132 | 2002-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 | |||
| 9150 | 2002-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 | |||
| 9163 | 2002-10-08 Peter S Galbraith <psg@debian.org> | ||
| 9164 | |||
| 9165 | * mh-e.el (mh-folder-folder-menu): Add entry for "Thread Folder". | ||
| 9166 | |||
| 9167 | 2002-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 | |||
| 9176 | 2002-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 | |||
| 9189 | 2002-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 | |||
| 9194 | 2002-10-02 Satyaki Das <satyaki@theforce.stanford.edu> | ||
| 9195 | |||
| 9196 | * mh-mime.el (mh-insert-mime-button): Rewrite without using | ||
| 9197 | replace-match. | ||
| 9198 | |||
| 9199 | 2002-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 | |||
| 9204 | 2002-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 | |||
| 9211 | 2002-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 | |||
| 9225 | 2002-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 | |||
| 9236 | 2002-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 | |||
| 9253 | 2002-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 | |||
| 9260 | 2002-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 | |||
| 9266 | 2002-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 | |||
| 9276 | 2002-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 | |||
| 9283 | 2002-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 | |||
| 9290 | 2002-09-16 Peter S Galbraith <psg@debian.org> | ||
| 9291 | |||
| 9292 | * mh-comp.el (mail-citation-hook): Doc tweaks suggested by Bill. | ||
| 9293 | |||
| 9294 | 2002-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 | |||
| 9299 | 2002-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 | |||
| 9313 | 2002-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 | |||
| 9325 | 2002-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 | |||
| 9341 | 2002-08-17 Satyaki Das <satyaki@theforce.stanford.edu> | ||
| 9342 | |||
| 9343 | * mh-comp.el (compilation-fix): Reorder defvars to avoid warnings | ||
| 9344 | during compilation. | ||
| 9345 | |||
| 9346 | 2002-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 | |||
| 9360 | 2002-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 | |||
| 9366 | 2002-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 | |||
| 9378 | 2002-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 | |||
| 9389 | 2002-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 | |||
| 9399 | 2002-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 | |||
| 9405 | 2002-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 | |||
| 9410 | 2002-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 | |||
| 9427 | 2002-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 | |||
| 9432 | 2002-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 | |||
| 9444 | 2002-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 | |||
| 9452 | 2002-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 | |||
| 9459 | 2002-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 | |||
| 9467 | 2002-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 | |||
| 9492 | 2002-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 | |||
| 9507 | 2002-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 | |||
| 9512 | 2002-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 | |||
| 9517 | 2002-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 | |||
| 9523 | 2002-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 | |||
| 9531 | 2002-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 | |||
| 9538 | 2002-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 | |||
| 9557 | 2002-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 | |||
| 9576 | 2002-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 | |||
| 9581 | 2002-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 | |||
| 9608 | 2002-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 | |||
| 9614 | 2002-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 | |||
| 9632 | 2002-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 | |||
| 9651 | 2002-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 | |||
| 9666 | 2002-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 | |||
| 9700 | 2002-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 | |||
| 9711 | 2002-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 | |||
| 9721 | 2002-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 | |||
| 9728 | 2002-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 | |||
| 9734 | 2002-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 | |||
| 9747 | 2002-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 | |||
| 9775 | 2002-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 | |||
| 9784 | 2002-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 | |||
| 9799 | 2002-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 | |||
| 9822 | 2002-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 | |||
| 9834 | 2002-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 | |||
| 9856 | 2002-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 | |||
| 9861 | 2002-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 | |||
| 9884 | 2002-06-05 Peter S Galbraith <psg@debian.org> | ||
| 9885 | |||
| 9886 | * mh-e.el (mh-folder-message-menu): Add an entry for mh-modify. | ||
| 9887 | |||
| 9888 | 2002-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 | |||
| 9898 | 2002-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 | |||
| 9904 | 2002-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 | |||
| 9915 | 2002-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 | |||
| 9920 | 2002-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 | |||
| 9936 | 2002-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 | |||
| 9942 | 2002-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 | |||
| 9995 | 2002-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 | |||
| 10004 | 2002-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 | |||
| 10065 | 2002-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 | |||
| 10074 | 2002-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 | |||
| 10090 | 2002-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 | |||
| 10111 | 2002-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 | |||
| 10122 | 2002-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 | |||
| 10131 | 2002-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 | |||
| 10137 | 2002-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 | |||
| 10144 | 2002-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 | |||
| 10149 | 2002-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 | |||
| 10157 | 2002-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 | |||
| 10169 | 2002-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 | |||
| 10175 | 2002-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 | |||
| 10200 | 2002-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 | |||
| 10209 | 2002-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 | |||
| 10216 | 2002-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 | |||
| 10230 | 2002-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 | |||
| 10237 | 2001-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 | |||
| 10261 | 2001-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 | |||
| 10284 | 2001-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 | |||
| 10317 | 2001-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 | |||
| 10326 | 2001-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 | |||
| 10339 | 2001-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 | |||
| 10355 | 2001-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 | |||
| 10365 | 2001-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 | |||
| 10376 | 2001-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 | |||
| 10384 | 2001-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 | |||
| 10402 | 2001-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 | |||
| 10408 | 2001-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 | |||
| 10417 | 2001-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 | |||
| 10433 | 2001-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 | |||
| 10439 | 2001-12-04 Bill Wohler <wohler@newt.com> | ||
| 10440 | |||
| 10441 | * mh-e.el (mh-folder-map): Added "S" for `mh-sort-folder'. | ||
| 10442 | |||
| 10443 | 2001-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 | |||
| 10454 | 2001-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 | |||
| 10462 | 2001-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 | |||
| 10469 | 2001-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 | |||
| 10479 | 2001-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 | |||
| 10521 | 2001-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 | |||
| 10529 | 2001-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 | |||
| 10535 | 2001-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 | |||
| 10541 | 2001-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 | |||
| 10558 | 2001-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 | |||
| 10614 | 2001-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 | |||
| 10630 | 2001-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 | |||
| 10637 | 2001-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 | |||
| 10687 | 2001-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 | |||
| 10696 | 2001-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 | |||
| 10704 | 2001-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 | |||
| 10709 | 2001-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 | |||
| 10714 | 2001-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 | |||
| 10736 | 2001-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 | |||
| 10746 | 2001-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 | |||
| 10755 | 2001-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 | |||
| 10762 | 2001-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 | |||
| 10768 | 2001-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 | |||
| 10775 | 2001-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 | |||
| 10799 | 2001-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 | |||
| 10808 | 2001-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 | |||
| 10815 | 2001-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 | |||
| 10840 | 2001-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 | |||
| 10847 | 2001-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 | |||
| 10852 | 2001-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 | |||
| 10857 | 2001-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 | |||
| 10878 | 2001-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 | |||
| 10897 | 2001-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 | |||
| 10908 | 2001-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 | |||
| 10924 | 2001-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 | |||
| 10931 | 2001-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 | |||
| 10936 | 2001-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 | |||
| 10951 | 2001-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 | |||
| 10991 | 2001-11-20 Eric Ding <ericding@alum.mit.edu> | ||
| 10992 | |||
| 10993 | * mh-utils.el (mh-show-from-face): Fix typo in defface | ||
| 10994 | |||
| 10995 | 2001-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 | |||
| 11011 | 2001-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 | |||
| 11038 | 2001-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 | |||
| 11064 | 2001-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 | |||
| 11070 | 2001-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 | |||
| 11080 | 2001-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 | |||
| 11091 | 2001-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 | |||
| 11117 | 2001-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 | |||
| 11124 | 2001-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 | |||
| 11131 | 2001-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 | |||
| 11141 | 2001-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 | |||
| 11148 | 2001-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 | |||
| 11158 | 2001-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 | |||
| 11163 | 2001-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 | |||
| 11168 | 2001-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 | |||
| 11173 | 2001-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 | |||
| 11180 | 2001-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 | |||
| 11189 | 2001-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 | |||
| 11195 | 2001-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 | |||
| 11202 | 2001-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 | |||
| 11207 | 2001-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 | |||
| 11220 | 2001-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 | |||
| 11225 | 2001-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 | |||
| 11231 | 2001-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 | |||
| 11236 | 2001-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 | |||
| 11244 | 2001-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 | |||
| 11261 | 2001-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 | |||
| 11271 | 2001-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 | |||
| 11279 | 2001-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 | |||
| 11291 | 2001-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 | |||
| 11299 | 2001-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 | |||
| 11305 | 2001-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 | |||
| 11317 | 2001-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 | |||
| 11326 | 2001-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 | |||
| 11333 | 2001-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 | |||
| 11338 | 2001-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 | |||
| 11349 | 2001-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 | |||
| 11354 | 2001-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 | |||
| 11362 | 2001-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 | |||
| 11371 | 2001-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 | |||
| 11377 | 2001-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 | |||
| 11385 | 2001-04-14 chad brown <y@mit.edu> | ||
| 11386 | |||
| 11387 | Rearrange the font-lock keywords a bit. | ||
| 11388 | |||
| 11389 | 2001-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 | |||
| 11395 | 2001-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 | |||
| 11400 | 2001-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 | |||
| 1424 | and point after it." | 1430 | and 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 @@ | |||
| 88 | If optional argument DELETE-OTHER-WINDOWS-FLAG is non-nil, other windows in | 88 | If optional argument DELETE-OTHER-WINDOWS-FLAG is non-nil, other windows in |
| 89 | the frame are removed." | 89 | the 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 | |||
| 301 | an address in the minibuffer briefly, but does not display a warning if the | 302 | an address in the minibuffer briefly, but does not display a warning if the |
| 302 | alias is not found." | 303 | alias 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. |
| 171 | The directories will be searched for `mhparam' in addition to directories | 174 | The directories will be searched for `mhparam' in addition to directories |
| 172 | listed in `mh-sys-path' and `exec-path'." | 175 | listed 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'. | ||
| 313 | Images 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 | ||
| 315 | directory is added to it if isn't already there. Otherwise, the images | ||
| 316 | directory 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. |
| 74 | If the variable `mh-compose-insertion' is set to 'mhn, then that will be used. | 74 | If the variable `mh-compose-insertion' is set to 'mhn, then that will be used. |
| 75 | If it is set to 'gnus, then that will be used instead. | 75 | If it is set to 'gnus, then that will be used instead. |
| 76 | Optional argument DESCRIPTION is a description of the attachment. | 76 | Optional argument DESCRIPTION is a description of the attachment. |
| 77 | Optional argument FOLDER is the folder from which the forwarded message should | 77 | Optional argument FOLDER is the folder from which the forwarded message should |
| 78 | come. | 78 | come. |
| 79 | Optional argument MESSAGE is the message to forward. | 79 | Optional argument MESSAGES is the range of messages to forward. |
| 80 | If any of the optional arguments are absent, they are prompted for." | 80 | If 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. |
| 2312 | Start the timers for display and retrieval. If the newsticker, i.e. the | 2299 | Start 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. |
| 849 | The regexp should match at end of buffer. | 849 | The regexp should match at end of buffer. |
| 850 | 850 | ||
| @@ -1364,26 +1364,53 @@ implementation. The necessity, whether this variable must be set, can be | |||
| 1364 | checked via the following code: | 1364 | checked 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 ?\\ )) | |
| 1377 | In the Emacs normally running Tramp, evaluate the above code. | 1377 | (process-send-eof proc) |
| 1378 | You can do this, for example, by pasting it into the `*scratch*' | 1378 | (process-send-eof proc)) |
| 1379 | buffer and then hitting C-j with the cursor after the last | 1379 | (while (not (progn (goto-char (point-min)) |
| 1380 | closing parenthesis. | 1380 | (re-search-forward \"\\\\w+\" (point-max) t))) |
| 1381 | 1381 | (accept-process-output proc 1)) | |
| 1382 | If your Emacs is buggy, the sent and received numbers will be | 1382 | (when (memq (process-status proc) '(run open)) |
| 1383 | different. In that case, you'll want to set this variable to | 1383 | (setq received (string-to-number (match-string 0))) |
| 1384 | some number. For those people who have needed it, the value 500 | 1384 | (delete-process proc) |
| 1385 | seems to have worked well. There is no way to predict what value | 1385 | (message \"Bytes sent: %s\\tBytes received: %s\" sent received) |
| 1386 | you 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 | |||
| 1394 | In the Emacs normally running Tramp, evaluate the above code | ||
| 1395 | (replace \"xxx\" and \"yyy\" by the remote user and host name, | ||
| 1396 | respectively). You can do this, for example, by pasting it into | ||
| 1397 | the `*scratch*' buffer and then hitting C-j with the cursor after the | ||
| 1398 | last closing parenthesis. Note that it works only if you have configured | ||
| 1399 | \"ssh\" to run without password query, see ssh-agent(1). | ||
| 1400 | |||
| 1401 | You will see the number of bytes sent successfully to the remote host. | ||
| 1402 | If that number exceeds 1000, you can stop the execution by hitting | ||
| 1403 | C-g, because your Emacs is likely clean. | ||
| 1404 | |||
| 1405 | If your Emacs is buggy, the code stops and gives you an indication | ||
| 1406 | about the value `tramp-chunksize' should be set. Maybe you could just | ||
| 1407 | experiment a bit, e.g. changing the values of `init' and `step' | ||
| 1408 | in the third line of the code. | ||
| 1409 | |||
| 1410 | When it is necessary to set `tramp-chunksize', you might consider to | ||
| 1411 | use an out-of-the-band method (like \"scp\") instead of an internal one | ||
| 1412 | (like \"ssh\"), because setting `tramp-chunksize' to non-nil decreases | ||
| 1413 | performance. | ||
| 1387 | 1414 | ||
| 1388 | Please raise a bug report via \"M-x tramp-bug\" if your system needs | 1415 | Please raise a bug report via \"M-x tramp-bug\" if your system needs |
| 1389 | this variable to be set as well." | 1416 | this variable to be set as well." |
| @@ -1590,8 +1617,8 @@ printf( | |||
| 1590 | on the remote file system.") | 1617 | on the remote file system.") |
| 1591 | 1618 | ||
| 1592 | (defconst tramp-perl-directory-files-and-attributes "\ | 1619 | (defconst tramp-perl-directory-files-and-attributes "\ |
| 1593 | chdir($ARGV[0]); | 1620 | chdir($ARGV[0]) or printf(\"\\\"Cannot change to $ARGV[0]: $''!''\\\"\\n\"), exit(); |
| 1594 | opendir(DIR,\".\"); | 1621 | opendir(DIR,\".\") or printf(\"\\\"Cannot open directory $ARGV[0]: $''!''\\\"\\n\"), exit(); |
| 1595 | @list = readdir(DIR); | 1622 | @list = readdir(DIR); |
| 1596 | closedir(DIR); | 1623 | closedir(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\\)\\|\ |
| 373 | logical\\|type[ \t]*(\\sw+)\\)\\(.*::\\|[ \t]*(.*)\\)?\\([^&!\n]*\\)" | 373 | logical\\|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 | ||
| 802 | Turning on F90 mode calls the value of the variable `f90-mode-hook' | 802 | Turning on F90 mode calls the value of the variable `f90-mode-hook' |
| 803 | with no args, if that value is non-nil." | 803 | with 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 | |||
| 173 | detailed description of this mode. | 173 | detailed 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. |
| 344 | t means that there is no stack, and we are in display-file mode.") | 341 | t 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 | ||
| 383 | ZERO 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. |
| 381 | If the GUD BUFFER is not running a supported debugger, then turn | 388 | If the GUD BUFFER is not running a supported debugger, then turn |
| 382 | off the specialized speedbar mode." | 389 | off the specialized speedbar mode. BUFFER is not used, but are |
| 383 | (let ((minor-mode (with-current-buffer buffer gud-minor-mode))) | 390 | required 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.") | |||
| 91 | Default value is that of `font-lock-builtin-face', but you can modify its | 109 | Default value is that of `font-lock-builtin-face', but you can modify its |
| 92 | value.") | 110 | value.") |
| 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 |
| 142 | Each 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. |
| 143 | Where OP-CODE is the text of the opcode as an symbol, FULL-NAME is the human readable name | 127 | ;; |
| 144 | as 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 |
| 145 | an 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 |
| 146 | an 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 |
| 147 | about 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. | ||
| 161 | Uses a + when there is no sign in subfield. Subfield is left padded with | 135 | Uses a + when there is no sign in subfield. Subfield is left padded with |
| 162 | zeros to make a word." | 136 | zeros 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. | ||
| 168 | Uses a + when there is no sign in subfield. Subfield is left padded with | 141 | Uses a + when there is no sign in subfield. Subfield is left padded with |
| 169 | zeros to make a word." | 142 | zeros 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. | ||
| 175 | Uses a + when there is no sign in subfield. Subfield is left padded with | 147 | Uses a + when there is no sign in subfield. Subfield is left padded with |
| 176 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying | 148 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying |
| 177 | to set anything more that that will result in undefined behavior." | 149 | to 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. | ||
| 183 | Uses a + when there is no sign in subfield. Subfield is left padded with | 154 | Uses a + when there is no sign in subfield. Subfield is left padded with |
| 184 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying | 155 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying |
| 185 | to set anything more that that will result in undefined behavior." | 156 | to 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. | ||
| 191 | Uses a + when there is no sign in subfield. Subfield is left padded with | 161 | Uses a + when there is no sign in subfield. Subfield is left padded with |
| 192 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying | 162 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying |
| 193 | to set anything more that that will result in undefined behavior." | 163 | to 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. | ||
| 199 | Uses a + when there is no sign in subfield. Subfield is left padded with | 168 | Uses a + when there is no sign in subfield. Subfield is left padded with |
| 200 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying | 169 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying |
| 201 | to set anything more that that will result in undefined behavior." | 170 | to 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. | ||
| 207 | Uses a + when there is no sign in subfield. Subfield is left padded with | 175 | Uses a + when there is no sign in subfield. Subfield is left padded with |
| 208 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying | 176 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying |
| 209 | to set anything more that that will result in undefined behavior." | 177 | to 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. | ||
| 215 | Uses a + when there is no sign in subfield. Subfield is left padded with | 182 | Uses a + when there is no sign in subfield. Subfield is left padded with |
| 216 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying | 183 | zeros to make a word. Index registers only have 2 bytes and a sign, Trying |
| 217 | to set anything more that that will result in undefined behavior." | 184 | to 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. | ||
| 223 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. | 189 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. |
| 224 | Subfield is left padded with zeros to make a word." | 190 | Subfield 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. | ||
| 230 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. | 195 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. |
| 231 | Subfield is left padded with zeros to make a word." | 196 | Subfield 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. | ||
| 237 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. | 201 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. |
| 238 | Subfield is left padded with zeros to make a word. Index registers only | 202 | Subfield is left padded with zeros to make a word. Index registers only |
| 239 | have 2 bytes and a sign, Trying to set anything more that that will result | 203 | have 2 bytes and a sign, Trying to set anything more that that will result |
| 240 | in undefined behavior." | 204 | in 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. | ||
| 246 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. | 209 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. |
| 247 | Subfield is left padded with zeros to make a word. Index registers only | 210 | Subfield is left padded with zeros to make a word. Index registers only |
| 248 | have 2 bytes and a sign, Trying to set anything more that that will result | 211 | have 2 bytes and a sign, Trying to set anything more that that will result |
| 249 | in undefined behavior." | 212 | in 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. | ||
| 255 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. | 217 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. |
| 256 | Subfield is left padded with zeros to make a word. Index registers only | 218 | Subfield is left padded with zeros to make a word. Index registers only |
| 257 | have 2 bytes and a sign, Trying to set anything more that that will result | 219 | have 2 bytes and a sign, Trying to set anything more that that will result |
| 258 | in undefined behavior." | 220 | in 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. | ||
| 264 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. | 225 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. |
| 265 | Subfield is left padded with zeros to make a word. Index registers only | 226 | Subfield is left padded with zeros to make a word. Index registers only |
| 266 | have 2 bytes and a sign, Trying to set anything more that that will result | 227 | have 2 bytes and a sign, Trying to set anything more that that will result |
| 267 | in undefined behavior." | 228 | in 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. | ||
| 273 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. | 233 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. |
| 274 | Subfield is left padded with zeros to make a word. Index registers only | 234 | Subfield is left padded with zeros to make a word. Index registers only |
| 275 | have 2 bytes and a sign, Trying to set anything more that that will result | 235 | have 2 bytes and a sign, Trying to set anything more that that will result |
| 276 | in undefined behavior." | 236 | in 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. | ||
| 282 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. | 241 | Uses a + when there is no sign in subfield, otherwise use the opposite sign. |
| 283 | Subfield is left padded with zeros to make a word. Index registers only | 242 | Subfield is left padded with zeros to make a word. Index registers only |
| 284 | have 2 bytes and a sign, Trying to set anything more that that will result | 243 | have 2 bytes and a sign, Trying to set anything more that that will result |
| 285 | in undefined behavior." | 244 | in 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. | ||
| 291 | The modification of the operation code represents the subfield of the | 249 | The modification of the operation code represents the subfield of the |
| 292 | memory cell that is to be overwritten with bytes from a register. These | 250 | memory cell that is to be overwritten with bytes from a register. These |
| 293 | bytes are taken beginning by the rightmost side of the register. The | 251 | bytes are taken beginning by the rightmost side of the register. The |
| 294 | sign of the memory cell is not changed, unless it is part of the subfield." | 252 | sign 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. | ||
| 300 | The modification of the operation code represents the subfield of the | 257 | The modification of the operation code represents the subfield of the |
| 301 | memory cell that is to be overwritten with bytes from a register. These | 258 | memory cell that is to be overwritten with bytes from a register. These |
| 302 | bytes are taken beginning by the rightmost side of the register. The | 259 | bytes are taken beginning by the rightmost side of the register. The |
| 303 | sign of the memory cell is not changed, unless it is part of the subfield." | 260 | sign 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. | ||
| 309 | The modification of the operation code represents the subfield of the | 265 | The modification of the operation code represents the subfield of the |
| 310 | memory cell that is to be overwritten with bytes from a register. These | 266 | memory cell that is to be overwritten with bytes from a register. These |
| 311 | bytes are taken beginning by the rightmost side of the register. The | 267 | bytes are taken beginning by the rightmost side of the register. The |
| 312 | sign of the memory cell is not changed, unless it is part of the subfield. | 268 | sign of the memory cell is not changed, unless it is part of the subfield. |
| 313 | Because index registers only have 2 bytes and a sign, the rest of the bytes | 269 | Because index registers only have 2 bytes and a sign, the rest of the bytes |
| 314 | are assumed to be 0." | 270 | are 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. | ||
| 320 | The modification of the operation code represents the subfield of the | 275 | The modification of the operation code represents the subfield of the |
| 321 | memory cell that is to be overwritten with bytes from a register. These | 276 | memory cell that is to be overwritten with bytes from a register. These |
| 322 | bytes are taken beginning by the rightmost side of the register. The | 277 | bytes are taken beginning by the rightmost side of the register. The |
| 323 | sign of the memory cell is not changed, unless it is part of the subfield. | 278 | sign of the memory cell is not changed, unless it is part of the subfield. |
| 324 | Because index registers only have 2 bytes and a sign, the rest of the bytes | 279 | Because index registers only have 2 bytes and a sign, the rest of the bytes |
| 325 | are assumed to be 0." | 280 | are 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. | ||
| 331 | The modification of the operation code represents the subfield of the | 285 | The modification of the operation code represents the subfield of the |
| 332 | memory cell that is to be overwritten with bytes from a register. These | 286 | memory cell that is to be overwritten with bytes from a register. These |
| 333 | bytes are taken beginning by the rightmost side of the register. The | 287 | bytes are taken beginning by the rightmost side of the register. The |
| 334 | sign of the memory cell is not changed, unless it is part of the subfield. | 288 | sign of the memory cell is not changed, unless it is part of the subfield. |
| 335 | Because index registers only have 2 bytes and a sign, the rest of the bytes | 289 | Because index registers only have 2 bytes and a sign, the rest of the bytes |
| 336 | are assumed to be 0." | 290 | are 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. | ||
| 342 | The modification of the operation code represents the subfield of the | 295 | The modification of the operation code represents the subfield of the |
| 343 | memory cell that is to be overwritten with bytes from a register. These | 296 | memory cell that is to be overwritten with bytes from a register. These |
| 344 | bytes are taken beginning by the rightmost side of the register. The | 297 | bytes are taken beginning by the rightmost side of the register. The |
| 345 | sign of the memory cell is not changed, unless it is part of the subfield. | 298 | sign of the memory cell is not changed, unless it is part of the subfield. |
| 346 | Because index registers only have 2 bytes and a sign, the rest of the bytes | 299 | Because index registers only have 2 bytes and a sign, the rest of the bytes |
| 347 | are assumed to be 0." | 300 | are 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. | ||
| 353 | The modification of the operation code represents the subfield of the | 305 | The modification of the operation code represents the subfield of the |
| 354 | memory cell that is to be overwritten with bytes from a register. These | 306 | memory cell that is to be overwritten with bytes from a register. These |
| 355 | bytes are taken beginning by the rightmost side of the register. The | 307 | bytes are taken beginning by the rightmost side of the register. The |
| 356 | sign of the memory cell is not changed, unless it is part of the subfield. | 308 | sign of the memory cell is not changed, unless it is part of the subfield. |
| 357 | Because index registers only have 2 bytes and a sign, the rest of the bytes | 309 | Because index registers only have 2 bytes and a sign, the rest of the bytes |
| 358 | are assumed to be 0." | 310 | are 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. | ||
| 364 | The modification of the operation code represents the subfield of the | 315 | The modification of the operation code represents the subfield of the |
| 365 | memory cell that is to be overwritten with bytes from a register. These | 316 | memory cell that is to be overwritten with bytes from a register. These |
| 366 | bytes are taken beginning by the rightmost side of the register. The | 317 | bytes are taken beginning by the rightmost side of the register. The |
| 367 | sign of the memory cell is not changed, unless it is part of the subfield. | 318 | sign of the memory cell is not changed, unless it is part of the subfield. |
| 368 | Because index registers only have 2 bytes and a sign, the rest of the bytes | 319 | Because index registers only have 2 bytes and a sign, the rest of the bytes |
| 369 | are assumed to be 0." | 320 | are 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. | ||
| 375 | The modification of the operation code represents the subfield of the | 325 | The modification of the operation code represents the subfield of the |
| 376 | memory cell that is to be overwritten with bytes from a register. These | 326 | memory cell that is to be overwritten with bytes from a register. These |
| 377 | bytes are taken beginning by the rightmost side of the register. The sign | 327 | bytes are taken beginning by the rightmost side of the register. The sign |
| 378 | of rJ is always +, sign of the memory cell is not changed, unless it is | 328 | of rJ is always +, sign of the memory cell is not changed, unless it is |
| 379 | part of the subfield. The default field for STJ is (0:2)." | 329 | part 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'. | ||
| 385 | The modification of the operation code represents the subfield of the | 334 | The modification of the operation code represents the subfield of the |
| 386 | memory cell that is to be overwritten with zeros." | 335 | memory 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. | ||
| 392 | Subfield is padded with zero to make a word. | 340 | Subfield is padded with zero to make a word. |
| 393 | If the result is to large, the operation result modulo 1,073,741,823 (the | 341 | If the result is to large, the operation result modulo 1,073,741,823 (the |
| 394 | maximum value storable in a MIX word) is stored in `rA', and the overflow | 342 | maximum value storable in a MIX word) is stored in `rA', and the overflow |
| 395 | toggle is set to TRUE." | 343 | toggle 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. | ||
| 401 | Subfield is padded with zero to make a word. | 348 | Subfield is padded with zero to make a word. |
| 402 | If the result is to large, the operation result modulo 1,073,741,823 (the | 349 | If the result is to large, the operation result modulo 1,073,741,823 (the |
| 403 | maximum value storable in a MIX word) is stored in `rA', and the overflow | 350 | maximum value storable in a MIX word) is stored in `rA', and the overflow |
| 404 | toggle is set to TRUE." | 351 | toggle 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. | ||
| 410 | The sign is + if the sign of rA and cell M where the same, otherwise, it is -" | 356 | The 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. | ||
| 416 | The sign is taken from rA, and after the divide the sign of rA is set to + when | 361 | The sign is taken from rA, and after the divide the sign of rA is set to + when |
| 417 | both the sign of rA and M where the same. Divide by zero and overflow of rA result | 362 | both the sign of rA and M where the same. Divide by zero and overflow of rA |
| 418 | in undefined behavior." | 363 | result 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. | ||
| 424 | Indexed, stores value of index in rA." | 368 | Indexed, 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. | ||
| 430 | Indexed, stores value of index in rX." | 373 | Indexed, 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. | ||
| 436 | Indexed, stores value of index in rI1." | 378 | Indexed, 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. | ||
| 442 | Indexed, stores value of index in rI2." | 383 | Indexed, 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. | ||
| 448 | Indexed, stores value of index in rI3." | 388 | Indexed, 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. | ||
| 454 | Indexed, stores value of index in rI4." | 393 | Indexed, 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. | ||
| 460 | Indexed, stores value of index in rI5." | 398 | Indexed, 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. | ||
| 466 | Indexed, stores value of index in rI6." | 403 | Indexed, 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. | ||
| 472 | Indexed, stores value of index in rA with opposite sign." | 408 | Indexed, 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. | ||
| 478 | Indexed, stores value of index in rX with opposite sign." | 413 | Indexed, 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. | ||
| 484 | Indexed, stores value of index in rI1 with opposite sign." | 418 | Indexed, 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. | ||
| 490 | Indexed, stores value of index in rI2 with opposite sign." | 423 | Indexed, 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. | ||
| 496 | Indexed, stores value of index in rI3 with opposite sign." | 428 | Indexed, 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. | ||
| 502 | Indexed, stores value of index in rI4 with opposite sign." | 433 | Indexed, 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. | ||
| 508 | Indexed, stores value of index in rI5 with opposite sign." | 438 | Indexed, 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. | ||
| 514 | Indexed, stores value of index in rI6 with opposite sign." | 443 | Indexed, 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. | ||
| 520 | On overflow the overflow toggle is set." | 448 | On 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. | ||
| 526 | On overflow the overflow toggle is set." | 453 | On 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. | ||
| 532 | The result is undefined when the result does not fit in | 458 | The result is undefined when the result does not fit in |
| 533 | 2 bytes." | 459 | 2 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. | ||
| 539 | The result is undefined when the result does not fit in | 464 | The result is undefined when the result does not fit in |
| 540 | 2 bytes." | 465 | 2 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. | ||
| 546 | The result is undefined when the result does not fit in | 470 | The result is undefined when the result does not fit in |
| 547 | 2 bytes." | 471 | 2 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. | ||
| 553 | The result is undefined when the result does not fit in | 476 | The result is undefined when the result does not fit in |
| 554 | 2 bytes." | 477 | 2 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. | ||
| 560 | The result is undefined when the result does not fit in | 482 | The result is undefined when the result does not fit in |
| 561 | 2 bytes." | 483 | 2 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. | ||
| 567 | The result is undefined when the result does not fit in | 488 | The result is undefined when the result does not fit in |
| 568 | 2 bytes." | 489 | 2 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. | ||
| 574 | On overflow the overflow toggle is set." | 494 | On 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. | ||
| 580 | On overflow the overflow toggle is set." | 499 | On 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. | ||
| 586 | The result is undefined when the result does not fit in | 504 | The result is undefined when the result does not fit in |
| 587 | 2 bytes." | 505 | 2 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. | ||
| 593 | The result is undefined when the result does not fit in | 510 | The result is undefined when the result does not fit in |
| 594 | 2 bytes." | 511 | 2 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. | ||
| 600 | The result is undefined when the result does not fit in | 516 | The result is undefined when the result does not fit in |
| 601 | 2 bytes." | 517 | 2 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. | ||
| 607 | The result is undefined when the result does not fit in | 522 | The result is undefined when the result does not fit in |
| 608 | 2 bytes." | 523 | 2 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. | ||
| 614 | The result is undefined when the result does not fit in | 528 | The result is undefined when the result does not fit in |
| 615 | 2 bytes." | 529 | 2 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. | ||
| 621 | The result is undefined when the result does not fit in | 534 | The result is undefined when the result does not fit in |
| 622 | 2 bytes." | 535 | 2 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. | ||
| 628 | The field specifier works on both fields. The comparison indicator | 540 | The field specifier works on both fields. The comparison indicator |
| 629 | is set to LESS, EQUAL or GREATER depending on the outcome." | 541 | is 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. | ||
| 636 | The field specifier works on both fields. The comparison indicator | 546 | The field specifier works on both fields. The comparison indicator |
| 637 | is set to LESS, EQUAL or GREATER depending on the outcome." | 547 | is 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. | ||
| 644 | The field specifier works on both fields. The comparison indicator | 552 | The field specifier works on both fields. The comparison indicator |
| 645 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 | 553 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 |
| 646 | have a value of 0." | 554 | have 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. | ||
| 653 | The field specifier works on both fields. The comparison indicator | 559 | The field specifier works on both fields. The comparison indicator |
| 654 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 | 560 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 |
| 655 | have a value of 0." | 561 | have 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. | ||
| 662 | The field specifier works on both fields. The comparison indicator | 566 | The field specifier works on both fields. The comparison indicator |
| 663 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 | 567 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 |
| 664 | have a value of 0." | 568 | have 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. | ||
| 671 | The field specifier works on both fields. The comparison indicator | 573 | The field specifier works on both fields. The comparison indicator |
| 672 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 | 574 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 |
| 673 | have a value of 0." | 575 | have 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. | ||
| 680 | The field specifier works on both fields. The comparison indicator | 580 | The field specifier works on both fields. The comparison indicator |
| 681 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 | 581 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 |
| 682 | have a value of 0." | 582 | have 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. | ||
| 689 | The field specifier works on both fields. The comparison indicator | 587 | The field specifier works on both fields. The comparison indicator |
| 690 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 | 588 | is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3 |
| 691 | have a value of 0." | 589 | have 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. | ||
| 697 | Register J is set to the value of the next instruction that would have | 594 | Register J is set to the value of the next instruction that would have |
| 698 | been executed when there was no jump." | 595 | been 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). | ||
| 709 | Register J is set to the value of the next instruction that would have | 604 | Register J is set to the value of the next instruction that would have |
| 710 | been executed when there was no jump." | 605 | been 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). | ||
| 716 | Register J is set to the value of the next instruction that would have | 610 | Register J is set to the value of the next instruction that would have |
| 717 | been executed when there was no jump." | 611 | been 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'. | ||
| 723 | Register J is set to the value of the next instruction that would have | 616 | Register J is set to the value of the next instruction that would have |
| 724 | been executed when there was no jump." | 617 | been 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'. | ||
| 731 | Register J is set to the value of the next instruction that would have | 622 | Register J is set to the value of the next instruction that would have |
| 732 | been executed when there was no jump." | 623 | been 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'. | ||
| 739 | Register J is set to the value of the next instruction that would have | 628 | Register J is set to the value of the next instruction that would have |
| 740 | been executed when there was no jump." | 629 | been 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'. | ||
| 747 | Register J is set to the value of the next instruction that would have | 634 | Register J is set to the value of the next instruction that would have |
| 748 | been executed when there was no jump." | 635 | been 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'. | ||
| 755 | Register J is set to the value of the next instruction that would have | 640 | Register J is set to the value of the next instruction that would have |
| 756 | been executed when there was no jump." | 641 | been 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'. | ||
| 763 | Register J is set to the value of the next instruction that would have | 646 | Register J is set to the value of the next instruction that would have |
| 764 | been executed when there was no jump." | 647 | been 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. | ||
| 770 | Register J is set to the value of the next instruction that would have | 652 | Register J is set to the value of the next instruction that would have |
| 771 | been executed when there was no jump." | 653 | been 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. | ||
| 778 | Register J is set to the value of the next instruction that would have | 658 | Register J is set to the value of the next instruction that would have |
| 779 | been executed when there was no jump." | 659 | been 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. | ||
| 786 | Register J is set to the value of the next instruction that would have | 664 | Register J is set to the value of the next instruction that would have |
| 787 | been executed when there was no jump." | 665 | been 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. | ||
| 794 | Register J is set to the value of the next instruction that would have | 670 | Register J is set to the value of the next instruction that would have |
| 795 | been executed when there was no jump." | 671 | been 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. | ||
| 802 | Register J is set to the value of the next instruction that would have | 676 | Register J is set to the value of the next instruction that would have |
| 803 | been executed when there was no jump." | 677 | been 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. | ||
| 810 | Register J is set to the value of the next instruction that would have | 682 | Register J is set to the value of the next instruction that would have |
| 811 | been executed when there was no jump." | 683 | been 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. | ||
| 817 | Register J is set to the value of the next instruction that would have | 688 | Register J is set to the value of the next instruction that would have |
| 818 | been executed when there was no jump." | 689 | been 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. | ||
| 825 | Register J is set to the value of the next instruction that would have | 694 | Register J is set to the value of the next instruction that would have |
| 826 | been executed when there was no jump." | 695 | been 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. | ||
| 833 | Register J is set to the value of the next instruction that would have | 700 | Register J is set to the value of the next instruction that would have |
| 834 | been executed when there was no jump." | 701 | been 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. | ||
| 841 | Register J is set to the value of the next instruction that would have | 706 | Register J is set to the value of the next instruction that would have |
| 842 | been executed when there was no jump." | 707 | been 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. | ||
| 849 | Register J is set to the value of the next instruction that would have | 712 | Register J is set to the value of the next instruction that would have |
| 850 | been executed when there was no jump." | 713 | been 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. | ||
| 857 | Register J is set to the value of the next instruction that would have | 718 | Register J is set to the value of the next instruction that would have |
| 858 | been executed when there was no jump." | 719 | been 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. | ||
| 864 | Register J is set to the value of the next instruction that would have | 724 | Register J is set to the value of the next instruction that would have |
| 865 | been executed when there was no jump." | 725 | been 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. | ||
| 872 | Register J is set to the value of the next instruction that would have | 730 | Register J is set to the value of the next instruction that would have |
| 873 | been executed when there was no jump." | 731 | been 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. | ||
| 880 | Register J is set to the value of the next instruction that would have | 736 | Register J is set to the value of the next instruction that would have |
| 881 | been executed when there was no jump." | 737 | been 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. | ||
| 888 | Register J is set to the value of the next instruction that would have | 742 | Register J is set to the value of the next instruction that would have |
| 889 | been executed when there was no jump." | 743 | been 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. | ||
| 896 | Register J is set to the value of the next instruction that would have | 748 | Register J is set to the value of the next instruction that would have |
| 897 | been executed when there was no jump." | 749 | been 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. | ||
| 904 | Register J is set to the value of the next instruction that would have | 754 | Register J is set to the value of the next instruction that would have |
| 905 | been executed when there was no jump." | 755 | been 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. | ||
| 911 | Register J is set to the value of the next instruction that would have | 760 | Register J is set to the value of the next instruction that would have |
| 912 | been executed when there was no jump." | 761 | been 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. | ||
| 919 | Register J is set to the value of the next instruction that would have | 766 | Register J is set to the value of the next instruction that would have |
| 920 | been executed when there was no jump." | 767 | been 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. | ||
| 927 | Register J is set to the value of the next instruction that would have | 772 | Register J is set to the value of the next instruction that would have |
| 928 | been executed when there was no jump." | 773 | been 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. | ||
| 935 | Register J is set to the value of the next instruction that would have | 778 | Register J is set to the value of the next instruction that would have |
| 936 | been executed when there was no jump." | 779 | been 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. | ||
| 943 | Register J is set to the value of the next instruction that would have | 784 | Register J is set to the value of the next instruction that would have |
| 944 | been executed when there was no jump." | 785 | been 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. | ||
| 951 | Register J is set to the value of the next instruction that would have | 790 | Register J is set to the value of the next instruction that would have |
| 952 | been executed when there was no jump." | 791 | been 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. | ||
| 959 | Register J is set to the value of the next instruction that would have | 796 | Register J is set to the value of the next instruction that would have |
| 960 | been executed when there was no jump." | 797 | been 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. | ||
| 967 | Register J is set to the value of the next instruction that would have | 802 | Register J is set to the value of the next instruction that would have |
| 968 | been executed when there was no jump." | 803 | been 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. | ||
| 975 | Register J is set to the value of the next instruction that would have | 808 | Register J is set to the value of the next instruction that would have |
| 976 | been executed when there was no jump." | 809 | been 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. | ||
| 983 | Register J is set to the value of the next instruction that would have | 814 | Register J is set to the value of the next instruction that would have |
| 984 | been executed when there was no jump." | 815 | been 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. | ||
| 991 | Register J is set to the value of the next instruction that would have | 820 | Register J is set to the value of the next instruction that would have |
| 992 | been executed when there was no jump." | 821 | been 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. | ||
| 999 | Register J is set to the value of the next instruction that would have | 826 | Register J is set to the value of the next instruction that would have |
| 1000 | been executed when there was no jump." | 827 | been 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. | ||
| 1007 | Register J is set to the value of the next instruction that would have | 832 | Register J is set to the value of the next instruction that would have |
| 1008 | been executed when there was no jump." | 833 | been 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. | ||
| 1015 | Register J is set to the value of the next instruction that would have | 838 | Register J is set to the value of the next instruction that would have |
| 1016 | been executed when there was no jump." | 839 | been 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. | ||
| 1023 | Register J is set to the value of the next instruction that would have | 844 | Register J is set to the value of the next instruction that would have |
| 1024 | been executed when there was no jump." | 845 | been 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. | ||
| 1031 | Register J is set to the value of the next instruction that would have | 850 | Register J is set to the value of the next instruction that would have |
| 1032 | been executed when there was no jump." | 851 | been 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. | ||
| 1039 | Register J is set to the value of the next instruction that would have | 856 | Register J is set to the value of the next instruction that would have |
| 1040 | been executed when there was no jump." | 857 | been 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. | ||
| 1047 | Register J is set to the value of the next instruction that would have | 862 | Register J is set to the value of the next instruction that would have |
| 1048 | been executed when there was no jump." | 863 | been 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. | ||
| 1055 | Register J is set to the value of the next instruction that would have | 868 | Register J is set to the value of the next instruction that would have |
| 1056 | been executed when there was no jump." | 869 | been 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. | ||
| 1063 | Register J is set to the value of the next instruction that would have | 874 | Register J is set to the value of the next instruction that would have |
| 1064 | been executed when there was no jump." | 875 | been 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. | ||
| 1071 | Register J is set to the value of the next instruction that would have | 880 | Register J is set to the value of the next instruction that would have |
| 1072 | been executed when there was no jump." | 881 | been 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. | ||
| 1079 | Register J is set to the value of the next instruction that would have | 886 | Register J is set to the value of the next instruction that would have |
| 1080 | been executed when there was no jump." | 887 | been 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. | ||
| 1087 | Register J is set to the value of the next instruction that would have | 892 | Register J is set to the value of the next instruction that would have |
| 1088 | been executed when there was no jump." | 893 | been 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. | ||
| 1095 | Register J is set to the value of the next instruction that would have | 898 | Register J is set to the value of the next instruction that would have |
| 1096 | been executed when there was no jump." | 899 | been 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. | ||
| 1103 | Register J is set to the value of the next instruction that would have | 904 | Register J is set to the value of the next instruction that would have |
| 1104 | been executed when there was no jump." | 905 | been 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. | ||
| 1111 | Register J is set to the value of the next instruction that would have | 910 | Register J is set to the value of the next instruction that would have |
| 1112 | been executed when there was no jump." | 911 | been 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. | ||
| 1119 | Register J is set to the value of the next instruction that would have | 916 | Register J is set to the value of the next instruction that would have |
| 1120 | been executed when there was no jump." | 917 | been 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. | ||
| 1127 | Register J is set to the value of the next instruction that would have | 922 | Register J is set to the value of the next instruction that would have |
| 1128 | been executed when there was no jump." | 923 | been 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. | ||
| 1135 | Register J is set to the value of the next instruction that would have | 928 | Register J is set to the value of the next instruction that would have |
| 1136 | been executed when there was no jump." | 929 | been 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. | ||
| 1143 | Register J is set to the value of the next instruction that would have | 934 | Register J is set to the value of the next instruction that would have |
| 1144 | been executed when there was no jump." | 935 | been 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. | ||
| 1150 | Hero's will be added to the right." | 940 | Hero'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. | ||
| 1157 | Zeros will be added to the left." | 945 | Zeros 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. | ||
| 1164 | Zeros will be added to the right." | 950 | Zeros 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. | ||
| 1172 | Zeros will be added to the left." | 956 | Zeros 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. | ||
| 1179 | The bytes that fall off to the left will be added to the right." | 961 | The 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. | ||
| 1186 | The bytes that fall off to the right will be added to the left." | 966 | The 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. | ||
| 1202 | Stop instruction fetching." | 979 | Stop 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. | ||
| 1208 | The transfer starts at address M." | 984 | The 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. | ||
| 1214 | The transfer starts at address M to the specified unit." | 989 | The 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. | ||
| 1220 | The control operation is given by M on the specified unit." | 994 | The 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. | ||
| 1237 | the register rAX is assumed to contain a character representation of | 1007 | the register rAX is assumed to contain a character representation of |
| 1238 | a number." | 1008 | a 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. | ||
| 1244 | The converted character representation is stored in rAX." | 1013 | The converted character representation is stored in rAX." |
| 1245 | 10) | 1014 | 10)) |
| 1015 | |||
| 1016 | "Alist that contains all the possible operation codes for mix. | ||
| 1017 | Each elt has the form | ||
| 1018 | (OP-CODE GROUP FULL-NAME C-BYTE F-BYTE DESCRIPTION EXECUTION-TIME) | ||
| 1019 | Where OP-CODE is the text of the opcode as an symbol, | ||
| 1020 | FULL-NAME is the human readable name as a string, | ||
| 1021 | C-BYTE is the operation code telling what operation is to be performed, | ||
| 1022 | F-BYTE holds a modification of the operation code which can be a symbol | ||
| 1023 | or a number, | ||
| 1024 | DESCRIPTION contains an string with a description about the operation code and | ||
| 1025 | EXECUTION-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. |
| 1096 | Assumes 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 | ||
| 332 | Variables controlling indentation/edit style: | 333 | Variables 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. |
| 1518 | When in Pascal Outline mode, portions | 1506 | When in Pascal Outline mode, portions |
| 1519 | of the text being edited may be made invisible. \\<pascal-outline-map> | 1507 | of 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. | ||
| 211 | This 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 | |||
| 278 | used as shortcuts to open the Nth file." | 285 | used 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. | ||
| 459 | See 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. | ||
| 608 | Return 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. | ||
| 999 | That 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. | ||
| 1000 | That 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. | ||
| 1183 | N 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. | ||
| 1241 | Optional argument N must be a valid digit number. It defaults to 1. | ||
| 1242 | 1 opens the most recent file, 2 the second most recent one, etc.. | ||
| 1243 | 0 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. | |||
| 1273 | Returns non-nil if the new state is enabled. | 1329 | Returns non-nil if the new state is enabled. |
| 1274 | 1330 | ||
| 1275 | When recentf mode is enabled, it maintains a menu for visiting files | 1331 | When recentf mode is enabled, it maintains a menu for visiting files |
| 1276 | that were operated on recently." | 1332 | that 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 | |||
| 1254 | the user caused an input event by hitting a key or clicking with the | 1253 | the user caused an input event by hitting a key or clicking with the |
| 1255 | mouse." | 1254 | mouse." |
| 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) | 1327 | The list of incorrect words should be in `flyspell-external-ispell-buffer'. |
| 1328 | \(We finish by killing that buffer and setting the variable to nil.) | ||
| 1329 | The 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 | |||
| 482 | If the file does not specify a category, then file's base name | 485 | If the file does not specify a category, then file's base name |
| 483 | is used instead.") | 486 | is 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." | |||
| 7869 | table editor in arbitrary modes.") | 7872 | table 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 | |||
| 10 | They are not part of Emacs, but distributed and used by Emacs. | 12 | They 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 */ |
| 2 | static char * diropen_xpm[] = { | 2 | static 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 | " "}; | ||
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index c07a955b1c9..897d4a0aec2 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2005-10-08 Kim F. Storm <storm@cua.dk> | ||
| 2 | |||
| 3 | * windows.texi (Window Tree): Rename window-split-tree to window-tree. | ||
| 4 | Rename manual section accordingly. | ||
| 5 | |||
| 1 | 2005-10-04 Kim F. Storm <storm@cua.dk> | 6 | 2005-10-04 Kim F. Storm <storm@cua.dk> |
| 2 | 7 | ||
| 3 | * windows.texi (Window Split Tree): New section describing | 8 | * windows.texi (Window Split Tree): New section describing |
diff --git a/lispref/windows.texi b/lispref/windows.texi index c806577c4b8..0ca7d69c9f9 100644 --- a/lispref/windows.texi +++ b/lispref/windows.texi | |||
| @@ -30,7 +30,7 @@ displayed in windows. | |||
| 30 | * Size of Window:: Accessing the size of a window. | 30 | * Size of Window:: Accessing the size of a window. |
| 31 | * Resizing Windows:: Changing the size of a window. | 31 | * Resizing Windows:: Changing the size of a window. |
| 32 | * Coordinates and Windows:: Converting coordinates to windows. | 32 | * Coordinates and Windows:: Converting coordinates to windows. |
| 33 | * Window Split Tree:: The layout and sizes of all windows in a frame. | 33 | * Window Tree:: The layout and sizes of all windows in a frame. |
| 34 | * Window Configurations:: Saving and restoring the state of the screen. | 34 | * Window Configurations:: Saving and restoring the state of the screen. |
| 35 | * Window Hooks:: Hooks for scrolling, window size changes, | 35 | * Window Hooks:: Hooks for scrolling, window size changes, |
| 36 | redisplay going past a certain point, | 36 | redisplay going past a certain point, |
| @@ -2168,19 +2168,19 @@ The function @code{coordinates-in-window-p} does not require a frame as | |||
| 2168 | argument because it always uses the frame that @var{window} is on. | 2168 | argument because it always uses the frame that @var{window} is on. |
| 2169 | @end defun | 2169 | @end defun |
| 2170 | 2170 | ||
| 2171 | @node Window Split Tree | 2171 | @node Window Tree |
| 2172 | @section The Window Split Tree | 2172 | @section The Window Tree |
| 2173 | @cindex window split tree | 2173 | @cindex window tree |
| 2174 | 2174 | ||
| 2175 | A @dfn{window split tree} specifies the layout, size, and relationship | 2175 | A @dfn{window tree} specifies the layout, size, and relationship |
| 2176 | between all windows in one frame. | 2176 | between all windows in one frame. |
| 2177 | 2177 | ||
| 2178 | @defun split-window-tree &optional frame | 2178 | @defun window-tree &optional frame |
| 2179 | This function returns the window split tree for frame @var{frame}. | 2179 | This function returns the window tree for frame @var{frame}. |
| 2180 | If @var{frame} is omitted, the selected frame is used. | 2180 | If @var{frame} is omitted, the selected frame is used. |
| 2181 | 2181 | ||
| 2182 | The return value is a list of the form @code{(@var{root} @var{mini})}, | 2182 | The return value is a list of the form @code{(@var{root} @var{mini})}, |
| 2183 | where @var{root} represents the window split tree of the frame's | 2183 | where @var{root} represents the window tree of the frame's |
| 2184 | root window, and @var{mini} is the frame's minibuffer window. | 2184 | root window, and @var{mini} is the frame's minibuffer window. |
| 2185 | 2185 | ||
| 2186 | If the root window is not split, @var{root} is the root window itself. | 2186 | If the root window is not split, @var{root} is the root window itself. |
| @@ -218,13 +218,6 @@ then | |||
| 218 | echo "${bogosities}" | 218 | echo "${bogosities}" |
| 219 | fi | 219 | fi |
| 220 | rm -f /tmp/el /tmp/elc | 220 | rm -f /tmp/el /tmp/elc |
| 221 | |||
| 222 | ### Check for .el files that would overflow the 14-char limit if compiled. | ||
| 223 | long=`find lisp leim -name '[a-zA-Z0-9]??????????*.el' -print` | ||
| 224 | if [ "$long" != "" ]; then | ||
| 225 | echo "The following .el file names are too long:" | ||
| 226 | echo "$long" | ||
| 227 | fi | ||
| 228 | fi | 221 | fi |
| 229 | 222 | ||
| 230 | ### Make sure configure is newer than configure.in. | 223 | ### Make sure configure is newer than configure.in. |
| @@ -322,6 +315,7 @@ for subdir in lisp site-lisp lispref lispintro \ | |||
| 322 | src src/m src/s src/bitmaps lib-src oldXMenu lwlib \ | 315 | src src/m src/s src/bitmaps lib-src oldXMenu lwlib \ |
| 323 | nt nt/inc nt/inc/sys nt/inc/arpa nt/inc/netinet nt/icons \ | 316 | nt nt/inc nt/inc/sys nt/inc/arpa nt/inc/netinet nt/icons \ |
| 324 | etc etc/e etc/images etc/images/gnus etc/images/smilies \ | 317 | etc etc/e etc/images etc/images/gnus etc/images/smilies \ |
| 318 | etc/images/mail etc/images/ezimage \ | ||
| 325 | etc/tree-widget etc/tree-widget/default etc/tree-widget/folder \ | 319 | etc/tree-widget etc/tree-widget/default etc/tree-widget/folder \ |
| 326 | info man m4 msdos vms mac mac/inc mac/inc/sys \ | 320 | info man m4 msdos vms mac mac/inc mac/inc/sys \ |
| 327 | mac/src mac/Emacs.app mac/Emacs.app/Contents \ | 321 | mac/src mac/Emacs.app mac/Emacs.app/Contents \ |
| @@ -599,8 +593,17 @@ echo "Making links to \`etc/e'" | |||
| 599 | cd ../../${tempdir}/etc/e | 593 | cd ../../${tempdir}/etc/e |
| 600 | rm -f *~ \#*\# *,v =* core) | 594 | rm -f *~ \#*\# *,v =* core) |
| 601 | 595 | ||
| 602 | for dir in etc/images/gnus etc/images/smilies \ | 596 | echo "Making links to \`etc/images'" |
| 603 | etc/tree-widget/default etc/tree-widget/folder ; do | 597 | (cd etc/images |
| 598 | for img in [a-zA-Z]*.xpm [a-zA-Z]*.xbm [a-zA-Z]*.pbm; do | ||
| 599 | if [ -f $img ]; then | ||
| 600 | ln $img ../../${tempdir}/etc/images | ||
| 601 | fi | ||
| 602 | done) | ||
| 603 | |||
| 604 | for dir in etc/images/gnus etc/images/smilies etc/images/mail \ | ||
| 605 | etc/images/ezimage etc/tree-widget/default \ | ||
| 606 | etc/tree-widget/folder ; do | ||
| 604 | echo "Making links to \`${dir}'" | 607 | echo "Making links to \`${dir}'" |
| 605 | (cd ${dir} | 608 | (cd ${dir} |
| 606 | ln `ls -d * | grep -v CVS | grep -v RCS` ../../../${tempdir}/${dir} | 609 | ln `ls -d * | grep -v CVS | grep -v RCS` ../../../${tempdir}/${dir} |
diff --git a/man/ChangeLog b/man/ChangeLog index c2dbbc22328..3b98e7985fb 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,107 @@ | |||
| 1 | 2005-10-14 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 2 | |||
| 3 | * gnus.texi (Document Server Internals): Addition. | ||
| 4 | |||
| 5 | 2005-10-13 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 6 | |||
| 7 | * gnus.texi (A note on namespaces): Fix RFC reference. | ||
| 8 | |||
| 9 | 2005-10-12 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 10 | |||
| 11 | * gnus.texi (RSS): Fix key description. | ||
| 12 | |||
| 13 | 2005-10-11 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 14 | |||
| 15 | * gnus.texi: Emacs/w3 -> Emacs/W3. | ||
| 16 | (Browsing the Web): Fix description. | ||
| 17 | (Web Searches): Ditto. | ||
| 18 | (Customizing W3): Ditto. | ||
| 19 | |||
| 20 | 2005-10-07 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 21 | |||
| 22 | * gnus.texi (Maildir): Clarify expire-age and expire-group. | ||
| 23 | |||
| 24 | 2005-10-13 Kenichi Handa <handa@m17n.org> | ||
| 25 | |||
| 26 | * basic.texi (Position Info): Fix previous change. | ||
| 27 | |||
| 28 | 2005-10-12 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 29 | |||
| 30 | * cmdargs.texi (Icons X): Fix typo. | ||
| 31 | |||
| 32 | 2005-10-12 Kenichi Handa <handa@m17n.org> | ||
| 33 | |||
| 34 | * basic.texi (Position Info): Describe the case that Emacs shows | ||
| 35 | "part of display ...". | ||
| 36 | |||
| 37 | 2005-10-11 Jay Belanger <belanger@truman.edu> | ||
| 38 | |||
| 39 | * calc.texi (Integration): Mention using `a i' to compute definite | ||
| 40 | integrals. | ||
| 41 | |||
| 42 | 2005-10-11 Juri Linkov <juri@jurta.org> | ||
| 43 | |||
| 44 | * info.texi: Rearrange nodes. | ||
| 45 | (Top): Update menu. Change ref `Info for Experts' to | ||
| 46 | `Advanced Info Commands'. | ||
| 47 | (Getting Started): Fix description of manual's parts. | ||
| 48 | (Help-Int): Change xref `Info Search' to `Search Index', and | ||
| 49 | `Expert Info' to `Advanced'. | ||
| 50 | (Advanced): Move node one level up. | ||
| 51 | (Search Text, Search Index): New nodes split out from `Info Search'. | ||
| 52 | (Go to node, Choose menu subtopic, Create Info buffer): New nodes | ||
| 53 | split out from `Advanced'. | ||
| 54 | (Advanced, Emacs Info Variables): De-document editing an Info file | ||
| 55 | in Info. | ||
| 56 | (Emacs Info Variables): Move node from `Expert Info' to `Advanced'. | ||
| 57 | (Creating an Info File): Delete node and move its text to | ||
| 58 | `Expert Info'. | ||
| 59 | |||
| 60 | 2005-10-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 61 | |||
| 62 | * cmdargs.texi (Icons X): -nb => -nbi | ||
| 63 | |||
| 64 | 2005-10-10 Chong Yidong <cyd@stupidchicken.com> | ||
| 65 | |||
| 66 | * frames.texi (Speedbar): A couple more clarifications. | ||
| 67 | |||
| 68 | 2005-10-11 Nick Roberts <nickrob@snap.net.nz> | ||
| 69 | |||
| 70 | * building.texi (GDB User Interface Layout): Improve diagram. | ||
| 71 | (Watch Expressions): Explain how to make speedbar global. | ||
| 72 | (Other GDB User Interface Buffers): Make references more precise. | ||
| 73 | |||
| 74 | 2005-10-10 Carsten Dominik <dominik@science.uva.nl> | ||
| 75 | |||
| 76 | * org.texi: (Workflow states): Documented that change in keywords | ||
| 77 | becomes active only after restart of Emacs. | ||
| 78 | |||
| 79 | 2005-10-09 Richard M. Stallman <rms@gnu.org> | ||
| 80 | |||
| 81 | * frames.texi (Speedbar): Clarify the text. | ||
| 82 | |||
| 83 | 2005-10-09 Chong Yidong <cyd@stupidchicken.com> | ||
| 84 | |||
| 85 | * frames.texi (Speedbar): Add information on keybindings, | ||
| 86 | dismissing the speedbar, and buffer display mode. Link to | ||
| 87 | speedbar manual. | ||
| 88 | |||
| 89 | 2005-10-09 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 90 | |||
| 91 | * cmdargs.texi (Icons X): Removed options -i, -itype, --icon-type, | ||
| 92 | added -nb, --no-bitmap-icon. | ||
| 93 | |||
| 94 | 2005-10-08 Michael Albinus <michael.albinus@gmx.de> | ||
| 95 | |||
| 96 | Sync with Tramp 2.0.51. | ||
| 97 | |||
| 98 | 2005-10-08 Nick Roberts <nickrob@snap.net.nz> | ||
| 99 | |||
| 100 | * speedbar.texi (Introduction): Describe new location of speedbar | ||
| 101 | on menubar. | ||
| 102 | (Basic Key Bindings): Remove descriptions of bindings that have | ||
| 103 | been removed. | ||
| 104 | |||
| 1 | 2005-10-07 Nick Roberts <nickrob@snap.net.nz> | 105 | 2005-10-07 Nick Roberts <nickrob@snap.net.nz> |
| 2 | 106 | ||
| 3 | * building.texi (GDB Graphical Interface): Add variables and | 107 | * building.texi (GDB Graphical Interface): Add variables and |
diff --git a/man/basic.texi b/man/basic.texi index 2f5aa3162e1..2c78de612ad 100644 --- a/man/basic.texi +++ b/man/basic.texi | |||
| @@ -636,10 +636,17 @@ Char: c (0143, 99, 0x63) point=21044 of 26883(78%) column 53 | |||
| 636 | The four values after @samp{Char:} describe the character that follows | 636 | The four values after @samp{Char:} describe the character that follows |
| 637 | point, first by showing it and then by giving its character code in | 637 | point, first by showing it and then by giving its character code in |
| 638 | octal, decimal and hex. For a non-@acronym{ASCII} multibyte character, these are | 638 | octal, decimal and hex. For a non-@acronym{ASCII} multibyte character, these are |
| 639 | followed by @samp{ext} and the character's representation, in hex, in | 639 | followed by @samp{file} and the character's representation, in hex, in |
| 640 | the buffer's coding system, if that coding system encodes the character | 640 | the buffer's coding system, if that coding system encodes the character |
| 641 | safely and with a single byte (@pxref{Coding Systems}). If the | 641 | safely and with a single byte (@pxref{Coding Systems}). If the |
| 642 | character's encoding is longer than one byte, Emacs shows @samp{ext ...}. | 642 | character's encoding is longer than one byte, Emacs shows @samp{file ...}. |
| 643 | |||
| 644 | However, if the character displayed is in the range 0200 through | ||
| 645 | 0377 octal, it may actually stand for an invalid UTF-8 byte read from | ||
| 646 | a file. In Emacs, that byte is represented as a sequence of 8-bit | ||
| 647 | characters, but all of them together display as the original invalid | ||
| 648 | byte, in octal code. In this case, @kbd{C-x =} shows @samp{part of | ||
| 649 | display ...} instead of @samp{file}. | ||
| 643 | 650 | ||
| 644 | @samp{point=} is followed by the position of point expressed as a character | 651 | @samp{point=} is followed by the position of point expressed as a character |
| 645 | count. The front of the buffer counts as position 1, one character later | 652 | count. The front of the buffer counts as position 1, one character later |
diff --git a/man/building.texi b/man/building.texi index a9a3cc049c7..eb7a8bb00fe 100644 --- a/man/building.texi +++ b/man/building.texi | |||
| @@ -801,18 +801,21 @@ If @code{gdb-many-windows} is non-@code{nil}, regardless of the value of | |||
| 801 | @code{gdb-use-inferior-io-buffer} is @code{nil}. In this case the | 801 | @code{gdb-use-inferior-io-buffer} is @code{nil}. In this case the |
| 802 | source buffer occupies the full width of the frame. | 802 | source buffer occupies the full width of the frame. |
| 803 | 803 | ||
| 804 | @multitable @columnfractions .5 .5 | 804 | @example |
| 805 | @item GUD buffer (I/O of GDB) | 805 | +--------------------------------+--------------------------------+ |
| 806 | @tab Locals buffer | 806 | | | | |
| 807 | @item | 807 | | GUD buffer (I/O of GDB) | Locals buffer | |
| 808 | @tab | 808 | | | | |
| 809 | @item Source buffer | 809 | |--------------------------------+--------------------------------+ |
| 810 | @tab Input/Output (of inferior) buffer | 810 | | | | |
| 811 | @item | 811 | | Source buffer | I/O buffer (of inferior) | |
| 812 | @tab | 812 | | | | |
| 813 | @item Stack buffer | 813 | |--------------------------------+--------------------------------+ |
| 814 | @tab Breakpoints buffer | 814 | | | | |
| 815 | @end multitable | 815 | | Stack buffer | Breakpoints buffer | |
| 816 | | | | | ||
| 817 | +--------------------------------+--------------------------------+ | ||
| 818 | @end example | ||
| 816 | 819 | ||
| 817 | To toggle this layout, do @kbd{M-x gdb-many-windows}. | 820 | To toggle this layout, do @kbd{M-x gdb-many-windows}. |
| 818 | 821 | ||
| @@ -822,12 +825,12 @@ re-compiling your program, then you can restore it with the command | |||
| 822 | @code{gdb-restore-windows}. | 825 | @code{gdb-restore-windows}. |
| 823 | 826 | ||
| 824 | You may also choose which additional buffers you want to display, | 827 | You may also choose which additional buffers you want to display, |
| 825 | either in the same frame or a different one. Select GDB-windows or | 828 | either in the same frame or a different one. Select them from |
| 826 | GDB-Frames from the menu-bar under the heading GUD. If the menu-bar | 829 | @samp{GUD->GDB-windows} or @samp{GUD->GDB-Frames} sub-menu |
| 827 | is unavailable, type @code{M-x | 830 | respectively. If the menu-bar is unavailable, type @code{M-x |
| 828 | gdb-display-@var{buffertype}-buffer} or @code{M-x | 831 | gdb-display-@var{buffertype}-buffer} or @code{M-x |
| 829 | gdb-frame-@var{buffertype}-buffer} respectively, where @var{buffertype} | 832 | gdb-frame-@var{buffertype}-buffer} respectively, where |
| 830 | is the relevant buffer type e.g breakpoints. | 833 | @var{buffertype} is the relevant buffer type e.g breakpoints. |
| 831 | 834 | ||
| 832 | When you finish debugging then kill the GUD buffer with @kbd{C-x k}, | 835 | When you finish debugging then kill the GUD buffer with @kbd{C-x k}, |
| 833 | which will also kill all the buffers associated with the session. | 836 | which will also kill all the buffers associated with the session. |
| @@ -874,7 +877,7 @@ the current line (@code{gdb-goto-breakpoint}). Alternatively, click | |||
| 874 | 877 | ||
| 875 | The stack buffer displays a @dfn{call stack}, with one line for each | 878 | The stack buffer displays a @dfn{call stack}, with one line for each |
| 876 | of the nested subroutine calls (@dfn{stack frames}) now active in the | 879 | of the nested subroutine calls (@dfn{stack frames}) now active in the |
| 877 | program. @xref{Backtrace,,info stack, gdb, The GNU debugger}. | 880 | program. @xref{Backtrace,, Backtraces, gdb, The GNU debugger}. |
| 878 | 881 | ||
| 879 | @findex gdb-frames-select | 882 | @findex gdb-frames-select |
| 880 | The selected frame number is displayed in reverse contrast. Move | 883 | The selected frame number is displayed in reverse contrast. Move |
| @@ -898,6 +901,12 @@ types, such as arrays, structures and unions are represented in a tree | |||
| 898 | format. To expand or contract a complex data type, click @kbd{Mouse-2} | 901 | format. To expand or contract a complex data type, click @kbd{Mouse-2} |
| 899 | on the tag to the left of the expression. | 902 | on the tag to the left of the expression. |
| 900 | 903 | ||
| 904 | By default, watch expressions only display in the speedbar when the | ||
| 905 | GUD buffer is selected in the attached frame. If you want your watch | ||
| 906 | expressions to remain visible at all times then select the @samp{GUD} | ||
| 907 | radio button on the @samp{Speedbar->Displays} sub-menu using | ||
| 908 | @kbd{Mouse-3}. | ||
| 909 | |||
| 901 | @findex gdb-var-delete | 910 | @findex gdb-var-delete |
| 902 | With the cursor over the root expression of a complex data type, type | 911 | With the cursor over the root expression of a complex data type, type |
| 903 | @kbd{D} to delete it from the speedbar | 912 | @kbd{D} to delete it from the speedbar |
| @@ -936,8 +945,8 @@ available here. @xref{Shell Mode}. | |||
| 936 | 945 | ||
| 937 | @item Locals Buffer | 946 | @item Locals Buffer |
| 938 | The locals buffer displays the values of local variables of the | 947 | The locals buffer displays the values of local variables of the |
| 939 | current frame for simple data types (@pxref{Frame Info,,, gdb, The GNU | 948 | current frame for simple data types (@pxref{Frame Info, Frame Info, |
| 940 | debugger}). | 949 | Information on a frame, gdb, The GNU debugger}). |
| 941 | 950 | ||
| 942 | Arrays and structures display their type only. You must display them | 951 | Arrays and structures display their type only. You must display them |
| 943 | separately to examine their values. @xref{Watch Expressions}. | 952 | separately to examine their values. @xref{Watch Expressions}. |
| @@ -958,20 +967,21 @@ appear in the fringe or margin. | |||
| 958 | @item Threads Buffer | 967 | @item Threads Buffer |
| 959 | @findex gdb-threads-select | 968 | @findex gdb-threads-select |
| 960 | The threads buffer displays a summary of all threads currently in your | 969 | The threads buffer displays a summary of all threads currently in your |
| 961 | program (@pxref{Threads,,, gdb, The GNU debugger}). Move point to any | 970 | program (@pxref{Threads, Threads, Debugging programs with multiple |
| 962 | thread in the list and press @key{RET} to select it | 971 | threads, gdb, The GNU debugger}). Move point to any thread in the |
| 963 | (@code{gdb-threads-select}) and display the associated source in the | 972 | list and press @key{RET} to select it (@code{gdb-threads-select}) and |
| 964 | source buffer. Alternatively, click @kbd{Mouse-2} on a thread to | 973 | display the associated source in the source buffer. Alternatively, |
| 965 | select it. If the locals buffer is displayed then its contents update | 974 | click @kbd{Mouse-2} on a thread to select it. If the locals buffer is |
| 966 | to display the variables that are local to the new thread. | 975 | displayed then its contents update to display the variables that are |
| 976 | local to the new thread. | ||
| 967 | 977 | ||
| 968 | @item Memory Buffer | 978 | @item Memory Buffer |
| 969 | The memory buffer allows the user to examine sections of program | 979 | The memory buffer allows the user to examine sections of program |
| 970 | memory (@pxref{Memory,,, gdb, The GNU debugger}). Click @kbd{Mouse-1} | 980 | memory (@pxref{Memory, Memory, Examining memory, gdb, The GNU |
| 971 | on the appropriate part of the header line to change the starting | 981 | debugger}). Click @kbd{Mouse-1} on the appropriate part of the header |
| 972 | address or number of data items that the buffer displays. | 982 | line to change the starting address or number of data items that the |
| 973 | Click @kbd{Mouse-3} on the header line to select the display format | 983 | buffer displays. Click @kbd{Mouse-3} on the header line to select the |
| 974 | or unit size for these data items. | 984 | display format or unit size for these data items. |
| 975 | 985 | ||
| 976 | @end table | 986 | @end table |
| 977 | 987 | ||
diff --git a/man/calc.texi b/man/calc.texi index 36f9f68eecd..6e397a0052c 100644 --- a/man/calc.texi +++ b/man/calc.texi | |||
| @@ -12817,7 +12817,9 @@ If you press @kbd{m v} with a numeric prefix argument @var{n}, you | |||
| 12817 | get a special ``dimensioned'' Matrix mode in which matrices of | 12817 | get a special ``dimensioned'' Matrix mode in which matrices of |
| 12818 | unknown size are assumed to be @var{n}x@var{n} square matrices. | 12818 | unknown size are assumed to be @var{n}x@var{n} square matrices. |
| 12819 | Then, the function call @samp{idn(1)} will expand into an actual | 12819 | Then, the function call @samp{idn(1)} will expand into an actual |
| 12820 | matrix rather than representing a ``generic'' matrix. | 12820 | matrix rather than representing a ``generic'' matrix. Simply typing |
| 12821 | @kbd{C-u m v} will get you a square Matrix mode, in which matrices of | ||
| 12822 | unknown size are assumed to be square matrices of unspecified size. | ||
| 12821 | 12823 | ||
| 12822 | @cindex Declaring scalar variables | 12824 | @cindex Declaring scalar variables |
| 12823 | Of course these modes are approximations to the true state of | 12825 | Of course these modes are approximations to the true state of |
| @@ -13205,6 +13207,8 @@ The value is not a vector. | |||
| 13205 | The value is a vector. | 13207 | The value is a vector. |
| 13206 | @item matrix | 13208 | @item matrix |
| 13207 | The value is a matrix (a rectangular vector of vectors). | 13209 | The value is a matrix (a rectangular vector of vectors). |
| 13210 | @item sqmatrix | ||
| 13211 | The value is a square matrix. | ||
| 13208 | @end table | 13212 | @end table |
| 13209 | 13213 | ||
| 13210 | These type symbols can be combined with the other type symbols | 13214 | These type symbols can be combined with the other type symbols |
| @@ -15978,7 +15982,8 @@ Command is @kbd{m p}. | |||
| 15978 | 15982 | ||
| 15979 | @item | 15983 | @item |
| 15980 | Matrix/Scalar mode. Default value is @mathit{-1}. Value is 0 for Scalar | 15984 | Matrix/Scalar mode. Default value is @mathit{-1}. Value is 0 for Scalar |
| 15981 | mode, @mathit{-2} for Matrix mode, or @var{N} for | 15985 | mode, @mathit{-2} for Matrix mode, @mathit{-3} for square Matrix mode, |
| 15986 | or @var{N} for | ||
| 15982 | @texline @math{N\times N} | 15987 | @texline @math{N\times N} |
| 15983 | @infoline @var{N}x@var{N} | 15988 | @infoline @var{N}x@var{N} |
| 15984 | Matrix mode. Command is @kbd{m v}. | 15989 | Matrix mode. Command is @kbd{m v}. |
| @@ -16056,7 +16061,10 @@ Symbolic mode (@kbd{m s}; @pxref{Symbolic Mode}). | |||
| 16056 | Matrix mode (@kbd{m v}; @pxref{Matrix Mode}). | 16061 | Matrix mode (@kbd{m v}; @pxref{Matrix Mode}). |
| 16057 | 16062 | ||
| 16058 | @item Matrix@var{n} | 16063 | @item Matrix@var{n} |
| 16059 | Dimensioned Matrix mode (@kbd{C-u @var{n} m v}). | 16064 | Dimensioned Matrix mode (@kbd{C-u @var{n} m v}; @pxref{Matrix Mode}). |
| 16065 | |||
| 16066 | @item SqMatrix | ||
| 16067 | Square Matrix mode (@kbd{C-u m v}; @pxref{Matrix Mode}). | ||
| 16060 | 16068 | ||
| 16061 | @item Scalar | 16069 | @item Scalar |
| 16062 | Scalar mode (@kbd{m v}; @pxref{Matrix Mode}). | 16070 | Scalar mode (@kbd{m v}; @pxref{Matrix Mode}). |
| @@ -23498,11 +23506,11 @@ argument once). | |||
| 23498 | @tindex integ | 23506 | @tindex integ |
| 23499 | The @kbd{a i} (@code{calc-integral}) [@code{integ}] command computes the | 23507 | The @kbd{a i} (@code{calc-integral}) [@code{integ}] command computes the |
| 23500 | indefinite integral of the expression on the top of the stack with | 23508 | indefinite integral of the expression on the top of the stack with |
| 23501 | respect to a variable. The integrator is not guaranteed to work for | 23509 | respect to a prompted-for variable. The integrator is not guaranteed to |
| 23502 | all integrable functions, but it is able to integrate several large | 23510 | work for all integrable functions, but it is able to integrate several |
| 23503 | classes of formulas. In particular, any polynomial or rational function | 23511 | large classes of formulas. In particular, any polynomial or rational |
| 23504 | (a polynomial divided by a polynomial) is acceptable. (Rational functions | 23512 | function (a polynomial divided by a polynomial) is acceptable. |
| 23505 | don't have to be in explicit quotient form, however; | 23513 | (Rational functions don't have to be in explicit quotient form, however; |
| 23506 | @texline @math{x/(1+x^{-2})} | 23514 | @texline @math{x/(1+x^{-2})} |
| 23507 | @infoline @expr{x/(1+x^-2)} | 23515 | @infoline @expr{x/(1+x^-2)} |
| 23508 | is not strictly a quotient of polynomials, but it is equivalent to | 23516 | is not strictly a quotient of polynomials, but it is equivalent to |
| @@ -23511,6 +23519,11 @@ is not strictly a quotient of polynomials, but it is equivalent to | |||
| 23511 | integrated. Finally, rational functions involving trigonometric or | 23519 | integrated. Finally, rational functions involving trigonometric or |
| 23512 | hyperbolic functions can be integrated. | 23520 | hyperbolic functions can be integrated. |
| 23513 | 23521 | ||
| 23522 | With an argument (@kbd{C-u a i}), this command will compute the definite | ||
| 23523 | integral of the expression on top of the stack. In this case, the | ||
| 23524 | command will again prompt for an integration variable, then prompt for a | ||
| 23525 | lower limit and an upper limit. | ||
| 23526 | |||
| 23514 | @ifinfo | 23527 | @ifinfo |
| 23515 | If you use the @code{integ} function directly in an algebraic formula, | 23528 | If you use the @code{integ} function directly in an algebraic formula, |
| 23516 | you can also write @samp{integ(f,x,v)} which expresses the resulting | 23529 | you can also write @samp{integ(f,x,v)} which expresses the resulting |
diff --git a/man/cmdargs.texi b/man/cmdargs.texi index dad7e61dbf2..28cb567f0cd 100644 --- a/man/cmdargs.texi +++ b/man/cmdargs.texi | |||
| @@ -1173,12 +1173,12 @@ If you have many clients running at once, you can avoid cluttering up | |||
| 1173 | the screen by iconifying most of the clients. | 1173 | the screen by iconifying most of the clients. |
| 1174 | 1174 | ||
| 1175 | @table @samp | 1175 | @table @samp |
| 1176 | @item -i | 1176 | @item -nbi |
| 1177 | @opindex -i | 1177 | @opindex -nbi |
| 1178 | @itemx --icon-type | 1178 | @itemx --no-bitmap-icon |
| 1179 | @opindex --icon-type | 1179 | @opindex --no-bitmap-icon |
| 1180 | @cindex Emacs icon, a gnu | 1180 | @cindex Emacs icon, a gnu |
| 1181 | Use a picture of a gnu as the Emacs icon. | 1181 | Do not use a picture of a gnu as the Emacs icon. |
| 1182 | 1182 | ||
| 1183 | @item -iconic | 1183 | @item -iconic |
| 1184 | @opindex --iconic | 1184 | @opindex --iconic |
| @@ -1187,8 +1187,8 @@ Use a picture of a gnu as the Emacs icon. | |||
| 1187 | Start Emacs in iconified state. | 1187 | Start Emacs in iconified state. |
| 1188 | @end table | 1188 | @end table |
| 1189 | 1189 | ||
| 1190 | The @samp{-i} or @samp{--icon-type} option tells Emacs to use an icon | 1190 | By default Emacs uses an icon window containing a picture of the GNU gnu. |
| 1191 | window containing a picture of the GNU gnu. If omitted, Emacs lets the | 1191 | The @samp{-nbi} or @samp{--no-bitmap-icon} option tells Emacs to let the |
| 1192 | window manager choose what sort of icon to use---usually just a small | 1192 | window manager choose what sort of icon to use---usually just a small |
| 1193 | rectangle containing the frame's title. | 1193 | rectangle containing the frame's title. |
| 1194 | 1194 | ||
diff --git a/man/frames.texi b/man/frames.texi index 2928aa7a62a..daaa9599bf7 100644 --- a/man/frames.texi +++ b/man/frames.texi | |||
| @@ -545,26 +545,53 @@ selects it, that variable should be @code{t}; if a click is necessary, | |||
| 545 | the variable should be @code{nil}. | 545 | the variable should be @code{nil}. |
| 546 | 546 | ||
| 547 | @node Speedbar | 547 | @node Speedbar |
| 548 | @section Making and Using a Speedbar Frame | 548 | @section Speedbar Frames |
| 549 | @cindex speedbar | 549 | @cindex speedbar |
| 550 | 550 | ||
| 551 | An Emacs frame can have a @dfn{speedbar}, which is a vertical window | 551 | @cindex attached frame (of speedbar) |
| 552 | that serves as a scrollable menu of files you could visit and tags | 552 | The @dfn{speedbar} is a special frame for conveniently navigating in |
| 553 | within those files. To create a speedbar, type @kbd{M-x speedbar}; this | 553 | or operating on another frame. The speedbar, when it exists, is |
| 554 | creates a speedbar window for the selected frame. From then on, you can | 554 | always associated with a specific frame, called its @dfn{attached |
| 555 | click on a file name in the speedbar to visit that file in the | 555 | frame}; all speedbar operations act on that frame. |
| 556 | corresponding Emacs frame, or click on a tag name to jump to that tag in | 556 | |
| 557 | the Emacs frame. | 557 | Type @kbd{M-x speedbar} to create the speedbar and associate it with |
| 558 | 558 | the current frame. To dismiss the speedbar, type @kbd{M-x speedbar} | |
| 559 | Initially the speedbar lists the immediate contents of the current | 559 | again, or select the speedbar and type @kbd{q}. (You can also delete |
| 560 | directory, one file per line. Each line also has a box, @samp{[+]} or | 560 | the speedbar frame like any other Emacs frame.) If you wish to |
| 561 | @samp{<+>}, that you can click on with @kbd{Mouse-2} to ``open up'' the | 561 | associate the speedbar with a different frame, dismiss it and call |
| 562 | contents of that item. If the line names a directory, opening it adds | 562 | @kbd{M-x speedbar} from that frame. |
| 563 | |||
| 564 | The speedbar can operate in various modes. Its default mode is | ||
| 565 | @dfn{File Display} mode, which shows the files in the current | ||
| 566 | directory of the selected window of the attached frame, one file per | ||
| 567 | line. Clicking on a file name visits that file in the selected window | ||
| 568 | of the attached frame, and clicking on a directory name shows that | ||
| 569 | directory in the speedbar (@pxref{Mouse References}). Each line also | ||
| 570 | has a box, @samp{[+]} or @samp{<+>}, that you can click on to | ||
| 571 | @dfn{expand} the contents of that item. Expanding a directory adds | ||
| 563 | the contents of that directory to the speedbar display, underneath the | 572 | the contents of that directory to the speedbar display, underneath the |
| 564 | directory's own line. If the line lists an ordinary file, opening it up | 573 | directory's own line. Expanding an ordinary file adds a list of the |
| 565 | adds a list of the tags in that file to the speedbar display. When a | 574 | tags in that file to the speedbar display; you can click on a tag name |
| 566 | file is opened up, the @samp{[+]} changes to @samp{[-]}; you can click | 575 | to jump to that tag in the selected window of the attached frame. |
| 567 | on that box to ``close up'' that file (hide its contents). | 576 | When a file or directory is expanded, the @samp{[+]} changes to |
| 577 | @samp{[-]}; you can click on that box to @dfn{contract} the item, | ||
| 578 | hiding its contents. | ||
| 579 | |||
| 580 | You navigate through the speedbar using the keyboard, too. Typing | ||
| 581 | @kbd{RET} while point is on a line in the speedbar is equivalent to | ||
| 582 | clicking the item on the current line, and @kbd{SPC} expands or | ||
| 583 | contracts the item. @kbd{U} displays the parent directory of the | ||
| 584 | current directory. To copy, delete, or rename the file on the current | ||
| 585 | line, type @kbd{C}, @kbd{D}, and @kbd{R} respectively. To create a | ||
| 586 | new directory, type @kbd{M}. | ||
| 587 | |||
| 588 | Another general-purpose speedbar mode is @dfn{Buffer Display} mode; | ||
| 589 | in this mode, the speedbar displays a list of Emacs buffers. To | ||
| 590 | switch to this mode, type @kbd{b} in the speedbar. To return to File | ||
| 591 | Display mode, type @kbd{f}. You can also change the display mode by | ||
| 592 | clicking @kbd{mouse-3} anywhere in the speedbar window (or | ||
| 593 | @kbd{mouse-1} on the mode-line) and selecting @samp{Displays} in the | ||
| 594 | pop-up menu. | ||
| 568 | 595 | ||
| 569 | Some major modes, including Rmail mode, Info, and GUD, have | 596 | Some major modes, including Rmail mode, Info, and GUD, have |
| 570 | specialized ways of putting useful items into the speedbar for you to | 597 | specialized ways of putting useful items into the speedbar for you to |
| @@ -572,10 +599,8 @@ select. For example, in Rmail mode, the speedbar shows a list of Rmail | |||
| 572 | files, and lets you move the current message to another Rmail file by | 599 | files, and lets you move the current message to another Rmail file by |
| 573 | clicking on its @samp{<M>} box. | 600 | clicking on its @samp{<M>} box. |
| 574 | 601 | ||
| 575 | A speedbar belongs to one Emacs frame, and always operates on that | 602 | For more details on using and programming the speedbar, @xref{Top, |
| 576 | frame. If you use multiple frames, you can make a speedbar for some or | 603 | Speedbar,,speedbar, Speedbar Manual}. |
| 577 | all of the frames; type @kbd{M-x speedbar} in any given frame to make a | ||
| 578 | speedbar for it. | ||
| 579 | 604 | ||
| 580 | @node Multiple Displays | 605 | @node Multiple Displays |
| 581 | @section Multiple Displays | 606 | @section Multiple Displays |
diff --git a/man/gnus.texi b/man/gnus.texi index 7ced947a5ce..1a66bd763e0 100644 --- a/man/gnus.texi +++ b/man/gnus.texi | |||
| @@ -683,7 +683,7 @@ Browsing the Web | |||
| 683 | * Ultimate:: The Ultimate Bulletin Board systems. | 683 | * Ultimate:: The Ultimate Bulletin Board systems. |
| 684 | * Web Archive:: Reading mailing list archived on web. | 684 | * Web Archive:: Reading mailing list archived on web. |
| 685 | * RSS:: Reading RDF site summary. | 685 | * RSS:: Reading RDF site summary. |
| 686 | * Customizing w3:: Doing stuff to Emacs/w3 from Gnus. | 686 | * Customizing W3:: Doing stuff to Emacs/W3 from Gnus. |
| 687 | 687 | ||
| 688 | @acronym{IMAP} | 688 | @acronym{IMAP} |
| 689 | 689 | ||
| @@ -8569,8 +8569,8 @@ Customization, emacs-mime, The Emacs MIME Manual}) to convert the | |||
| 8569 | can use include: | 8569 | can use include: |
| 8570 | 8570 | ||
| 8571 | @table @code | 8571 | @table @code |
| 8572 | @item w3 | 8572 | @item W3 |
| 8573 | Use Emacs/w3. | 8573 | Use Emacs/W3. |
| 8574 | 8574 | ||
| 8575 | @item w3m | 8575 | @item w3m |
| 8576 | Use @uref{http://emacs-w3m.namazu.org/, emacs-w3m}. | 8576 | Use @uref{http://emacs-w3m.namazu.org/, emacs-w3m}. |
| @@ -15093,8 +15093,9 @@ An integer specifying the minimum age, in seconds, of an article | |||
| 15093 | before it will be expired, or the symbol @code{never} to specify that | 15093 | before it will be expired, or the symbol @code{never} to specify that |
| 15094 | articles should never be expired. If this parameter is not set, | 15094 | articles should never be expired. If this parameter is not set, |
| 15095 | @code{nnmaildir} falls back to the usual | 15095 | @code{nnmaildir} falls back to the usual |
| 15096 | @code{nnmail-expiry-wait}(@code{-function}) variables (overrideable by | 15096 | @code{nnmail-expiry-wait}(@code{-function}) variables (the |
| 15097 | the @code{expiry-wait}(@code{-function}) group parameters. If you | 15097 | @code{expiry-wait} group parameter overrides @code{nnmail-expiry-wait} |
| 15098 | and makes @code{nnmail-expiry-wait-function} ineffective). If you | ||
| 15098 | wanted a value of 3 days, you could use something like @code{[(* 3 24 | 15099 | wanted a value of 3 days, you could use something like @code{[(* 3 24 |
| 15099 | 60 60)]}; @code{nnmaildir} will evaluate the form and use the result. | 15100 | 60 60)]}; @code{nnmaildir} will evaluate the form and use the result. |
| 15100 | An article's age is measured starting from the article file's | 15101 | An article's age is measured starting from the article file's |
| @@ -15117,8 +15118,8 @@ the parameter belongs to, then the article is not expired at all. If | |||
| 15117 | you use the vector form, the first element is evaluated once for each | 15118 | you use the vector form, the first element is evaluated once for each |
| 15118 | article. So that form can refer to | 15119 | article. So that form can refer to |
| 15119 | @code{nnmaildir-article-file-name}, etc., to decide where to put the | 15120 | @code{nnmaildir-article-file-name}, etc., to decide where to put the |
| 15120 | article. @emph{If this parameter is not set, @code{nnmaildir} does | 15121 | article. @emph{Even if this parameter is not set, @code{nnmaildir} |
| 15121 | not fall back to the @code{expiry-target} group parameter or the | 15122 | does not fall back to the @code{expiry-target} group parameter or the |
| 15122 | @code{nnmail-expiry-target} variable.} | 15123 | @code{nnmail-expiry-target} variable.} |
| 15123 | 15124 | ||
| 15124 | @item read-only | 15125 | @item read-only |
| @@ -15534,10 +15535,11 @@ interfaces to these sources. | |||
| 15534 | * Ultimate:: The Ultimate Bulletin Board systems. | 15535 | * Ultimate:: The Ultimate Bulletin Board systems. |
| 15535 | * Web Archive:: Reading mailing list archived on web. | 15536 | * Web Archive:: Reading mailing list archived on web. |
| 15536 | * RSS:: Reading RDF site summary. | 15537 | * RSS:: Reading RDF site summary. |
| 15537 | * Customizing w3:: Doing stuff to Emacs/w3 from Gnus. | 15538 | * Customizing W3:: Doing stuff to Emacs/W3 from Gnus. |
| 15538 | @end menu | 15539 | @end menu |
| 15539 | 15540 | ||
| 15540 | All the web sources require Emacs/w3 and the url library to work. | 15541 | All the web sources require Emacs/W3 and the url library or those |
| 15542 | alternatives to work. | ||
| 15541 | 15543 | ||
| 15542 | The main caveat with all these web sources is that they probably won't | 15544 | The main caveat with all these web sources is that they probably won't |
| 15543 | work for a very long time. Gleaning information from the @acronym{HTML} data | 15545 | work for a very long time. Gleaning information from the @acronym{HTML} data |
| @@ -15624,8 +15626,9 @@ make money off of advertisements, not to provide services to the | |||
| 15624 | community. Since @code{nnweb} washes the ads off all the articles, one | 15626 | community. Since @code{nnweb} washes the ads off all the articles, one |
| 15625 | might think that the providers might be somewhat miffed. We'll see. | 15627 | might think that the providers might be somewhat miffed. We'll see. |
| 15626 | 15628 | ||
| 15627 | You must have the @code{url} and @code{w3} package installed to be able | 15629 | You must have the @code{url} and @code{W3} package or those alternatives |
| 15628 | to use @code{nnweb}. | 15630 | (try @code{customize-group} on the @samp{mm-url} variable group) |
| 15631 | installed to be able to use @code{nnweb}. | ||
| 15629 | 15632 | ||
| 15630 | Virtual server variables: | 15633 | Virtual server variables: |
| 15631 | 15634 | ||
| @@ -15845,9 +15848,9 @@ system because @acronym{RSS} uses UTF-8 for encoding non-@acronym{ASCII} | |||
| 15845 | text by default. It is also used by default for non-@acronym{ASCII} | 15848 | text by default. It is also used by default for non-@acronym{ASCII} |
| 15846 | group names. | 15849 | group names. |
| 15847 | 15850 | ||
| 15848 | @kindex G R (Summary) | 15851 | @kindex G R (Group) |
| 15849 | Use @kbd{G R} from the summary buffer to subscribe to a feed---you will | 15852 | Use @kbd{G R} from the group buffer to subscribe to a feed---you will be |
| 15850 | be prompted for the location, the title and the description of the feed. | 15853 | prompted for the location, the title and the description of the feed. |
| 15851 | The title, which allows any characters, will be used for the group name | 15854 | The title, which allows any characters, will be used for the group name |
| 15852 | and the name of the group data file. The description can be omitted. | 15855 | and the name of the group data file. The description can be omitted. |
| 15853 | 15856 | ||
| @@ -15940,18 +15943,19 @@ summary buffer. | |||
| 15940 | (add-to-list 'nnmail-extra-headers nnrss-url-field) | 15943 | (add-to-list 'nnmail-extra-headers nnrss-url-field) |
| 15941 | @end lisp | 15944 | @end lisp |
| 15942 | 15945 | ||
| 15943 | @node Customizing w3 | 15946 | @node Customizing W3 |
| 15944 | @subsection Customizing w3 | 15947 | @subsection Customizing W3 |
| 15945 | @cindex w3 | 15948 | @cindex W3 |
| 15946 | @cindex html | 15949 | @cindex html |
| 15947 | @cindex url | 15950 | @cindex url |
| 15948 | @cindex Netscape | 15951 | @cindex Netscape |
| 15949 | 15952 | ||
| 15950 | Gnus uses the url library to fetch web pages and Emacs/w3 to display web | 15953 | Gnus uses the url library to fetch web pages and Emacs/W3 (or those |
| 15951 | pages. Emacs/w3 is documented in its own manual, but there are some | 15954 | alternatives) to display web pages. Emacs/W3 is documented in its own |
| 15952 | things that may be more relevant for Gnus users. | 15955 | manual, but there are some things that may be more relevant for Gnus |
| 15956 | users. | ||
| 15953 | 15957 | ||
| 15954 | For instance, a common question is how to make Emacs/w3 follow links | 15958 | For instance, a common question is how to make Emacs/W3 follow links |
| 15955 | using the @code{browse-url} functions (which will call some external web | 15959 | using the @code{browse-url} functions (which will call some external web |
| 15956 | browser like Netscape). Here's one way: | 15960 | browser like Netscape). Here's one way: |
| 15957 | 15961 | ||
| @@ -15966,7 +15970,7 @@ browser like Netscape). Here's one way: | |||
| 15966 | (w3-fetch-orig url target))))) | 15970 | (w3-fetch-orig url target))))) |
| 15967 | @end lisp | 15971 | @end lisp |
| 15968 | 15972 | ||
| 15969 | Put that in your @file{.emacs} file, and hitting links in w3-rendered | 15973 | Put that in your @file{.emacs} file, and hitting links in W3-rendered |
| 15970 | @acronym{HTML} in the Gnus article buffers will use @code{browse-url} to | 15974 | @acronym{HTML} in the Gnus article buffers will use @code{browse-url} to |
| 15971 | follow the link. | 15975 | follow the link. |
| 15972 | 15976 | ||
| @@ -16559,7 +16563,7 @@ delete them. | |||
| 16559 | @cindex namespaces | 16563 | @cindex namespaces |
| 16560 | 16564 | ||
| 16561 | The @acronym{IMAP} protocol has a concept called namespaces, described | 16565 | The @acronym{IMAP} protocol has a concept called namespaces, described |
| 16562 | by the following text in the RFC: | 16566 | by the following text in the RFC2060: |
| 16563 | 16567 | ||
| 16564 | @display | 16568 | @display |
| 16565 | 5.1.2. Mailbox Namespace Naming Convention | 16569 | 5.1.2. Mailbox Namespace Naming Convention |
| @@ -16891,34 +16895,48 @@ totally ignored. | |||
| 16891 | 16895 | ||
| 16892 | @item article-begin | 16896 | @item article-begin |
| 16893 | This setting has to be present in all document type definitions. It | 16897 | This setting has to be present in all document type definitions. It |
| 16894 | says what the beginning of each article looks like. | 16898 | says what the beginning of each article looks like. To do more |
| 16899 | complicated things that cannot be dealt with a simple regexp, you can | ||
| 16900 | use @code{article-begin-function} instead of this. | ||
| 16895 | 16901 | ||
| 16896 | @item head-begin-function | 16902 | @item article-begin-function |
| 16897 | If present, this should be a function that moves point to the head of | 16903 | If present, this should be a function that moves point to the beginning |
| 16898 | the article. | 16904 | of each article. This setting overrides @code{article-begin}. |
| 16899 | 16905 | ||
| 16900 | @item nndoc-head-begin | 16906 | @item head-begin |
| 16901 | If present, this should be a regexp that matches the head of the | 16907 | If present, this should be a regexp that matches the head of the |
| 16902 | article. | 16908 | article. To do more complicated things that cannot be dealt with a |
| 16909 | simple regexp, you can use @code{head-begin-function} instead of this. | ||
| 16903 | 16910 | ||
| 16904 | @item nndoc-head-end | 16911 | @item head-begin-function |
| 16912 | If present, this should be a function that moves point to the head of | ||
| 16913 | the article. This setting overrides @code{head-begin}. | ||
| 16914 | |||
| 16915 | @item head-end | ||
| 16905 | This should match the end of the head of the article. It defaults to | 16916 | This should match the end of the head of the article. It defaults to |
| 16906 | @samp{^$}---the empty line. | 16917 | @samp{^$}---the empty line. |
| 16907 | 16918 | ||
| 16919 | @item body-begin | ||
| 16920 | This should match the beginning of the body of the article. It defaults | ||
| 16921 | to @samp{^\n}. To do more complicated things that cannot be dealt with | ||
| 16922 | a simple regexp, you can use @code{body-begin-function} instead of this. | ||
| 16923 | |||
| 16908 | @item body-begin-function | 16924 | @item body-begin-function |
| 16909 | If present, this function should move point to the beginning of the body | 16925 | If present, this function should move point to the beginning of the body |
| 16910 | of the article. | 16926 | of the article. This setting overrides @code{body-begin}. |
| 16911 | 16927 | ||
| 16912 | @item body-begin | 16928 | @item body-end |
| 16913 | This should match the beginning of the body of the article. It defaults | 16929 | If present, this should match the end of the body of the article. To do |
| 16914 | to @samp{^\n}. | 16930 | more complicated things that cannot be dealt with a simple regexp, you |
| 16931 | can use @code{body-end-function} instead of this. | ||
| 16915 | 16932 | ||
| 16916 | @item body-end-function | 16933 | @item body-end-function |
| 16917 | If present, this function should move point to the end of the body of | 16934 | If present, this function should move point to the end of the body of |
| 16918 | the article. | 16935 | the article. This setting overrides @code{body-end}. |
| 16919 | 16936 | ||
| 16920 | @item body-end | 16937 | @item file-begin |
| 16921 | If present, this should match the end of the body of the article. | 16938 | If present, this should match the beginning of the file. All text |
| 16939 | before this regexp will be totally ignored. | ||
| 16922 | 16940 | ||
| 16923 | @item file-end | 16941 | @item file-end |
| 16924 | If present, this should match the end of the file. All text after this | 16942 | If present, this should match the end of the file. All text after this |
| @@ -16949,6 +16967,19 @@ understand. It is called with the article number as a parameter, and is | |||
| 16949 | expected to generate a nice head for the article in question. It is | 16967 | expected to generate a nice head for the article in question. It is |
| 16950 | called when requesting the headers of all articles. | 16968 | called when requesting the headers of all articles. |
| 16951 | 16969 | ||
| 16970 | @item generate-article-function | ||
| 16971 | If present, this function is called to generate an entire article that | ||
| 16972 | Gnus can understand. It is called with the article number as a | ||
| 16973 | parameter when requesting all articles. | ||
| 16974 | |||
| 16975 | @item dissection-function | ||
| 16976 | If present, this function is called to dissect a document by itself, | ||
| 16977 | overriding @code{first-article}, @code{article-begin}, | ||
| 16978 | @code{article-begin-function}, @code{head-begin}, | ||
| 16979 | @code{head-begin-function}, @code{head-end}, @code{body-begin}, | ||
| 16980 | @code{body-begin-function}, @code{body-end}, @code{body-end-function}, | ||
| 16981 | @code{file-begin}, and @code{file-end}. | ||
| 16982 | |||
| 16952 | @end table | 16983 | @end table |
| 16953 | 16984 | ||
| 16954 | Let's look at the most complicated example I can come up with---standard | 16985 | Let's look at the most complicated example I can come up with---standard |
| @@ -24388,7 +24419,7 @@ XEmacs is distributed as a collection of packages. You should install | |||
| 24388 | whatever packages the Gnus XEmacs package requires. The current | 24419 | whatever packages the Gnus XEmacs package requires. The current |
| 24389 | requirements are @samp{gnus}, @samp{mail-lib}, @samp{xemacs-base}, | 24420 | requirements are @samp{gnus}, @samp{mail-lib}, @samp{xemacs-base}, |
| 24390 | @samp{eterm}, @samp{sh-script}, @samp{net-utils}, @samp{os-utils}, | 24421 | @samp{eterm}, @samp{sh-script}, @samp{net-utils}, @samp{os-utils}, |
| 24391 | @samp{dired}, @samp{mh-e}, @samp{sieve}, @samp{ps-print}, @samp{w3}, | 24422 | @samp{dired}, @samp{mh-e}, @samp{sieve}, @samp{ps-print}, @samp{W3}, |
| 24392 | @samp{pgg}, @samp{mailcrypt}, @samp{ecrypto}, and @samp{sasl}. | 24423 | @samp{pgg}, @samp{mailcrypt}, @samp{ecrypto}, and @samp{sasl}. |
| 24393 | 24424 | ||
| 24394 | 24425 | ||
diff --git a/man/info.texi b/man/info.texi index 95e736ab246..532478ca521 100644 --- a/man/info.texi +++ b/man/info.texi | |||
| @@ -72,28 +72,28 @@ If you are new to the Info reader and want to learn how to use it, | |||
| 72 | type the command @kbd{h} now. It brings you to a programmed | 72 | type the command @kbd{h} now. It brings you to a programmed |
| 73 | instruction sequence. | 73 | instruction sequence. |
| 74 | 74 | ||
| 75 | To read about expert-level Info commands, type @kbd{n} twice. This | 75 | To read about advanced Info commands, type @kbd{n} twice. This |
| 76 | brings you to @cite{Info for Experts}, skipping over the `Getting | 76 | brings you to @cite{Advanced Info Commands}, skipping over the `Getting |
| 77 | Started' chapter. | 77 | Started' chapter. |
| 78 | @end ifinfo | 78 | @end ifinfo |
| 79 | @end ifnottex | 79 | @end ifnottex |
| 80 | 80 | ||
| 81 | @menu | 81 | @menu |
| 82 | * Getting Started:: Getting started using an Info reader. | 82 | * Getting Started:: Getting started using an Info reader. |
| 83 | * Advanced:: Advanced Info commands. | ||
| 83 | * Expert Info:: Info commands for experts. | 84 | * Expert Info:: Info commands for experts. |
| 84 | * Creating an Info File:: How to make your own Info file. | ||
| 85 | * Index:: An index of topics, commands, and variables. | 85 | * Index:: An index of topics, commands, and variables. |
| 86 | @end menu | 86 | @end menu |
| 87 | 87 | ||
| 88 | @node Getting Started, Expert Info, Top, Top | 88 | @node Getting Started, Advanced, Top, Top |
| 89 | @comment node-name, next, previous, up | 89 | @comment node-name, next, previous, up |
| 90 | @chapter Getting Started | 90 | @chapter Getting Started |
| 91 | 91 | ||
| 92 | This first part of this Info manual describes how to get around inside | 92 | This first part of this Info manual describes how to get around inside |
| 93 | of Info. The second part of the manual describes various advanced | 93 | of Info. The second part of the manual describes various advanced |
| 94 | Info commands, and how to write an Info as distinct from a Texinfo | 94 | Info commands. The third part briefly explains how to generate Info |
| 95 | file. The third part briefly explains how to generate Info files from | 95 | files from Texinfo files, and describes how to write an Info as |
| 96 | Texinfo files. | 96 | distinct from a Texinfo file. |
| 97 | 97 | ||
| 98 | @ifnotinfo | 98 | @ifnotinfo |
| 99 | This manual is primarily designed for browsing with an Info reader | 99 | This manual is primarily designed for browsing with an Info reader |
| @@ -847,7 +847,7 @@ describes the topic you want. | |||
| 847 | There is also a short-cut Info command, @kbd{i}, which does all of | 847 | There is also a short-cut Info command, @kbd{i}, which does all of |
| 848 | that for you. It searches the index for a given topic (a string) and | 848 | that for you. It searches the index for a given topic (a string) and |
| 849 | goes to the node which is listed in the index for that topic. | 849 | goes to the node which is listed in the index for that topic. |
| 850 | @xref{Info Search}, for a full explanation. | 850 | @xref{Search Index}, for a full explanation. |
| 851 | 851 | ||
| 852 | @kindex l @r{(Info mode)} | 852 | @kindex l @r{(Info mode)} |
| 853 | @findex Info-history-back | 853 | @findex Info-history-back |
| @@ -905,45 +905,129 @@ is @code{Info-top-node}. | |||
| 905 | >> Now type @kbd{n} to see the last node of the course. | 905 | >> Now type @kbd{n} to see the last node of the course. |
| 906 | @end format | 906 | @end format |
| 907 | 907 | ||
| 908 | @xref{Expert Info}, for more advanced Info features. | 908 | @xref{Advanced}, for more advanced Info features. |
| 909 | 909 | ||
| 910 | @c If a menu appears at the end of this node, remove it. | 910 | @c If a menu appears at the end of this node, remove it. |
| 911 | @c It is an accident of the menu updating command. | 911 | @c It is an accident of the menu updating command. |
| 912 | 912 | ||
| 913 | @node Expert Info | 913 | @node Advanced |
| 914 | @chapter Info for Experts | 914 | @chapter Advanced Info Commands |
| 915 | 915 | ||
| 916 | This chapter describes various Info commands for experts. (If you | 916 | This chapter describes various advanced Info commands. (If you |
| 917 | are using a stand-alone Info reader, there are additional commands | 917 | are using a stand-alone Info reader, there are additional commands |
| 918 | specific to it, which are documented in several chapters of @ref{Top,, | 918 | specific to it, which are documented in several chapters of @ref{Top,, |
| 919 | GNU Info, info-stnd, GNU Info}.) | 919 | GNU Info, info-stnd, GNU Info}.) |
| 920 | 920 | ||
| 921 | This chapter also explains how to write an Info as distinct from a | ||
| 922 | Texinfo file. (However, in most cases, writing a Texinfo file is | ||
| 923 | better, since you can use it to make a printed manual or produce other | ||
| 924 | formats, such as HTML and DocBook, as well as for generating Info | ||
| 925 | files.) @xref{Top,, Overview of Texinfo, texinfo, Texinfo: The GNU | ||
| 926 | Documentation Format}. | ||
| 927 | |||
| 928 | @menu | 921 | @menu |
| 929 | * Advanced:: Advanced Info commands: g, e, and 1 - 9. | 922 | * Search Text:: How to search Info documents. |
| 930 | * Info Search:: How to search Info documents for specific subjects. | 923 | * Search Index:: How to search the indices for specific subjects. |
| 931 | * Add:: Describes how to add new nodes to the hierarchy. | 924 | * Go to node:: How to go to a node by name. |
| 932 | Also tells what nodes look like. | 925 | * Choose menu subtopic:: How to choose a menu subtopic by its number. |
| 933 | * Menus:: How to add to or create menus in Info nodes. | 926 | * Create Info buffer:: How to create a new Info buffer in Emacs. |
| 934 | * Cross-refs:: How to add cross-references to Info nodes. | ||
| 935 | * Tags:: How to make tags tables for Info files. | ||
| 936 | * Checking:: Checking an Info File. | ||
| 937 | * Emacs Info Variables:: Variables modifying the behavior of Emacs Info. | 927 | * Emacs Info Variables:: Variables modifying the behavior of Emacs Info. |
| 938 | @end menu | 928 | @end menu |
| 939 | 929 | ||
| 940 | @node Advanced, Info Search, , Expert Info | 930 | @node Search Text, Search Index, , Advanced |
| 931 | @comment node-name, next, previous, up | ||
| 932 | @section How to search Info documents | ||
| 933 | |||
| 934 | @cindex searching Info documents | ||
| 935 | @cindex Info document as a reference | ||
| 936 | The commands which move between and inside nodes allow you to read | ||
| 937 | the entire manual or its large portions. But what if you need to find | ||
| 938 | some information in the manual as fast as you can, and you don't know | ||
| 939 | or don't remember in what node to look for it? This need arises when | ||
| 940 | you use a manual as a @dfn{reference}, or when it is impractical to | ||
| 941 | read the entire manual before you start using the programs it | ||
| 942 | describes. | ||
| 943 | |||
| 944 | Info has powerful searching facilities that let you find things | ||
| 945 | quickly. You can search either the manual text or its indices. | ||
| 946 | |||
| 947 | @kindex s @r{(Info mode)} | ||
| 948 | @findex Info-search | ||
| 949 | The @kbd{s} command allows you to search a whole Info file for a string. | ||
| 950 | It switches to the next node if and when that is necessary. You | ||
| 951 | type @kbd{s} followed by the string to search for, terminated by | ||
| 952 | @key{RET}. To search for the same string again, just @kbd{s} followed | ||
| 953 | by @key{RET} will do. The file's nodes are scanned in the order | ||
| 954 | they are in the file, which has no necessary relationship to the | ||
| 955 | order that they may be in the tree structure of menus and @samp{next} | ||
| 956 | pointers. But normally the two orders are not very different. In any | ||
| 957 | case, you can always look at the echo area to find out what node you have | ||
| 958 | reached, if the header is not visible (this can happen, because @kbd{s} | ||
| 959 | puts your cursor at the occurrence of the string, not at the beginning | ||
| 960 | of the node). | ||
| 961 | |||
| 962 | @kindex M-s @r{(Info mode)} | ||
| 963 | In Emacs, @kbd{Meta-s} is equivalent to @kbd{s}. That is for | ||
| 964 | compatibility with other GNU packages that use @kbd{M-s} for a similar | ||
| 965 | kind of search command. Both @kbd{s} and @kbd{M-s} run in Emacs the | ||
| 966 | command @code{Info-search}. | ||
| 967 | |||
| 968 | @kindex C-s @r{(Info mode)} | ||
| 969 | @kindex C-r @r{(Info mode)} | ||
| 970 | @findex isearch | ||
| 971 | Instead of using @kbd{s} in Emacs Info and in the stand-alone Info, | ||
| 972 | you can use an incremental search started with @kbd{C-s} or @kbd{C-r}. | ||
| 973 | It can search through multiple Info nodes. @xref{Incremental Search,,, | ||
| 974 | emacs, The GNU Emacs Manual}. In Emacs, this behavior is enabled only | ||
| 975 | if the variable @code{Info-isearch-search} is non-@code{nil} | ||
| 976 | (@pxref{Emacs Info Variables}). | ||
| 977 | |||
| 978 | @node Search Index, Go to node, Search Text, Advanced | ||
| 941 | @comment node-name, next, previous, up | 979 | @comment node-name, next, previous, up |
| 942 | @section Advanced Info Commands | 980 | @section How to search the indices for specific subjects |
| 981 | |||
| 982 | @cindex searching Info indices | ||
| 983 | @kindex i @r{(Info mode)} | ||
| 984 | @findex Info-index | ||
| 985 | Since most subjects related to what the manual describes should be | ||
| 986 | indexed, you should try the index search first. The @kbd{i} command | ||
| 987 | prompts you for a subject and then looks up that subject in the | ||
| 988 | indices. If it finds an index entry with the subject you typed, it | ||
| 989 | goes to the node to which that index entry points. You should browse | ||
| 990 | through that node to see whether the issue you are looking for is | ||
| 991 | described there. If it isn't, type @kbd{,} one or more times to go | ||
| 992 | through additional index entries which match your subject. | ||
| 943 | 993 | ||
| 944 | Here are some more Info commands that make it easier to move around. | 994 | The @kbd{i} command finds all index entries which include the string |
| 995 | you typed @emph{as a substring}. For each match, Info shows in the | ||
| 996 | echo area the full index entry it found. Often, the text of the full | ||
| 997 | index entry already gives you enough information to decide whether it | ||
| 998 | is relevant to what you are looking for, so we recommend that you read | ||
| 999 | what Info shows in the echo area before looking at the node it | ||
| 1000 | displays. | ||
| 945 | 1001 | ||
| 946 | @subheading @kbd{g} goes to a node by name | 1002 | Since @kbd{i} looks for a substring, you can search for subjects even |
| 1003 | if you are not sure how they are spelled in the index. For example, | ||
| 1004 | suppose you want to find something that is pertinent to commands which | ||
| 1005 | complete partial input (e.g., when you type @key{TAB}). If you want | ||
| 1006 | to catch index entries that refer to ``complete'', ``completion'', and | ||
| 1007 | ``completing'', you could type @kbd{icomplet@key{RET}}. | ||
| 1008 | |||
| 1009 | Info documents which describe programs should index the commands, | ||
| 1010 | options, and key sequences that the program provides. If you are | ||
| 1011 | looking for a description of a command, an option, or a key, just type | ||
| 1012 | their names when @kbd{i} prompts you for a topic. For example, if you | ||
| 1013 | want to read the description of what the @kbd{C-f} key does, type | ||
| 1014 | @kbd{i C - f @key{RET}}. Here @kbd{C-f} are 3 literal characters | ||
| 1015 | @samp{C}, @samp{-}, and @samp{f}, not the ``Control-f'' command key | ||
| 1016 | you type inside Emacs to run the command bound to @kbd{C-f}. | ||
| 1017 | |||
| 1018 | In Emacs, @kbd{i} runs the command @code{Info-index}. | ||
| 1019 | |||
| 1020 | @findex info-apropos | ||
| 1021 | @findex index-apropos | ||
| 1022 | If you don't know what manual documents something, try the @kbd{M-x | ||
| 1023 | info-apropos} command in Emacs, or the @kbd{M-x index-apropos} command | ||
| 1024 | in the stand-alone reader. It prompts for a string and then looks up | ||
| 1025 | that string in all the indices of all the Info documents installed on | ||
| 1026 | your system. | ||
| 1027 | |||
| 1028 | @node Go to node, Choose menu subtopic, Search Index, Advanced | ||
| 1029 | @comment node-name, next, previous, up | ||
| 1030 | @section @kbd{g} goes to a node by name | ||
| 947 | 1031 | ||
| 948 | @kindex g @r{(Info mode)} | 1032 | @kindex g @r{(Info mode)} |
| 949 | @findex Info-goto-node | 1033 | @findex Info-goto-node |
| @@ -951,7 +1035,7 @@ Here are some more Info commands that make it easier to move around. | |||
| 951 | If you know a node's name, you can go there by typing @kbd{g}, the | 1035 | If you know a node's name, you can go there by typing @kbd{g}, the |
| 952 | name, and @key{RET}. Thus, @kbd{gTop@key{RET}} would go to the node | 1036 | name, and @key{RET}. Thus, @kbd{gTop@key{RET}} would go to the node |
| 953 | called @samp{Top} in this file. (This is equivalent to @kbd{t}, see | 1037 | called @samp{Top} in this file. (This is equivalent to @kbd{t}, see |
| 954 | @ref{Help-Int}.) @kbd{gAdvanced@key{RET}} would come back here. | 1038 | @ref{Help-Int}.) @kbd{gGo to node@key{RET}} would come back here. |
| 955 | @kbd{g} in Emacs runs the command @code{Info-goto-node}. | 1039 | @kbd{g} in Emacs runs the command @code{Info-goto-node}. |
| 956 | 1040 | ||
| 957 | Unlike @kbd{m}, @kbd{g} does not allow the use of abbreviations. | 1041 | Unlike @kbd{m}, @kbd{g} does not allow the use of abbreviations. |
| @@ -969,7 +1053,9 @@ the node @samp{Top} in the Info file @file{dir}. Likewise, | |||
| 969 | all of the current file by typing @kbd{g*@key{RET}} or all of any | 1053 | all of the current file by typing @kbd{g*@key{RET}} or all of any |
| 970 | other file with @kbd{g(@var{filename})*@key{RET}}. | 1054 | other file with @kbd{g(@var{filename})*@key{RET}}. |
| 971 | 1055 | ||
| 972 | @subheading @kbd{1}--@kbd{9} choose a menu subtopic by its number | 1056 | @node Choose menu subtopic, Create Info buffer, Go to node, Advanced |
| 1057 | @comment node-name, next, previous, up | ||
| 1058 | @section @kbd{1}--@kbd{9} choose a menu subtopic by its number | ||
| 973 | 1059 | ||
| 974 | @kindex 1 @r{through} 9 @r{(Info mode)} | 1060 | @kindex 1 @r{through} 9 @r{(Info mode)} |
| 975 | @findex Info-nth-menu-item | 1061 | @findex Info-nth-menu-item |
| @@ -994,22 +1080,9 @@ underlining. If you need to actually count items, it is better to use | |||
| 994 | @kbd{m} instead, and specify the name, or use @key{TAB} to quickly | 1080 | @kbd{m} instead, and specify the name, or use @key{TAB} to quickly |
| 995 | move between menu items. | 1081 | move between menu items. |
| 996 | 1082 | ||
| 997 | @subheading @kbd{e} makes Info document editable | 1083 | @node Create Info buffer, Emacs Info Variables, Choose menu subtopic, Advanced |
| 998 | 1084 | @comment node-name, next, previous, up | |
| 999 | @kindex e @r{(Info mode)} | 1085 | @section @kbd{M-n} creates a new independent Info buffer in Emacs |
| 1000 | @findex Info-edit | ||
| 1001 | @cindex edit Info document | ||
| 1002 | The Info command @kbd{e} changes from Info mode to an ordinary | ||
| 1003 | Emacs editing mode, so that you can edit the text of the current node. | ||
| 1004 | Type @kbd{C-c C-c} to switch back to Info. The @kbd{e} command is allowed | ||
| 1005 | only if the variable @code{Info-enable-edit} is non-@code{nil}. | ||
| 1006 | |||
| 1007 | The @kbd{e} command only works in Emacs, where it runs the command | ||
| 1008 | @code{Info-edit}. The stand-alone Info reader doesn't allow you to | ||
| 1009 | edit the Info file, so typing @kbd{e} there goes to the end of the | ||
| 1010 | current node. | ||
| 1011 | |||
| 1012 | @subheading @kbd{M-n} creates a new independent Info buffer in Emacs | ||
| 1013 | 1086 | ||
| 1014 | @kindex M-n @r{(Info mode)} | 1087 | @kindex M-n @r{(Info mode)} |
| 1015 | @findex clone-buffer | 1088 | @findex clone-buffer |
| @@ -1031,100 +1104,128 @@ prefix argument for the @kbd{C-h i} command (@code{info}) which | |||
| 1031 | switches to the Info buffer with that number. Thus, @kbd{C-u 2 C-h i} | 1104 | switches to the Info buffer with that number. Thus, @kbd{C-u 2 C-h i} |
| 1032 | switches to the buffer @samp{*info*<2>}, creating it if necessary. | 1105 | switches to the buffer @samp{*info*<2>}, creating it if necessary. |
| 1033 | 1106 | ||
| 1034 | @node Info Search, Add, Advanced, Expert Info | 1107 | @node Emacs Info Variables, , Create Info buffer, Advanced |
| 1035 | @comment node-name, next, previous, up | 1108 | @comment node-name, next, previous, up |
| 1036 | @section How to search Info documents for specific subjects | 1109 | @section Emacs Info-mode Variables |
| 1037 | 1110 | ||
| 1038 | @cindex searching Info documents | 1111 | The following variables may modify the behavior of Info-mode in Emacs; |
| 1039 | @cindex Info document as a reference | 1112 | you may wish to set one or several of these variables interactively, or |
| 1040 | The commands which move between and inside nodes allow you to read | 1113 | in your @file{~/.emacs} init file. @xref{Examining, Examining and Setting |
| 1041 | the entire manual or its large portions. But what if you need to find | 1114 | Variables, Examining and Setting Variables, emacs, The GNU Emacs |
| 1042 | some information in the manual as fast as you can, and you don't know | 1115 | Manual}. The stand-alone Info reader program has its own set of |
| 1043 | or don't remember in what node to look for it? This need arises when | 1116 | variables, described in @ref{Variables,, Manipulating Variables, |
| 1044 | you use a manual as a @dfn{reference}, or when it is impractical to | 1117 | info-stnd, GNU Info}. |
| 1045 | read the entire manual before you start using the programs it | ||
| 1046 | describes. | ||
| 1047 | 1118 | ||
| 1048 | Info has powerful searching facilities that let you find things | 1119 | @vtable @code |
| 1049 | quickly. You can search either the manual indices or its text. | 1120 | @item Info-directory-list |
| 1121 | The list of directories to search for Info files. Each element is a | ||
| 1122 | string (directory name) or @code{nil} (try default directory). If not | ||
| 1123 | initialized Info uses the environment variable @env{INFOPATH} to | ||
| 1124 | initialize it, or @code{Info-default-directory-list} if there is no | ||
| 1125 | @env{INFOPATH} variable in the environment. | ||
| 1050 | 1126 | ||
| 1051 | @kindex i @r{(Info mode)} | 1127 | If you wish to customize the Info directory search list for both Emacs |
| 1052 | @findex Info-index | 1128 | Info and stand-alone Info, it is best to set the @env{INFOPATH} |
| 1053 | Since most subjects related to what the manual describes should be | 1129 | environment variable, since that applies to both programs. |
| 1054 | indexed, you should try the index search first. The @kbd{i} command | ||
| 1055 | prompts you for a subject and then looks up that subject in the | ||
| 1056 | indices. If it finds an index entry with the subject you typed, it | ||
| 1057 | goes to the node to which that index entry points. You should browse | ||
| 1058 | through that node to see whether the issue you are looking for is | ||
| 1059 | described there. If it isn't, type @kbd{,} one or more times to go | ||
| 1060 | through additional index entries which match your subject. | ||
| 1061 | 1130 | ||
| 1062 | The @kbd{i} command finds all index entries which include the string | 1131 | @item Info-additional-directory-list |
| 1063 | you typed @emph{as a substring}. For each match, Info shows in the | 1132 | A list of additional directories to search for Info documentation files. |
| 1064 | echo area the full index entry it found. Often, the text of the full | 1133 | These directories are not searched for merging the @file{dir} file. |
| 1065 | index entry already gives you enough information to decide whether it | ||
| 1066 | is relevant to what you are looking for, so we recommend that you read | ||
| 1067 | what Info shows in the echo area before looking at the node it | ||
| 1068 | displays. | ||
| 1069 | 1134 | ||
| 1070 | Since @kbd{i} looks for a substring, you can search for subjects even | 1135 | @item Info-mode-hook |
| 1071 | if you are not sure how they are spelled in the index. For example, | 1136 | Hooks run when @code{Info-mode} is called. By default, it contains |
| 1072 | suppose you want to find something that is pertinent to commands which | 1137 | the hook @code{turn-on-font-lock} which enables highlighting of Info |
| 1073 | complete partial input (e.g., when you type @key{TAB}). If you want | 1138 | files. You can change how the highlighting looks by customizing the |
| 1074 | to catch index entries that refer to ``complete'', ``completion'', and | 1139 | faces @code{info-node}, @code{info-xref}, @code{info-xref-visited}, |
| 1075 | ``completing'', you could type @kbd{icomplet@key{RET}}. | 1140 | @code{info-header-xref}, @code{info-header-node}, @code{info-menu-header}, |
| 1141 | @code{info-menu-star}, and @code{info-title-@var{n}} (where @var{n} | ||
| 1142 | is the level of the section, a number between 1 and 4). To customize | ||
| 1143 | a face, type @kbd{M-x customize-face @key{RET} @var{face} @key{RET}}, | ||
| 1144 | where @var{face} is one of the face names listed here. | ||
| 1076 | 1145 | ||
| 1077 | Info documents which describe programs should index the commands, | 1146 | @item Info-fontify-maximum-menu-size |
| 1078 | options, and key sequences that the program provides. If you are | 1147 | Maximum size of menu to fontify if @code{font-lock-mode} is non-@code{nil}. |
| 1079 | looking for a description of a command, an option, or a key, just type | ||
| 1080 | their names when @kbd{i} prompts you for a topic. For example, if you | ||
| 1081 | want to read the description of what the @kbd{C-f} key does, type | ||
| 1082 | @kbd{i C - f @key{RET}}. Here @kbd{C-f} are 3 literal characters | ||
| 1083 | @samp{C}, @samp{-}, and @samp{f}, not the ``Control-f'' command key | ||
| 1084 | you type inside Emacs to run the command bound to @kbd{C-f}. | ||
| 1085 | 1148 | ||
| 1086 | In Emacs, @kbd{i} runs the command @code{Info-index}. | 1149 | @item Info-fontify-visited-nodes |
| 1150 | If non-@code{nil}, menu items and cross-references pointing to visited | ||
| 1151 | nodes are displayed in the @code{info-xref-visited} face. | ||
| 1087 | 1152 | ||
| 1088 | @findex info-apropos | 1153 | @item Info-use-header-line |
| 1089 | @findex index-apropos | 1154 | If non-@code{nil}, Emacs puts in the Info buffer a header line showing |
| 1090 | If you don't know what manual documents something, try the @kbd{M-x | 1155 | the @samp{Next}, @samp{Prev}, and @samp{Up} links. A header line does |
| 1091 | info-apropos} command in Emacs, or the @kbd{M-x index-apropos} command | 1156 | not scroll with the rest of the buffer, making these links always |
| 1092 | in the stand-alone reader. It prompts for a string and then looks up | 1157 | visible. |
| 1093 | that string in all the indices of all the Info documents installed on | ||
| 1094 | your system. | ||
| 1095 | 1158 | ||
| 1096 | @kindex s @r{(Info mode)} | 1159 | @item Info-hide-note-references |
| 1097 | @findex Info-search | 1160 | As explained in earlier nodes, the Emacs version of Info normally |
| 1098 | The @kbd{s} command allows you to search a whole file for a string. | 1161 | hides some text in menus and cross-references. You can completely |
| 1099 | It switches to the next node if and when that is necessary. You | 1162 | disable this feature, by setting this option to @code{nil}. Setting |
| 1100 | type @kbd{s} followed by the string to search for, terminated by | 1163 | it to a value that is neither @code{nil} nor @code{t} produces an |
| 1101 | @key{RET}. To search for the same string again, just @kbd{s} followed | 1164 | intermediate behavior, hiding a limited amount of text, but showing |
| 1102 | by @key{RET} will do. The file's nodes are scanned in the order | 1165 | all text that could potentially be useful. |
| 1103 | they are in the file, which has no necessary relationship to the | ||
| 1104 | order that they may be in the tree structure of menus and @samp{next} | ||
| 1105 | pointers. But normally the two orders are not very different. In any | ||
| 1106 | case, you can always look at the echo area to find out what node you have | ||
| 1107 | reached, if the header is not visible (this can happen, because @kbd{s} | ||
| 1108 | puts your cursor at the occurrence of the string, not at the beginning | ||
| 1109 | of the node). | ||
| 1110 | 1166 | ||
| 1111 | @kindex M-s @r{(Info mode)} | 1167 | @item Info-scroll-prefer-subnodes |
| 1112 | In Emacs, @kbd{Meta-s} is equivalent to @kbd{s}. That is for | 1168 | If set to a non-@code{nil} value, @key{SPC} and @key{BACKSPACE} (or |
| 1113 | compatibility with other GNU packages that use @kbd{M-s} for a similar | 1169 | @key{DEL}) keys in a menu visit subnodes of the current node before |
| 1114 | kind of search command. Both @kbd{s} and @kbd{M-s} run in Emacs the | 1170 | scrolling to its end or beginning, respectively. For example, if the |
| 1115 | command @code{Info-search}. | 1171 | node's menu appears on the screen, the next @key{SPC} moves to a |
| 1172 | subnode indicated by the following menu item. Setting this option to | ||
| 1173 | @code{nil} results in behavior similar to the stand-alone Info reader | ||
| 1174 | program, which visits the first subnode from the menu only when you | ||
| 1175 | hit the end of the current node. The default is @code{nil}. | ||
| 1116 | 1176 | ||
| 1117 | @kindex C-s @r{(Info mode)} | 1177 | @item Info-isearch-search |
| 1118 | @kindex C-r @r{(Info mode)} | 1178 | If non-@code{nil}, isearch in Info searches through multiple nodes. |
| 1119 | @findex isearch | ||
| 1120 | Instead of using @kbd{s} in Emacs Info and in the stand-alone Info, | ||
| 1121 | you can use an incremental search started with @kbd{C-s} or @kbd{C-r}. | ||
| 1122 | It can search through multiple Info nodes. @xref{Incremental Search,,, | ||
| 1123 | emacs, The GNU Emacs Manual}. In Emacs, this behavior is enabled only | ||
| 1124 | if the variable @code{Info-isearch-search} is non-@code{nil} | ||
| 1125 | (@pxref{Emacs Info Variables}). | ||
| 1126 | 1179 | ||
| 1127 | @node Add, Menus, Info Search, Expert Info | 1180 | @item Info-enable-active-nodes |
| 1181 | When set to a non-@code{nil} value, allows Info to execute Lisp code | ||
| 1182 | associated with nodes. The Lisp code is executed when the node is | ||
| 1183 | selected. The Lisp code to be executed should follow the node | ||
| 1184 | delimiter (the @samp{DEL} character) and an @samp{execute: } tag, like | ||
| 1185 | this: | ||
| 1186 | |||
| 1187 | @example | ||
| 1188 | ^_execute: (message "This is an active node!") | ||
| 1189 | @end example | ||
| 1190 | @end vtable | ||
| 1191 | |||
| 1192 | |||
| 1193 | @node Expert Info | ||
| 1194 | @chapter Info for Experts | ||
| 1195 | |||
| 1196 | This chapter explains how to write an Info as distinct from a | ||
| 1197 | Texinfo file. However, in most cases, writing a Texinfo file is | ||
| 1198 | better, since you can use it to make a printed manual or produce other | ||
| 1199 | formats, such as HTML and DocBook, as well as for generating Info | ||
| 1200 | files. | ||
| 1201 | |||
| 1202 | @code{makeinfo} is a utility that converts a Texinfo file into an Info | ||
| 1203 | file; @code{texinfo-format-region} and @code{texinfo-format-buffer} are | ||
| 1204 | GNU Emacs functions that do the same. | ||
| 1205 | |||
| 1206 | @xref{Top,, Overview of Texinfo, texinfo, Texinfo: The GNU | ||
| 1207 | Documentation Format}, to learn how to write a Texinfo file. | ||
| 1208 | |||
| 1209 | @xref{Creating an Info File,,, texinfo, Texinfo: The GNU Documentation | ||
| 1210 | Format}, to learn how to create an Info file from a Texinfo file. | ||
| 1211 | |||
| 1212 | @xref{Installing an Info File,,, texinfo, Texinfo: The GNU | ||
| 1213 | Documentation Format}, to learn how to install an Info file after you | ||
| 1214 | have created one. | ||
| 1215 | |||
| 1216 | However, if you want to edit an Info file manually and install it manually, | ||
| 1217 | here is how. | ||
| 1218 | |||
| 1219 | @menu | ||
| 1220 | * Add:: Describes how to add new nodes to the hierarchy. | ||
| 1221 | Also tells what nodes look like. | ||
| 1222 | * Menus:: How to add to or create menus in Info nodes. | ||
| 1223 | * Cross-refs:: How to add cross-references to Info nodes. | ||
| 1224 | * Tags:: How to make tags tables for Info files. | ||
| 1225 | * Checking:: Checking an Info File. | ||
| 1226 | @end menu | ||
| 1227 | |||
| 1228 | @node Add, Menus, , Expert Info | ||
| 1128 | @comment node-name, next, previous, up | 1229 | @comment node-name, next, previous, up |
| 1129 | @section Adding a new node to Info | 1230 | @section Adding a new node to Info |
| 1130 | 1231 | ||
| @@ -1137,14 +1238,6 @@ Create some nodes, in some file, to document that topic. | |||
| 1137 | Put that topic in the menu in the directory. @xref{Menus, Menu}. | 1238 | Put that topic in the menu in the directory. @xref{Menus, Menu}. |
| 1138 | @end enumerate | 1239 | @end enumerate |
| 1139 | 1240 | ||
| 1140 | Usually, the way to create the nodes is with Texinfo (@pxref{Top,, | ||
| 1141 | Overview of Texinfo, texinfo, Texinfo: The GNU Documentation Format}); | ||
| 1142 | this has the advantage that you can also make a printed manual or HTML | ||
| 1143 | from them. You would use the @samp{@@dircategory} and | ||
| 1144 | @samp{@@direntry} commands to put the manual into the Info directory. | ||
| 1145 | However, if you want to edit an Info file manually and install it | ||
| 1146 | manually, here is how. | ||
| 1147 | |||
| 1148 | @cindex node delimiters | 1241 | @cindex node delimiters |
| 1149 | The new node can live in an existing documentation file, or in a new | 1242 | The new node can live in an existing documentation file, or in a new |
| 1150 | one. It must have a @samp{^_} character before it (invisible to the | 1243 | one. It must have a @samp{^_} character before it (invisible to the |
| @@ -1324,7 +1417,7 @@ as new users should do when they learn a new package. | |||
| 1324 | something quickly in a manual---that is, when you need to use a manual | 1417 | something quickly in a manual---that is, when you need to use a manual |
| 1325 | as a reference rather than as a tutorial. We urge you to learn | 1418 | as a reference rather than as a tutorial. We urge you to learn |
| 1326 | these search commands as well. If you want to do that now, follow this | 1419 | these search commands as well. If you want to do that now, follow this |
| 1327 | cross reference to @ref{Info Search}. | 1420 | cross reference to @ref{Advanced}. |
| 1328 | 1421 | ||
| 1329 | Yet another set of commands are meant for experienced users; you can | 1422 | Yet another set of commands are meant for experienced users; you can |
| 1330 | find them by looking in the Directory node for documentation on Info. | 1423 | find them by looking in the Directory node for documentation on Info. |
| @@ -1382,8 +1475,7 @@ the beginning of the node's header (ending just after the node name), | |||
| 1382 | a @samp{DEL} character, and the character position in the file of the | 1475 | a @samp{DEL} character, and the character position in the file of the |
| 1383 | beginning of the node. | 1476 | beginning of the node. |
| 1384 | 1477 | ||
| 1385 | 1478 | @node Checking, , Tags, Expert Info | |
| 1386 | @node Checking, Emacs Info Variables, Tags, Expert Info | ||
| 1387 | @section Checking an Info File | 1479 | @section Checking an Info File |
| 1388 | 1480 | ||
| 1389 | When creating an Info file, it is easy to forget the name of a node when | 1481 | When creating an Info file, it is easy to forget the name of a node when |
| @@ -1402,112 +1494,6 @@ usually few. | |||
| 1402 | To check an Info file, do @kbd{M-x Info-validate} while looking at any | 1494 | To check an Info file, do @kbd{M-x Info-validate} while looking at any |
| 1403 | node of the file with Emacs Info mode. | 1495 | node of the file with Emacs Info mode. |
| 1404 | 1496 | ||
| 1405 | @node Emacs Info Variables, , Checking, Expert Info | ||
| 1406 | @section Emacs Info-mode Variables | ||
| 1407 | |||
| 1408 | The following variables may modify the behavior of Info-mode in Emacs; | ||
| 1409 | you may wish to set one or several of these variables interactively, or | ||
| 1410 | in your @file{~/.emacs} init file. @xref{Examining, Examining and Setting | ||
| 1411 | Variables, Examining and Setting Variables, emacs, The GNU Emacs | ||
| 1412 | Manual}. The stand-alone Info reader program has its own set of | ||
| 1413 | variables, described in @ref{Variables,, Manipulating Variables, | ||
| 1414 | info-stnd, GNU Info}. | ||
| 1415 | |||
| 1416 | @vtable @code | ||
| 1417 | @item Info-directory-list | ||
| 1418 | The list of directories to search for Info files. Each element is a | ||
| 1419 | string (directory name) or @code{nil} (try default directory). If not | ||
| 1420 | initialized Info uses the environment variable @env{INFOPATH} to | ||
| 1421 | initialize it, or @code{Info-default-directory-list} if there is no | ||
| 1422 | @env{INFOPATH} variable in the environment. | ||
| 1423 | |||
| 1424 | If you wish to customize the Info directory search list for both Emacs | ||
| 1425 | Info and stand-alone Info, it is best to set the @env{INFOPATH} | ||
| 1426 | environment variable, since that applies to both programs. | ||
| 1427 | |||
| 1428 | @item Info-additional-directory-list | ||
| 1429 | A list of additional directories to search for Info documentation files. | ||
| 1430 | These directories are not searched for merging the @file{dir} file. | ||
| 1431 | |||
| 1432 | @item Info-mode-hook | ||
| 1433 | Hooks run when @code{Info-mode} is called. By default, it contains | ||
| 1434 | the hook @code{turn-on-font-lock} which enables highlighting of Info | ||
| 1435 | files. You can change how the highlighting looks by customizing the | ||
| 1436 | faces @code{info-node}, @code{info-xref}, @code{info-xref-visited}, | ||
| 1437 | @code{info-header-xref}, @code{info-header-node}, @code{info-menu-header}, | ||
| 1438 | @code{info-menu-star}, and @code{info-title-@var{n}} (where @var{n} | ||
| 1439 | is the level of the section, a number between 1 and 4). To customize | ||
| 1440 | a face, type @kbd{M-x customize-face @key{RET} @var{face} @key{RET}}, | ||
| 1441 | where @var{face} is one of the face names listed here. | ||
| 1442 | |||
| 1443 | @item Info-fontify-maximum-menu-size | ||
| 1444 | Maximum size of menu to fontify if @code{font-lock-mode} is non-@code{nil}. | ||
| 1445 | |||
| 1446 | @item Info-fontify-visited-nodes | ||
| 1447 | If non-@code{nil}, menu items and cross-references pointing to visited | ||
| 1448 | nodes are displayed in the @code{info-xref-visited} face. | ||
| 1449 | |||
| 1450 | @item Info-use-header-line | ||
| 1451 | If non-@code{nil}, Emacs puts in the Info buffer a header line showing | ||
| 1452 | the @samp{Next}, @samp{Prev}, and @samp{Up} links. A header line does | ||
| 1453 | not scroll with the rest of the buffer, making these links always | ||
| 1454 | visible. | ||
| 1455 | |||
| 1456 | @item Info-hide-note-references | ||
| 1457 | As explained in earlier nodes, the Emacs version of Info normally | ||
| 1458 | hides some text in menus and cross-references. You can completely | ||
| 1459 | disable this feature, by setting this option to @code{nil}. Setting | ||
| 1460 | it to a value that is neither @code{nil} nor @code{t} produces an | ||
| 1461 | intermediate behavior, hiding a limited amount of text, but showing | ||
| 1462 | all text that could potentially be useful. | ||
| 1463 | |||
| 1464 | @item Info-scroll-prefer-subnodes | ||
| 1465 | If set to a non-@code{nil} value, @key{SPC} and @key{BACKSPACE} (or | ||
| 1466 | @key{DEL}) keys in a menu visit subnodes of the current node before | ||
| 1467 | scrolling to its end or beginning, respectively. For example, if the | ||
| 1468 | node's menu appears on the screen, the next @key{SPC} moves to a | ||
| 1469 | subnode indicated by the following menu item. Setting this option to | ||
| 1470 | @code{nil} results in behavior similar to the stand-alone Info reader | ||
| 1471 | program, which visits the first subnode from the menu only when you | ||
| 1472 | hit the end of the current node. The default is @code{nil}. | ||
| 1473 | |||
| 1474 | @item Info-isearch-search | ||
| 1475 | If non-@code{nil}, isearch in Info searches through multiple nodes. | ||
| 1476 | |||
| 1477 | @item Info-enable-active-nodes | ||
| 1478 | When set to a non-@code{nil} value, allows Info to execute Lisp code | ||
| 1479 | associated with nodes. The Lisp code is executed when the node is | ||
| 1480 | selected. The Lisp code to be executed should follow the node | ||
| 1481 | delimiter (the @samp{DEL} character) and an @samp{execute: } tag, like | ||
| 1482 | this: | ||
| 1483 | |||
| 1484 | @example | ||
| 1485 | ^_execute: (message "This is an active node!") | ||
| 1486 | @end example | ||
| 1487 | |||
| 1488 | @item Info-enable-edit | ||
| 1489 | Set to @code{nil}, disables the @samp{e} (@code{Info-edit}) command. A | ||
| 1490 | non-@code{nil} value enables it. @xref{Add, Edit}. | ||
| 1491 | @end vtable | ||
| 1492 | |||
| 1493 | |||
| 1494 | @node Creating an Info File | ||
| 1495 | @chapter Creating an Info File from a Texinfo File | ||
| 1496 | |||
| 1497 | @code{makeinfo} is a utility that converts a Texinfo file into an Info | ||
| 1498 | file; @code{texinfo-format-region} and @code{texinfo-format-buffer} are | ||
| 1499 | GNU Emacs functions that do the same. | ||
| 1500 | |||
| 1501 | @xref{Top,, Overview of Texinfo, texinfo, Texinfo: The GNU | ||
| 1502 | Documentation Format}, to learn how to write a Texinfo file. | ||
| 1503 | |||
| 1504 | @xref{Creating an Info File,,, texinfo, Texinfo: The GNU Documentation | ||
| 1505 | Format}, to learn how to create an Info file from a Texinfo file. | ||
| 1506 | |||
| 1507 | @xref{Installing an Info File,,, texinfo, Texinfo: The GNU | ||
| 1508 | Documentation Format}, to learn how to install an Info file after you | ||
| 1509 | have created one. | ||
| 1510 | |||
| 1511 | @node Index | 1497 | @node Index |
| 1512 | @unnumbered Index | 1498 | @unnumbered Index |
| 1513 | 1499 | ||
diff --git a/man/org.texi b/man/org.texi index 92248c91e87..b38181c0c22 100644 --- a/man/org.texi +++ b/man/org.texi | |||
| @@ -4,8 +4,8 @@ | |||
| 4 | @setfilename ../info/org | 4 | @setfilename ../info/org |
| 5 | @settitle Org Mode Manual | 5 | @settitle Org Mode Manual |
| 6 | 6 | ||
| 7 | @set VERSION 3.16 | 7 | @set VERSION 3.17 |
| 8 | @set DATE September 2005 | 8 | @set DATE October 2005 |
| 9 | 9 | ||
| 10 | @dircategory Emacs | 10 | @dircategory Emacs |
| 11 | @direntry | 11 | @direntry |
diff --git a/man/speedbar.texi b/man/speedbar.texi index 469de905a24..4dc2bcea7d2 100644 --- a/man/speedbar.texi +++ b/man/speedbar.texi | |||
| @@ -90,13 +90,13 @@ on. @xref{Basic Navigation}. | |||
| 90 | @chapter Introduction | 90 | @chapter Introduction |
| 91 | @cindex introduction | 91 | @cindex introduction |
| 92 | 92 | ||
| 93 | To start using speedbar use the command @kbd{M-x speedbar RET} or select | 93 | To start using speedbar use the command @kbd{M-x speedbar RET} or |
| 94 | it from the Tools menu in versions of Emacs with speedbar installed by | 94 | select it from the @samp{Options->Show/Hide} sub-menu. This command |
| 95 | default. This command will open a new frame to summarize the local | 95 | will open a new frame to summarize the local files. On X Window |
| 96 | files. On X Window systems or on MS-Windows, speedbar's frame is twenty | 96 | systems or on MS-Windows, speedbar's frame is twenty characters wide, |
| 97 | characters wide, and will mimic the height of the frame from which it | 97 | and will mimic the height of the frame from which it was started. It |
| 98 | was started. It positions itself to the left or right of the frame you | 98 | positions itself to the left or right of the frame you started it |
| 99 | started it from. | 99 | from. |
| 100 | 100 | ||
| 101 | To use speedbar effectively, it is important to understand its | 101 | To use speedbar effectively, it is important to understand its |
| 102 | relationship with the frame you started it from. This frame is the | 102 | relationship with the frame you started it from. This frame is the |
| @@ -141,9 +141,6 @@ to use. | |||
| 141 | These key bindings are common across all modes: | 141 | These key bindings are common across all modes: |
| 142 | 142 | ||
| 143 | @table @kbd | 143 | @table @kbd |
| 144 | @item delete, SPC | ||
| 145 | @cindex scrolling in speedbar | ||
| 146 | Scroll up and down one page. | ||
| 147 | @item Q | 144 | @item Q |
| 148 | @cindex quitting speedbar | 145 | @cindex quitting speedbar |
| 149 | Quit speedbar, and kill the frame. | 146 | Quit speedbar, and kill the frame. |
diff --git a/man/trampver.texi b/man/trampver.texi index a77ae82d49b..9f2bb8737f7 100644 --- a/man/trampver.texi +++ b/man/trampver.texi | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | @c In the Tramp CVS, the version number is auto-frobbed from | 4 | @c In the Tramp CVS, the version number is auto-frobbed from |
| 5 | @c configure.ac, so you should edit that file and run | 5 | @c configure.ac, so you should edit that file and run |
| 6 | @c "autoconf && ./configure" to change the version number. | 6 | @c "autoconf && ./configure" to change the version number. |
| 7 | @set trampver 2.0.50 | 7 | @set trampver 2.0.51 |
| 8 | 8 | ||
| 9 | @c Other flags from configuration | 9 | @c Other flags from configuration |
| 10 | @set prefix /usr/local | 10 | @set prefix /usr/local |
diff --git a/src/ChangeLog b/src/ChangeLog index 172700a810b..3feb061a654 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,242 @@ | |||
| 1 | 2005-10-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * macterm.c (note_mouse_movement, XTread_socket): Apply 2005-10-14 | ||
| 4 | changes for xterm.c. | ||
| 5 | |||
| 6 | * w32term.c (note_mouse_movement, w32_read_socket): Likewise. | ||
| 7 | |||
| 8 | 2005-10-14 Kenichi Handa <handa@m17n.org> | ||
| 9 | |||
| 10 | * search.c (search_buffer): Give up BM search on case-fold-search | ||
| 11 | if one of a target character has a case-equivalence of different | ||
| 12 | charset even if that target charcter is an ASCII. | ||
| 13 | |||
| 14 | * casefiddle.c (casify_object): Fix for the case that case | ||
| 15 | conversion change the byte length. | ||
| 16 | |||
| 17 | 2005-10-14 Kim F. Storm <storm@cua.dk> | ||
| 18 | |||
| 19 | * xterm.c (note_mouse_movement): Return 1 if mouse moved; 0 otherwise. | ||
| 20 | (handle_one_xevent): Only clear help_echo_string; restore it if | ||
| 21 | note_mouse_movement didn't record any mouse movement. | ||
| 22 | |||
| 23 | * xdisp.c (pos_visible_p): Convert w->hscroll to pixels before use. | ||
| 24 | (remember_mouse_glyph): Clear RECT if mouse is over an image glyph. | ||
| 25 | |||
| 26 | * keyboard.c (make_lispy_position): Adjust wx for left margin if ON_TEXT. | ||
| 27 | (Fposn_at_x_y): Fix calculation of x coordinate. | ||
| 28 | (Fposn_at_point): Return nil if point is hscrolled out of view. | ||
| 29 | |||
| 30 | 2005-10-13 Andreas Schwab <schwab@suse.de> | ||
| 31 | |||
| 32 | * sysdep.c (request_sigio, unrequest_sigio): Do nothing in | ||
| 33 | non-interactive mode. | ||
| 34 | |||
| 35 | 2005-10-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 36 | |||
| 37 | * xterm.c, w32term.c, macterm.c (note_mouse_movement): Undo last change. | ||
| 38 | |||
| 39 | 2005-10-12 Kim F. Storm <storm@cua.dk> | ||
| 40 | |||
| 41 | * xterm.c (handle_one_xevent): Clear last_mouse_glyph on mouse up/down. | ||
| 42 | |||
| 43 | 2005-10-12 Romain Francoise <romain@orebokech.com> | ||
| 44 | |||
| 45 | * buffer.c (init_buffer): Rename `rc' to `len' for clarity. | ||
| 46 | |||
| 47 | 2005-10-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 48 | |||
| 49 | * xdisp.c (remember_mouse_glyph): Use MATRIX_BOTTOM_TEXT_ROW to | ||
| 50 | get end of text rows. Obtain header-line/mode-line rows directly. | ||
| 51 | |||
| 52 | * xterm.c, w32term.c, macterm.c (note_mouse_movement): Restore | ||
| 53 | help_echo_string if mouse is moved inside last_mouse_glyph. | ||
| 54 | |||
| 55 | 2005-10-12 Kim F. Storm <storm@cua.dk> | ||
| 56 | |||
| 57 | * xdisp.c (remember_mouse_glyph): New generic version based on | ||
| 58 | glyph_rect and remember_mouse_glyph from xterm.c enhanced to | ||
| 59 | properly handle all different window areas. | ||
| 60 | |||
| 61 | * dispextern.h (remember_mouse_glyph): Add prototype. | ||
| 62 | |||
| 63 | * xterm.c (glyph_rect, remember_mouse_glyph): Remove X versions. | ||
| 64 | (note_mouse_movement, XTmouse_position): Use generic | ||
| 65 | remember_mouse_glyph, add last_mouse_glyph arg. | ||
| 66 | |||
| 67 | * w32term.c (note_mouse_movement): Fix last_mouse_glyph check. | ||
| 68 | (glyph_rect, remember_mouse_glyph): Remove w32 specific versions. | ||
| 69 | (note_mouse_movement, w32_mouse_position): Use generic | ||
| 70 | remember_mouse_glyph, add last_mouse_glyph arg. | ||
| 71 | |||
| 72 | * macterm.c (note_mouse_movement): Add call to remember_mouse_glyph. | ||
| 73 | (glyph_rect, remember_mouse_glyph): Remove mac specific versions. | ||
| 74 | (XTmouse_position): Adapt to use generic remember_mouse_glyph | ||
| 75 | instead of pixel_to_glyph_coords. | ||
| 76 | |||
| 77 | * window.c (coordinates_in_window): Fix x position for ON_RIGHT_MARGIN. | ||
| 78 | Fix x position for ON_TEXT when left margin width > 0. | ||
| 79 | |||
| 80 | 2005-10-11 Kim F. Storm <storm@cua.dk> | ||
| 81 | |||
| 82 | * window.c (coordinates_in_window): Fix y position for ON_SCROLL_BAR. | ||
| 83 | |||
| 84 | * keyboard.c (make_lispy_position): Fix buffer calculations for | ||
| 85 | mouse click or movement in right fringe and the margins. | ||
| 86 | |||
| 87 | 2005-10-11 Juanma Barranquero <lekktu@gmail.com> | ||
| 88 | |||
| 89 | * image.c (fn_jpeg_stdio_src): Don't define it. | ||
| 90 | (init_jpeg_functions): Don't initialize `fn_jpeg_stdio_src'. | ||
| 91 | (our_common_init_source): Rename from `our_init_source'. | ||
| 92 | (our_common_term_source): Rename from `our_term_source'. | ||
| 93 | (our_memory_fill_input_buffer): Rename from | ||
| 94 | `our_fill_input_buffer'. | ||
| 95 | (our_memory_skip_input_data): Rename from `our_skip_input_data'. | ||
| 96 | (jpeg_memory_src): Use the new names. | ||
| 97 | (struct jpeg_stdio_mgr): New struct. | ||
| 98 | (JPEG_STDIO_BUFFER_SIZE): New constant. | ||
| 99 | (our_stdio_fill_input_buffer, our_stdio_skip_input_data) | ||
| 100 | (jpeg_file_src): New functions. | ||
| 101 | (jpeg_load): Use `jpeg_file_src' instead of `fn_jpeg_stdio_src'. | ||
| 102 | |||
| 103 | 2005-10-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 104 | |||
| 105 | * macterm.c (PER_CHAR_METRIC): Remove unused macro. | ||
| 106 | (fm_font_family_alist): New variable. | ||
| 107 | (syms_of_macterm): Initialize and staticpro it. | ||
| 108 | (decode_mac_font_name): Replace '-' in family name with '_' if it | ||
| 109 | occurs just once. Lower family name. | ||
| 110 | (parse_x_font_name): Rename from x_font_name_to_mac_font_name. | ||
| 111 | All uses changed. Remove argument MF and code conversion for it. | ||
| 112 | Add argument SIZE. Rename argument MF_DECODED to FAMILY, and CS | ||
| 113 | to CHARSET. Parse font size. Lower family name. Return integer | ||
| 114 | value for status of parsing. | ||
| 115 | (init_font_name_table) [USE_ATSUI]: Use decode_mac_font_name. | ||
| 116 | Don't use Fdowncase because family name is already lowered by | ||
| 117 | decode_mac_font_name. | ||
| 118 | (init_font_name_table): Always call decode_mac_font_name. Add | ||
| 119 | pair of family name and its reference to fm_font_family_alist. | ||
| 120 | (mac_clear_font_name_table): Clear fm_font_family_alist. | ||
| 121 | (XLoadQueryFont): Move font size parsing part to parse_x_font_name. | ||
| 122 | Lookup fm_font_family_alist to get font family reference. | ||
| 123 | (XLoadQueryFont) [USE_ATSUI]: Don't use Fdowncase because family | ||
| 124 | name is already lowered by parse_x_font_name. | ||
| 125 | |||
| 126 | 2005-10-11 Kim F. Storm <storm@cua.dk> | ||
| 127 | |||
| 128 | * xterm.c (glyph_rect): Return 0 if position is outside text area. | ||
| 129 | |||
| 130 | * keyboard.c (make_lispy_position): Fix buffer position calculation for | ||
| 131 | mouse click or movement in fringe. | ||
| 132 | |||
| 133 | 2005-10-10 Jason Rumney <jasonr@gnu.org> | ||
| 134 | |||
| 135 | * xterm.c (remember_mouse_glyph): New function. | ||
| 136 | (note_mouse_movement): Use it to remember the current glyph if changed. | ||
| 137 | (XTmouse_position): Fix calculation of fake glyph under mouse. | ||
| 138 | Move code to calculate glyph under mouse into remember_mouse_glyph. | ||
| 139 | |||
| 140 | 2005-10-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 141 | |||
| 142 | * emacs.c (USAGE3, standard_args): -nb => -nbi. | ||
| 143 | |||
| 144 | 2005-10-10 Juanma Barranquero <lekktu@gmail.com> | ||
| 145 | |||
| 146 | * frame.c (Fredirect_frame_focus): Fix typos in docstring. | ||
| 147 | (next_frame, prev_frame, set_term_frame_name): Make static. | ||
| 148 | |||
| 149 | * window.c (Fwindow_tree): Fix spelling. | ||
| 150 | |||
| 151 | 2005-10-09 Romain Francoise <romain@orebokech.com> | ||
| 152 | |||
| 153 | * window.c (Fwindow_end): Don't try to redisplay if non-interactive. | ||
| 154 | |||
| 155 | 2005-10-09 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 156 | |||
| 157 | * emacs.c (standard_args): Remove options -i, -itype, --icon-type. | ||
| 158 | Add options -nb, --no-bitmap-icon. | ||
| 159 | |||
| 160 | * xfns.c (Fx_create_frame): Make bitmapIcon have default on. | ||
| 161 | |||
| 162 | 2005-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 163 | |||
| 164 | * macgui.h (MAX_CLIP_RECTS): New define. | ||
| 165 | (struct _XGC): New member clip_region. | ||
| 166 | (struct _XGC) [MAC_OSX && USE_ATSUI]: New members n_clip_rects and | ||
| 167 | clip_rects. | ||
| 168 | |||
| 169 | * macterm.c (GC_CLIP_REGION): New macro. | ||
| 170 | (saved_port_clip_region): New variable. | ||
| 171 | (mac_begin_clip, mac_end_clip): New functions. | ||
| 172 | (XDrawLine, mac_erase_rectangle, mac_draw_bitmap, XFillRectangle) | ||
| 173 | (mac_draw_rectangle, mac_draw_string_common, mac_copy_area) | ||
| 174 | (mac_copy_area_with_mask, mac_scroll_area): Use them. | ||
| 175 | (mac_set_clip_rectangle, mac_reset_clipping): Remove functions. | ||
| 176 | [USE_ATSUI] (atsu_get_text_layout_with_text_ptr) | ||
| 177 | [MAC_OS_X_VERSION_MAX_ALLOWED < 1020]: Specify kATSLineFractDisable. | ||
| 178 | (mac_draw_string_common) [MAC_OSX && USE_ATSUI]: Clip to clipping | ||
| 179 | rectangles stored in gc. | ||
| 180 | (XFreeGC): Dispose of clipping region. | ||
| 181 | (mac_set_clip_rectangles, mac_reset_clip_rectangles): New functions. | ||
| 182 | (x_draw_fringe_bitmap, x_set_glyph_string_clipping) | ||
| 183 | (x_draw_relief_rect, x_draw_box_rect, x_draw_stretch_glyph_string) | ||
| 184 | (x_draw_glyph_string, x_clip_to_row, x_draw_hollow_cursor) | ||
| 185 | (x_draw_bar_cursor): Use them. | ||
| 186 | (x_set_glyph_string_clipping): Use get_glyph_string_clip_rects to | ||
| 187 | get multiple clipping rectangles. | ||
| 188 | |||
| 189 | * macterm.h (mac_term_init): Add types to extern. | ||
| 190 | (struct mac_output): Remove members mWP and pending_menu_activation. | ||
| 191 | Put members scroll_bar_foreground_pixel and | ||
| 192 | scroll_bar_background_pixel in #if 0. | ||
| 193 | (FRAME_MAC_WINDOW, FRAME_X_WINDOW): Use window_desc. | ||
| 194 | |||
| 195 | * xfaces.c (x_create_gc, x_free_gc) [MAC_OS]: Add BLOCK_INPUT. | ||
| 196 | Add debug code. | ||
| 197 | |||
| 198 | 2005-10-08 Kim F. Storm <storm@cua.dk> | ||
| 199 | |||
| 200 | * window.c (window_tree, Fwindow_tree): Rename fns added 2005-10-04. | ||
| 201 | |||
| 202 | 2005-10-07 Kim F. Storm <storm@cua.dk> | ||
| 203 | |||
| 204 | * dispnew.c (redraw_overlapped_rows, redraw_overlapping_rows) | ||
| 205 | [!HAVE_WINDOW_SYSTEM]: Don't declare them... | ||
| 206 | (update_window) [!HAVE_WINDOW_SYSTEM]: ...and don't call them. | ||
| 207 | |||
| 208 | 2005-10-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 209 | |||
| 210 | * dispextern.h (struct glyph_string): Rename member for_overlaps_p | ||
| 211 | to for_overlaps. Now occupy 3 bits. | ||
| 212 | (OVERLAPS_PRED, OVERLAPS_SUCC, OVERLAPS_BOTH) | ||
| 213 | (OVERLAPS_ERASED_CURSOR): New defines. | ||
| 214 | (struct redisplay_interface): Add new OVERLAPS arg to member | ||
| 215 | fix_overlapping_area. | ||
| 216 | (x_fix_overlapping_area): Add new OVERLAPS arg. | ||
| 217 | (get_glyph_string_clip_rects): Add extern. | ||
| 218 | |||
| 219 | * dispnew.c (redraw_overlapping_rows): Call | ||
| 220 | rif->fix_overlapping_area with new OVERLAPS arg as redrawn part. | ||
| 221 | |||
| 222 | * xdisp.c: Rename member for_overlaps_p in struct glyph_string to | ||
| 223 | for_overlaps. | ||
| 224 | (get_glyph_string_clip_rects): New function created from | ||
| 225 | get_glyph_string_clip_rect. Set clipping rectangles according to the | ||
| 226 | value of for_overlaps. Enable to store multiple clipping rectangles. | ||
| 227 | (get_glyph_string_clip_rect): Use get_glyph_string_clip_rects. | ||
| 228 | (fill_composite_glyph_string, fill_glyph_string, draw_glyphs): | ||
| 229 | Rename argument OVERLAPS_P to OVERLAPS. All uses in macros changed. | ||
| 230 | (x_fix_overlapping_area): Add OVERLAPS arg. Pass it to draw_glyphs. | ||
| 231 | (draw_phys_cursor_glyph): Set width of erased cursor to use it for | ||
| 232 | calculating clipping rectangles later. Call x_fix_overlapping_area | ||
| 233 | with new OVERLAPS arg to draw only erased cursor area. | ||
| 234 | (expose_overlaps): Call x_fix_overlapping_area with new OVERLAPS arg | ||
| 235 | to draw overlaps in both preceding and succeeding rows. | ||
| 236 | |||
| 237 | * xterm.c, w32term.c, macterm.c: Rename member for_overlaps_p in | ||
| 238 | struct glyph_string to for_overlaps. | ||
| 239 | |||
| 1 | 2005-10-04 Kim F. Storm <storm@cua.dk> | 240 | 2005-10-04 Kim F. Storm <storm@cua.dk> |
| 2 | 241 | ||
| 3 | * window.c (window_split_tree): New function. | 242 | * window.c (window_split_tree): New function. |
| @@ -130,9 +369,9 @@ | |||
| 130 | 369 | ||
| 131 | * systime.h (get_operating_system_release): ... here. | 370 | * systime.h (get_operating_system_release): ... here. |
| 132 | 371 | ||
| 133 | * xterm.c (set_vertical_scroll_bar): Move prototype ... | 372 | * xterm.c (handle_one_xevent): Refer to union field to match the |
| 134 | (handle_one_xevent): Refer to union field to match the type | 373 | type required by the function definition. |
| 135 | required by the function definition. | 374 | (set_vertical_scroll_bar): Move prototype ... |
| 136 | 375 | ||
| 137 | * xterm.h: ... here. | 376 | * xterm.h: ... here. |
| 138 | 377 | ||
| @@ -1483,7 +1722,7 @@ | |||
| 1483 | 2005-06-04 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 1722 | 2005-06-04 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 1484 | 1723 | ||
| 1485 | * macmenu.c (cleanup_popup_menu): New function. | 1724 | * macmenu.c (cleanup_popup_menu): New function. |
| 1486 | (Fx_popup_menu): unwind protect cleanup_popup_menu in case | 1725 | (Fx_popup_menu): Unwind protect cleanup_popup_menu in case |
| 1487 | mac_menu_show Quit:s. | 1726 | mac_menu_show Quit:s. |
| 1488 | (mac_menu_show): Quit on cancel if not popped up on click (i.e. | 1727 | (mac_menu_show): Quit on cancel if not popped up on click (i.e. |
| 1489 | a dialog). | 1728 | a dialog). |
| @@ -3658,7 +3897,7 @@ | |||
| 3658 | [TARGET_API_MAC_CARBON] (Fx_file_dialog): Use MAXPATHLEN for size | 3897 | [TARGET_API_MAC_CARBON] (Fx_file_dialog): Use MAXPATHLEN for size |
| 3659 | of filename string. Set event callback function when creating | 3898 | of filename string. Set event callback function when creating |
| 3660 | dialog boxes. Add code conversions for filenames. Don't dispose | 3899 | dialog boxes. Add code conversions for filenames. Don't dispose |
| 3661 | apple event descriptor record if failed to create it. | 3900 | of apple event descriptor record if failed to create it. |
| 3662 | 3901 | ||
| 3663 | * macterm.c: Include sys/param.h. | 3902 | * macterm.c: Include sys/param.h. |
| 3664 | [USE_CARBON_EVENTS] (mac_handle_window_event): Add handler for | 3903 | [USE_CARBON_EVENTS] (mac_handle_window_event): Add handler for |
| @@ -6760,7 +6999,8 @@ | |||
| 6760 | (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a | 6999 | (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a |
| 6761 | scroll-bar click event. | 7000 | scroll-bar click event. |
| 6762 | (mac_define_frame_cursor): Change the pointer shape. | 7001 | (mac_define_frame_cursor): Change the pointer shape. |
| 6763 | (x_free_frame_resources): Reset tip_window to NULL when it is disposed. | 7002 | (x_free_frame_resources): Reset tip_window to NULL when it is |
| 7003 | disposed of. | ||
| 6764 | [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable. | 7004 | [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable. |
| 6765 | [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize arrow_cursor. | 7005 | [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize arrow_cursor. |
| 6766 | (do_window_update): Don't do anything if the updated window is the | 7006 | (do_window_update): Don't do anything if the updated window is the |
| @@ -16779,7 +17019,7 @@ | |||
| 16779 | * w32.c (sys_getpeername, fcntl): New functions. | 17019 | * w32.c (sys_getpeername, fcntl): New functions. |
| 16780 | (_sys_read_ahead): Temporarily block on non-blocking sockets. | 17020 | (_sys_read_ahead): Temporarily block on non-blocking sockets. |
| 16781 | 17021 | ||
| 16782 | * w32proc.c: include sys/file.h. | 17022 | * w32proc.c: Include sys/file.h. |
| 16783 | 17023 | ||
| 16784 | 2002-05-03 Colin Walters <walters@verbum.org> | 17024 | 2002-05-03 Colin Walters <walters@verbum.org> |
| 16785 | 17025 | ||
diff --git a/src/buffer.c b/src/buffer.c index ae2a584e506..e8a45f42342 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -5130,7 +5130,7 @@ init_buffer () | |||
| 5130 | char *pwd; | 5130 | char *pwd; |
| 5131 | struct stat dotstat, pwdstat; | 5131 | struct stat dotstat, pwdstat; |
| 5132 | Lisp_Object temp; | 5132 | Lisp_Object temp; |
| 5133 | int rc; | 5133 | int len; |
| 5134 | 5134 | ||
| 5135 | #ifdef USE_MMAP_FOR_BUFFERS | 5135 | #ifdef USE_MMAP_FOR_BUFFERS |
| 5136 | { | 5136 | { |
| @@ -5157,13 +5157,13 @@ init_buffer () | |||
| 5157 | #ifndef VMS | 5157 | #ifndef VMS |
| 5158 | /* Maybe this should really use some standard subroutine | 5158 | /* Maybe this should really use some standard subroutine |
| 5159 | whose definition is filename syntax dependent. */ | 5159 | whose definition is filename syntax dependent. */ |
| 5160 | rc = strlen (pwd); | 5160 | len = strlen (pwd); |
| 5161 | if (!(IS_DIRECTORY_SEP (pwd[rc - 1]))) | 5161 | if (!(IS_DIRECTORY_SEP (pwd[len - 1]))) |
| 5162 | { | 5162 | { |
| 5163 | /* Grow buffer to add directory separator and '\0'. */ | 5163 | /* Grow buffer to add directory separator and '\0'. */ |
| 5164 | pwd = (char *) xrealloc (pwd, rc + 2); | 5164 | pwd = (char *) xrealloc (pwd, len + 2); |
| 5165 | pwd[rc] = DIRECTORY_SEP; | 5165 | pwd[len] = DIRECTORY_SEP; |
| 5166 | pwd[rc + 1] = '\0'; | 5166 | pwd[len + 1] = '\0'; |
| 5167 | } | 5167 | } |
| 5168 | #endif /* not VMS */ | 5168 | #endif /* not VMS */ |
| 5169 | 5169 | ||
diff --git a/src/dispextern.h b/src/dispextern.h index db9cd53d042..b1f18e3ef25 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -1182,10 +1182,18 @@ struct glyph_string | |||
| 1182 | stipple pattern. */ | 1182 | stipple pattern. */ |
| 1183 | unsigned stippled_p : 1; | 1183 | unsigned stippled_p : 1; |
| 1184 | 1184 | ||
| 1185 | /* 1 means only the foreground of this glyph string must be drawn, | 1185 | #define OVERLAPS_PRED (1 << 0) |
| 1186 | and we should use the physical height of the line this glyph | 1186 | #define OVERLAPS_SUCC (1 << 1) |
| 1187 | string appears in as clip rect. */ | 1187 | #define OVERLAPS_BOTH (OVERLAPS_PRED | OVERLAPS_SUCC) |
| 1188 | unsigned for_overlaps_p : 1; | 1188 | #define OVERLAPS_ERASED_CURSOR (1 << 2) |
| 1189 | /* Non-zero means only the foreground of this glyph string must be | ||
| 1190 | drawn, and we should use the physical height of the line this | ||
| 1191 | glyph string appears in as clip rect. If the value is | ||
| 1192 | OVERLAPS_ERASED_CURSOR, the clip rect is restricted to the rect | ||
| 1193 | of the erased cursor. OVERLAPS_PRED and OVERLAPS_SUCC mean we | ||
| 1194 | draw overlaps with the preceding and the succeeding rows, | ||
| 1195 | respectively. */ | ||
| 1196 | unsigned for_overlaps : 3; | ||
| 1189 | 1197 | ||
| 1190 | /* The GC to use for drawing this glyph string. */ | 1198 | /* The GC to use for drawing this glyph string. */ |
| 1191 | #if defined(HAVE_X_WINDOWS) || defined(MAC_OS) | 1199 | #if defined(HAVE_X_WINDOWS) || defined(MAC_OS) |
| @@ -2260,7 +2268,7 @@ struct redisplay_interface | |||
| 2260 | This function is called from redraw_overlapping_rows after | 2268 | This function is called from redraw_overlapping_rows after |
| 2261 | desired rows have been made current. */ | 2269 | desired rows have been made current. */ |
| 2262 | void (*fix_overlapping_area) P_ ((struct window *w, struct glyph_row *row, | 2270 | void (*fix_overlapping_area) P_ ((struct window *w, struct glyph_row *row, |
| 2263 | enum glyph_row_area area)); | 2271 | enum glyph_row_area area, int)); |
| 2264 | 2272 | ||
| 2265 | #ifdef HAVE_WINDOW_SYSTEM | 2273 | #ifdef HAVE_WINDOW_SYSTEM |
| 2266 | 2274 | ||
| @@ -2603,6 +2611,8 @@ int estimate_mode_line_height P_ ((struct frame *, enum face_id)); | |||
| 2603 | void pixel_to_glyph_coords P_ ((struct frame *, int, int, int *, int *, | 2611 | void pixel_to_glyph_coords P_ ((struct frame *, int, int, int *, int *, |
| 2604 | NativeRectangle *, int)); | 2612 | NativeRectangle *, int)); |
| 2605 | int glyph_to_pixel_coords P_ ((struct window *, int, int, int *, int *)); | 2613 | int glyph_to_pixel_coords P_ ((struct window *, int, int, int *, int *)); |
| 2614 | void remember_mouse_glyph P_ ((struct frame *, int, int, NativeRectangle *)); | ||
| 2615 | |||
| 2606 | void mark_window_display_accurate P_ ((Lisp_Object, int)); | 2616 | void mark_window_display_accurate P_ ((Lisp_Object, int)); |
| 2607 | void redisplay_preserve_echo_area P_ ((int)); | 2617 | void redisplay_preserve_echo_area P_ ((int)); |
| 2608 | void set_cursor_from_row P_ ((struct window *, struct glyph_row *, | 2618 | void set_cursor_from_row P_ ((struct window *, struct glyph_row *, |
| @@ -2660,7 +2670,7 @@ extern int x_stretch_cursor_p; | |||
| 2660 | extern struct cursor_pos output_cursor; | 2670 | extern struct cursor_pos output_cursor; |
| 2661 | 2671 | ||
| 2662 | extern void x_fix_overlapping_area P_ ((struct window *, struct glyph_row *, | 2672 | extern void x_fix_overlapping_area P_ ((struct window *, struct glyph_row *, |
| 2663 | enum glyph_row_area)); | 2673 | enum glyph_row_area, int)); |
| 2664 | extern void draw_phys_cursor_glyph P_ ((struct window *, | 2674 | extern void draw_phys_cursor_glyph P_ ((struct window *, |
| 2665 | struct glyph_row *, | 2675 | struct glyph_row *, |
| 2666 | enum draw_glyphs_face)); | 2676 | enum draw_glyphs_face)); |
| @@ -2678,6 +2688,8 @@ extern void x_clear_cursor P_ ((struct window *)); | |||
| 2678 | extern void x_draw_vertical_border P_ ((struct window *w)); | 2688 | extern void x_draw_vertical_border P_ ((struct window *w)); |
| 2679 | 2689 | ||
| 2680 | extern void frame_to_window_pixel_xy P_ ((struct window *, int *, int *)); | 2690 | extern void frame_to_window_pixel_xy P_ ((struct window *, int *, int *)); |
| 2691 | extern int get_glyph_string_clip_rects P_ ((struct glyph_string *, | ||
| 2692 | NativeRectangle *, int)); | ||
| 2681 | extern void get_glyph_string_clip_rect P_ ((struct glyph_string *, | 2693 | extern void get_glyph_string_clip_rect P_ ((struct glyph_string *, |
| 2682 | NativeRectangle *nr)); | 2694 | NativeRectangle *nr)); |
| 2683 | extern Lisp_Object find_hot_spot P_ ((Lisp_Object, int, int)); | 2695 | extern Lisp_Object find_hot_spot P_ ((Lisp_Object, int, int)); |
diff --git a/src/dispnew.c b/src/dispnew.c index b001db82781..d0a1ba6c7ff 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -3949,6 +3949,7 @@ update_single_window (w, force_p) | |||
| 3949 | } | 3949 | } |
| 3950 | } | 3950 | } |
| 3951 | 3951 | ||
| 3952 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 3952 | 3953 | ||
| 3953 | /* Redraw lines from the current matrix of window W that are | 3954 | /* Redraw lines from the current matrix of window W that are |
| 3954 | overlapped by other rows. YB is bottom-most y-position in W. */ | 3955 | overlapped by other rows. YB is bottom-most y-position in W. */ |
| @@ -4021,23 +4022,33 @@ redraw_overlapping_rows (w, yb) | |||
| 4021 | 4022 | ||
| 4022 | if (row->overlapping_p && i > 0 && bottom_y < yb) | 4023 | if (row->overlapping_p && i > 0 && bottom_y < yb) |
| 4023 | { | 4024 | { |
| 4024 | if (row->used[LEFT_MARGIN_AREA]) | 4025 | int overlaps = 0; |
| 4025 | rif->fix_overlapping_area (w, row, LEFT_MARGIN_AREA); | 4026 | |
| 4026 | 4027 | if (MATRIX_ROW_OVERLAPS_PRED_P (row) | |
| 4027 | if (row->used[TEXT_AREA]) | 4028 | && !MATRIX_ROW (w->current_matrix, i - 1)->overlapped_p) |
| 4028 | rif->fix_overlapping_area (w, row, TEXT_AREA); | 4029 | overlaps |= OVERLAPS_PRED; |
| 4029 | 4030 | if (MATRIX_ROW_OVERLAPS_SUCC_P (row) | |
| 4030 | if (row->used[RIGHT_MARGIN_AREA]) | 4031 | && !MATRIX_ROW (w->current_matrix, i + 1)->overlapped_p) |
| 4031 | rif->fix_overlapping_area (w, row, RIGHT_MARGIN_AREA); | 4032 | overlaps |= OVERLAPS_SUCC; |
| 4032 | 4033 | ||
| 4033 | /* Record in neighbour rows that ROW overwrites part of their | 4034 | if (overlaps) |
| 4034 | display. */ | 4035 | { |
| 4035 | if (row->phys_ascent > row->ascent && i > 0) | 4036 | if (row->used[LEFT_MARGIN_AREA]) |
| 4036 | MATRIX_ROW (w->current_matrix, i - 1)->overlapped_p = 1; | 4037 | rif->fix_overlapping_area (w, row, LEFT_MARGIN_AREA, overlaps); |
| 4037 | if ((row->phys_height - row->phys_ascent | 4038 | |
| 4038 | > row->height - row->ascent) | 4039 | if (row->used[TEXT_AREA]) |
| 4039 | && bottom_y < yb) | 4040 | rif->fix_overlapping_area (w, row, TEXT_AREA, overlaps); |
| 4040 | MATRIX_ROW (w->current_matrix, i + 1)->overlapped_p = 1; | 4041 | |
| 4042 | if (row->used[RIGHT_MARGIN_AREA]) | ||
| 4043 | rif->fix_overlapping_area (w, row, RIGHT_MARGIN_AREA, overlaps); | ||
| 4044 | |||
| 4045 | /* Record in neighbour rows that ROW overwrites part of | ||
| 4046 | their display. */ | ||
| 4047 | if (overlaps & OVERLAPS_PRED) | ||
| 4048 | MATRIX_ROW (w->current_matrix, i - 1)->overlapped_p = 1; | ||
| 4049 | if (overlaps & OVERLAPS_SUCC) | ||
| 4050 | MATRIX_ROW (w->current_matrix, i + 1)->overlapped_p = 1; | ||
| 4051 | } | ||
| 4041 | } | 4052 | } |
| 4042 | 4053 | ||
| 4043 | if (bottom_y >= yb) | 4054 | if (bottom_y >= yb) |
| @@ -4045,6 +4056,8 @@ redraw_overlapping_rows (w, yb) | |||
| 4045 | } | 4056 | } |
| 4046 | } | 4057 | } |
| 4047 | 4058 | ||
| 4059 | #endif /* HAVE_WINDOW_SYSTEM */ | ||
| 4060 | |||
| 4048 | 4061 | ||
| 4049 | #ifdef GLYPH_DEBUG | 4062 | #ifdef GLYPH_DEBUG |
| 4050 | 4063 | ||
| @@ -4205,11 +4218,13 @@ update_window (w, force_p) | |||
| 4205 | /* Fix the appearance of overlapping/overlapped rows. */ | 4218 | /* Fix the appearance of overlapping/overlapped rows. */ |
| 4206 | if (!paused_p && !w->pseudo_window_p) | 4219 | if (!paused_p && !w->pseudo_window_p) |
| 4207 | { | 4220 | { |
| 4221 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 4208 | if (changed_p && rif->fix_overlapping_area) | 4222 | if (changed_p && rif->fix_overlapping_area) |
| 4209 | { | 4223 | { |
| 4210 | redraw_overlapped_rows (w, yb); | 4224 | redraw_overlapped_rows (w, yb); |
| 4211 | redraw_overlapping_rows (w, yb); | 4225 | redraw_overlapping_rows (w, yb); |
| 4212 | } | 4226 | } |
| 4227 | #endif | ||
| 4213 | 4228 | ||
| 4214 | /* Make cursor visible at cursor position of W. */ | 4229 | /* Make cursor visible at cursor position of W. */ |
| 4215 | set_window_cursor_after_update (w); | 4230 | set_window_cursor_after_update (w); |
diff --git a/src/emacs.c b/src/emacs.c index a4416354c12..0149bec6d5e 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -311,7 +311,7 @@ Display options:\n\ | |||
| 311 | --fullscreen, -fs make first frame fullscreen\n\ | 311 | --fullscreen, -fs make first frame fullscreen\n\ |
| 312 | --fullwidth, -fw make the first frame wide as the screen\n\ | 312 | --fullwidth, -fw make the first frame wide as the screen\n\ |
| 313 | --geometry, -g GEOMETRY window geometry\n\ | 313 | --geometry, -g GEOMETRY window geometry\n\ |
| 314 | --icon-type, -i use picture of gnu for Emacs icon\n\ | 314 | --no-bitmap-icon, -nbi do not use picture of gnu for Emacs icon\n\ |
| 315 | --iconic start Emacs in iconified state\n\ | 315 | --iconic start Emacs in iconified state\n\ |
| 316 | --internal-border, -ib WIDTH width between text and main border\n\ | 316 | --internal-border, -ib WIDTH width between text and main border\n\ |
| 317 | --line-spacing, -lsp PIXELS additional space to put between lines\n\ | 317 | --line-spacing, -lsp PIXELS additional space to put between lines\n\ |
| @@ -1836,8 +1836,7 @@ struct standard_args standard_args[] = | |||
| 1836 | { "-u", "--user", 30, 1 }, | 1836 | { "-u", "--user", 30, 1 }, |
| 1837 | { "-user", 0, 30, 1 }, | 1837 | { "-user", 0, 30, 1 }, |
| 1838 | { "-debug-init", "--debug-init", 20, 0 }, | 1838 | { "-debug-init", "--debug-init", 20, 0 }, |
| 1839 | { "-i", "--icon-type", 15, 0 }, | 1839 | { "-nbi", "--no-bitmap-icon", 15, 0 }, |
| 1840 | { "-itype", 0, 15, 0 }, | ||
| 1841 | { "-iconic", "--iconic", 15, 0 }, | 1840 | { "-iconic", "--iconic", 15, 0 }, |
| 1842 | { "-D", "--basic-display", 12, 0}, | 1841 | { "-D", "--basic-display", 12, 0}, |
| 1843 | { "-basic-display", 0, 12, 0}, | 1842 | { "-basic-display", 0, 12, 0}, |
diff --git a/src/frame.c b/src/frame.c index 9c6345a0b40..ae7ac842fa2 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -901,7 +901,7 @@ DEFUN ("frame-list", Fframe_list, Sframe_list, | |||
| 901 | If MINIBUF is 0, include all visible and iconified frames. | 901 | If MINIBUF is 0, include all visible and iconified frames. |
| 902 | Otherwise, include all frames. */ | 902 | Otherwise, include all frames. */ |
| 903 | 903 | ||
| 904 | Lisp_Object | 904 | static Lisp_Object |
| 905 | next_frame (frame, minibuf) | 905 | next_frame (frame, minibuf) |
| 906 | Lisp_Object frame; | 906 | Lisp_Object frame; |
| 907 | Lisp_Object minibuf; | 907 | Lisp_Object minibuf; |
| @@ -978,7 +978,7 @@ next_frame (frame, minibuf) | |||
| 978 | If MINIBUF is 0, include all visible and iconified frames. | 978 | If MINIBUF is 0, include all visible and iconified frames. |
| 979 | Otherwise, include all frames. */ | 979 | Otherwise, include all frames. */ |
| 980 | 980 | ||
| 981 | Lisp_Object | 981 | static Lisp_Object |
| 982 | prev_frame (frame, minibuf) | 982 | prev_frame (frame, minibuf) |
| 983 | Lisp_Object frame; | 983 | Lisp_Object frame; |
| 984 | Lisp_Object minibuf; | 984 | Lisp_Object minibuf; |
| @@ -1813,7 +1813,7 @@ Focus redirection is useful for temporarily redirecting keystrokes to | |||
| 1813 | a surrogate minibuffer frame when a frame doesn't have its own | 1813 | a surrogate minibuffer frame when a frame doesn't have its own |
| 1814 | minibuffer window. | 1814 | minibuffer window. |
| 1815 | 1815 | ||
| 1816 | A frame's focus redirection can be changed by select-frame. If frame | 1816 | A frame's focus redirection can be changed by `select-frame'. If frame |
| 1817 | FOO is selected, and then a different frame BAR is selected, any | 1817 | FOO is selected, and then a different frame BAR is selected, any |
| 1818 | frames redirecting their focus to FOO are shifted to redirect their | 1818 | frames redirecting their focus to FOO are shifted to redirect their |
| 1819 | focus to BAR. This allows focus redirection to work properly when the | 1819 | focus to BAR. This allows focus redirection to work properly when the |
| @@ -1821,7 +1821,7 @@ user switches from one frame to another using `select-window'. | |||
| 1821 | 1821 | ||
| 1822 | This means that a frame whose focus is redirected to itself is treated | 1822 | This means that a frame whose focus is redirected to itself is treated |
| 1823 | differently from a frame whose focus is redirected to nil; the former | 1823 | differently from a frame whose focus is redirected to nil; the former |
| 1824 | is affected by select-frame, while the latter is not. | 1824 | is affected by `select-frame', while the latter is not. |
| 1825 | 1825 | ||
| 1826 | The redirection lasts until `redirect-frame-focus' is called to change it. */) | 1826 | The redirection lasts until `redirect-frame-focus' is called to change it. */) |
| 1827 | (frame, focus_frame) | 1827 | (frame, focus_frame) |
| @@ -1952,7 +1952,7 @@ frame_name_fnn_p (str, len) | |||
| 1952 | /* Set the name of the terminal frame. Also used by MSDOS frames. | 1952 | /* Set the name of the terminal frame. Also used by MSDOS frames. |
| 1953 | Modeled after x_set_name which is used for WINDOW frames. */ | 1953 | Modeled after x_set_name which is used for WINDOW frames. */ |
| 1954 | 1954 | ||
| 1955 | void | 1955 | static void |
| 1956 | set_term_frame_name (f, name) | 1956 | set_term_frame_name (f, name) |
| 1957 | struct frame *f; | 1957 | struct frame *f; |
| 1958 | Lisp_Object name; | 1958 | Lisp_Object name; |
diff --git a/src/image.c b/src/image.c index 3b6969b0c28..2463c24a33a 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -6358,7 +6358,6 @@ DEF_IMGLIB_FN (jpeg_finish_decompress); | |||
| 6358 | DEF_IMGLIB_FN (jpeg_destroy_decompress); | 6358 | DEF_IMGLIB_FN (jpeg_destroy_decompress); |
| 6359 | DEF_IMGLIB_FN (jpeg_read_header); | 6359 | DEF_IMGLIB_FN (jpeg_read_header); |
| 6360 | DEF_IMGLIB_FN (jpeg_read_scanlines); | 6360 | DEF_IMGLIB_FN (jpeg_read_scanlines); |
| 6361 | DEF_IMGLIB_FN (jpeg_stdio_src); | ||
| 6362 | DEF_IMGLIB_FN (jpeg_std_error); | 6361 | DEF_IMGLIB_FN (jpeg_std_error); |
| 6363 | DEF_IMGLIB_FN (jpeg_resync_to_restart); | 6362 | DEF_IMGLIB_FN (jpeg_resync_to_restart); |
| 6364 | 6363 | ||
| @@ -6374,7 +6373,6 @@ init_jpeg_functions (Lisp_Object libraries) | |||
| 6374 | LOAD_IMGLIB_FN (library, jpeg_read_scanlines); | 6373 | LOAD_IMGLIB_FN (library, jpeg_read_scanlines); |
| 6375 | LOAD_IMGLIB_FN (library, jpeg_start_decompress); | 6374 | LOAD_IMGLIB_FN (library, jpeg_start_decompress); |
| 6376 | LOAD_IMGLIB_FN (library, jpeg_read_header); | 6375 | LOAD_IMGLIB_FN (library, jpeg_read_header); |
| 6377 | LOAD_IMGLIB_FN (library, jpeg_stdio_src); | ||
| 6378 | LOAD_IMGLIB_FN (library, jpeg_CreateDecompress); | 6376 | LOAD_IMGLIB_FN (library, jpeg_CreateDecompress); |
| 6379 | LOAD_IMGLIB_FN (library, jpeg_destroy_decompress); | 6377 | LOAD_IMGLIB_FN (library, jpeg_destroy_decompress); |
| 6380 | LOAD_IMGLIB_FN (library, jpeg_std_error); | 6378 | LOAD_IMGLIB_FN (library, jpeg_std_error); |
| @@ -6400,7 +6398,6 @@ jpeg_resync_to_restart_wrapper(cinfo, desired) | |||
| 6400 | #define fn_jpeg_destroy_decompress jpeg_destroy_decompress | 6398 | #define fn_jpeg_destroy_decompress jpeg_destroy_decompress |
| 6401 | #define fn_jpeg_read_header jpeg_read_header | 6399 | #define fn_jpeg_read_header jpeg_read_header |
| 6402 | #define fn_jpeg_read_scanlines jpeg_read_scanlines | 6400 | #define fn_jpeg_read_scanlines jpeg_read_scanlines |
| 6403 | #define fn_jpeg_stdio_src jpeg_stdio_src | ||
| 6404 | #define fn_jpeg_std_error jpeg_std_error | 6401 | #define fn_jpeg_std_error jpeg_std_error |
| 6405 | #define jpeg_resync_to_restart_wrapper jpeg_resync_to_restart | 6402 | #define jpeg_resync_to_restart_wrapper jpeg_resync_to_restart |
| 6406 | 6403 | ||
| @@ -6427,7 +6424,17 @@ my_error_exit (cinfo) | |||
| 6427 | libjpeg.doc from the JPEG lib distribution. */ | 6424 | libjpeg.doc from the JPEG lib distribution. */ |
| 6428 | 6425 | ||
| 6429 | static void | 6426 | static void |
| 6430 | our_init_source (cinfo) | 6427 | our_common_init_source (cinfo) |
| 6428 | j_decompress_ptr cinfo; | ||
| 6429 | { | ||
| 6430 | } | ||
| 6431 | |||
| 6432 | |||
| 6433 | /* Method to terminate data source. Called by | ||
| 6434 | jpeg_finish_decompress() after all data has been processed. */ | ||
| 6435 | |||
| 6436 | static void | ||
| 6437 | our_common_term_source (cinfo) | ||
| 6431 | j_decompress_ptr cinfo; | 6438 | j_decompress_ptr cinfo; |
| 6432 | { | 6439 | { |
| 6433 | } | 6440 | } |
| @@ -6438,7 +6445,7 @@ our_init_source (cinfo) | |||
| 6438 | so this only adds a fake end of input marker at the end. */ | 6445 | so this only adds a fake end of input marker at the end. */ |
| 6439 | 6446 | ||
| 6440 | static boolean | 6447 | static boolean |
| 6441 | our_fill_input_buffer (cinfo) | 6448 | our_memory_fill_input_buffer (cinfo) |
| 6442 | j_decompress_ptr cinfo; | 6449 | j_decompress_ptr cinfo; |
| 6443 | { | 6450 | { |
| 6444 | /* Insert a fake EOI marker. */ | 6451 | /* Insert a fake EOI marker. */ |
| @@ -6458,7 +6465,7 @@ our_fill_input_buffer (cinfo) | |||
| 6458 | is the JPEG data source manager. */ | 6465 | is the JPEG data source manager. */ |
| 6459 | 6466 | ||
| 6460 | static void | 6467 | static void |
| 6461 | our_skip_input_data (cinfo, num_bytes) | 6468 | our_memory_skip_input_data (cinfo, num_bytes) |
| 6462 | j_decompress_ptr cinfo; | 6469 | j_decompress_ptr cinfo; |
| 6463 | long num_bytes; | 6470 | long num_bytes; |
| 6464 | { | 6471 | { |
| @@ -6475,16 +6482,6 @@ our_skip_input_data (cinfo, num_bytes) | |||
| 6475 | } | 6482 | } |
| 6476 | 6483 | ||
| 6477 | 6484 | ||
| 6478 | /* Method to terminate data source. Called by | ||
| 6479 | jpeg_finish_decompress() after all data has been processed. */ | ||
| 6480 | |||
| 6481 | static void | ||
| 6482 | our_term_source (cinfo) | ||
| 6483 | j_decompress_ptr cinfo; | ||
| 6484 | { | ||
| 6485 | } | ||
| 6486 | |||
| 6487 | |||
| 6488 | /* Set up the JPEG lib for reading an image from DATA which contains | 6485 | /* Set up the JPEG lib for reading an image from DATA which contains |
| 6489 | LEN bytes. CINFO is the decompression info structure created for | 6486 | LEN bytes. CINFO is the decompression info structure created for |
| 6490 | reading the image. */ | 6487 | reading the image. */ |
| @@ -6508,16 +6505,130 @@ jpeg_memory_src (cinfo, data, len) | |||
| 6508 | } | 6505 | } |
| 6509 | 6506 | ||
| 6510 | src = (struct jpeg_source_mgr *) cinfo->src; | 6507 | src = (struct jpeg_source_mgr *) cinfo->src; |
| 6511 | src->init_source = our_init_source; | 6508 | src->init_source = our_common_init_source; |
| 6512 | src->fill_input_buffer = our_fill_input_buffer; | 6509 | src->fill_input_buffer = our_memory_fill_input_buffer; |
| 6513 | src->skip_input_data = our_skip_input_data; | 6510 | src->skip_input_data = our_memory_skip_input_data; |
| 6514 | src->resync_to_restart = jpeg_resync_to_restart_wrapper; /* Use default method. */ | 6511 | src->resync_to_restart = jpeg_resync_to_restart_wrapper; /* Use default method. */ |
| 6515 | src->term_source = our_term_source; | 6512 | src->term_source = our_common_term_source; |
| 6516 | src->bytes_in_buffer = len; | 6513 | src->bytes_in_buffer = len; |
| 6517 | src->next_input_byte = data; | 6514 | src->next_input_byte = data; |
| 6518 | } | 6515 | } |
| 6519 | 6516 | ||
| 6520 | 6517 | ||
| 6518 | struct jpeg_stdio_mgr | ||
| 6519 | { | ||
| 6520 | struct jpeg_source_mgr mgr; | ||
| 6521 | boolean finished; | ||
| 6522 | FILE *file; | ||
| 6523 | JOCTET *buffer; | ||
| 6524 | }; | ||
| 6525 | |||
| 6526 | |||
| 6527 | /* Size of buffer to read JPEG from file. | ||
| 6528 | Not too big, as we want to use alloc_small. */ | ||
| 6529 | #define JPEG_STDIO_BUFFER_SIZE 8192 | ||
| 6530 | |||
| 6531 | |||
| 6532 | /* Fill input buffer method for JPEG data source manager. Called | ||
| 6533 | whenever more data is needed. The data is read from a FILE *. */ | ||
| 6534 | |||
| 6535 | static boolean | ||
| 6536 | our_stdio_fill_input_buffer (cinfo) | ||
| 6537 | j_decompress_ptr cinfo; | ||
| 6538 | { | ||
| 6539 | struct jpeg_stdio_mgr *src; | ||
| 6540 | |||
| 6541 | src = (struct jpeg_stdio_mgr *) cinfo->src; | ||
| 6542 | if (!src->finished) | ||
| 6543 | { | ||
| 6544 | size_t bytes; | ||
| 6545 | |||
| 6546 | bytes = fread (src->buffer, 1, JPEG_STDIO_BUFFER_SIZE, src->file); | ||
| 6547 | if (bytes > 0) | ||
| 6548 | src->mgr.bytes_in_buffer = bytes; | ||
| 6549 | else | ||
| 6550 | { | ||
| 6551 | WARNMS (cinfo, JWRN_JPEG_EOF); | ||
| 6552 | src->finished = 1; | ||
| 6553 | src->buffer[0] = (JOCTET) 0xFF; | ||
| 6554 | src->buffer[1] = (JOCTET) JPEG_EOI; | ||
| 6555 | src->mgr.bytes_in_buffer = 2; | ||
| 6556 | } | ||
| 6557 | src->mgr.next_input_byte = src->buffer; | ||
| 6558 | } | ||
| 6559 | |||
| 6560 | return 1; | ||
| 6561 | } | ||
| 6562 | |||
| 6563 | |||
| 6564 | /* Method to skip over NUM_BYTES bytes in the image data. CINFO->src | ||
| 6565 | is the JPEG data source manager. */ | ||
| 6566 | |||
| 6567 | static void | ||
| 6568 | our_stdio_skip_input_data (cinfo, num_bytes) | ||
| 6569 | j_decompress_ptr cinfo; | ||
| 6570 | long num_bytes; | ||
| 6571 | { | ||
| 6572 | struct jpeg_stdio_mgr *src; | ||
| 6573 | src = (struct jpeg_stdio_mgr *) cinfo->src; | ||
| 6574 | |||
| 6575 | while (num_bytes > 0 && !src->finished) | ||
| 6576 | { | ||
| 6577 | if (num_bytes <= src->mgr.bytes_in_buffer) | ||
| 6578 | { | ||
| 6579 | src->mgr.bytes_in_buffer -= num_bytes; | ||
| 6580 | src->mgr.next_input_byte += num_bytes; | ||
| 6581 | break; | ||
| 6582 | } | ||
| 6583 | else | ||
| 6584 | { | ||
| 6585 | num_bytes -= src->mgr.bytes_in_buffer; | ||
| 6586 | src->mgr.bytes_in_buffer = 0; | ||
| 6587 | src->mgr.next_input_byte = NULL; | ||
| 6588 | |||
| 6589 | our_stdio_fill_input_buffer (cinfo); | ||
| 6590 | } | ||
| 6591 | } | ||
| 6592 | } | ||
| 6593 | |||
| 6594 | |||
| 6595 | /* Set up the JPEG lib for reading an image from a FILE *. | ||
| 6596 | CINFO is the decompression info structure created for | ||
| 6597 | reading the image. */ | ||
| 6598 | |||
| 6599 | static void | ||
| 6600 | jpeg_file_src (cinfo, fp) | ||
| 6601 | j_decompress_ptr cinfo; | ||
| 6602 | FILE *fp; | ||
| 6603 | { | ||
| 6604 | struct jpeg_stdio_mgr *src; | ||
| 6605 | |||
| 6606 | if (cinfo->src != NULL) | ||
| 6607 | src = (struct jpeg_stdio_mgr *) cinfo->src; | ||
| 6608 | else | ||
| 6609 | { | ||
| 6610 | /* First time for this JPEG object? */ | ||
| 6611 | cinfo->src = (struct jpeg_source_mgr *) | ||
| 6612 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, | ||
| 6613 | sizeof (struct jpeg_stdio_mgr)); | ||
| 6614 | src = (struct jpeg_stdio_mgr *) cinfo->src; | ||
| 6615 | src->buffer = (JOCTET *) | ||
| 6616 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, | ||
| 6617 | JPEG_STDIO_BUFFER_SIZE); | ||
| 6618 | } | ||
| 6619 | |||
| 6620 | src->file = fp; | ||
| 6621 | src->finished = 0; | ||
| 6622 | src->mgr.init_source = our_common_init_source; | ||
| 6623 | src->mgr.fill_input_buffer = our_stdio_fill_input_buffer; | ||
| 6624 | src->mgr.skip_input_data = our_stdio_skip_input_data; | ||
| 6625 | src->mgr.resync_to_restart = jpeg_resync_to_restart_wrapper; /* Use default method. */ | ||
| 6626 | src->mgr.term_source = our_common_term_source; | ||
| 6627 | src->mgr.bytes_in_buffer = 0; | ||
| 6628 | src->mgr.next_input_byte = NULL; | ||
| 6629 | } | ||
| 6630 | |||
| 6631 | |||
| 6521 | /* Load image IMG for use on frame F. Patterned after example.c | 6632 | /* Load image IMG for use on frame F. Patterned after example.c |
| 6522 | from the JPEG lib. */ | 6633 | from the JPEG lib. */ |
| 6523 | 6634 | ||
| @@ -6601,7 +6712,7 @@ jpeg_load (f, img) | |||
| 6601 | fn_jpeg_CreateDecompress (&cinfo, JPEG_LIB_VERSION, sizeof (cinfo)); | 6712 | fn_jpeg_CreateDecompress (&cinfo, JPEG_LIB_VERSION, sizeof (cinfo)); |
| 6602 | 6713 | ||
| 6603 | if (NILP (specified_data)) | 6714 | if (NILP (specified_data)) |
| 6604 | fn_jpeg_stdio_src (&cinfo, (FILE *) fp); | 6715 | jpeg_file_src (&cinfo, (FILE *) fp); |
| 6605 | else | 6716 | else |
| 6606 | jpeg_memory_src (&cinfo, SDATA (specified_data), | 6717 | jpeg_memory_src (&cinfo, SDATA (specified_data), |
| 6607 | SBYTES (specified_data)); | 6718 | SBYTES (specified_data)); |
diff --git a/src/keyboard.c b/src/keyboard.c index 97d4509eeb6..5467d5ff903 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -5053,7 +5053,11 @@ make_lispy_position (f, x, y, time) | |||
| 5053 | XSETINT (*x, wx); | 5053 | XSETINT (*x, wx); |
| 5054 | XSETINT (*y, wy); | 5054 | XSETINT (*y, wy); |
| 5055 | 5055 | ||
| 5056 | if (part == ON_MODE_LINE || part == ON_HEADER_LINE) | 5056 | if (part == ON_TEXT) |
| 5057 | { | ||
| 5058 | wx += WINDOW_LEFT_MARGIN_WIDTH (w); | ||
| 5059 | } | ||
| 5060 | else if (part == ON_MODE_LINE || part == ON_HEADER_LINE) | ||
| 5057 | { | 5061 | { |
| 5058 | /* Mode line or header line. Look for a string under | 5062 | /* Mode line or header line. Look for a string under |
| 5059 | the mouse that may have a `local-map' property. */ | 5063 | the mouse that may have a `local-map' property. */ |
| @@ -5089,20 +5093,37 @@ make_lispy_position (f, x, y, time) | |||
| 5089 | &object, &dx, &dy, &width, &height); | 5093 | &object, &dx, &dy, &width, &height); |
| 5090 | if (STRINGP (string)) | 5094 | if (STRINGP (string)) |
| 5091 | string_info = Fcons (string, make_number (charpos)); | 5095 | string_info = Fcons (string, make_number (charpos)); |
| 5096 | if (part == ON_LEFT_MARGIN) | ||
| 5097 | wx = 0; | ||
| 5098 | else | ||
| 5099 | wx = window_box_right_offset (w, TEXT_AREA) - 1; | ||
| 5092 | } | 5100 | } |
| 5093 | else if (part == ON_LEFT_FRINGE || part == ON_RIGHT_FRINGE) | 5101 | else if (part == ON_LEFT_FRINGE) |
| 5094 | { | 5102 | { |
| 5095 | posn = (part == ON_LEFT_FRINGE) ? Qleft_fringe : Qright_fringe; | 5103 | posn = Qleft_fringe; |
| 5096 | rx = 0; | 5104 | rx = 0; |
| 5097 | dx = wx; | 5105 | dx = wx; |
| 5098 | if (part == ON_RIGHT_FRINGE) | 5106 | wx = (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w) |
| 5099 | dx -= (window_box_width (w, LEFT_MARGIN_AREA) | 5107 | ? 0 |
| 5100 | + window_box_width (w, TEXT_AREA) | 5108 | : window_box_width (w, LEFT_MARGIN_AREA)); |
| 5101 | + (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w) | 5109 | dx -= wx; |
| 5102 | ? window_box_width (w, RIGHT_MARGIN_AREA) | 5110 | } |
| 5103 | : 0)); | 5111 | else if (part == ON_RIGHT_FRINGE) |
| 5104 | else if (!WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w)) | 5112 | { |
| 5105 | dx -= window_box_width (w, LEFT_MARGIN_AREA); | 5113 | posn = Qright_fringe; |
| 5114 | rx = 0; | ||
| 5115 | dx = wx; | ||
| 5116 | wx = (window_box_width (w, LEFT_MARGIN_AREA) | ||
| 5117 | + window_box_width (w, TEXT_AREA) | ||
| 5118 | + (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w) | ||
| 5119 | ? window_box_width (w, RIGHT_MARGIN_AREA) | ||
| 5120 | : 0)); | ||
| 5121 | dx -= wx; | ||
| 5122 | } | ||
| 5123 | else | ||
| 5124 | { | ||
| 5125 | /* Note: We have no special posn for part == ON_SCROLL_BAR. */ | ||
| 5126 | wx = max (WINDOW_LEFT_MARGIN_WIDTH (w), wx); | ||
| 5106 | } | 5127 | } |
| 5107 | 5128 | ||
| 5108 | if (textpos < 0) | 5129 | if (textpos < 0) |
| @@ -5111,7 +5132,6 @@ make_lispy_position (f, x, y, time) | |||
| 5111 | struct display_pos p; | 5132 | struct display_pos p; |
| 5112 | int dx2, dy2; | 5133 | int dx2, dy2; |
| 5113 | int width2, height2; | 5134 | int width2, height2; |
| 5114 | wx = max (WINDOW_LEFT_MARGIN_WIDTH (w), wx); | ||
| 5115 | string2 = buffer_posn_from_coords (w, &wx, &wy, &p, | 5135 | string2 = buffer_posn_from_coords (w, &wx, &wy, &p, |
| 5116 | &object2, &dx2, &dy2, | 5136 | &object2, &dx2, &dy2, |
| 5117 | &width2, &height2); | 5137 | &width2, &height2); |
| @@ -10574,11 +10594,11 @@ The `posn-' functions access elements of such lists. */) | |||
| 10574 | CHECK_LIVE_WINDOW (frame_or_window); | 10594 | CHECK_LIVE_WINDOW (frame_or_window); |
| 10575 | 10595 | ||
| 10576 | w = XWINDOW (frame_or_window); | 10596 | w = XWINDOW (frame_or_window); |
| 10577 | XSETINT (x, (WINDOW_TO_FRAME_PIXEL_X (w, XINT (x)) | 10597 | XSETINT (x, (XINT (x) |
| 10598 | + WINDOW_LEFT_EDGE_X (w) | ||
| 10578 | + (NILP (whole) | 10599 | + (NILP (whole) |
| 10579 | ? window_box_left_offset (w, TEXT_AREA) | 10600 | ? window_box_left_offset (w, TEXT_AREA) |
| 10580 | : - (WINDOW_LEFT_SCROLL_BAR_COLS (w) | 10601 | : 0))); |
| 10581 | * WINDOW_FRAME_COLUMN_WIDTH (w))))); | ||
| 10582 | XSETINT (y, WINDOW_TO_FRAME_PIXEL_Y (w, XINT (y))); | 10602 | XSETINT (y, WINDOW_TO_FRAME_PIXEL_Y (w, XINT (y))); |
| 10583 | frame_or_window = w->frame; | 10603 | frame_or_window = w->frame; |
| 10584 | } | 10604 | } |
| @@ -10604,9 +10624,21 @@ The `posn-' functions access elements of such lists. */) | |||
| 10604 | { | 10624 | { |
| 10605 | Lisp_Object tem; | 10625 | Lisp_Object tem; |
| 10606 | 10626 | ||
| 10627 | if (NILP (window)) | ||
| 10628 | window = selected_window; | ||
| 10629 | |||
| 10607 | tem = Fpos_visible_in_window_p (pos, window, Qt); | 10630 | tem = Fpos_visible_in_window_p (pos, window, Qt); |
| 10608 | if (!NILP (tem)) | 10631 | if (!NILP (tem)) |
| 10609 | tem = Fposn_at_x_y (XCAR (tem), XCAR (XCDR (tem)), window, Qnil); | 10632 | { |
| 10633 | Lisp_Object x = XCAR (tem); | ||
| 10634 | Lisp_Object y = XCAR (XCDR (tem)); | ||
| 10635 | |||
| 10636 | /* Point invisible due to hscrolling? */ | ||
| 10637 | if (XINT (x) < 0) | ||
| 10638 | return Qnil; | ||
| 10639 | tem = Fposn_at_x_y (x, y, window, Qnil); | ||
| 10640 | } | ||
| 10641 | |||
| 10610 | return tem; | 10642 | return tem; |
| 10611 | } | 10643 | } |
| 10612 | 10644 | ||
diff --git a/src/macgui.h b/src/macgui.h index 378dbcd9e5c..6e2adb092c6 100644 --- a/src/macgui.h +++ b/src/macgui.h | |||
| @@ -192,6 +192,19 @@ typedef struct _XGC | |||
| 192 | 192 | ||
| 193 | /* QuickDraw background color. */ | 193 | /* QuickDraw background color. */ |
| 194 | RGBColor back_color; | 194 | RGBColor back_color; |
| 195 | |||
| 196 | #define MAX_CLIP_RECTS 2 | ||
| 197 | /* QuickDraw clipping region. */ | ||
| 198 | RgnHandle clip_region; | ||
| 199 | |||
| 200 | #if defined (MAC_OSX) && USE_ATSUI | ||
| 201 | /* Number of clipping rectangles used in Quartz 2D drawing. */ | ||
| 202 | int n_clip_rects; | ||
| 203 | |||
| 204 | /* Clipping rectangles used in Quartz 2D drawing. The y-coordinate | ||
| 205 | is in QuickDraw's. */ | ||
| 206 | CGRect clip_rects[MAX_CLIP_RECTS]; | ||
| 207 | #endif | ||
| 195 | } *GC; | 208 | } *GC; |
| 196 | 209 | ||
| 197 | #define GCForeground (1L<<2) | 210 | #define GCForeground (1L<<2) |
diff --git a/src/macterm.c b/src/macterm.c index 8001678ab92..470851a3ffe 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -272,8 +272,38 @@ extern void menubar_selection_callback (FRAME_PTR, int); | |||
| 272 | #define GC_FORE_COLOR(gc) (&(gc)->fore_color) | 272 | #define GC_FORE_COLOR(gc) (&(gc)->fore_color) |
| 273 | #define GC_BACK_COLOR(gc) (&(gc)->back_color) | 273 | #define GC_BACK_COLOR(gc) (&(gc)->back_color) |
| 274 | #define GC_FONT(gc) ((gc)->xgcv.font) | 274 | #define GC_FONT(gc) ((gc)->xgcv.font) |
| 275 | #define GC_CLIP_REGION(gc) ((gc)->clip_region) | ||
| 275 | #define MAC_WINDOW_NORMAL_GC(w) (((mac_output *) GetWRefCon (w))->normal_gc) | 276 | #define MAC_WINDOW_NORMAL_GC(w) (((mac_output *) GetWRefCon (w))->normal_gc) |
| 276 | 277 | ||
| 278 | static RgnHandle saved_port_clip_region = NULL; | ||
| 279 | |||
| 280 | static void | ||
| 281 | mac_begin_clip (region) | ||
| 282 | RgnHandle region; | ||
| 283 | { | ||
| 284 | static RgnHandle new_region = NULL; | ||
| 285 | |||
| 286 | if (saved_port_clip_region == NULL) | ||
| 287 | saved_port_clip_region = NewRgn (); | ||
| 288 | if (new_region == NULL) | ||
| 289 | new_region = NewRgn (); | ||
| 290 | |||
| 291 | if (region) | ||
| 292 | { | ||
| 293 | GetClip (saved_port_clip_region); | ||
| 294 | SectRgn (saved_port_clip_region, region, new_region); | ||
| 295 | SetClip (new_region); | ||
| 296 | } | ||
| 297 | } | ||
| 298 | |||
| 299 | static void | ||
| 300 | mac_end_clip (region) | ||
| 301 | RgnHandle region; | ||
| 302 | { | ||
| 303 | if (region) | ||
| 304 | SetClip (saved_port_clip_region); | ||
| 305 | } | ||
| 306 | |||
| 277 | 307 | ||
| 278 | /* X display function emulation */ | 308 | /* X display function emulation */ |
| 279 | 309 | ||
| @@ -299,8 +329,10 @@ XDrawLine (display, w, gc, x1, y1, x2, y2) | |||
| 299 | 329 | ||
| 300 | RGBForeColor (GC_FORE_COLOR (gc)); | 330 | RGBForeColor (GC_FORE_COLOR (gc)); |
| 301 | 331 | ||
| 332 | mac_begin_clip (GC_CLIP_REGION (gc)); | ||
| 302 | MoveTo (x1, y1); | 333 | MoveTo (x1, y1); |
| 303 | LineTo (x2, y2); | 334 | LineTo (x2, y2); |
| 335 | mac_end_clip (GC_CLIP_REGION (gc)); | ||
| 304 | } | 336 | } |
| 305 | 337 | ||
| 306 | void | 338 | void |
| @@ -341,7 +373,9 @@ mac_erase_rectangle (w, gc, x, y, width, height) | |||
| 341 | RGBBackColor (GC_BACK_COLOR (gc)); | 373 | RGBBackColor (GC_BACK_COLOR (gc)); |
| 342 | SetRect (&r, x, y, x + width, y + height); | 374 | SetRect (&r, x, y, x + width, y + height); |
| 343 | 375 | ||
| 376 | mac_begin_clip (GC_CLIP_REGION (gc)); | ||
| 344 | EraseRect (&r); | 377 | EraseRect (&r); |
| 378 | mac_end_clip (GC_CLIP_REGION (gc)); | ||
| 345 | 379 | ||
| 346 | RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (w))); | 380 | RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (w))); |
| 347 | } | 381 | } |
| @@ -408,6 +442,7 @@ mac_draw_bitmap (display, w, gc, x, y, width, height, bits, overlay_p) | |||
| 408 | RGBBackColor (GC_BACK_COLOR (gc)); | 442 | RGBBackColor (GC_BACK_COLOR (gc)); |
| 409 | SetRect (&r, x, y, x + width, y + height); | 443 | SetRect (&r, x, y, x + width, y + height); |
| 410 | 444 | ||
| 445 | mac_begin_clip (GC_CLIP_REGION (gc)); | ||
| 411 | #if TARGET_API_MAC_CARBON | 446 | #if TARGET_API_MAC_CARBON |
| 412 | LockPortBits (GetWindowPort (w)); | 447 | LockPortBits (GetWindowPort (w)); |
| 413 | CopyBits (&bitmap, GetPortBitMapForCopyBits (GetWindowPort (w)), | 448 | CopyBits (&bitmap, GetPortBitMapForCopyBits (GetWindowPort (w)), |
| @@ -417,41 +452,12 @@ mac_draw_bitmap (display, w, gc, x, y, width, height, bits, overlay_p) | |||
| 417 | CopyBits (&bitmap, &(w->portBits), &(bitmap.bounds), &r, | 452 | CopyBits (&bitmap, &(w->portBits), &(bitmap.bounds), &r, |
| 418 | overlay_p ? srcOr : srcCopy, 0); | 453 | overlay_p ? srcOr : srcCopy, 0); |
| 419 | #endif /* not TARGET_API_MAC_CARBON */ | 454 | #endif /* not TARGET_API_MAC_CARBON */ |
| 455 | mac_end_clip (GC_CLIP_REGION (gc)); | ||
| 420 | 456 | ||
| 421 | RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (w))); | 457 | RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (w))); |
| 422 | } | 458 | } |
| 423 | 459 | ||
| 424 | 460 | ||
| 425 | /* Mac replacement for XSetClipRectangles. */ | ||
| 426 | |||
| 427 | static void | ||
| 428 | mac_set_clip_rectangle (display, w, r) | ||
| 429 | Display *display; | ||
| 430 | WindowPtr w; | ||
| 431 | Rect *r; | ||
| 432 | { | ||
| 433 | SetPortWindowPort (w); | ||
| 434 | |||
| 435 | ClipRect (r); | ||
| 436 | } | ||
| 437 | |||
| 438 | |||
| 439 | /* Mac replacement for XSetClipMask. */ | ||
| 440 | |||
| 441 | static void | ||
| 442 | mac_reset_clipping (display, w) | ||
| 443 | Display *display; | ||
| 444 | WindowPtr w; | ||
| 445 | { | ||
| 446 | Rect r; | ||
| 447 | |||
| 448 | SetPortWindowPort (w); | ||
| 449 | |||
| 450 | SetRect (&r, -32767, -32767, 32767, 32767); | ||
| 451 | ClipRect (&r); | ||
| 452 | } | ||
| 453 | |||
| 454 | |||
| 455 | /* Mac replacement for XCreateBitmapFromBitmapData. */ | 461 | /* Mac replacement for XCreateBitmapFromBitmapData. */ |
| 456 | 462 | ||
| 457 | static void | 463 | static void |
| @@ -579,7 +585,9 @@ XFillRectangle (display, w, gc, x, y, width, height) | |||
| 579 | RGBForeColor (GC_FORE_COLOR (gc)); | 585 | RGBForeColor (GC_FORE_COLOR (gc)); |
| 580 | SetRect (&r, x, y, x + width, y + height); | 586 | SetRect (&r, x, y, x + width, y + height); |
| 581 | 587 | ||
| 588 | mac_begin_clip (GC_CLIP_REGION (gc)); | ||
| 582 | PaintRect (&r); /* using foreground color of gc */ | 589 | PaintRect (&r); /* using foreground color of gc */ |
| 590 | mac_end_clip (GC_CLIP_REGION (gc)); | ||
| 583 | } | 591 | } |
| 584 | 592 | ||
| 585 | 593 | ||
| @@ -627,7 +635,9 @@ mac_draw_rectangle (display, w, gc, x, y, width, height) | |||
| 627 | RGBForeColor (GC_FORE_COLOR (gc)); | 635 | RGBForeColor (GC_FORE_COLOR (gc)); |
| 628 | SetRect (&r, x, y, x + width + 1, y + height + 1); | 636 | SetRect (&r, x, y, x + width + 1, y + height + 1); |
| 629 | 637 | ||
| 638 | mac_begin_clip (GC_CLIP_REGION (gc)); | ||
| 630 | FrameRect (&r); /* using foreground color of gc */ | 639 | FrameRect (&r); /* using foreground color of gc */ |
| 640 | mac_end_clip (GC_CLIP_REGION (gc)); | ||
| 631 | } | 641 | } |
| 632 | 642 | ||
| 633 | 643 | ||
| @@ -680,7 +690,7 @@ atsu_get_text_layout_with_text_ptr (text, text_length, style, text_layout) | |||
| 680 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 | 690 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 |
| 681 | kATSLineDisableAllLayoutOperations | kATSLineUseDeviceMetrics | 691 | kATSLineDisableAllLayoutOperations | kATSLineUseDeviceMetrics |
| 682 | #else | 692 | #else |
| 683 | kATSLineIsDisplayOnly | 693 | kATSLineIsDisplayOnly | kATSLineFractDisable |
| 684 | #endif | 694 | #endif |
| 685 | ; | 695 | ; |
| 686 | ATSUAttributeValuePtr values[] = {&line_layout}; | 696 | ATSUAttributeValuePtr values[] = {&line_layout}; |
| @@ -784,10 +794,12 @@ mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, | |||
| 784 | if (NILP (Vmac_use_core_graphics)) | 794 | if (NILP (Vmac_use_core_graphics)) |
| 785 | { | 795 | { |
| 786 | #endif | 796 | #endif |
| 797 | mac_begin_clip (GC_CLIP_REGION (gc)); | ||
| 787 | MoveTo (x, y); | 798 | MoveTo (x, y); |
| 788 | ATSUDrawText (text_layout, | 799 | ATSUDrawText (text_layout, |
| 789 | kATSUFromTextBeginning, kATSUToTextEnd, | 800 | kATSUFromTextBeginning, kATSUToTextEnd, |
| 790 | kATSUUseGrafPortPenLoc, kATSUUseGrafPortPenLoc); | 801 | kATSUUseGrafPortPenLoc, kATSUUseGrafPortPenLoc); |
| 802 | mac_end_clip (GC_CLIP_REGION (gc)); | ||
| 791 | #ifdef MAC_OSX | 803 | #ifdef MAC_OSX |
| 792 | } | 804 | } |
| 793 | else | 805 | else |
| @@ -795,7 +807,6 @@ mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, | |||
| 795 | CGrafPtr port; | 807 | CGrafPtr port; |
| 796 | CGContextRef context; | 808 | CGContextRef context; |
| 797 | Rect rect; | 809 | Rect rect; |
| 798 | RgnHandle region = NewRgn (); | ||
| 799 | float port_height; | 810 | float port_height; |
| 800 | ATSUAttributeTag tags[] = {kATSUCGContextTag}; | 811 | ATSUAttributeTag tags[] = {kATSUCGContextTag}; |
| 801 | ByteCount sizes[] = {sizeof (CGContextRef)}; | 812 | ByteCount sizes[] = {sizeof (CGContextRef)}; |
| @@ -805,16 +816,15 @@ mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, | |||
| 805 | QDBeginCGContext (port, &context); | 816 | QDBeginCGContext (port, &context); |
| 806 | GetPortBounds (port, &rect); | 817 | GetPortBounds (port, &rect); |
| 807 | port_height = rect.bottom - rect.top; | 818 | port_height = rect.bottom - rect.top; |
| 808 | GetClip (region); | 819 | if (gc->n_clip_rects) |
| 809 | GetRegionBounds (region, &rect); | 820 | { |
| 810 | /* XXX: This is not correct if the clip region is not a | 821 | CGContextTranslateCTM (context, 0, port_height); |
| 811 | simple rectangle. */ | 822 | CGContextScaleCTM (context, 1, -1); |
| 812 | CGContextClipToRect (context, | 823 | CGContextClipToRects (context, gc->clip_rects, |
| 813 | CGRectMake (rect.left, | 824 | gc->n_clip_rects); |
| 814 | port_height - rect.bottom, | 825 | CGContextScaleCTM (context, 1, -1); |
| 815 | rect.right - rect.left, | 826 | CGContextTranslateCTM (context, 0, -port_height); |
| 816 | rect.bottom - rect.top)); | 827 | } |
| 817 | DisposeRgn (region); | ||
| 818 | CGContextSetRGBFillColor | 828 | CGContextSetRGBFillColor |
| 819 | (context, | 829 | (context, |
| 820 | RED_FROM_ULONG (gc->xgcv.foreground) / 255.0, | 830 | RED_FROM_ULONG (gc->xgcv.foreground) / 255.0, |
| @@ -845,8 +855,10 @@ mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, | |||
| 845 | TextFace (GC_FONT (gc)->mac_fontface); | 855 | TextFace (GC_FONT (gc)->mac_fontface); |
| 846 | TextMode (mode); | 856 | TextMode (mode); |
| 847 | 857 | ||
| 858 | mac_begin_clip (GC_CLIP_REGION (gc)); | ||
| 848 | MoveTo (x, y); | 859 | MoveTo (x, y); |
| 849 | DrawText (buf, 0, nchars * bytes_per_char); | 860 | DrawText (buf, 0, nchars * bytes_per_char); |
| 861 | mac_end_clip (GC_CLIP_REGION (gc)); | ||
| 850 | #if USE_ATSUI | 862 | #if USE_ATSUI |
| 851 | } | 863 | } |
| 852 | #endif | 864 | #endif |
| @@ -945,6 +957,7 @@ mac_copy_area (display, src, dest, gc, src_x, src_y, width, height, dest_x, | |||
| 945 | ForeColor (blackColor); | 957 | ForeColor (blackColor); |
| 946 | BackColor (whiteColor); | 958 | BackColor (whiteColor); |
| 947 | 959 | ||
| 960 | mac_begin_clip (GC_CLIP_REGION (gc)); | ||
| 948 | LockPixels (GetGWorldPixMap (src)); | 961 | LockPixels (GetGWorldPixMap (src)); |
| 949 | #if TARGET_API_MAC_CARBON | 962 | #if TARGET_API_MAC_CARBON |
| 950 | LockPortBits (GetWindowPort (dest)); | 963 | LockPortBits (GetWindowPort (dest)); |
| @@ -957,6 +970,7 @@ mac_copy_area (display, src, dest, gc, src_x, src_y, width, height, dest_x, | |||
| 957 | &src_r, &dest_r, srcCopy, 0); | 970 | &src_r, &dest_r, srcCopy, 0); |
| 958 | #endif /* not TARGET_API_MAC_CARBON */ | 971 | #endif /* not TARGET_API_MAC_CARBON */ |
| 959 | UnlockPixels (GetGWorldPixMap (src)); | 972 | UnlockPixels (GetGWorldPixMap (src)); |
| 973 | mac_end_clip (GC_CLIP_REGION (gc)); | ||
| 960 | 974 | ||
| 961 | RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (dest))); | 975 | RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (dest))); |
| 962 | } | 976 | } |
| @@ -983,6 +997,7 @@ mac_copy_area_with_mask (display, src, mask, dest, gc, src_x, src_y, | |||
| 983 | ForeColor (blackColor); | 997 | ForeColor (blackColor); |
| 984 | BackColor (whiteColor); | 998 | BackColor (whiteColor); |
| 985 | 999 | ||
| 1000 | mac_begin_clip (GC_CLIP_REGION (gc)); | ||
| 986 | LockPixels (GetGWorldPixMap (src)); | 1001 | LockPixels (GetGWorldPixMap (src)); |
| 987 | LockPixels (GetGWorldPixMap (mask)); | 1002 | LockPixels (GetGWorldPixMap (mask)); |
| 988 | #if TARGET_API_MAC_CARBON | 1003 | #if TARGET_API_MAC_CARBON |
| @@ -997,6 +1012,7 @@ mac_copy_area_with_mask (display, src, mask, dest, gc, src_x, src_y, | |||
| 997 | #endif /* not TARGET_API_MAC_CARBON */ | 1012 | #endif /* not TARGET_API_MAC_CARBON */ |
| 998 | UnlockPixels (GetGWorldPixMap (mask)); | 1013 | UnlockPixels (GetGWorldPixMap (mask)); |
| 999 | UnlockPixels (GetGWorldPixMap (src)); | 1014 | UnlockPixels (GetGWorldPixMap (src)); |
| 1015 | mac_end_clip (GC_CLIP_REGION (gc)); | ||
| 1000 | 1016 | ||
| 1001 | RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (dest))); | 1017 | RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (dest))); |
| 1002 | } | 1018 | } |
| @@ -1033,7 +1049,9 @@ mac_scroll_area (display, w, gc, src_x, src_y, width, height, dest_x, dest_y) | |||
| 1033 | color mapping in CopyBits. Otherwise, it will be slow. */ | 1049 | color mapping in CopyBits. Otherwise, it will be slow. */ |
| 1034 | ForeColor (blackColor); | 1050 | ForeColor (blackColor); |
| 1035 | BackColor (whiteColor); | 1051 | BackColor (whiteColor); |
| 1052 | mac_begin_clip (GC_CLIP_REGION (gc)); | ||
| 1036 | CopyBits (&(w->portBits), &(w->portBits), &src_r, &dest_r, srcCopy, 0); | 1053 | CopyBits (&(w->portBits), &(w->portBits), &src_r, &dest_r, srcCopy, 0); |
| 1054 | mac_end_clip (GC_CLIP_REGION (gc)); | ||
| 1037 | 1055 | ||
| 1038 | RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (w))); | 1056 | RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (w))); |
| 1039 | #endif /* not TARGET_API_MAC_CARBON */ | 1057 | #endif /* not TARGET_API_MAC_CARBON */ |
| @@ -1168,6 +1186,8 @@ XFreeGC (display, gc) | |||
| 1168 | Display *display; | 1186 | Display *display; |
| 1169 | GC gc; | 1187 | GC gc; |
| 1170 | { | 1188 | { |
| 1189 | if (gc->clip_region) | ||
| 1190 | DisposeRgn (gc->clip_region); | ||
| 1171 | xfree (gc); | 1191 | xfree (gc); |
| 1172 | } | 1192 | } |
| 1173 | 1193 | ||
| @@ -1238,6 +1258,70 @@ XSetFont (display, gc, font) | |||
| 1238 | } | 1258 | } |
| 1239 | 1259 | ||
| 1240 | 1260 | ||
| 1261 | /* Mac replacement for XSetClipRectangles. */ | ||
| 1262 | |||
| 1263 | static void | ||
| 1264 | mac_set_clip_rectangles (display, gc, rectangles, n) | ||
| 1265 | Display *display; | ||
| 1266 | GC gc; | ||
| 1267 | Rect *rectangles; | ||
| 1268 | int n; | ||
| 1269 | { | ||
| 1270 | int i; | ||
| 1271 | |||
| 1272 | if (n < 0 || n > MAX_CLIP_RECTS) | ||
| 1273 | abort (); | ||
| 1274 | if (n == 0) | ||
| 1275 | { | ||
| 1276 | if (gc->clip_region) | ||
| 1277 | { | ||
| 1278 | DisposeRgn (gc->clip_region); | ||
| 1279 | gc->clip_region = NULL; | ||
| 1280 | } | ||
| 1281 | } | ||
| 1282 | else | ||
| 1283 | { | ||
| 1284 | if (gc->clip_region == NULL) | ||
| 1285 | gc->clip_region = NewRgn (); | ||
| 1286 | RectRgn (gc->clip_region, rectangles); | ||
| 1287 | if (n > 1) | ||
| 1288 | { | ||
| 1289 | RgnHandle region = NewRgn (); | ||
| 1290 | |||
| 1291 | for (i = 1; i < n; i++) | ||
| 1292 | { | ||
| 1293 | RectRgn (region, rectangles + i); | ||
| 1294 | UnionRgn (gc->clip_region, region, gc->clip_region); | ||
| 1295 | } | ||
| 1296 | DisposeRgn (region); | ||
| 1297 | } | ||
| 1298 | } | ||
| 1299 | #if defined (MAC_OSX) && USE_ATSUI | ||
| 1300 | gc->n_clip_rects = n; | ||
| 1301 | |||
| 1302 | for (i = 0; i < n; i++) | ||
| 1303 | { | ||
| 1304 | Rect *rect = rectangles + i; | ||
| 1305 | |||
| 1306 | gc->clip_rects[i] = CGRectMake (rect->left, rect->top, | ||
| 1307 | rect->right - rect->left, | ||
| 1308 | rect->bottom - rect->top); | ||
| 1309 | } | ||
| 1310 | #endif | ||
| 1311 | } | ||
| 1312 | |||
| 1313 | |||
| 1314 | /* Mac replacement for XSetClipMask. */ | ||
| 1315 | |||
| 1316 | static INLINE void | ||
| 1317 | mac_reset_clip_rectangles (display, gc) | ||
| 1318 | Display *display; | ||
| 1319 | GC gc; | ||
| 1320 | { | ||
| 1321 | mac_set_clip_rectangles (display, gc, NULL, 0); | ||
| 1322 | } | ||
| 1323 | |||
| 1324 | |||
| 1241 | /* Mac replacement for XSetWindowBackground. */ | 1325 | /* Mac replacement for XSetWindowBackground. */ |
| 1242 | 1326 | ||
| 1243 | void | 1327 | void |
| @@ -1649,7 +1733,7 @@ x_draw_fringe_bitmap (w, row, p) | |||
| 1649 | XSetForeground (display, face->gc, gcv.foreground); | 1733 | XSetForeground (display, face->gc, gcv.foreground); |
| 1650 | } | 1734 | } |
| 1651 | 1735 | ||
| 1652 | mac_reset_clipping (display, window); | 1736 | mac_reset_clip_rectangles (display, gc); |
| 1653 | } | 1737 | } |
| 1654 | 1738 | ||
| 1655 | 1739 | ||
| @@ -1685,19 +1769,6 @@ static int mac_encode_char P_ ((int, XChar2b *, struct font_info *, | |||
| 1685 | struct charset *, int *)); | 1769 | struct charset *, int *)); |
| 1686 | 1770 | ||
| 1687 | 1771 | ||
| 1688 | /* Return a pointer to per-char metric information in FONT of a | ||
| 1689 | character pointed by B which is a pointer to an XChar2b. */ | ||
| 1690 | |||
| 1691 | #define PER_CHAR_METRIC(font, b) \ | ||
| 1692 | ((font)->per_char \ | ||
| 1693 | ? ((font)->per_char + (b)->byte2 - (font)->min_char_or_byte2 \ | ||
| 1694 | + (((font)->min_byte1 || (font)->max_byte1) \ | ||
| 1695 | ? (((b)->byte1 - (font)->min_byte1) \ | ||
| 1696 | * ((font)->max_char_or_byte2 - (font)->min_char_or_byte2 + 1)) \ | ||
| 1697 | : 0)) \ | ||
| 1698 | : &((font)->max_bounds)) | ||
| 1699 | |||
| 1700 | |||
| 1701 | /* Get metrics of character CHAR2B in FONT. Value is null if CHAR2B | 1772 | /* Get metrics of character CHAR2B in FONT. Value is null if CHAR2B |
| 1702 | is not contained in the font. */ | 1773 | is not contained in the font. */ |
| 1703 | 1774 | ||
| @@ -2127,9 +2198,11 @@ static INLINE void | |||
| 2127 | x_set_glyph_string_clipping (s) | 2198 | x_set_glyph_string_clipping (s) |
| 2128 | struct glyph_string *s; | 2199 | struct glyph_string *s; |
| 2129 | { | 2200 | { |
| 2130 | Rect r; | 2201 | Rect rects[MAX_CLIP_RECTS]; |
| 2131 | get_glyph_string_clip_rect (s, &r); | 2202 | int n; |
| 2132 | mac_set_clip_rectangle (s->display, s->window, &r); | 2203 | |
| 2204 | n = get_glyph_string_clip_rects (s, rects, MAX_CLIP_RECTS); | ||
| 2205 | mac_set_clip_rectangles (s->display, s->gc, rects, n); | ||
| 2133 | } | 2206 | } |
| 2134 | 2207 | ||
| 2135 | 2208 | ||
| @@ -2325,7 +2398,7 @@ x_draw_glyph_string_foreground (s) | |||
| 2325 | XDrawImageString is usually faster than XDrawString.) Always | 2398 | XDrawImageString is usually faster than XDrawString.) Always |
| 2326 | use XDrawImageString when drawing the cursor so that there is | 2399 | use XDrawImageString when drawing the cursor so that there is |
| 2327 | no chance that characters under a box cursor are invisible. */ | 2400 | no chance that characters under a box cursor are invisible. */ |
| 2328 | if (s->for_overlaps_p | 2401 | if (s->for_overlaps |
| 2329 | || (s->background_filled_p && s->hl != DRAW_CURSOR)) | 2402 | || (s->background_filled_p && s->hl != DRAW_CURSOR)) |
| 2330 | #endif | 2403 | #endif |
| 2331 | { | 2404 | { |
| @@ -2346,7 +2419,7 @@ x_draw_glyph_string_foreground (s) | |||
| 2346 | { | 2419 | { |
| 2347 | if (s->two_byte_p) | 2420 | if (s->two_byte_p) |
| 2348 | XDrawImageString16 (s->display, s->window, s->gc, x, | 2421 | XDrawImageString16 (s->display, s->window, s->gc, x, |
| 2349 | s->ybase - boff, s->char2b, s->nchars); | 2422 | s->ybase - boff, s->char2b, s->nchars); |
| 2350 | else | 2423 | else |
| 2351 | XDrawImageString (s->display, s->window, s->gc, x, | 2424 | XDrawImageString (s->display, s->window, s->gc, x, |
| 2352 | s->ybase - boff, char1b, s->nchars); | 2425 | s->ybase - boff, char1b, s->nchars); |
| @@ -2754,7 +2827,7 @@ x_draw_relief_rect (f, left_x, top_y, right_x, bottom_y, width, | |||
| 2754 | gc = f->output_data.mac->white_relief.gc; | 2827 | gc = f->output_data.mac->white_relief.gc; |
| 2755 | else | 2828 | else |
| 2756 | gc = f->output_data.mac->black_relief.gc; | 2829 | gc = f->output_data.mac->black_relief.gc; |
| 2757 | mac_set_clip_rectangle (dpy, window, clip_rect); | 2830 | mac_set_clip_rectangles (dpy, gc, clip_rect, 1); |
| 2758 | 2831 | ||
| 2759 | /* Top. */ | 2832 | /* Top. */ |
| 2760 | if (top_p) | 2833 | if (top_p) |
| @@ -2769,13 +2842,12 @@ x_draw_relief_rect (f, left_x, top_y, right_x, bottom_y, width, | |||
| 2769 | XDrawLine (dpy, window, gc, | 2842 | XDrawLine (dpy, window, gc, |
| 2770 | left_x + i, top_y + i, left_x + i, bottom_y - i); | 2843 | left_x + i, top_y + i, left_x + i, bottom_y - i); |
| 2771 | 2844 | ||
| 2772 | mac_reset_clipping (dpy, window); | 2845 | mac_reset_clip_rectangles (dpy, gc); |
| 2773 | if (raised_p) | 2846 | if (raised_p) |
| 2774 | gc = f->output_data.mac->black_relief.gc; | 2847 | gc = f->output_data.mac->black_relief.gc; |
| 2775 | else | 2848 | else |
| 2776 | gc = f->output_data.mac->white_relief.gc; | 2849 | gc = f->output_data.mac->white_relief.gc; |
| 2777 | mac_set_clip_rectangle (dpy, window, | 2850 | mac_set_clip_rectangles (dpy, gc, clip_rect, 1); |
| 2778 | clip_rect); | ||
| 2779 | 2851 | ||
| 2780 | /* Bottom. */ | 2852 | /* Bottom. */ |
| 2781 | if (bot_p) | 2853 | if (bot_p) |
| @@ -2790,7 +2862,7 @@ x_draw_relief_rect (f, left_x, top_y, right_x, bottom_y, width, | |||
| 2790 | XDrawLine (dpy, window, gc, | 2862 | XDrawLine (dpy, window, gc, |
| 2791 | right_x - i, top_y + i + 1, right_x - i, bottom_y - i - 1); | 2863 | right_x - i, top_y + i + 1, right_x - i, bottom_y - i - 1); |
| 2792 | 2864 | ||
| 2793 | mac_reset_clipping (dpy, window); | 2865 | mac_reset_clip_rectangles (dpy, gc); |
| 2794 | } | 2866 | } |
| 2795 | 2867 | ||
| 2796 | 2868 | ||
| @@ -2812,7 +2884,7 @@ x_draw_box_rect (s, left_x, top_y, right_x, bottom_y, width, | |||
| 2812 | 2884 | ||
| 2813 | XGetGCValues (s->display, s->gc, GCForeground, &xgcv); | 2885 | XGetGCValues (s->display, s->gc, GCForeground, &xgcv); |
| 2814 | XSetForeground (s->display, s->gc, s->face->box_color); | 2886 | XSetForeground (s->display, s->gc, s->face->box_color); |
| 2815 | mac_set_clip_rectangle (s->display, s->window, clip_rect); | 2887 | mac_set_clip_rectangles (s->display, s->gc, clip_rect, 1); |
| 2816 | 2888 | ||
| 2817 | /* Top. */ | 2889 | /* Top. */ |
| 2818 | XFillRectangle (s->display, s->window, s->gc, | 2890 | XFillRectangle (s->display, s->window, s->gc, |
| @@ -2833,7 +2905,7 @@ x_draw_box_rect (s, left_x, top_y, right_x, bottom_y, width, | |||
| 2833 | right_x - width + 1, top_y, width, bottom_y - top_y + 1); | 2905 | right_x - width + 1, top_y, width, bottom_y - top_y + 1); |
| 2834 | 2906 | ||
| 2835 | XSetForeground (s->display, s->gc, xgcv.foreground); | 2907 | XSetForeground (s->display, s->gc, xgcv.foreground); |
| 2836 | mac_reset_clipping (s->display, s->window); | 2908 | mac_reset_clip_rectangles (s->display, s->gc); |
| 2837 | } | 2909 | } |
| 2838 | 2910 | ||
| 2839 | 2911 | ||
| @@ -3187,7 +3259,6 @@ x_draw_image_glyph_string (s) | |||
| 3187 | x_set_glyph_string_clipping (s); | 3259 | x_set_glyph_string_clipping (s); |
| 3188 | mac_copy_area (s->display, pixmap, s->window, s->gc, | 3260 | mac_copy_area (s->display, pixmap, s->window, s->gc, |
| 3189 | 0, 0, s->background_width, s->height, s->x, s->y); | 3261 | 0, 0, s->background_width, s->height, s->x, s->y); |
| 3190 | mac_reset_clipping (s->display, s->window); | ||
| 3191 | XFreePixmap (s->display, pixmap); | 3262 | XFreePixmap (s->display, pixmap); |
| 3192 | } | 3263 | } |
| 3193 | else | 3264 | else |
| @@ -3239,7 +3310,7 @@ x_draw_stretch_glyph_string (s) | |||
| 3239 | gc = s->face->gc; | 3310 | gc = s->face->gc; |
| 3240 | 3311 | ||
| 3241 | get_glyph_string_clip_rect (s, &r); | 3312 | get_glyph_string_clip_rect (s, &r); |
| 3242 | mac_set_clip_rectangle (s->display, s->window, &r); | 3313 | mac_set_clip_rectangles (s->display, gc, &r, 1); |
| 3243 | 3314 | ||
| 3244 | #if 0 /* MAC_TODO: stipple */ | 3315 | #if 0 /* MAC_TODO: stipple */ |
| 3245 | if (s->face->stipple) | 3316 | if (s->face->stipple) |
| @@ -3252,8 +3323,6 @@ x_draw_stretch_glyph_string (s) | |||
| 3252 | else | 3323 | else |
| 3253 | #endif /* MAC_TODO */ | 3324 | #endif /* MAC_TODO */ |
| 3254 | mac_erase_rectangle (s->window, gc, x, y, w, h); | 3325 | mac_erase_rectangle (s->window, gc, x, y, w, h); |
| 3255 | |||
| 3256 | mac_reset_clipping (s->display, s->window); | ||
| 3257 | } | 3326 | } |
| 3258 | } | 3327 | } |
| 3259 | else if (!s->background_filled_p) | 3328 | else if (!s->background_filled_p) |
| @@ -3276,7 +3345,7 @@ x_draw_glyph_string (s) | |||
| 3276 | draw a cursor, draw the background of the successor first so that | 3345 | draw a cursor, draw the background of the successor first so that |
| 3277 | S can draw into it. This makes S->next use XDrawString instead | 3346 | S can draw into it. This makes S->next use XDrawString instead |
| 3278 | of XDrawImageString. */ | 3347 | of XDrawImageString. */ |
| 3279 | if (s->next && s->right_overhang && !s->for_overlaps_p | 3348 | if (s->next && s->right_overhang && !s->for_overlaps |
| 3280 | && s->next->hl != DRAW_CURSOR) | 3349 | && s->next->hl != DRAW_CURSOR) |
| 3281 | { | 3350 | { |
| 3282 | xassert (s->next->img == NULL); | 3351 | xassert (s->next->img == NULL); |
| @@ -3290,7 +3359,7 @@ x_draw_glyph_string (s) | |||
| 3290 | 3359 | ||
| 3291 | /* Draw relief (if any) in advance for char/composition so that the | 3360 | /* Draw relief (if any) in advance for char/composition so that the |
| 3292 | glyph string can be drawn over it. */ | 3361 | glyph string can be drawn over it. */ |
| 3293 | if (!s->for_overlaps_p | 3362 | if (!s->for_overlaps |
| 3294 | && s->face->box != FACE_NO_BOX | 3363 | && s->face->box != FACE_NO_BOX |
| 3295 | && (s->first_glyph->type == CHAR_GLYPH | 3364 | && (s->first_glyph->type == CHAR_GLYPH |
| 3296 | || s->first_glyph->type == COMPOSITE_GLYPH)) | 3365 | || s->first_glyph->type == COMPOSITE_GLYPH)) |
| @@ -3316,7 +3385,7 @@ x_draw_glyph_string (s) | |||
| 3316 | break; | 3385 | break; |
| 3317 | 3386 | ||
| 3318 | case CHAR_GLYPH: | 3387 | case CHAR_GLYPH: |
| 3319 | if (s->for_overlaps_p) | 3388 | if (s->for_overlaps) |
| 3320 | s->background_filled_p = 1; | 3389 | s->background_filled_p = 1; |
| 3321 | else | 3390 | else |
| 3322 | x_draw_glyph_string_background (s, 0); | 3391 | x_draw_glyph_string_background (s, 0); |
| @@ -3324,7 +3393,7 @@ x_draw_glyph_string (s) | |||
| 3324 | break; | 3393 | break; |
| 3325 | 3394 | ||
| 3326 | case COMPOSITE_GLYPH: | 3395 | case COMPOSITE_GLYPH: |
| 3327 | if (s->for_overlaps_p || s->gidx > 0) | 3396 | if (s->for_overlaps || s->gidx > 0) |
| 3328 | s->background_filled_p = 1; | 3397 | s->background_filled_p = 1; |
| 3329 | else | 3398 | else |
| 3330 | x_draw_glyph_string_background (s, 1); | 3399 | x_draw_glyph_string_background (s, 1); |
| @@ -3335,7 +3404,7 @@ x_draw_glyph_string (s) | |||
| 3335 | abort (); | 3404 | abort (); |
| 3336 | } | 3405 | } |
| 3337 | 3406 | ||
| 3338 | if (!s->for_overlaps_p) | 3407 | if (!s->for_overlaps) |
| 3339 | { | 3408 | { |
| 3340 | /* Draw underline. */ | 3409 | /* Draw underline. */ |
| 3341 | if (s->face->underline_p) | 3410 | if (s->face->underline_p) |
| @@ -3402,7 +3471,7 @@ x_draw_glyph_string (s) | |||
| 3402 | } | 3471 | } |
| 3403 | 3472 | ||
| 3404 | /* Reset clipping. */ | 3473 | /* Reset clipping. */ |
| 3405 | mac_reset_clipping (s->display, s->window); | 3474 | mac_reset_clip_rectangles (s->display, s->gc); |
| 3406 | } | 3475 | } |
| 3407 | 3476 | ||
| 3408 | /* Shift display to make room for inserted glyphs. */ | 3477 | /* Shift display to make room for inserted glyphs. */ |
| @@ -4085,7 +4154,7 @@ x_get_keysym_name (keysym) | |||
| 4085 | static Point last_mouse_motion_position; | 4154 | static Point last_mouse_motion_position; |
| 4086 | static Lisp_Object last_mouse_motion_frame; | 4155 | static Lisp_Object last_mouse_motion_frame; |
| 4087 | 4156 | ||
| 4088 | static void | 4157 | static int |
| 4089 | note_mouse_movement (frame, pos) | 4158 | note_mouse_movement (frame, pos) |
| 4090 | FRAME_PTR frame; | 4159 | FRAME_PTR frame; |
| 4091 | Point *pos; | 4160 | Point *pos; |
| @@ -4116,17 +4185,23 @@ note_mouse_movement (frame, pos) | |||
| 4116 | rif->define_frame_cursor (frame, | 4185 | rif->define_frame_cursor (frame, |
| 4117 | frame->output_data.mac->nontext_cursor); | 4186 | frame->output_data.mac->nontext_cursor); |
| 4118 | } | 4187 | } |
| 4188 | return 1; | ||
| 4119 | } | 4189 | } |
| 4120 | /* Has the mouse moved off the glyph it was on at the last sighting? */ | 4190 | /* Has the mouse moved off the glyph it was on at the last sighting? */ |
| 4121 | else if (pos->h < last_mouse_glyph.left | 4191 | if (pos->h < last_mouse_glyph.left |
| 4122 | || pos->h >= last_mouse_glyph.right | 4192 | || pos->h >= last_mouse_glyph.right |
| 4123 | || pos->v < last_mouse_glyph.top | 4193 | || pos->v < last_mouse_glyph.top |
| 4124 | || pos->v >= last_mouse_glyph.bottom) | 4194 | || pos->v >= last_mouse_glyph.bottom) |
| 4125 | { | 4195 | { |
| 4126 | frame->mouse_moved = 1; | 4196 | frame->mouse_moved = 1; |
| 4127 | last_mouse_scroll_bar = Qnil; | 4197 | last_mouse_scroll_bar = Qnil; |
| 4128 | note_mouse_highlight (frame, pos->h, pos->v); | 4198 | note_mouse_highlight (frame, pos->h, pos->v); |
| 4199 | /* Remember which glyph we're now on. */ | ||
| 4200 | remember_mouse_glyph (frame, pos->h, pos->v, &last_mouse_glyph); | ||
| 4201 | return 1; | ||
| 4129 | } | 4202 | } |
| 4203 | |||
| 4204 | return 0; | ||
| 4130 | } | 4205 | } |
| 4131 | 4206 | ||
| 4132 | 4207 | ||
| @@ -4134,9 +4209,6 @@ note_mouse_movement (frame, pos) | |||
| 4134 | Mouse Face | 4209 | Mouse Face |
| 4135 | ************************************************************************/ | 4210 | ************************************************************************/ |
| 4136 | 4211 | ||
| 4137 | static int glyph_rect P_ ((struct frame *f, int, int, Rect *)); | ||
| 4138 | |||
| 4139 | |||
| 4140 | /* MAC TODO: This should be called from somewhere (or removed) ++KFS */ | 4212 | /* MAC TODO: This should be called from somewhere (or removed) ++KFS */ |
| 4141 | 4213 | ||
| 4142 | static void | 4214 | static void |
| @@ -4150,110 +4222,6 @@ redo_mouse_highlight () | |||
| 4150 | } | 4222 | } |
| 4151 | 4223 | ||
| 4152 | 4224 | ||
| 4153 | /* Try to determine frame pixel position and size of the glyph under | ||
| 4154 | frame pixel coordinates X/Y on frame F . Return the position and | ||
| 4155 | size in *RECT. Value is non-zero if we could compute these | ||
| 4156 | values. */ | ||
| 4157 | |||
| 4158 | static int | ||
| 4159 | glyph_rect (f, x, y, rect) | ||
| 4160 | struct frame *f; | ||
| 4161 | int x, y; | ||
| 4162 | Rect *rect; | ||
| 4163 | { | ||
| 4164 | Lisp_Object window; | ||
| 4165 | |||
| 4166 | window = window_from_coordinates (f, x, y, 0, &x, &y, 0); | ||
| 4167 | |||
| 4168 | if (!NILP (window)) | ||
| 4169 | { | ||
| 4170 | struct window *w = XWINDOW (window); | ||
| 4171 | struct glyph_row *r = MATRIX_FIRST_TEXT_ROW (w->current_matrix); | ||
| 4172 | struct glyph_row *end = r + w->current_matrix->nrows - 1; | ||
| 4173 | |||
| 4174 | for (; r < end && r->enabled_p; ++r) | ||
| 4175 | if (r->y <= y && r->y + r->height > y) | ||
| 4176 | { | ||
| 4177 | /* Found the row at y. */ | ||
| 4178 | struct glyph *g = r->glyphs[TEXT_AREA]; | ||
| 4179 | struct glyph *end = g + r->used[TEXT_AREA]; | ||
| 4180 | int gx; | ||
| 4181 | |||
| 4182 | rect->top = WINDOW_TO_FRAME_PIXEL_Y (w, r->y); | ||
| 4183 | rect->bottom = rect->top + r->height; | ||
| 4184 | |||
| 4185 | if (x < r->x) | ||
| 4186 | { | ||
| 4187 | /* x is to the left of the first glyph in the row. */ | ||
| 4188 | /* Shouldn't this be a pixel value? | ||
| 4189 | WINDOW_LEFT_EDGE_X (w) seems to be the right value. | ||
| 4190 | ++KFS */ | ||
| 4191 | rect->left = WINDOW_LEFT_EDGE_COL (w); | ||
| 4192 | rect->right = WINDOW_TO_FRAME_PIXEL_X (w, r->x); | ||
| 4193 | return 1; | ||
| 4194 | } | ||
| 4195 | |||
| 4196 | for (gx = r->x; g < end; gx += g->pixel_width, ++g) | ||
| 4197 | if (gx <= x && gx + g->pixel_width > x) | ||
| 4198 | { | ||
| 4199 | /* x is on a glyph. */ | ||
| 4200 | rect->left = WINDOW_TO_FRAME_PIXEL_X (w, gx); | ||
| 4201 | rect->right = rect->left + g->pixel_width; | ||
| 4202 | return 1; | ||
| 4203 | } | ||
| 4204 | |||
| 4205 | /* x is to the right of the last glyph in the row. */ | ||
| 4206 | rect->left = WINDOW_TO_FRAME_PIXEL_X (w, gx); | ||
| 4207 | /* Shouldn't this be a pixel value? | ||
| 4208 | WINDOW_RIGHT_EDGE_X (w) seems to be the right value. | ||
| 4209 | ++KFS */ | ||
| 4210 | rect->right = WINDOW_RIGHT_EDGE_COL (w); | ||
| 4211 | return 1; | ||
| 4212 | } | ||
| 4213 | } | ||
| 4214 | |||
| 4215 | /* The y is not on any row. */ | ||
| 4216 | return 0; | ||
| 4217 | } | ||
| 4218 | |||
| 4219 | /* MAC TODO: This should be called from somewhere (or removed) ++KFS */ | ||
| 4220 | |||
| 4221 | /* Record the position of the mouse in last_mouse_glyph. */ | ||
| 4222 | static void | ||
| 4223 | remember_mouse_glyph (f1, gx, gy) | ||
| 4224 | struct frame * f1; | ||
| 4225 | int gx, gy; | ||
| 4226 | { | ||
| 4227 | if (!glyph_rect (f1, gx, gy, &last_mouse_glyph)) | ||
| 4228 | { | ||
| 4229 | int width = FRAME_SMALLEST_CHAR_WIDTH (f1); | ||
| 4230 | int height = FRAME_SMALLEST_FONT_HEIGHT (f1); | ||
| 4231 | |||
| 4232 | /* Arrange for the division in FRAME_PIXEL_X_TO_COL etc. to | ||
| 4233 | round down even for negative values. */ | ||
| 4234 | if (gx < 0) | ||
| 4235 | gx -= width - 1; | ||
| 4236 | if (gy < 0) | ||
| 4237 | gy -= height - 1; | ||
| 4238 | #if 0 | ||
| 4239 | /* This was the original code from XTmouse_position, but it seems | ||
| 4240 | to give the position of the glyph diagonally next to the one | ||
| 4241 | the mouse is over. */ | ||
| 4242 | gx = (gx + width - 1) / width * width; | ||
| 4243 | gy = (gy + height - 1) / height * height; | ||
| 4244 | #else | ||
| 4245 | gx = gx / width * width; | ||
| 4246 | gy = gy / height * height; | ||
| 4247 | #endif | ||
| 4248 | |||
| 4249 | last_mouse_glyph.left = gx; | ||
| 4250 | last_mouse_glyph.top = gy; | ||
| 4251 | last_mouse_glyph.right = gx + width; | ||
| 4252 | last_mouse_glyph.bottom = gy + height; | ||
| 4253 | } | ||
| 4254 | } | ||
| 4255 | |||
| 4256 | |||
| 4257 | static struct frame * | 4225 | static struct frame * |
| 4258 | mac_focus_frame (dpyinfo) | 4226 | mac_focus_frame (dpyinfo) |
| 4259 | struct mac_display_info *dpyinfo; | 4227 | struct mac_display_info *dpyinfo; |
| @@ -4269,18 +4237,18 @@ mac_focus_frame (dpyinfo) | |||
| 4269 | 4237 | ||
| 4270 | 4238 | ||
| 4271 | /* Return the current position of the mouse. | 4239 | /* Return the current position of the mouse. |
| 4272 | *fp should be a frame which indicates which display to ask about. | 4240 | *FP should be a frame which indicates which display to ask about. |
| 4273 | 4241 | ||
| 4274 | If the mouse movement started in a scroll bar, set *fp, *bar_window, | 4242 | If the mouse movement started in a scroll bar, set *FP, *BAR_WINDOW, |
| 4275 | and *part to the frame, window, and scroll bar part that the mouse | 4243 | and *PART to the frame, window, and scroll bar part that the mouse |
| 4276 | is over. Set *x and *y to the portion and whole of the mouse's | 4244 | is over. Set *X and *Y to the portion and whole of the mouse's |
| 4277 | position on the scroll bar. | 4245 | position on the scroll bar. |
| 4278 | 4246 | ||
| 4279 | If the mouse movement started elsewhere, set *fp to the frame the | 4247 | If the mouse movement started elsewhere, set *FP to the frame the |
| 4280 | mouse is on, *bar_window to nil, and *x and *y to the character cell | 4248 | mouse is on, *BAR_WINDOW to nil, and *X and *Y to the character cell |
| 4281 | the mouse is over. | 4249 | the mouse is over. |
| 4282 | 4250 | ||
| 4283 | Set *time to the server time-stamp for the time at which the mouse | 4251 | Set *TIME to the server time-stamp for the time at which the mouse |
| 4284 | was at this position. | 4252 | was at this position. |
| 4285 | 4253 | ||
| 4286 | Don't store anything if we don't have a valid set of values to report. | 4254 | Don't store anything if we don't have a valid set of values to report. |
| @@ -4297,11 +4265,7 @@ XTmouse_position (fp, insist, bar_window, part, x, y, time) | |||
| 4297 | Lisp_Object *x, *y; | 4265 | Lisp_Object *x, *y; |
| 4298 | unsigned long *time; | 4266 | unsigned long *time; |
| 4299 | { | 4267 | { |
| 4300 | Point mouse_pos; | 4268 | FRAME_PTR f1; |
| 4301 | int ignore1, ignore2; | ||
| 4302 | struct frame *f = mac_focus_frame (FRAME_MAC_DISPLAY_INFO (*fp)); | ||
| 4303 | WindowPtr wp = FRAME_MAC_WINDOW (f); | ||
| 4304 | Lisp_Object frame, tail; | ||
| 4305 | 4269 | ||
| 4306 | BLOCK_INPUT; | 4270 | BLOCK_INPUT; |
| 4307 | 4271 | ||
| @@ -4309,25 +4273,43 @@ XTmouse_position (fp, insist, bar_window, part, x, y, time) | |||
| 4309 | x_scroll_bar_report_motion (fp, bar_window, part, x, y, time); | 4273 | x_scroll_bar_report_motion (fp, bar_window, part, x, y, time); |
| 4310 | else | 4274 | else |
| 4311 | { | 4275 | { |
| 4276 | Lisp_Object frame, tail; | ||
| 4277 | |||
| 4312 | /* Clear the mouse-moved flag for every frame on this display. */ | 4278 | /* Clear the mouse-moved flag for every frame on this display. */ |
| 4313 | FOR_EACH_FRAME (tail, frame) | 4279 | FOR_EACH_FRAME (tail, frame) |
| 4314 | XFRAME (frame)->mouse_moved = 0; | 4280 | XFRAME (frame)->mouse_moved = 0; |
| 4315 | 4281 | ||
| 4316 | last_mouse_scroll_bar = Qnil; | 4282 | last_mouse_scroll_bar = Qnil; |
| 4317 | 4283 | ||
| 4318 | SetPortWindowPort (wp); | 4284 | if (FRAME_MAC_DISPLAY_INFO (*fp)->grabbed && last_mouse_frame |
| 4319 | 4285 | && FRAME_LIVE_P (last_mouse_frame)) | |
| 4320 | GetMouse (&mouse_pos); | 4286 | f1 = last_mouse_frame; |
| 4321 | 4287 | else | |
| 4322 | pixel_to_glyph_coords (f, mouse_pos.h, mouse_pos.v, &ignore1, &ignore2, | 4288 | f1 = mac_focus_frame (FRAME_MAC_DISPLAY_INFO (*fp)); |
| 4323 | &last_mouse_glyph, insist); | ||
| 4324 | 4289 | ||
| 4325 | *bar_window = Qnil; | 4290 | if (f1) |
| 4326 | *part = scroll_bar_handle; | 4291 | { |
| 4327 | *fp = f; | 4292 | /* Ok, we found a frame. Store all the values. |
| 4328 | XSETINT (*x, mouse_pos.h); | 4293 | last_mouse_glyph is a rectangle used to reduce the |
| 4329 | XSETINT (*y, mouse_pos.v); | 4294 | generation of mouse events. To not miss any motion |
| 4330 | *time = last_mouse_movement_time; | 4295 | events, we must divide the frame into rectangles of the |
| 4296 | size of the smallest character that could be displayed | ||
| 4297 | on it, i.e. into the same rectangles that matrices on | ||
| 4298 | the frame are divided into. */ | ||
| 4299 | Point mouse_pos; | ||
| 4300 | |||
| 4301 | SetPortWindowPort (FRAME_MAC_WINDOW (f1)); | ||
| 4302 | GetMouse (&mouse_pos); | ||
| 4303 | remember_mouse_glyph (f1, mouse_pos.h, mouse_pos.v, | ||
| 4304 | &last_mouse_glyph); | ||
| 4305 | |||
| 4306 | *bar_window = Qnil; | ||
| 4307 | *part = 0; | ||
| 4308 | *fp = f1; | ||
| 4309 | XSETINT (*x, mouse_pos.h); | ||
| 4310 | XSETINT (*y, mouse_pos.v); | ||
| 4311 | *time = last_mouse_movement_time; | ||
| 4312 | } | ||
| 4331 | } | 4313 | } |
| 4332 | 4314 | ||
| 4333 | UNBLOCK_INPUT; | 4315 | UNBLOCK_INPUT; |
| @@ -5275,7 +5257,7 @@ x_clip_to_row (w, row, area, gc) | |||
| 5275 | clip_rect.right = clip_rect.left + window_width; | 5257 | clip_rect.right = clip_rect.left + window_width; |
| 5276 | clip_rect.bottom = clip_rect.top + row->visible_height; | 5258 | clip_rect.bottom = clip_rect.top + row->visible_height; |
| 5277 | 5259 | ||
| 5278 | mac_set_clip_rectangle (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), &clip_rect); | 5260 | mac_set_clip_rectangles (FRAME_MAC_DISPLAY (f), gc, &clip_rect, 1); |
| 5279 | } | 5261 | } |
| 5280 | 5262 | ||
| 5281 | 5263 | ||
| @@ -5318,7 +5300,7 @@ x_draw_hollow_cursor (w, row) | |||
| 5318 | /* Set clipping, draw the rectangle, and reset clipping again. */ | 5300 | /* Set clipping, draw the rectangle, and reset clipping again. */ |
| 5319 | x_clip_to_row (w, row, TEXT_AREA, gc); | 5301 | x_clip_to_row (w, row, TEXT_AREA, gc); |
| 5320 | mac_draw_rectangle (dpy, FRAME_MAC_WINDOW (f), gc, x, y, wd, h); | 5302 | mac_draw_rectangle (dpy, FRAME_MAC_WINDOW (f), gc, x, y, wd, h); |
| 5321 | mac_reset_clipping (dpy, FRAME_MAC_WINDOW (f)); | 5303 | mac_reset_clip_rectangles (dpy, gc); |
| 5322 | } | 5304 | } |
| 5323 | 5305 | ||
| 5324 | 5306 | ||
| @@ -5402,7 +5384,7 @@ x_draw_bar_cursor (w, row, width, kind) | |||
| 5402 | cursor_glyph->pixel_width, | 5384 | cursor_glyph->pixel_width, |
| 5403 | width); | 5385 | width); |
| 5404 | 5386 | ||
| 5405 | mac_reset_clipping (dpy, FRAME_MAC_WINDOW (f)); | 5387 | mac_reset_clip_rectangles (dpy, gc); |
| 5406 | } | 5388 | } |
| 5407 | } | 5389 | } |
| 5408 | 5390 | ||
| @@ -6777,7 +6759,13 @@ static char **font_name_table = NULL; | |||
| 6777 | static int font_name_table_size = 0; | 6759 | static int font_name_table_size = 0; |
| 6778 | static int font_name_count = 0; | 6760 | static int font_name_count = 0; |
| 6779 | 6761 | ||
| 6762 | /* Alist linking font family names to Font Manager font family | ||
| 6763 | references (which can also be used as QuickDraw font IDs). We use | ||
| 6764 | an alist because hash tables are not ready when the terminal frame | ||
| 6765 | for Mac OS Classic is created. */ | ||
| 6766 | static Lisp_Object fm_font_family_alist; | ||
| 6780 | #if USE_ATSUI | 6767 | #if USE_ATSUI |
| 6768 | /* Hash table linking font family names to ATSU font IDs. */ | ||
| 6781 | static Lisp_Object atsu_font_id_hash; | 6769 | static Lisp_Object atsu_font_id_hash; |
| 6782 | #endif | 6770 | #endif |
| 6783 | 6771 | ||
| @@ -6827,28 +6815,42 @@ decode_mac_font_name (name, size, coding_system) | |||
| 6827 | struct coding_system coding; | 6815 | struct coding_system coding; |
| 6828 | char *buf, *p; | 6816 | char *buf, *p; |
| 6829 | 6817 | ||
| 6830 | for (p = name; *p; p++) | 6818 | if (!NILP (coding_system) && !NILP (Fcoding_system_p (coding_system))) |
| 6831 | if (!isascii (*p) || iscntrl (*p)) | 6819 | { |
| 6832 | break; | 6820 | for (p = name; *p; p++) |
| 6821 | if (!isascii (*p) || iscntrl (*p)) | ||
| 6822 | break; | ||
| 6833 | 6823 | ||
| 6834 | if (*p == '\0' | 6824 | if (*p) |
| 6835 | || NILP (coding_system) || NILP (Fcoding_system_p (coding_system))) | 6825 | { |
| 6836 | return; | 6826 | #if 0 |
| 6827 | /* MAC_TODO: Fix encoding system... */ | ||
| 6828 | setup_coding_system (coding_system, &coding); | ||
| 6829 | coding.src_multibyte = 0; | ||
| 6830 | coding.dst_multibyte = 1; | ||
| 6831 | coding.mode |= CODING_MODE_LAST_BLOCK; | ||
| 6832 | coding.composing = COMPOSITION_DISABLED; | ||
| 6833 | buf = (char *) alloca (size); | ||
| 6834 | |||
| 6835 | decode_coding (&coding, name, buf, strlen (name), size - 1); | ||
| 6836 | bcopy (buf, name, coding.produced); | ||
| 6837 | name[coding.produced] = '\0'; | ||
| 6838 | #endif | ||
| 6839 | } | ||
| 6840 | } | ||
| 6837 | 6841 | ||
| 6838 | #if 0 | 6842 | /* If there's just one occurrence of '-' in the family name, it is |
| 6839 | /* MAC_TODO: Fix encoding system... */ | 6843 | replaced with '_'. (More than one occurrence of '-' means a |
| 6840 | setup_coding_system (coding_system, &coding); | 6844 | "FOUNDRY-FAMILY-CHARSET"-style name.) */ |
| 6841 | coding.src_multibyte = 0; | 6845 | p = strchr (name, '-'); |
| 6842 | coding.dst_multibyte = 1; | 6846 | if (p && strchr (p + 1, '-') == NULL) |
| 6843 | coding.mode |= CODING_MODE_LAST_BLOCK; | 6847 | *p = '_'; |
| 6844 | coding.dst_bytes = MAX_MULTsize; | ||
| 6845 | coding.destination = (char *) alloca (size); | ||
| 6846 | coding_decode_c_string(&coding, name, strlen(name), qNil); | ||
| 6847 | 6848 | ||
| 6848 | decode_coding (&coding, name, buf, strlen (name), size - 1); | 6849 | for (p = name; *p; p++) |
| 6849 | bcopy (buf, name, coding.produced); | 6850 | /* On Mac OS X 10.3, tolower also converts non-ASCII characters |
| 6850 | name[coding.produced] = '\0'; | 6851 | for some locales. */ |
| 6851 | #endif | 6852 | if (isascii (*p)) |
| 6853 | *p = tolower (*p); | ||
| 6852 | } | 6854 | } |
| 6853 | 6855 | ||
| 6854 | 6856 | ||
| @@ -6887,32 +6889,46 @@ mac_to_x_fontname (name, size, style, charset) | |||
| 6887 | } | 6889 | } |
| 6888 | 6890 | ||
| 6889 | 6891 | ||
| 6890 | /* Convert an X font spec to the corresponding mac font name, which | 6892 | /* Parse fully-specified and instantiated X11 font spec XF, and store |
| 6891 | can then be passed to GetFNum after conversion to a Pascal string. | 6893 | the results to FAMILY, *SIZE, *STYLE, and CHARSET. Return 1 if the |
| 6892 | For ordinary Mac fonts, this should just be their names, like | 6894 | parsing succeeded, and 0 otherwise. For FAMILY and CHARSET, the |
| 6893 | "monaco", "Taipei", etc. Fonts converted from the GNU intlfonts | 6895 | caller must allocate at least 256 and 32 bytes respectively. For |
| 6894 | collection contain their charset designation in their names, like | 6896 | ordinary Mac fonts, the value stored to FAMILY should just be their |
| 6895 | "ETL-Fixed-iso8859-1", "ETL-Fixed-koi8-r", etc. Both types of font | 6897 | names, like "monaco", "Taipei", etc. Fonts converted from the GNU |
| 6896 | names are handled accordingly. */ | 6898 | intlfonts collection contain their charset designation in their |
| 6897 | static void | 6899 | names, like "ETL-Fixed-iso8859-1", "ETL-Fixed-koi8-r", etc. Both |
| 6898 | x_font_name_to_mac_font_name (xf, mf, mf_decoded, style, cs) | 6900 | types of font names are handled accordingly. */ |
| 6899 | char *xf, *mf, *mf_decoded; | 6901 | |
| 6902 | const int kDefaultFontSize = 12; | ||
| 6903 | |||
| 6904 | static int | ||
| 6905 | parse_x_font_name (xf, family, size, style, charset) | ||
| 6906 | char *xf, *family; | ||
| 6907 | int *size; | ||
| 6900 | Style *style; | 6908 | Style *style; |
| 6901 | char *cs; | 6909 | char *charset; |
| 6902 | { | 6910 | { |
| 6903 | Str31 foundry; | 6911 | Str31 foundry, weight; |
| 6904 | Str255 family; | 6912 | int point_size, avgwidth; |
| 6905 | char weight[20], slant[2], *p; | 6913 | char slant[2], *p; |
| 6906 | Lisp_Object charset_info, coding_system = Qnil; | ||
| 6907 | struct coding_system coding; | ||
| 6908 | 6914 | ||
| 6909 | strcpy (mf, ""); | 6915 | if (sscanf (xf, "-%31[^-]-%255[^-]-%31[^-]-%1[^-]-%*[^-]-%*[^-]-%d-%d-%*[^-]-%*[^-]-%*c-%d-%31s", |
| 6916 | foundry, family, weight, slant, size, | ||
| 6917 | &point_size, &avgwidth, charset) != 8 | ||
| 6918 | && sscanf (xf, "-%31[^-]-%255[^-]-%31[^-]-%1[^-]-%*[^-]--%d-%d-%*[^-]-%*[^-]-%*c-%d-%31s", | ||
| 6919 | foundry, family, weight, slant, size, | ||
| 6920 | &point_size, &avgwidth, charset) != 8) | ||
| 6921 | return 0; | ||
| 6910 | 6922 | ||
| 6911 | if (sscanf (xf, "-%31[^-]-%255[^-]-%19[^-]-%1[^-]-%*[^-]-%*[^-]-%*[^-]-%*[^-]-%*[^-]-%*[^-]-%*c-%*[^-]-%31s", | 6923 | if (*size == 0) |
| 6912 | foundry, family, weight, slant, cs) != 5 && | 6924 | { |
| 6913 | sscanf (xf, "-%31[^-]-%255[^-]-%19[^-]-%1[^-]-%*[^-]--%*[^-]-%*[^-]-%*[^-]-%*[^-]-%*c-%*[^-]-%31s", | 6925 | if (point_size > 0) |
| 6914 | foundry, family, weight, slant, cs) != 5) | 6926 | *size = point_size / 10; |
| 6915 | return; | 6927 | else if (avgwidth > 0) |
| 6928 | *size = avgwidth / 10; | ||
| 6929 | } | ||
| 6930 | if (*size == 0) | ||
| 6931 | *size = kDefaultFontSize; | ||
| 6916 | 6932 | ||
| 6917 | *style = normal; | 6933 | *style = normal; |
| 6918 | if (strcmp (weight, "bold") == 0) | 6934 | if (strcmp (weight, "bold") == 0) |
| @@ -6920,35 +6936,31 @@ x_font_name_to_mac_font_name (xf, mf, mf_decoded, style, cs) | |||
| 6920 | if (*slant == 'i') | 6936 | if (*slant == 'i') |
| 6921 | *style |= italic; | 6937 | *style |= italic; |
| 6922 | 6938 | ||
| 6923 | charset_info = Fassoc (build_string (cs), Vmac_charset_info_alist); | 6939 | if (NILP (Fassoc (build_string (charset), Vmac_charset_info_alist))) |
| 6924 | if (!NILP (charset_info)) | ||
| 6925 | { | 6940 | { |
| 6926 | strcpy (mf_decoded, family); | 6941 | int foundry_len = strlen (foundry), family_len = strlen (family); |
| 6927 | coding_system = Fcar (Fcdr (Fcdr (charset_info))); | 6942 | |
| 6943 | if (foundry_len + family_len + strlen (charset) + 2 < sizeof (Str255)) | ||
| 6944 | { | ||
| 6945 | /* Like sprintf (family, "%s-%s-%s", foundry, family, charset), | ||
| 6946 | but take overlap into account. */ | ||
| 6947 | memmove (family + foundry_len + 1, family, family_len); | ||
| 6948 | memcpy (family, foundry, foundry_len); | ||
| 6949 | family[foundry_len] = '-'; | ||
| 6950 | family[foundry_len + 1 + family_len] = '-'; | ||
| 6951 | strcpy (family + foundry_len + 1 + family_len + 1, charset); | ||
| 6952 | } | ||
| 6953 | else | ||
| 6954 | return 0; | ||
| 6928 | } | 6955 | } |
| 6929 | else | ||
| 6930 | sprintf (mf_decoded, "%s-%s-%s", foundry, family, cs); | ||
| 6931 | 6956 | ||
| 6932 | for (p = mf_decoded; *p; p++) | 6957 | for (p = family; *p; p++) |
| 6933 | if (!isascii (*p) || iscntrl (*p)) | 6958 | /* On Mac OS X 10.3, tolower also converts non-ASCII characters |
| 6934 | break; | 6959 | for some locales. */ |
| 6960 | if (isascii (*p)) | ||
| 6961 | *p = tolower (*p); | ||
| 6935 | 6962 | ||
| 6936 | if (*p == '\0' | 6963 | return 1; |
| 6937 | || NILP (coding_system) || NILP (Fcoding_system_p (coding_system))) | ||
| 6938 | strcpy (mf, mf_decoded); | ||
| 6939 | #if 0 | ||
| 6940 | /* MAC_TODO: Fix coding system to use objects */ | ||
| 6941 | else | ||
| 6942 | { | ||
| 6943 | setup_coding_system (coding_system, &coding); | ||
| 6944 | coding.src_multibyte = 1; | ||
| 6945 | coding.dst_multibyte = 0; | ||
| 6946 | coding.mode |= CODING_MODE_LAST_BLOCK; | ||
| 6947 | encode_coding (&coding, mf_decoded, mf, | ||
| 6948 | strlen (mf_decoded), sizeof (Str255) - 1); | ||
| 6949 | mf[coding.produced] = '\0'; | ||
| 6950 | } | ||
| 6951 | #endif | ||
| 6952 | } | 6964 | } |
| 6953 | 6965 | ||
| 6954 | 6966 | ||
| @@ -7025,6 +7037,8 @@ init_font_name_table () | |||
| 7025 | kFontMacintoshPlatform, kFontNoScript, | 7037 | kFontMacintoshPlatform, kFontNoScript, |
| 7026 | kFontNoLanguage, name_len, name, | 7038 | kFontNoLanguage, name_len, name, |
| 7027 | NULL, NULL); | 7039 | NULL, NULL); |
| 7040 | if (err == noErr) | ||
| 7041 | decode_mac_font_name (name, name_len + 1, Qnil); | ||
| 7028 | if (err == noErr | 7042 | if (err == noErr |
| 7029 | && *name != '.' | 7043 | && *name != '.' |
| 7030 | && (prev_name == NULL | 7044 | && (prev_name == NULL |
| @@ -7040,7 +7054,7 @@ init_font_name_table () | |||
| 7040 | bold, cs)); | 7054 | bold, cs)); |
| 7041 | add_font_name_table_entry (mac_to_x_fontname (name, 0, | 7055 | add_font_name_table_entry (mac_to_x_fontname (name, 0, |
| 7042 | italic | bold, cs)); | 7056 | italic | bold, cs)); |
| 7043 | Fputhash (Fdowncase (make_unibyte_string (name, name_len)), | 7057 | Fputhash (make_unibyte_string (name, name_len), |
| 7044 | long_to_cons (font_ids[i]), atsu_font_id_hash); | 7058 | long_to_cons (font_ids[i]), atsu_font_id_hash); |
| 7045 | xfree (prev_name); | 7059 | xfree (prev_name); |
| 7046 | prev_name = name; | 7060 | prev_name = name; |
| @@ -7090,12 +7104,14 @@ init_font_name_table () | |||
| 7090 | sc = GetTextEncodingBase (encoding); | 7104 | sc = GetTextEncodingBase (encoding); |
| 7091 | text_encoding_info = assq_no_quit (make_number (sc), | 7105 | text_encoding_info = assq_no_quit (make_number (sc), |
| 7092 | text_encoding_info_alist); | 7106 | text_encoding_info_alist); |
| 7093 | if (!NILP (text_encoding_info)) | 7107 | if (NILP (text_encoding_info)) |
| 7094 | decode_mac_font_name (name, sizeof (name), | ||
| 7095 | XCAR (XCDR (text_encoding_info))); | ||
| 7096 | else | ||
| 7097 | text_encoding_info = assq_no_quit (make_number (kTextEncodingMacRoman), | 7108 | text_encoding_info = assq_no_quit (make_number (kTextEncodingMacRoman), |
| 7098 | text_encoding_info_alist); | 7109 | text_encoding_info_alist); |
| 7110 | decode_mac_font_name (name, sizeof (name), | ||
| 7111 | XCAR (XCDR (text_encoding_info))); | ||
| 7112 | fm_font_family_alist = Fcons (Fcons (build_string (name), | ||
| 7113 | make_number (ff)), | ||
| 7114 | fm_font_family_alist); | ||
| 7099 | 7115 | ||
| 7100 | /* Point the instance iterator at the current font family. */ | 7116 | /* Point the instance iterator at the current font family. */ |
| 7101 | if (FMResetFontFamilyInstanceIterator (ff, &ffii) != noErr) | 7117 | if (FMResetFontFamilyInstanceIterator (ff, &ffii) != noErr) |
| @@ -7174,12 +7190,14 @@ init_font_name_table () | |||
| 7174 | scriptcode = FontToScript (fontnum); | 7190 | scriptcode = FontToScript (fontnum); |
| 7175 | text_encoding_info = assq_no_quit (make_number (scriptcode), | 7191 | text_encoding_info = assq_no_quit (make_number (scriptcode), |
| 7176 | text_encoding_info_alist); | 7192 | text_encoding_info_alist); |
| 7177 | if (!NILP (text_encoding_info)) | 7193 | if (NILP (text_encoding_info)) |
| 7178 | decode_mac_font_name (name, sizeof (name), | ||
| 7179 | XCAR (XCDR (text_encoding_info))); | ||
| 7180 | else | ||
| 7181 | text_encoding_info = assq_no_quit (make_number (smRoman), | 7194 | text_encoding_info = assq_no_quit (make_number (smRoman), |
| 7182 | text_encoding_info_alist); | 7195 | text_encoding_info_alist); |
| 7196 | decode_mac_font_name (name, sizeof (name), | ||
| 7197 | XCAR (XCDR (text_encoding_info))); | ||
| 7198 | fm_font_family_alist = Fcons (Fcons (build_string (name), | ||
| 7199 | make_number (fontnum)), | ||
| 7200 | fm_font_family_alist); | ||
| 7183 | do | 7201 | do |
| 7184 | { | 7202 | { |
| 7185 | HLock (font_handle); | 7203 | HLock (font_handle); |
| @@ -7235,6 +7253,7 @@ mac_clear_font_name_table () | |||
| 7235 | xfree (font_name_table); | 7253 | xfree (font_name_table); |
| 7236 | font_name_table = NULL; | 7254 | font_name_table = NULL; |
| 7237 | font_name_table_size = font_name_count = 0; | 7255 | font_name_table_size = font_name_count = 0; |
| 7256 | fm_font_family_alist = Qnil; | ||
| 7238 | } | 7257 | } |
| 7239 | 7258 | ||
| 7240 | 7259 | ||
| @@ -7543,9 +7562,6 @@ is_fully_specified_xlfd (char *p) | |||
| 7543 | } | 7562 | } |
| 7544 | 7563 | ||
| 7545 | 7564 | ||
| 7546 | const int kDefaultFontSize = 12; | ||
| 7547 | |||
| 7548 | |||
| 7549 | /* XLoadQueryFont creates and returns an internal representation for a | 7565 | /* XLoadQueryFont creates and returns an internal representation for a |
| 7550 | font in a MacFontStruct struct. There is really no concept | 7566 | font in a MacFontStruct struct. There is really no concept |
| 7551 | corresponding to "loading" a font on the Mac. But we check its | 7567 | corresponding to "loading" a font on the Mac. But we check its |
| @@ -7555,12 +7571,9 @@ const int kDefaultFontSize = 12; | |||
| 7555 | static MacFontStruct * | 7571 | static MacFontStruct * |
| 7556 | XLoadQueryFont (Display *dpy, char *fontname) | 7572 | XLoadQueryFont (Display *dpy, char *fontname) |
| 7557 | { | 7573 | { |
| 7558 | int i, size, point_size, avgwidth, is_two_byte_font, char_width; | 7574 | int i, size, char_width; |
| 7559 | char *name; | 7575 | char *name; |
| 7560 | GrafPtr port; | 7576 | Str255 family; |
| 7561 | SInt16 old_fontnum, old_fontsize; | ||
| 7562 | Style old_fontface; | ||
| 7563 | Str255 mfontname, mfontname_decoded; | ||
| 7564 | Str31 charset; | 7577 | Str31 charset; |
| 7565 | SInt16 fontnum; | 7578 | SInt16 fontnum; |
| 7566 | #if USE_ATSUI | 7579 | #if USE_ATSUI |
| @@ -7574,10 +7587,6 @@ XLoadQueryFont (Display *dpy, char *fontname) | |||
| 7574 | short scriptcode; | 7587 | short scriptcode; |
| 7575 | #endif | 7588 | #endif |
| 7576 | MacFontStruct *font; | 7589 | MacFontStruct *font; |
| 7577 | FontInfo the_fontinfo; | ||
| 7578 | #ifdef MAC_OSX | ||
| 7579 | UInt32 old_flags, new_flags; | ||
| 7580 | #endif | ||
| 7581 | 7590 | ||
| 7582 | if (is_fully_specified_xlfd (fontname)) | 7591 | if (is_fully_specified_xlfd (fontname)) |
| 7583 | name = fontname; | 7592 | name = fontname; |
| @@ -7591,32 +7600,9 @@ XLoadQueryFont (Display *dpy, char *fontname) | |||
| 7591 | name = SDATA (XCAR (matched_fonts)); | 7600 | name = SDATA (XCAR (matched_fonts)); |
| 7592 | } | 7601 | } |
| 7593 | 7602 | ||
| 7594 | GetPort (&port); /* save the current font number used */ | 7603 | if (parse_x_font_name (name, family, &size, &fontface, charset) == 0) |
| 7595 | #if TARGET_API_MAC_CARBON | 7604 | return NULL; |
| 7596 | old_fontnum = GetPortTextFont (port); | ||
| 7597 | old_fontsize = GetPortTextSize (port); | ||
| 7598 | old_fontface = GetPortTextFace (port); | ||
| 7599 | #else | ||
| 7600 | old_fontnum = port->txFont; | ||
| 7601 | old_fontsize = port->txSize; | ||
| 7602 | old_fontface = port->txFace; | ||
| 7603 | #endif | ||
| 7604 | |||
| 7605 | if (sscanf (name, "-%*[^-]-%*[^-]-%*[^-]-%*c-%*[^-]--%d-%d-%*[^-]-%*[^-]-%*c-%d-%*s", &size, &point_size, &avgwidth) != 3) | ||
| 7606 | size = 0; | ||
| 7607 | else | ||
| 7608 | { | ||
| 7609 | if (size == 0) | ||
| 7610 | if (point_size > 0) | ||
| 7611 | size = point_size / 10; | ||
| 7612 | else if (avgwidth > 0) | ||
| 7613 | size = avgwidth / 10; | ||
| 7614 | } | ||
| 7615 | if (size == 0) | ||
| 7616 | size = kDefaultFontSize; | ||
| 7617 | 7605 | ||
| 7618 | x_font_name_to_mac_font_name (name, mfontname, mfontname_decoded, | ||
| 7619 | &fontface, charset); | ||
| 7620 | #if USE_ATSUI | 7606 | #if USE_ATSUI |
| 7621 | if (strcmp (charset, "iso10646-1") == 0) /* XXX */ | 7607 | if (strcmp (charset, "iso10646-1") == 0) /* XXX */ |
| 7622 | { | 7608 | { |
| @@ -7633,10 +7619,8 @@ XLoadQueryFont (Display *dpy, char *fontname) | |||
| 7633 | ATSUFontFeatureType types[] = {kAllTypographicFeaturesType}; | 7619 | ATSUFontFeatureType types[] = {kAllTypographicFeaturesType}; |
| 7634 | ATSUFontFeatureSelector selectors[] = {kAllTypeFeaturesOffSelector}; | 7620 | ATSUFontFeatureSelector selectors[] = {kAllTypeFeaturesOffSelector}; |
| 7635 | Lisp_Object font_id_cons; | 7621 | Lisp_Object font_id_cons; |
| 7636 | 7622 | ||
| 7637 | font_id_cons = Fgethash (Fdowncase | 7623 | font_id_cons = Fgethash (make_unibyte_string (family, strlen (family)), |
| 7638 | (make_unibyte_string (mfontname, | ||
| 7639 | strlen (mfontname))), | ||
| 7640 | atsu_font_id_hash, Qnil); | 7624 | atsu_font_id_hash, Qnil); |
| 7641 | if (NILP (font_id_cons)) | 7625 | if (NILP (font_id_cons)) |
| 7642 | return NULL; | 7626 | return NULL; |
| @@ -7657,24 +7641,21 @@ XLoadQueryFont (Display *dpy, char *fontname) | |||
| 7657 | scriptcode = kTextEncodingMacUnicode; | 7641 | scriptcode = kTextEncodingMacUnicode; |
| 7658 | } | 7642 | } |
| 7659 | else | 7643 | else |
| 7660 | { | ||
| 7661 | #endif | 7644 | #endif |
| 7662 | c2pstr (mfontname); | 7645 | { |
| 7646 | Lisp_Object tmp = Fassoc (build_string (family), fm_font_family_alist); | ||
| 7647 | |||
| 7648 | if (NILP (tmp)) | ||
| 7649 | return NULL; | ||
| 7650 | fontnum = XINT (XCDR (tmp)); | ||
| 7663 | #if TARGET_API_MAC_CARBON | 7651 | #if TARGET_API_MAC_CARBON |
| 7664 | fontnum = FMGetFontFamilyFromName (mfontname); | 7652 | if (FMGetFontFamilyTextEncoding (fontnum, &encoding) != noErr) |
| 7665 | if (fontnum == kInvalidFontFamily | 7653 | return NULL; |
| 7666 | || FMGetFontFamilyTextEncoding (fontnum, &encoding) != noErr) | 7654 | scriptcode = GetTextEncodingBase (encoding); |
| 7667 | return NULL; | ||
| 7668 | scriptcode = GetTextEncodingBase (encoding); | ||
| 7669 | #else | 7655 | #else |
| 7670 | GetFNum (mfontname, &fontnum); | 7656 | scriptcode = FontToScript (fontnum); |
| 7671 | if (fontnum == 0) | ||
| 7672 | return NULL; | ||
| 7673 | scriptcode = FontToScript (fontnum); | ||
| 7674 | #endif | 7657 | #endif |
| 7675 | #if USE_ATSUI | ||
| 7676 | } | 7658 | } |
| 7677 | #endif | ||
| 7678 | 7659 | ||
| 7679 | font = (MacFontStruct *) xmalloc (sizeof (struct MacFontStruct)); | 7660 | font = (MacFontStruct *) xmalloc (sizeof (struct MacFontStruct)); |
| 7680 | 7661 | ||
| @@ -7693,7 +7674,7 @@ XLoadQueryFont (Display *dpy, char *fontname) | |||
| 7693 | if (scriptcode == smJapanese && strcmp (charset, "jisx0201.1976-0") == 0) | 7674 | if (scriptcode == smJapanese && strcmp (charset, "jisx0201.1976-0") == 0) |
| 7694 | font->mac_scriptcode = smRoman; | 7675 | font->mac_scriptcode = smRoman; |
| 7695 | 7676 | ||
| 7696 | font->full_name = mac_to_x_fontname (mfontname_decoded, size, fontface, charset); | 7677 | font->full_name = mac_to_x_fontname (family, size, fontface, charset); |
| 7697 | 7678 | ||
| 7698 | #if USE_ATSUI | 7679 | #if USE_ATSUI |
| 7699 | if (font->mac_style) | 7680 | if (font->mac_style) |
| @@ -7778,130 +7759,149 @@ XLoadQueryFont (Display *dpy, char *fontname) | |||
| 7778 | font->max_char_or_byte2 = 0xff; | 7759 | font->max_char_or_byte2 = 0xff; |
| 7779 | } | 7760 | } |
| 7780 | else | 7761 | else |
| 7762 | #endif | ||
| 7781 | { | 7763 | { |
| 7764 | GrafPtr port; | ||
| 7765 | SInt16 old_fontnum, old_fontsize; | ||
| 7766 | Style old_fontface; | ||
| 7767 | FontInfo the_fontinfo; | ||
| 7768 | int is_two_byte_font; | ||
| 7769 | |||
| 7770 | /* Save the current font number used. */ | ||
| 7771 | GetPort (&port); | ||
| 7772 | #if TARGET_API_MAC_CARBON | ||
| 7773 | old_fontnum = GetPortTextFont (port); | ||
| 7774 | old_fontsize = GetPortTextSize (port); | ||
| 7775 | old_fontface = GetPortTextFace (port); | ||
| 7776 | #else | ||
| 7777 | old_fontnum = port->txFont; | ||
| 7778 | old_fontsize = port->txSize; | ||
| 7779 | old_fontface = port->txFace; | ||
| 7782 | #endif | 7780 | #endif |
| 7783 | is_two_byte_font = font->mac_scriptcode == smJapanese || | ||
| 7784 | font->mac_scriptcode == smTradChinese || | ||
| 7785 | font->mac_scriptcode == smSimpChinese || | ||
| 7786 | font->mac_scriptcode == smKorean; | ||
| 7787 | 7781 | ||
| 7788 | TextFont (fontnum); | 7782 | TextFont (fontnum); |
| 7789 | TextSize (size); | 7783 | TextSize (size); |
| 7790 | TextFace (fontface); | 7784 | TextFace (fontface); |
| 7791 | 7785 | ||
| 7792 | GetFontInfo (&the_fontinfo); | 7786 | GetFontInfo (&the_fontinfo); |
| 7793 | 7787 | ||
| 7794 | font->ascent = the_fontinfo.ascent; | 7788 | font->ascent = the_fontinfo.ascent; |
| 7795 | font->descent = the_fontinfo.descent; | 7789 | font->descent = the_fontinfo.descent; |
| 7796 | 7790 | ||
| 7797 | if (is_two_byte_font) | 7791 | is_two_byte_font = (font->mac_scriptcode == smJapanese |
| 7798 | { | 7792 | || font->mac_scriptcode == smTradChinese |
| 7799 | font->min_byte1 = 0xa1; | 7793 | || font->mac_scriptcode == smSimpChinese |
| 7800 | font->max_byte1 = 0xfe; | 7794 | || font->mac_scriptcode == smKorean); |
| 7801 | font->min_char_or_byte2 = 0xa1; | ||
| 7802 | font->max_char_or_byte2 = 0xfe; | ||
| 7803 | 7795 | ||
| 7804 | /* Use the width of an "ideographic space" of that font because | 7796 | if (is_two_byte_font) |
| 7805 | the_fontinfo.widMax returns the wrong width for some fonts. */ | 7797 | { |
| 7806 | switch (font->mac_scriptcode) | 7798 | font->min_byte1 = 0xa1; |
| 7807 | { | 7799 | font->max_byte1 = 0xfe; |
| 7808 | case smJapanese: | 7800 | font->min_char_or_byte2 = 0xa1; |
| 7809 | font->min_byte1 = 0x81; | 7801 | font->max_char_or_byte2 = 0xfe; |
| 7810 | font->max_byte1 = 0xfc; | 7802 | |
| 7811 | font->min_char_or_byte2 = 0x40; | 7803 | /* Use the width of an "ideographic space" of that font |
| 7812 | font->max_char_or_byte2 = 0xfc; | 7804 | because the_fontinfo.widMax returns the wrong width for |
| 7813 | char_width = StringWidth("\p\x81\x40"); | 7805 | some fonts. */ |
| 7814 | break; | 7806 | switch (font->mac_scriptcode) |
| 7815 | case smTradChinese: | 7807 | { |
| 7816 | font->min_char_or_byte2 = 0x40; | 7808 | case smJapanese: |
| 7817 | char_width = StringWidth("\p\xa1\x40"); | 7809 | font->min_byte1 = 0x81; |
| 7818 | break; | 7810 | font->max_byte1 = 0xfc; |
| 7819 | case smSimpChinese: | 7811 | font->min_char_or_byte2 = 0x40; |
| 7820 | char_width = StringWidth("\p\xa1\xa1"); | 7812 | font->max_char_or_byte2 = 0xfc; |
| 7821 | break; | 7813 | char_width = StringWidth("\p\x81\x40"); |
| 7822 | case smKorean: | 7814 | break; |
| 7823 | char_width = StringWidth("\p\xa1\xa1"); | 7815 | case smTradChinese: |
| 7824 | break; | 7816 | font->min_char_or_byte2 = 0x40; |
| 7825 | } | 7817 | char_width = StringWidth("\p\xa1\x40"); |
| 7826 | } | 7818 | break; |
| 7827 | else | 7819 | case smSimpChinese: |
| 7828 | { | 7820 | char_width = StringWidth("\p\xa1\xa1"); |
| 7829 | font->min_byte1 = font->max_byte1 = 0; | 7821 | break; |
| 7830 | font->min_char_or_byte2 = 0x20; | 7822 | case smKorean: |
| 7831 | font->max_char_or_byte2 = 0xff; | 7823 | char_width = StringWidth("\p\xa1\xa1"); |
| 7824 | break; | ||
| 7825 | } | ||
| 7826 | } | ||
| 7827 | else | ||
| 7828 | { | ||
| 7829 | font->min_byte1 = font->max_byte1 = 0; | ||
| 7830 | font->min_char_or_byte2 = 0x20; | ||
| 7831 | font->max_char_or_byte2 = 0xff; | ||
| 7832 | 7832 | ||
| 7833 | /* Do this instead of use the_fontinfo.widMax, which incorrectly | 7833 | /* Do this instead of use the_fontinfo.widMax, which |
| 7834 | returns 15 for 12-point Monaco! */ | 7834 | incorrectly returns 15 for 12-point Monaco! */ |
| 7835 | char_width = CharWidth ('m'); | 7835 | char_width = CharWidth ('m'); |
| 7836 | } | 7836 | } |
| 7837 | 7837 | ||
| 7838 | if (is_two_byte_font) | 7838 | if (is_two_byte_font) |
| 7839 | { | 7839 | { |
| 7840 | font->per_char = NULL; | 7840 | font->per_char = NULL; |
| 7841 | 7841 | ||
| 7842 | if (fontface & italic) | 7842 | if (fontface & italic) |
| 7843 | font->max_bounds.rbearing = char_width + 1; | 7843 | font->max_bounds.rbearing = char_width + 1; |
| 7844 | else | 7844 | else |
| 7845 | font->max_bounds.rbearing = char_width; | 7845 | font->max_bounds.rbearing = char_width; |
| 7846 | font->max_bounds.lbearing = 0; | 7846 | font->max_bounds.lbearing = 0; |
| 7847 | font->max_bounds.width = char_width; | 7847 | font->max_bounds.width = char_width; |
| 7848 | font->max_bounds.ascent = the_fontinfo.ascent; | 7848 | font->max_bounds.ascent = the_fontinfo.ascent; |
| 7849 | font->max_bounds.descent = the_fontinfo.descent; | 7849 | font->max_bounds.descent = the_fontinfo.descent; |
| 7850 | 7850 | ||
| 7851 | font->min_bounds = font->max_bounds; | 7851 | font->min_bounds = font->max_bounds; |
| 7852 | } | 7852 | } |
| 7853 | else | 7853 | else |
| 7854 | { | 7854 | { |
| 7855 | int c, min_width, max_width; | 7855 | int c, min_width, max_width; |
| 7856 | Rect char_bounds, min_bounds, max_bounds; | 7856 | Rect char_bounds, min_bounds, max_bounds; |
| 7857 | char ch; | 7857 | char ch; |
| 7858 | 7858 | ||
| 7859 | font->per_char = xmalloc (sizeof (XCharStruct) * (0xff - 0x20 + 1)); | 7859 | font->per_char = xmalloc (sizeof (XCharStruct) * (0xff - 0x20 + 1)); |
| 7860 | bzero (font->per_char, sizeof (XCharStruct) * (0xff - 0x20 + 1)); | ||
| 7860 | 7861 | ||
| 7861 | min_width = max_width = char_width; | 7862 | min_width = max_width = char_width; |
| 7862 | SetRect (&min_bounds, -32767, -32767, 32767, 32767); | 7863 | SetRect (&min_bounds, -32767, -32767, 32767, 32767); |
| 7863 | SetRect (&max_bounds, 0, 0, 0, 0); | 7864 | SetRect (&max_bounds, 0, 0, 0, 0); |
| 7864 | for (c = 0x20; c <= 0xff; c++) | 7865 | for (c = 0x20; c <= 0xff; c++) |
| 7865 | { | ||
| 7866 | ch = c; | ||
| 7867 | char_width = CharWidth (ch); | ||
| 7868 | QDTextBounds (1, &ch, &char_bounds); | ||
| 7869 | STORE_XCHARSTRUCT (font->per_char[c - 0x20], | ||
| 7870 | char_width, char_bounds); | ||
| 7871 | /* Some Japanese fonts (in SJIS encoding) return 0 as the | ||
| 7872 | character width of 0x7f. */ | ||
| 7873 | if (char_width > 0) | ||
| 7874 | { | 7866 | { |
| 7875 | min_width = min (min_width, char_width); | 7867 | ch = c; |
| 7876 | max_width = max (max_width, char_width); | 7868 | char_width = CharWidth (ch); |
| 7869 | QDTextBounds (1, &ch, &char_bounds); | ||
| 7870 | STORE_XCHARSTRUCT (font->per_char[c - 0x20], | ||
| 7871 | char_width, char_bounds); | ||
| 7872 | /* Some Japanese fonts (in SJIS encoding) return 0 as | ||
| 7873 | the character width of 0x7f. */ | ||
| 7874 | if (char_width > 0) | ||
| 7875 | { | ||
| 7876 | min_width = min (min_width, char_width); | ||
| 7877 | max_width = max (max_width, char_width); | ||
| 7878 | } | ||
| 7879 | if (!EmptyRect (&char_bounds)) | ||
| 7880 | { | ||
| 7881 | SetRect (&min_bounds, | ||
| 7882 | max (min_bounds.left, char_bounds.left), | ||
| 7883 | max (min_bounds.top, char_bounds.top), | ||
| 7884 | min (min_bounds.right, char_bounds.right), | ||
| 7885 | min (min_bounds.bottom, char_bounds.bottom)); | ||
| 7886 | UnionRect (&max_bounds, &char_bounds, &max_bounds); | ||
| 7887 | } | ||
| 7877 | } | 7888 | } |
| 7878 | if (!EmptyRect (&char_bounds)) | 7889 | STORE_XCHARSTRUCT (font->min_bounds, min_width, min_bounds); |
| 7890 | STORE_XCHARSTRUCT (font->max_bounds, max_width, max_bounds); | ||
| 7891 | if (min_width == max_width | ||
| 7892 | && max_bounds.left >= 0 && max_bounds.right <= max_width) | ||
| 7879 | { | 7893 | { |
| 7880 | SetRect (&min_bounds, | 7894 | /* Fixed width and no overhangs. */ |
| 7881 | max (min_bounds.left, char_bounds.left), | 7895 | xfree (font->per_char); |
| 7882 | max (min_bounds.top, char_bounds.top), | 7896 | font->per_char = NULL; |
| 7883 | min (min_bounds.right, char_bounds.right), | ||
| 7884 | min (min_bounds.bottom, char_bounds.bottom)); | ||
| 7885 | UnionRect (&max_bounds, &char_bounds, &max_bounds); | ||
| 7886 | } | 7897 | } |
| 7887 | } | 7898 | } |
| 7888 | STORE_XCHARSTRUCT (font->min_bounds, min_width, min_bounds); | ||
| 7889 | STORE_XCHARSTRUCT (font->max_bounds, max_width, max_bounds); | ||
| 7890 | if (min_width == max_width | ||
| 7891 | && max_bounds.left >= 0 && max_bounds.right <= max_width) | ||
| 7892 | { | ||
| 7893 | /* Fixed width and no overhangs. */ | ||
| 7894 | xfree (font->per_char); | ||
| 7895 | font->per_char = NULL; | ||
| 7896 | } | ||
| 7897 | } | ||
| 7898 | 7899 | ||
| 7899 | TextFont (old_fontnum); /* restore previous font number, size and face */ | 7900 | /* Restore previous font number, size and face. */ |
| 7900 | TextSize (old_fontsize); | 7901 | TextFont (old_fontnum); |
| 7901 | TextFace (old_fontface); | 7902 | TextSize (old_fontsize); |
| 7902 | #if USE_ATSUI | 7903 | TextFace (old_fontface); |
| 7903 | } | 7904 | } |
| 7904 | #endif | ||
| 7905 | 7905 | ||
| 7906 | return font; | 7906 | return font; |
| 7907 | } | 7907 | } |
| @@ -10056,8 +10056,7 @@ XTread_socket (sd, expected, hold_quit) | |||
| 10056 | er.where.h + 1, er.where.v + 1); | 10056 | er.where.h + 1, er.where.v + 1); |
| 10057 | #endif | 10057 | #endif |
| 10058 | previous_help_echo_string = help_echo_string; | 10058 | previous_help_echo_string = help_echo_string; |
| 10059 | help_echo_string = help_echo_object = help_echo_window = Qnil; | 10059 | help_echo_string = Qnil; |
| 10060 | help_echo_pos = -1; | ||
| 10061 | 10060 | ||
| 10062 | if (dpyinfo->grabbed && last_mouse_frame | 10061 | if (dpyinfo->grabbed && last_mouse_frame |
| 10063 | && FRAME_LIVE_P (last_mouse_frame)) | 10062 | && FRAME_LIVE_P (last_mouse_frame)) |
| @@ -10116,7 +10115,8 @@ XTread_socket (sd, expected, hold_quit) | |||
| 10116 | 10115 | ||
| 10117 | last_window=window; | 10116 | last_window=window; |
| 10118 | } | 10117 | } |
| 10119 | note_mouse_movement (f, &mouse_pos); | 10118 | if (!note_mouse_movement (f, &mouse_pos)) |
| 10119 | help_echo_string = previous_help_echo_string; | ||
| 10120 | } | 10120 | } |
| 10121 | } | 10121 | } |
| 10122 | 10122 | ||
| @@ -10931,14 +10931,17 @@ syms_of_macterm () | |||
| 10931 | staticpro (&Qreverse); | 10931 | staticpro (&Qreverse); |
| 10932 | Qreverse = intern ("reverse"); | 10932 | Qreverse = intern ("reverse"); |
| 10933 | 10933 | ||
| 10934 | staticpro (&Qmac_ready_for_drag_n_drop); | ||
| 10935 | Qmac_ready_for_drag_n_drop = intern ("mac-ready-for-drag-n-drop"); | ||
| 10936 | |||
| 10934 | staticpro (&x_display_name_list); | 10937 | staticpro (&x_display_name_list); |
| 10935 | x_display_name_list = Qnil; | 10938 | x_display_name_list = Qnil; |
| 10936 | 10939 | ||
| 10937 | staticpro (&last_mouse_scroll_bar); | 10940 | staticpro (&last_mouse_scroll_bar); |
| 10938 | last_mouse_scroll_bar = Qnil; | 10941 | last_mouse_scroll_bar = Qnil; |
| 10939 | 10942 | ||
| 10940 | Qmac_ready_for_drag_n_drop = intern ("mac-ready-for-drag-n-drop"); | 10943 | staticpro (&fm_font_family_alist); |
| 10941 | staticpro (&Qmac_ready_for_drag_n_drop); | 10944 | fm_font_family_alist = Qnil; |
| 10942 | 10945 | ||
| 10943 | #if USE_ATSUI | 10946 | #if USE_ATSUI |
| 10944 | staticpro (&atsu_font_id_hash); | 10947 | staticpro (&atsu_font_id_hash); |
diff --git a/src/macterm.h b/src/macterm.h index b3855f142c6..e7a5fc2450e 100644 --- a/src/macterm.h +++ b/src/macterm.h | |||
| @@ -39,8 +39,8 @@ Boston, MA 02110-1301, USA. */ | |||
| 39 | #define BLACK_PIX_DEFAULT(f) RGB_TO_ULONG(0,0,0) | 39 | #define BLACK_PIX_DEFAULT(f) RGB_TO_ULONG(0,0,0) |
| 40 | #define WHITE_PIX_DEFAULT(f) RGB_TO_ULONG(255,255,255) | 40 | #define WHITE_PIX_DEFAULT(f) RGB_TO_ULONG(255,255,255) |
| 41 | 41 | ||
| 42 | #define FONT_WIDTH(f) ((f)->max_bounds.width) | 42 | #define FONT_WIDTH(f) ((f)->max_bounds.width) |
| 43 | #define FONT_HEIGHT(f) ((f)->ascent + (f)->descent) | 43 | #define FONT_HEIGHT(f) ((f)->ascent + (f)->descent) |
| 44 | #define FONT_BASE(f) ((f)->ascent) | 44 | #define FONT_BASE(f) ((f)->ascent) |
| 45 | #define FONT_DESCENT(f) ((f)->descent) | 45 | #define FONT_DESCENT(f) ((f)->descent) |
| 46 | 46 | ||
| @@ -82,16 +82,8 @@ struct mac_display_info | |||
| 82 | /* Whether the screen supports color */ | 82 | /* Whether the screen supports color */ |
| 83 | int color_p; | 83 | int color_p; |
| 84 | 84 | ||
| 85 | #if 0 | ||
| 86 | /* Number of bits per pixel on this screen. */ | ||
| 87 | int n_cbits; | ||
| 88 | #endif | ||
| 89 | |||
| 90 | /* Dimensions of this screen. */ | 85 | /* Dimensions of this screen. */ |
| 91 | int height, width; | 86 | int height, width; |
| 92 | #if 0 | ||
| 93 | int height_in,width_in; | ||
| 94 | #endif | ||
| 95 | 87 | ||
| 96 | /* Mask of things that cause the mouse to be grabbed. */ | 88 | /* Mask of things that cause the mouse to be grabbed. */ |
| 97 | int grabbed; | 89 | int grabbed; |
| @@ -111,33 +103,12 @@ struct mac_display_info | |||
| 111 | /* Resource data base */ | 103 | /* Resource data base */ |
| 112 | XrmDatabase xrdb; | 104 | XrmDatabase xrdb; |
| 113 | 105 | ||
| 114 | #if 0 | ||
| 115 | /* color palette information. */ | ||
| 116 | int has_palette; | ||
| 117 | struct w32_palette_entry * color_list; | ||
| 118 | unsigned num_colors; | ||
| 119 | HPALETTE palette; | ||
| 120 | |||
| 121 | /* deferred action flags checked when starting frame update. */ | ||
| 122 | int regen_palette; | ||
| 123 | |||
| 124 | /* Keystroke that has been faked by Emacs and will be ignored when | ||
| 125 | received; value is reset after key is received. */ | ||
| 126 | int faked_key; | ||
| 127 | |||
| 128 | #endif | ||
| 129 | |||
| 130 | /* A table of all the fonts we have already loaded. */ | 106 | /* A table of all the fonts we have already loaded. */ |
| 131 | struct font_info *font_table; | 107 | struct font_info *font_table; |
| 132 | 108 | ||
| 133 | /* The current capacity of font_table. */ | 109 | /* The current capacity of font_table. */ |
| 134 | int font_table_size; | 110 | int font_table_size; |
| 135 | 111 | ||
| 136 | /* The number of fonts actually stored in the font table. | ||
| 137 | font_table[n] is used and valid iff 0 <= n < n_fonts. 0 <= | ||
| 138 | n_fonts <= font_table_size. and font_table[i].name != 0. */ | ||
| 139 | int n_fonts; | ||
| 140 | |||
| 141 | /* Minimum width over all characters in all fonts in font_table. */ | 112 | /* Minimum width over all characters in all fonts in font_table. */ |
| 142 | int smallest_char_width; | 113 | int smallest_char_width; |
| 143 | 114 | ||
| @@ -148,7 +119,7 @@ struct mac_display_info | |||
| 148 | GC scratch_cursor_gc; | 119 | GC scratch_cursor_gc; |
| 149 | 120 | ||
| 150 | /* These variables describe the range of text currently shown in its | 121 | /* These variables describe the range of text currently shown in its |
| 151 | mouse-face, together with the window they apply to. As long as | 122 | mouse-face, together with the window they apply to. As long as |
| 152 | the mouse stays within this range, we need not redraw anything on | 123 | the mouse stays within this range, we need not redraw anything on |
| 153 | its account. Rows and columns are glyph matrix positions in | 124 | its account. Rows and columns are glyph matrix positions in |
| 154 | MOUSE_FACE_WINDOW. */ | 125 | MOUSE_FACE_WINDOW. */ |
| @@ -168,7 +139,6 @@ struct mac_display_info | |||
| 168 | /* FRAME and X, Y position of mouse when last checked for | 139 | /* FRAME and X, Y position of mouse when last checked for |
| 169 | highlighting. X and Y can be negative or out of range for the frame. */ | 140 | highlighting. X and Y can be negative or out of range for the frame. */ |
| 170 | struct frame *mouse_face_mouse_frame; | 141 | struct frame *mouse_face_mouse_frame; |
| 171 | |||
| 172 | int mouse_face_mouse_x, mouse_face_mouse_y; | 142 | int mouse_face_mouse_x, mouse_face_mouse_y; |
| 173 | 143 | ||
| 174 | /* Nonzero means defer mouse-motion highlighting. */ | 144 | /* Nonzero means defer mouse-motion highlighting. */ |
| @@ -181,6 +151,11 @@ struct mac_display_info | |||
| 181 | 151 | ||
| 182 | char *mac_id_name; | 152 | char *mac_id_name; |
| 183 | 153 | ||
| 154 | /* The number of fonts actually stored in the font table. | ||
| 155 | font_table[n] is used and valid iff 0 <= n < n_fonts. 0 <= | ||
| 156 | n_fonts <= font_table_size and font_table[i].name != 0. */ | ||
| 157 | int n_fonts; | ||
| 158 | |||
| 184 | /* Pointer to bitmap records. */ | 159 | /* Pointer to bitmap records. */ |
| 185 | struct mac_bitmap_record *bitmaps; | 160 | struct mac_bitmap_record *bitmaps; |
| 186 | 161 | ||
| @@ -237,7 +212,7 @@ extern int unibyte_display_via_language_environment; | |||
| 237 | extern struct x_display_info *x_display_info_for_display P_ ((Display *)); | 212 | extern struct x_display_info *x_display_info_for_display P_ ((Display *)); |
| 238 | extern struct x_display_info *x_display_info_for_name P_ ((Lisp_Object)); | 213 | extern struct x_display_info *x_display_info_for_name P_ ((Lisp_Object)); |
| 239 | 214 | ||
| 240 | extern struct mac_display_info *mac_term_init (); | 215 | extern struct mac_display_info *mac_term_init P_ ((Lisp_Object, char *, char *)); |
| 241 | 216 | ||
| 242 | extern Lisp_Object x_list_fonts P_ ((struct frame *, Lisp_Object, int, int)); | 217 | extern Lisp_Object x_list_fonts P_ ((struct frame *, Lisp_Object, int, int)); |
| 243 | extern struct font_info *x_get_font_info P_ ((struct frame *f, int)); | 218 | extern struct font_info *x_get_font_info P_ ((struct frame *f, int)); |
| @@ -262,33 +237,8 @@ struct mac_output { | |||
| 262 | /* Menubar "widget" handle. */ | 237 | /* Menubar "widget" handle. */ |
| 263 | int menubar_widget; | 238 | int menubar_widget; |
| 264 | 239 | ||
| 265 | Window mWP; /* pointer to QuickDraw window */ | ||
| 266 | FRAME_PTR mFP; /* points back to the frame struct */ | 240 | FRAME_PTR mFP; /* points back to the frame struct */ |
| 267 | 241 | ||
| 268 | #if 0 | ||
| 269 | int mNumCols; /* number of characters per column */ | ||
| 270 | int mNumRows; /* number of characters per row */ | ||
| 271 | int mLineHeight; /* height of one line of text in pixels */ | ||
| 272 | int mCharWidth; /* width of one character in pixels */ | ||
| 273 | int mHomeX; /* X pixel coordinate of lower left | ||
| 274 | corner of character at (0, 0) */ | ||
| 275 | int mHomeY; /* Y pixel coordinate of lower left | ||
| 276 | corner of character at (0, 0) */ | ||
| 277 | int mHighlight; /* current highlight state (0 = off). */ | ||
| 278 | int mTermWinSize; /* num of lines from top of window | ||
| 279 | affected by ins_del_lines; set by | ||
| 280 | set_terminal_window. */ | ||
| 281 | #endif /* 0 */ | ||
| 282 | |||
| 283 | #if 0 | ||
| 284 | /* stuffs used by xfaces.c */ | ||
| 285 | struct face **param_faces; | ||
| 286 | int n_param_faces; | ||
| 287 | struct face **computed_faces; | ||
| 288 | int n_computed_faces; | ||
| 289 | int size_computed_faces; | ||
| 290 | #endif | ||
| 291 | |||
| 292 | /* Here are the Graphics Contexts for the default font. */ | 242 | /* Here are the Graphics Contexts for the default font. */ |
| 293 | GC normal_gc; /* Normal video */ | 243 | GC normal_gc; /* Normal video */ |
| 294 | GC reverse_gc; /* Reverse video */ | 244 | GC reverse_gc; /* Reverse video */ |
| @@ -322,6 +272,7 @@ struct mac_output { | |||
| 322 | unsigned long mouse_pixel; | 272 | unsigned long mouse_pixel; |
| 323 | unsigned long cursor_foreground_pixel; | 273 | unsigned long cursor_foreground_pixel; |
| 324 | 274 | ||
| 275 | #if 0 | ||
| 325 | /* Foreground color for scroll bars. A value of -1 means use the | 276 | /* Foreground color for scroll bars. A value of -1 means use the |
| 326 | default (black for non-toolkit scroll bars). */ | 277 | default (black for non-toolkit scroll bars). */ |
| 327 | unsigned long scroll_bar_foreground_pixel; | 278 | unsigned long scroll_bar_foreground_pixel; |
| @@ -330,6 +281,7 @@ struct mac_output { | |||
| 330 | default (background color of the frame for non-toolkit scroll | 281 | default (background color of the frame for non-toolkit scroll |
| 331 | bars). */ | 282 | bars). */ |
| 332 | unsigned long scroll_bar_background_pixel; | 283 | unsigned long scroll_bar_background_pixel; |
| 284 | #endif | ||
| 333 | 285 | ||
| 334 | /* Descriptor for the cursor in use for this window. */ | 286 | /* Descriptor for the cursor in use for this window. */ |
| 335 | Cursor text_cursor; | 287 | Cursor text_cursor; |
| @@ -357,10 +309,6 @@ struct mac_output { | |||
| 357 | ControlRef hourglass_control; | 309 | ControlRef hourglass_control; |
| 358 | #endif | 310 | #endif |
| 359 | 311 | ||
| 360 | #if 0 | ||
| 361 | DWORD dwStyle; | ||
| 362 | #endif | ||
| 363 | |||
| 364 | /* This is the Emacs structure for the display this frame is on. */ | 312 | /* This is the Emacs structure for the display this frame is on. */ |
| 365 | /* struct w32_display_info *display_info; */ | 313 | /* struct w32_display_info *display_info; */ |
| 366 | 314 | ||
| @@ -377,10 +325,6 @@ struct mac_output { | |||
| 377 | /* Nonzero means a menu command is being processed. */ | 325 | /* Nonzero means a menu command is being processed. */ |
| 378 | char menu_command_in_progress; | 326 | char menu_command_in_progress; |
| 379 | 327 | ||
| 380 | /* Nonzero means menubar is about to become active, but should be | ||
| 381 | brought up to date first. */ | ||
| 382 | volatile char pending_menu_activation; | ||
| 383 | |||
| 384 | /* Relief GCs, colors etc. */ | 328 | /* Relief GCs, colors etc. */ |
| 385 | struct relief | 329 | struct relief |
| 386 | { | 330 | { |
| @@ -404,8 +348,8 @@ typedef struct mac_output mac_output; | |||
| 404 | #define FRAME_X_OUTPUT(f) ((f)->output_data.mac) | 348 | #define FRAME_X_OUTPUT(f) ((f)->output_data.mac) |
| 405 | 349 | ||
| 406 | /* Return the Mac window used for displaying data in frame F. */ | 350 | /* Return the Mac window used for displaying data in frame F. */ |
| 407 | #define FRAME_MAC_WINDOW(f) ((f)->output_data.mac->mWP) | 351 | #define FRAME_MAC_WINDOW(f) ((f)->output_data.mac->window_desc) |
| 408 | #define FRAME_X_WINDOW(f) ((f)->output_data.mac->mWP) | 352 | #define FRAME_X_WINDOW(f) ((f)->output_data.mac->window_desc) |
| 409 | 353 | ||
| 410 | #define FRAME_FOREGROUND_PIXEL(f) ((f)->output_data.x->foreground_pixel) | 354 | #define FRAME_FOREGROUND_PIXEL(f) ((f)->output_data.x->foreground_pixel) |
| 411 | #define FRAME_BACKGROUND_PIXEL(f) ((f)->output_data.x->background_pixel) | 355 | #define FRAME_BACKGROUND_PIXEL(f) ((f)->output_data.x->background_pixel) |
| @@ -531,7 +475,7 @@ struct scroll_bar { | |||
| 531 | 475 | ||
| 532 | /* Return the inside width of a vertical scroll bar, given the outside | 476 | /* Return the inside width of a vertical scroll bar, given the outside |
| 533 | width. */ | 477 | width. */ |
| 534 | #define VERTICAL_SCROLL_BAR_INSIDE_WIDTH(f,width) \ | 478 | #define VERTICAL_SCROLL_BAR_INSIDE_WIDTH(f, width) \ |
| 535 | ((width) \ | 479 | ((width) \ |
| 536 | - VERTICAL_SCROLL_BAR_LEFT_BORDER \ | 480 | - VERTICAL_SCROLL_BAR_LEFT_BORDER \ |
| 537 | - VERTICAL_SCROLL_BAR_RIGHT_BORDER \ | 481 | - VERTICAL_SCROLL_BAR_RIGHT_BORDER \ |
diff --git a/src/sysdep.c b/src/sysdep.c index f70d4b18cff..3bc72c51193 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -1012,7 +1012,7 @@ reset_sigio () | |||
| 1012 | void | 1012 | void |
| 1013 | request_sigio () | 1013 | request_sigio () |
| 1014 | { | 1014 | { |
| 1015 | if (read_socket_hook) | 1015 | if (noninteractive || read_socket_hook) |
| 1016 | return; | 1016 | return; |
| 1017 | 1017 | ||
| 1018 | #ifdef SIGWINCH | 1018 | #ifdef SIGWINCH |
| @@ -1026,7 +1026,7 @@ request_sigio () | |||
| 1026 | void | 1026 | void |
| 1027 | unrequest_sigio () | 1027 | unrequest_sigio () |
| 1028 | { | 1028 | { |
| 1029 | if (read_socket_hook) | 1029 | if (noninteractive || read_socket_hook) |
| 1030 | return; | 1030 | return; |
| 1031 | 1031 | ||
| 1032 | #ifdef SIGWINCH | 1032 | #ifdef SIGWINCH |
| @@ -1044,7 +1044,7 @@ request_sigio () | |||
| 1044 | { | 1044 | { |
| 1045 | int on = 1; | 1045 | int on = 1; |
| 1046 | 1046 | ||
| 1047 | if (read_socket_hook) | 1047 | if (noninteractive || read_socket_hook) |
| 1048 | return; | 1048 | return; |
| 1049 | 1049 | ||
| 1050 | ioctl (input_fd, FIOASYNC, &on); | 1050 | ioctl (input_fd, FIOASYNC, &on); |
| @@ -1056,7 +1056,7 @@ unrequest_sigio () | |||
| 1056 | { | 1056 | { |
| 1057 | int off = 0; | 1057 | int off = 0; |
| 1058 | 1058 | ||
| 1059 | if (read_socket_hook) | 1059 | if (noninteractive || read_socket_hook) |
| 1060 | return; | 1060 | return; |
| 1061 | 1061 | ||
| 1062 | ioctl (input_fd, FIOASYNC, &off); | 1062 | ioctl (input_fd, FIOASYNC, &off); |
| @@ -1075,7 +1075,7 @@ request_sigio () | |||
| 1075 | int on = 1; | 1075 | int on = 1; |
| 1076 | sigset_t st; | 1076 | sigset_t st; |
| 1077 | 1077 | ||
| 1078 | if (read_socket_hook) | 1078 | if (noninteractive || read_socket_hook) |
| 1079 | return; | 1079 | return; |
| 1080 | 1080 | ||
| 1081 | sigemptyset (&st); | 1081 | sigemptyset (&st); |
| @@ -1090,7 +1090,7 @@ unrequest_sigio () | |||
| 1090 | { | 1090 | { |
| 1091 | int off = 0; | 1091 | int off = 0; |
| 1092 | 1092 | ||
| 1093 | if (read_socket_hook) | 1093 | if (noninteractive || read_socket_hook) |
| 1094 | return; | 1094 | return; |
| 1095 | 1095 | ||
| 1096 | ioctl (input_fd, FIOASYNC, &off); | 1096 | ioctl (input_fd, FIOASYNC, &off); |
| @@ -1103,7 +1103,7 @@ unrequest_sigio () | |||
| 1103 | void | 1103 | void |
| 1104 | request_sigio () | 1104 | request_sigio () |
| 1105 | { | 1105 | { |
| 1106 | if (read_socket_hook) | 1106 | if (noninteractive || read_socket_hook) |
| 1107 | return; | 1107 | return; |
| 1108 | 1108 | ||
| 1109 | croak ("request_sigio"); | 1109 | croak ("request_sigio"); |
| @@ -1112,7 +1112,7 @@ request_sigio () | |||
| 1112 | void | 1112 | void |
| 1113 | unrequest_sigio () | 1113 | unrequest_sigio () |
| 1114 | { | 1114 | { |
| 1115 | if (read_socket_hook) | 1115 | if (noninteractive || read_socket_hook) |
| 1116 | return; | 1116 | return; |
| 1117 | 1117 | ||
| 1118 | croak ("unrequest_sigio"); | 1118 | croak ("unrequest_sigio"); |
| @@ -2235,12 +2235,16 @@ reset_sigio () | |||
| 2235 | void | 2235 | void |
| 2236 | request_sigio () | 2236 | request_sigio () |
| 2237 | { | 2237 | { |
| 2238 | if (noninteractive) | ||
| 2239 | return; | ||
| 2238 | croak ("request sigio"); | 2240 | croak ("request sigio"); |
| 2239 | } | 2241 | } |
| 2240 | 2242 | ||
| 2241 | void | 2243 | void |
| 2242 | unrequest_sigio () | 2244 | unrequest_sigio () |
| 2243 | { | 2245 | { |
| 2246 | if (noninteractive) | ||
| 2247 | return; | ||
| 2244 | croak ("unrequest sigio"); | 2248 | croak ("unrequest sigio"); |
| 2245 | } | 2249 | } |
| 2246 | 2250 | ||
| @@ -2775,6 +2779,8 @@ reset_sigio () | |||
| 2775 | void | 2779 | void |
| 2776 | request_sigio () | 2780 | request_sigio () |
| 2777 | { | 2781 | { |
| 2782 | if (noninteractive) | ||
| 2783 | return; | ||
| 2778 | sigrelse (SIGTINT); | 2784 | sigrelse (SIGTINT); |
| 2779 | 2785 | ||
| 2780 | interrupts_deferred = 0; | 2786 | interrupts_deferred = 0; |
| @@ -2783,6 +2789,8 @@ request_sigio () | |||
| 2783 | void | 2789 | void |
| 2784 | unrequest_sigio () | 2790 | unrequest_sigio () |
| 2785 | { | 2791 | { |
| 2792 | if (noninteractive) | ||
| 2793 | return; | ||
| 2786 | sighold (SIGTINT); | 2794 | sighold (SIGTINT); |
| 2787 | 2795 | ||
| 2788 | interrupts_deferred = 1; | 2796 | interrupts_deferred = 1; |
diff --git a/src/w32term.c b/src/w32term.c index f0d5dc507ac..75a4151e8f2 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -1718,7 +1718,7 @@ x_draw_glyph_string_foreground (s) | |||
| 1718 | else | 1718 | else |
| 1719 | x = s->x; | 1719 | x = s->x; |
| 1720 | 1720 | ||
| 1721 | if (s->for_overlaps_p || (s->background_filled_p && s->hl != DRAW_CURSOR)) | 1721 | if (s->for_overlaps || (s->background_filled_p && s->hl != DRAW_CURSOR)) |
| 1722 | SetBkMode (s->hdc, TRANSPARENT); | 1722 | SetBkMode (s->hdc, TRANSPARENT); |
| 1723 | else | 1723 | else |
| 1724 | SetBkMode (s->hdc, OPAQUE); | 1724 | SetBkMode (s->hdc, OPAQUE); |
| @@ -2599,7 +2599,7 @@ x_draw_glyph_string (s) | |||
| 2599 | /* If S draws into the background of its successor, draw the | 2599 | /* If S draws into the background of its successor, draw the |
| 2600 | background of the successor first so that S can draw into it. | 2600 | background of the successor first so that S can draw into it. |
| 2601 | This makes S->next use XDrawString instead of XDrawImageString. */ | 2601 | This makes S->next use XDrawString instead of XDrawImageString. */ |
| 2602 | if (s->next && s->right_overhang && !s->for_overlaps_p) | 2602 | if (s->next && s->right_overhang && !s->for_overlaps) |
| 2603 | { | 2603 | { |
| 2604 | xassert (s->next->img == NULL); | 2604 | xassert (s->next->img == NULL); |
| 2605 | x_set_glyph_string_gc (s->next); | 2605 | x_set_glyph_string_gc (s->next); |
| @@ -2612,7 +2612,7 @@ x_draw_glyph_string (s) | |||
| 2612 | 2612 | ||
| 2613 | /* Draw relief (if any) in advance for char/composition so that the | 2613 | /* Draw relief (if any) in advance for char/composition so that the |
| 2614 | glyph string can be drawn over it. */ | 2614 | glyph string can be drawn over it. */ |
| 2615 | if (!s->for_overlaps_p | 2615 | if (!s->for_overlaps |
| 2616 | && s->face->box != FACE_NO_BOX | 2616 | && s->face->box != FACE_NO_BOX |
| 2617 | && (s->first_glyph->type == CHAR_GLYPH | 2617 | && (s->first_glyph->type == CHAR_GLYPH |
| 2618 | || s->first_glyph->type == COMPOSITE_GLYPH)) | 2618 | || s->first_glyph->type == COMPOSITE_GLYPH)) |
| @@ -2638,7 +2638,7 @@ x_draw_glyph_string (s) | |||
| 2638 | break; | 2638 | break; |
| 2639 | 2639 | ||
| 2640 | case CHAR_GLYPH: | 2640 | case CHAR_GLYPH: |
| 2641 | if (s->for_overlaps_p) | 2641 | if (s->for_overlaps) |
| 2642 | s->background_filled_p = 1; | 2642 | s->background_filled_p = 1; |
| 2643 | else | 2643 | else |
| 2644 | x_draw_glyph_string_background (s, 0); | 2644 | x_draw_glyph_string_background (s, 0); |
| @@ -2646,7 +2646,7 @@ x_draw_glyph_string (s) | |||
| 2646 | break; | 2646 | break; |
| 2647 | 2647 | ||
| 2648 | case COMPOSITE_GLYPH: | 2648 | case COMPOSITE_GLYPH: |
| 2649 | if (s->for_overlaps_p || s->gidx > 0) | 2649 | if (s->for_overlaps || s->gidx > 0) |
| 2650 | s->background_filled_p = 1; | 2650 | s->background_filled_p = 1; |
| 2651 | else | 2651 | else |
| 2652 | x_draw_glyph_string_background (s, 1); | 2652 | x_draw_glyph_string_background (s, 1); |
| @@ -2657,7 +2657,7 @@ x_draw_glyph_string (s) | |||
| 2657 | abort (); | 2657 | abort (); |
| 2658 | } | 2658 | } |
| 2659 | 2659 | ||
| 2660 | if (!s->for_overlaps_p) | 2660 | if (!s->for_overlaps) |
| 2661 | { | 2661 | { |
| 2662 | /* Draw underline. */ | 2662 | /* Draw underline. */ |
| 2663 | if (s->face->underline_p | 2663 | if (s->face->underline_p |
| @@ -3355,9 +3355,7 @@ construct_drag_n_drop (result, msg, f) | |||
| 3355 | static MSG last_mouse_motion_event; | 3355 | static MSG last_mouse_motion_event; |
| 3356 | static Lisp_Object last_mouse_motion_frame; | 3356 | static Lisp_Object last_mouse_motion_frame; |
| 3357 | 3357 | ||
| 3358 | static void remember_mouse_glyph P_ ((struct frame *, int, int)); | 3358 | static int |
| 3359 | |||
| 3360 | static void | ||
| 3361 | note_mouse_movement (frame, msg) | 3359 | note_mouse_movement (frame, msg) |
| 3362 | FRAME_PTR frame; | 3360 | FRAME_PTR frame; |
| 3363 | MSG *msg; | 3361 | MSG *msg; |
| @@ -3374,13 +3372,14 @@ note_mouse_movement (frame, msg) | |||
| 3374 | frame->mouse_moved = 1; | 3372 | frame->mouse_moved = 1; |
| 3375 | last_mouse_scroll_bar = Qnil; | 3373 | last_mouse_scroll_bar = Qnil; |
| 3376 | note_mouse_highlight (frame, -1, -1); | 3374 | note_mouse_highlight (frame, -1, -1); |
| 3375 | return 1; | ||
| 3377 | } | 3376 | } |
| 3378 | 3377 | ||
| 3379 | /* Has the mouse moved off the glyph it was on at the last sighting? */ | 3378 | /* Has the mouse moved off the glyph it was on at the last sighting? */ |
| 3380 | else if (mouse_x < last_mouse_glyph.left | 3379 | if (mouse_x < last_mouse_glyph.left |
| 3381 | || mouse_x > last_mouse_glyph.right | 3380 | || mouse_x >= last_mouse_glyph.right |
| 3382 | || mouse_y < last_mouse_glyph.top | 3381 | || mouse_y < last_mouse_glyph.top |
| 3383 | || mouse_y > last_mouse_glyph.bottom) | 3382 | || mouse_y >= last_mouse_glyph.bottom) |
| 3384 | { | 3383 | { |
| 3385 | frame->mouse_moved = 1; | 3384 | frame->mouse_moved = 1; |
| 3386 | last_mouse_scroll_bar = Qnil; | 3385 | last_mouse_scroll_bar = Qnil; |
| @@ -3389,8 +3388,11 @@ note_mouse_movement (frame, msg) | |||
| 3389 | gets called when mouse tracking is enabled but we also need | 3388 | gets called when mouse tracking is enabled but we also need |
| 3390 | to keep track of the mouse for help_echo and highlighting at | 3389 | to keep track of the mouse for help_echo and highlighting at |
| 3391 | other times. */ | 3390 | other times. */ |
| 3392 | remember_mouse_glyph (frame, mouse_x, mouse_y); | 3391 | remember_mouse_glyph (frame, mouse_x, mouse_y, &last_mouse_glyph); |
| 3392 | return 1; | ||
| 3393 | } | 3393 | } |
| 3394 | |||
| 3395 | return 0; | ||
| 3394 | } | 3396 | } |
| 3395 | 3397 | ||
| 3396 | 3398 | ||
| @@ -3401,8 +3403,6 @@ note_mouse_movement (frame, msg) | |||
| 3401 | static struct scroll_bar *x_window_to_scroll_bar (); | 3403 | static struct scroll_bar *x_window_to_scroll_bar (); |
| 3402 | static void x_scroll_bar_report_motion (); | 3404 | static void x_scroll_bar_report_motion (); |
| 3403 | static void x_check_fullscreen P_ ((struct frame *)); | 3405 | static void x_check_fullscreen P_ ((struct frame *)); |
| 3404 | static int glyph_rect P_ ((struct frame *f, int, int, RECT *)); | ||
| 3405 | |||
| 3406 | 3406 | ||
| 3407 | static void | 3407 | static void |
| 3408 | redo_mouse_highlight () | 3408 | redo_mouse_highlight () |
| @@ -3421,108 +3421,6 @@ w32_define_cursor (window, cursor) | |||
| 3421 | { | 3421 | { |
| 3422 | PostMessage (window, WM_EMACS_SETCURSOR, (WPARAM) cursor, 0); | 3422 | PostMessage (window, WM_EMACS_SETCURSOR, (WPARAM) cursor, 0); |
| 3423 | } | 3423 | } |
| 3424 | |||
| 3425 | /* Try to determine frame pixel position and size of the glyph under | ||
| 3426 | frame pixel coordinates X/Y on frame F . Return the position and | ||
| 3427 | size in *RECT. Value is non-zero if we could compute these | ||
| 3428 | values. */ | ||
| 3429 | |||
| 3430 | static int | ||
| 3431 | glyph_rect (f, x, y, rect) | ||
| 3432 | struct frame *f; | ||
| 3433 | int x, y; | ||
| 3434 | RECT *rect; | ||
| 3435 | { | ||
| 3436 | Lisp_Object window; | ||
| 3437 | |||
| 3438 | window = window_from_coordinates (f, x, y, 0, &x, &y, 0); | ||
| 3439 | |||
| 3440 | if (!NILP (window)) | ||
| 3441 | { | ||
| 3442 | struct window *w = XWINDOW (window); | ||
| 3443 | struct glyph_row *r = MATRIX_FIRST_TEXT_ROW (w->current_matrix); | ||
| 3444 | struct glyph_row *end = r + w->current_matrix->nrows - 1; | ||
| 3445 | |||
| 3446 | for (; r < end && r->enabled_p; ++r) | ||
| 3447 | if (r->y <= y && r->y + r->height > y) | ||
| 3448 | { | ||
| 3449 | /* Found the row at y. */ | ||
| 3450 | struct glyph *g = r->glyphs[TEXT_AREA]; | ||
| 3451 | struct glyph *end = g + r->used[TEXT_AREA]; | ||
| 3452 | int gx; | ||
| 3453 | |||
| 3454 | rect->top = WINDOW_TO_FRAME_PIXEL_Y (w, r->y); | ||
| 3455 | rect->bottom = rect->top + r->height; | ||
| 3456 | |||
| 3457 | if (x < r->x) | ||
| 3458 | { | ||
| 3459 | /* x is to the left of the first glyph in the row. */ | ||
| 3460 | /* Shouldn't this be a pixel value? | ||
| 3461 | WINDOW_LEFT_EDGE_X (w) seems to be the right value. | ||
| 3462 | ++KFS */ | ||
| 3463 | rect->left = WINDOW_LEFT_EDGE_COL (w); | ||
| 3464 | rect->right = WINDOW_TO_FRAME_PIXEL_X (w, r->x); | ||
| 3465 | return 1; | ||
| 3466 | } | ||
| 3467 | |||
| 3468 | for (gx = r->x; g < end; gx += g->pixel_width, ++g) | ||
| 3469 | if (gx <= x && gx + g->pixel_width > x) | ||
| 3470 | { | ||
| 3471 | /* x is on a glyph. */ | ||
| 3472 | rect->left = WINDOW_TO_FRAME_PIXEL_X (w, gx); | ||
| 3473 | rect->right = rect->left + g->pixel_width; | ||
| 3474 | return 1; | ||
| 3475 | } | ||
| 3476 | |||
| 3477 | /* x is to the right of the last glyph in the row. */ | ||
| 3478 | rect->left = WINDOW_TO_FRAME_PIXEL_X (w, gx); | ||
| 3479 | /* Shouldn't this be a pixel value? | ||
| 3480 | WINDOW_RIGHT_EDGE_X (w) seems to be the right value. | ||
| 3481 | ++KFS */ | ||
| 3482 | rect->right = WINDOW_RIGHT_EDGE_COL (w); | ||
| 3483 | return 1; | ||
| 3484 | } | ||
| 3485 | } | ||
| 3486 | |||
| 3487 | /* The y is not on any row. */ | ||
| 3488 | return 0; | ||
| 3489 | } | ||
| 3490 | |||
| 3491 | /* Record the position of the mouse in last_mouse_glyph. */ | ||
| 3492 | static void | ||
| 3493 | remember_mouse_glyph (f1, gx, gy) | ||
| 3494 | struct frame * f1; | ||
| 3495 | int gx, gy; | ||
| 3496 | { | ||
| 3497 | if (!glyph_rect (f1, gx, gy, &last_mouse_glyph)) | ||
| 3498 | { | ||
| 3499 | int width = FRAME_SMALLEST_CHAR_WIDTH (f1); | ||
| 3500 | int height = FRAME_SMALLEST_FONT_HEIGHT (f1); | ||
| 3501 | |||
| 3502 | /* Arrange for the division in FRAME_PIXEL_X_TO_COL etc. to | ||
| 3503 | round down even for negative values. */ | ||
| 3504 | if (gx < 0) | ||
| 3505 | gx -= width - 1; | ||
| 3506 | if (gy < 0) | ||
| 3507 | gy -= height - 1; | ||
| 3508 | #if 0 | ||
| 3509 | /* This was the original code from XTmouse_position, but it seems | ||
| 3510 | to give the position of the glyph diagonally next to the one | ||
| 3511 | the mouse is over. */ | ||
| 3512 | gx = (gx + width - 1) / width * width; | ||
| 3513 | gy = (gy + height - 1) / height * height; | ||
| 3514 | #else | ||
| 3515 | gx = gx / width * width; | ||
| 3516 | gy = gy / height * height; | ||
| 3517 | #endif | ||
| 3518 | |||
| 3519 | last_mouse_glyph.left = gx; | ||
| 3520 | last_mouse_glyph.top = gy; | ||
| 3521 | last_mouse_glyph.right = gx + width; | ||
| 3522 | last_mouse_glyph.bottom = gy + height; | ||
| 3523 | } | ||
| 3524 | } | ||
| 3525 | |||
| 3526 | /* Return the current position of the mouse. | 3424 | /* Return the current position of the mouse. |
| 3527 | *fp should be a frame which indicates which display to ask about. | 3425 | *fp should be a frame which indicates which display to ask about. |
| 3528 | 3426 | ||
| @@ -3625,7 +3523,7 @@ w32_mouse_position (fp, insist, bar_window, part, x, y, time) | |||
| 3625 | || insist); | 3523 | || insist); |
| 3626 | #else | 3524 | #else |
| 3627 | ScreenToClient (FRAME_W32_WINDOW (f1), &pt); | 3525 | ScreenToClient (FRAME_W32_WINDOW (f1), &pt); |
| 3628 | remember_mouse_glyph (f1, pt.x, pt.y); | 3526 | remember_mouse_glyph (f1, pt.x, pt.y, &last_mouse_glyph); |
| 3629 | #endif | 3527 | #endif |
| 3630 | 3528 | ||
| 3631 | *bar_window = Qnil; | 3529 | *bar_window = Qnil; |
| @@ -4571,6 +4469,7 @@ w32_read_socket (sd, expected, hold_quit) | |||
| 4571 | } | 4469 | } |
| 4572 | 4470 | ||
| 4573 | previous_help_echo_string = help_echo_string; | 4471 | previous_help_echo_string = help_echo_string; |
| 4472 | help_echo_string = Qnil; | ||
| 4574 | 4473 | ||
| 4575 | if (dpyinfo->grabbed && last_mouse_frame | 4474 | if (dpyinfo->grabbed && last_mouse_frame |
| 4576 | && FRAME_LIVE_P (last_mouse_frame)) | 4475 | && FRAME_LIVE_P (last_mouse_frame)) |
| @@ -4609,7 +4508,8 @@ w32_read_socket (sd, expected, hold_quit) | |||
| 4609 | 4508 | ||
| 4610 | last_window=window; | 4509 | last_window=window; |
| 4611 | } | 4510 | } |
| 4612 | note_mouse_movement (f, &msg.msg); | 4511 | if (!note_mouse_movement (f, &msg.msg)) |
| 4512 | help_echo_string = previous_help_echo_string; | ||
| 4613 | } | 4513 | } |
| 4614 | else | 4514 | else |
| 4615 | { | 4515 | { |
diff --git a/src/window.c b/src/window.c index 9a0d256cdce..50212b0c114 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -682,7 +682,10 @@ coordinates_in_window (w, x, y) | |||
| 682 | 682 | ||
| 683 | /* Outside any interesting column? */ | 683 | /* Outside any interesting column? */ |
| 684 | if (*x < left_x || *x > right_x) | 684 | if (*x < left_x || *x > right_x) |
| 685 | return ON_SCROLL_BAR; | 685 | { |
| 686 | *y -= top_y; | ||
| 687 | return ON_SCROLL_BAR; | ||
| 688 | } | ||
| 686 | 689 | ||
| 687 | lmargin_width = window_box_width (w, LEFT_MARGIN_AREA); | 690 | lmargin_width = window_box_width (w, LEFT_MARGIN_AREA); |
| 688 | rmargin_width = window_box_width (w, RIGHT_MARGIN_AREA); | 691 | rmargin_width = window_box_width (w, RIGHT_MARGIN_AREA); |
| @@ -739,9 +742,9 @@ coordinates_in_window (w, x, y) | |||
| 739 | ? (*x < right_x - WINDOW_RIGHT_FRINGE_WIDTH (w)) | 742 | ? (*x < right_x - WINDOW_RIGHT_FRINGE_WIDTH (w)) |
| 740 | : (*x >= right_x - rmargin_width))) | 743 | : (*x >= right_x - rmargin_width))) |
| 741 | { | 744 | { |
| 742 | *x -= right_x; | 745 | *x -= right_x - rmargin_width; |
| 743 | if (!WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w)) | 746 | if (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w)) |
| 744 | *x -= WINDOW_RIGHT_FRINGE_WIDTH (w); | 747 | *x += WINDOW_RIGHT_FRINGE_WIDTH (w); |
| 745 | *y -= top_y; | 748 | *y -= top_y; |
| 746 | return ON_RIGHT_MARGIN; | 749 | return ON_RIGHT_MARGIN; |
| 747 | } | 750 | } |
| @@ -753,7 +756,7 @@ coordinates_in_window (w, x, y) | |||
| 753 | } | 756 | } |
| 754 | 757 | ||
| 755 | /* Everything special ruled out - must be on text area */ | 758 | /* Everything special ruled out - must be on text area */ |
| 756 | *x -= left_x + WINDOW_LEFT_FRINGE_WIDTH (w); | 759 | *x -= text_left; |
| 757 | *y -= top_y; | 760 | *y -= top_y; |
| 758 | return ON_TEXT; | 761 | return ON_TEXT; |
| 759 | } | 762 | } |
| @@ -1029,7 +1032,8 @@ if it isn't already recorded. */) | |||
| 1029 | 1032 | ||
| 1030 | if (! NILP (update) | 1033 | if (! NILP (update) |
| 1031 | && ! (! NILP (w->window_end_valid) | 1034 | && ! (! NILP (w->window_end_valid) |
| 1032 | && XFASTINT (w->last_modified) >= MODIFF)) | 1035 | && XFASTINT (w->last_modified) >= MODIFF) |
| 1036 | && !noninteractive) | ||
| 1033 | { | 1037 | { |
| 1034 | struct text_pos startp; | 1038 | struct text_pos startp; |
| 1035 | struct it it; | 1039 | struct it it; |
| @@ -6232,7 +6236,7 @@ usage: (save-window-excursion BODY ...) */) | |||
| 6232 | ***********************************************************************/ | 6236 | ***********************************************************************/ |
| 6233 | 6237 | ||
| 6234 | static Lisp_Object | 6238 | static Lisp_Object |
| 6235 | window_split_tree (w) | 6239 | window_tree (w) |
| 6236 | struct window *w; | 6240 | struct window *w; |
| 6237 | { | 6241 | { |
| 6238 | Lisp_Object tail = Qnil; | 6242 | Lisp_Object tail = Qnil; |
| @@ -6245,10 +6249,10 @@ window_split_tree (w) | |||
| 6245 | XSETWINDOW (wn, w); | 6249 | XSETWINDOW (wn, w); |
| 6246 | if (!NILP (w->hchild)) | 6250 | if (!NILP (w->hchild)) |
| 6247 | wn = Fcons (Qnil, Fcons (Fwindow_edges (wn), | 6251 | wn = Fcons (Qnil, Fcons (Fwindow_edges (wn), |
| 6248 | window_split_tree (XWINDOW (w->hchild)))); | 6252 | window_tree (XWINDOW (w->hchild)))); |
| 6249 | else if (!NILP (w->vchild)) | 6253 | else if (!NILP (w->vchild)) |
| 6250 | wn = Fcons (Qt, Fcons (Fwindow_edges (wn), | 6254 | wn = Fcons (Qt, Fcons (Fwindow_edges (wn), |
| 6251 | window_split_tree (XWINDOW (w->vchild)))); | 6255 | window_tree (XWINDOW (w->vchild)))); |
| 6252 | 6256 | ||
| 6253 | if (NILP (result)) | 6257 | if (NILP (result)) |
| 6254 | { | 6258 | { |
| @@ -6268,17 +6272,17 @@ window_split_tree (w) | |||
| 6268 | 6272 | ||
| 6269 | 6273 | ||
| 6270 | 6274 | ||
| 6271 | DEFUN ("window-split-tree", Fwindow_split_tree, Swindow_split_tree, | 6275 | DEFUN ("window-tree", Fwindow_tree, Swindow_tree, |
| 6272 | 0, 1, 0, | 6276 | 0, 1, 0, |
| 6273 | doc: /* Return the window split tree for frame FRAME. | 6277 | doc: /* Return the window tree for frame FRAME. |
| 6274 | 6278 | ||
| 6275 | The return value is a list of the form (ROOT MINI), where ROOT | 6279 | The return value is a list of the form (ROOT MINI), where ROOT |
| 6276 | represents the window split tree of the frame's root window, and MINI | 6280 | represents the window tree of the frame's root window, and MINI |
| 6277 | is the frame's minibuffer window. | 6281 | is the frame's minibuffer window. |
| 6278 | 6282 | ||
| 6279 | If the root window is not split, ROOT is the root window itself. | 6283 | If the root window is not split, ROOT is the root window itself. |
| 6280 | Otherwise, ROOT is a list (DIR EDGES W1 W2 ...) where DIR is nil for a | 6284 | Otherwise, ROOT is a list (DIR EDGES W1 W2 ...) where DIR is nil for a |
| 6281 | horisontal split, and t for a vertical split, EDGES gives the combined | 6285 | horizontal split, and t for a vertical split, EDGES gives the combined |
| 6282 | size and position of the subwindows in the split, and the rest of the | 6286 | size and position of the subwindows in the split, and the rest of the |
| 6283 | elements are the subwindows in the split. Each of the subwindows may | 6287 | elements are the subwindows in the split. Each of the subwindows may |
| 6284 | again be a window or a list representing a window split, and so on. | 6288 | again be a window or a list representing a window split, and so on. |
| @@ -6301,7 +6305,7 @@ selected frame. */) | |||
| 6301 | if (!FRAME_LIVE_P (f)) | 6305 | if (!FRAME_LIVE_P (f)) |
| 6302 | return Qnil; | 6306 | return Qnil; |
| 6303 | 6307 | ||
| 6304 | return window_split_tree (XWINDOW (FRAME_ROOT_WINDOW (f))); | 6308 | return window_tree (XWINDOW (FRAME_ROOT_WINDOW (f))); |
| 6305 | } | 6309 | } |
| 6306 | 6310 | ||
| 6307 | 6311 | ||
| @@ -7110,7 +7114,7 @@ The selected frame is the one whose configuration has changed. */); | |||
| 7110 | defsubr (&Sset_window_configuration); | 7114 | defsubr (&Sset_window_configuration); |
| 7111 | defsubr (&Scurrent_window_configuration); | 7115 | defsubr (&Scurrent_window_configuration); |
| 7112 | defsubr (&Ssave_window_excursion); | 7116 | defsubr (&Ssave_window_excursion); |
| 7113 | defsubr (&Swindow_split_tree); | 7117 | defsubr (&Swindow_tree); |
| 7114 | defsubr (&Sset_window_margins); | 7118 | defsubr (&Sset_window_margins); |
| 7115 | defsubr (&Swindow_margins); | 7119 | defsubr (&Swindow_margins); |
| 7116 | defsubr (&Sset_window_fringes); | 7120 | defsubr (&Sset_window_fringes); |
diff --git a/src/xdisp.c b/src/xdisp.c index ef125409076..fd730075646 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -1351,7 +1351,7 @@ pos_visible_p (w, charpos, x, y, rtop, rbot, exact_mode_line_heights_p) | |||
| 1351 | current_header_line_height = current_mode_line_height = -1; | 1351 | current_header_line_height = current_mode_line_height = -1; |
| 1352 | 1352 | ||
| 1353 | if (visible_p && XFASTINT (w->hscroll) > 0) | 1353 | if (visible_p && XFASTINT (w->hscroll) > 0) |
| 1354 | *x -= XFASTINT (w->hscroll); | 1354 | *x -= XFASTINT (w->hscroll) * WINDOW_FRAME_COLUMN_WIDTH (w); |
| 1355 | 1355 | ||
| 1356 | return visible_p; | 1356 | return visible_p; |
| 1357 | } | 1357 | } |
| @@ -1771,15 +1771,20 @@ frame_to_window_pixel_xy (w, x, y) | |||
| 1771 | } | 1771 | } |
| 1772 | 1772 | ||
| 1773 | /* EXPORT: | 1773 | /* EXPORT: |
| 1774 | Return in *R the clipping rectangle for glyph string S. */ | 1774 | Return in RECTS[] at most N clipping rectangles for glyph string S. |
| 1775 | Return the number of stored rectangles. */ | ||
| 1775 | 1776 | ||
| 1776 | void | 1777 | int |
| 1777 | get_glyph_string_clip_rect (s, nr) | 1778 | get_glyph_string_clip_rects (s, rects, n) |
| 1778 | struct glyph_string *s; | 1779 | struct glyph_string *s; |
| 1779 | NativeRectangle *nr; | 1780 | NativeRectangle *rects; |
| 1781 | int n; | ||
| 1780 | { | 1782 | { |
| 1781 | XRectangle r; | 1783 | XRectangle r; |
| 1782 | 1784 | ||
| 1785 | if (n <= 0) | ||
| 1786 | return 0; | ||
| 1787 | |||
| 1783 | if (s->row->full_width_p) | 1788 | if (s->row->full_width_p) |
| 1784 | { | 1789 | { |
| 1785 | /* Draw full-width. X coordinates are relative to S->w->left_col. */ | 1790 | /* Draw full-width. X coordinates are relative to S->w->left_col. */ |
| @@ -1822,10 +1827,27 @@ get_glyph_string_clip_rect (s, nr) | |||
| 1822 | /* If S draws overlapping rows, it's sufficient to use the top and | 1827 | /* If S draws overlapping rows, it's sufficient to use the top and |
| 1823 | bottom of the window for clipping because this glyph string | 1828 | bottom of the window for clipping because this glyph string |
| 1824 | intentionally draws over other lines. */ | 1829 | intentionally draws over other lines. */ |
| 1825 | if (s->for_overlaps_p) | 1830 | if (s->for_overlaps) |
| 1826 | { | 1831 | { |
| 1827 | r.y = WINDOW_HEADER_LINE_HEIGHT (s->w); | 1832 | r.y = WINDOW_HEADER_LINE_HEIGHT (s->w); |
| 1828 | r.height = window_text_bottom_y (s->w) - r.y; | 1833 | r.height = window_text_bottom_y (s->w) - r.y; |
| 1834 | |||
| 1835 | /* Alas, the above simple strategy does not work for the | ||
| 1836 | environments with anti-aliased text: if the same text is | ||
| 1837 | drawn onto the same place multiple times, it gets thicker. | ||
| 1838 | If the overlap we are processing is for the erased cursor, we | ||
| 1839 | take the intersection with the rectagle of the cursor. */ | ||
| 1840 | if (s->for_overlaps & OVERLAPS_ERASED_CURSOR) | ||
| 1841 | { | ||
| 1842 | XRectangle rc, r_save = r; | ||
| 1843 | |||
| 1844 | rc.x = WINDOW_TEXT_TO_FRAME_PIXEL_X (s->w, s->w->phys_cursor.x); | ||
| 1845 | rc.y = s->w->phys_cursor.y; | ||
| 1846 | rc.width = s->w->phys_cursor_width; | ||
| 1847 | rc.height = s->w->phys_cursor_height; | ||
| 1848 | |||
| 1849 | x_intersect_rectangles (&r_save, &rc, &r); | ||
| 1850 | } | ||
| 1829 | } | 1851 | } |
| 1830 | else | 1852 | else |
| 1831 | { | 1853 | { |
| @@ -1884,11 +1906,71 @@ get_glyph_string_clip_rect (s, nr) | |||
| 1884 | } | 1906 | } |
| 1885 | } | 1907 | } |
| 1886 | 1908 | ||
| 1909 | if ((s->for_overlaps & OVERLAPS_BOTH) == 0 | ||
| 1910 | || (s->for_overlaps & OVERLAPS_BOTH) == OVERLAPS_BOTH && n == 1) | ||
| 1911 | { | ||
| 1887 | #ifdef CONVERT_FROM_XRECT | 1912 | #ifdef CONVERT_FROM_XRECT |
| 1888 | CONVERT_FROM_XRECT (r, *nr); | 1913 | CONVERT_FROM_XRECT (r, *rects); |
| 1889 | #else | 1914 | #else |
| 1890 | *nr = r; | 1915 | *rects = r; |
| 1891 | #endif | 1916 | #endif |
| 1917 | return 1; | ||
| 1918 | } | ||
| 1919 | else | ||
| 1920 | { | ||
| 1921 | /* If we are processing overlapping and allowed to return | ||
| 1922 | multiple clipping rectangles, we exclude the row of the glyph | ||
| 1923 | string from the clipping rectangle. This is to avoid drawing | ||
| 1924 | the same text on the environment with anti-aliasing. */ | ||
| 1925 | #ifdef CONVERT_FROM_XRECT | ||
| 1926 | XRectangle rs[2]; | ||
| 1927 | #else | ||
| 1928 | XRectangle *rs = rects; | ||
| 1929 | #endif | ||
| 1930 | int i = 0, row_y = WINDOW_TO_FRAME_PIXEL_Y (s->w, s->row->y); | ||
| 1931 | |||
| 1932 | if (s->for_overlaps & OVERLAPS_PRED) | ||
| 1933 | { | ||
| 1934 | rs[i] = r; | ||
| 1935 | if (r.y + r.height > row_y) | ||
| 1936 | if (r.y < row_y) | ||
| 1937 | rs[i].height = row_y - r.y; | ||
| 1938 | else | ||
| 1939 | rs[i].height = 0; | ||
| 1940 | i++; | ||
| 1941 | } | ||
| 1942 | if (s->for_overlaps & OVERLAPS_SUCC) | ||
| 1943 | { | ||
| 1944 | rs[i] = r; | ||
| 1945 | if (r.y < row_y + s->row->visible_height) | ||
| 1946 | if (r.y + r.height > row_y + s->row->visible_height) | ||
| 1947 | { | ||
| 1948 | rs[i].y = row_y + s->row->visible_height; | ||
| 1949 | rs[i].height = r.y + r.height - rs[i].y; | ||
| 1950 | } | ||
| 1951 | else | ||
| 1952 | rs[i].height = 0; | ||
| 1953 | i++; | ||
| 1954 | } | ||
| 1955 | |||
| 1956 | n = i; | ||
| 1957 | #ifdef CONVERT_FROM_XRECT | ||
| 1958 | for (i = 0; i < n; i++) | ||
| 1959 | CONVERT_FROM_XRECT (rs[i], rects[i]); | ||
| 1960 | #endif | ||
| 1961 | return n; | ||
| 1962 | } | ||
| 1963 | } | ||
| 1964 | |||
| 1965 | /* EXPORT: | ||
| 1966 | Return in *NR the clipping rectangle for glyph string S. */ | ||
| 1967 | |||
| 1968 | void | ||
| 1969 | get_glyph_string_clip_rect (s, nr) | ||
| 1970 | struct glyph_string *s; | ||
| 1971 | NativeRectangle *nr; | ||
| 1972 | { | ||
| 1973 | get_glyph_string_clip_rects (s, nr, 1); | ||
| 1892 | } | 1974 | } |
| 1893 | 1975 | ||
| 1894 | 1976 | ||
| @@ -1948,6 +2030,198 @@ get_phys_cursor_geometry (w, row, glyph, heightp) | |||
| 1948 | return WINDOW_TO_FRAME_PIXEL_Y (w, y); | 2030 | return WINDOW_TO_FRAME_PIXEL_Y (w, y); |
| 1949 | } | 2031 | } |
| 1950 | 2032 | ||
| 2033 | /* | ||
| 2034 | * Remember which glyph the mouse is over. | ||
| 2035 | */ | ||
| 2036 | |||
| 2037 | void | ||
| 2038 | remember_mouse_glyph (f, gx, gy, rect) | ||
| 2039 | struct frame *f; | ||
| 2040 | int gx, gy; | ||
| 2041 | NativeRectangle *rect; | ||
| 2042 | { | ||
| 2043 | Lisp_Object window; | ||
| 2044 | struct window *w; | ||
| 2045 | struct glyph_row *r, *gr, *end_row; | ||
| 2046 | enum window_part part; | ||
| 2047 | enum glyph_row_area area; | ||
| 2048 | int x, y, width, height; | ||
| 2049 | |||
| 2050 | /* Try to determine frame pixel position and size of the glyph under | ||
| 2051 | frame pixel coordinates X/Y on frame F. */ | ||
| 2052 | |||
| 2053 | window = window_from_coordinates (f, gx, gy, &part, &x, &y, 0); | ||
| 2054 | if (NILP (window)) | ||
| 2055 | { | ||
| 2056 | width = FRAME_SMALLEST_CHAR_WIDTH (f); | ||
| 2057 | height = FRAME_SMALLEST_FONT_HEIGHT (f); | ||
| 2058 | goto virtual_glyph; | ||
| 2059 | } | ||
| 2060 | |||
| 2061 | w = XWINDOW (window); | ||
| 2062 | width = WINDOW_FRAME_COLUMN_WIDTH (w); | ||
| 2063 | height = WINDOW_FRAME_LINE_HEIGHT (w); | ||
| 2064 | |||
| 2065 | r = MATRIX_FIRST_TEXT_ROW (w->current_matrix); | ||
| 2066 | end_row = MATRIX_BOTTOM_TEXT_ROW (w->current_matrix, w); | ||
| 2067 | |||
| 2068 | if (w->pseudo_window_p) | ||
| 2069 | { | ||
| 2070 | area = TEXT_AREA; | ||
| 2071 | part = ON_MODE_LINE; /* Don't adjust margin. */ | ||
| 2072 | goto text_glyph; | ||
| 2073 | } | ||
| 2074 | |||
| 2075 | switch (part) | ||
| 2076 | { | ||
| 2077 | case ON_LEFT_MARGIN: | ||
| 2078 | area = LEFT_MARGIN_AREA; | ||
| 2079 | goto text_glyph; | ||
| 2080 | |||
| 2081 | case ON_RIGHT_MARGIN: | ||
| 2082 | area = RIGHT_MARGIN_AREA; | ||
| 2083 | goto text_glyph; | ||
| 2084 | |||
| 2085 | case ON_HEADER_LINE: | ||
| 2086 | case ON_MODE_LINE: | ||
| 2087 | gr = (part == ON_HEADER_LINE | ||
| 2088 | ? MATRIX_HEADER_LINE_ROW (w->current_matrix) | ||
| 2089 | : MATRIX_MODE_LINE_ROW (w->current_matrix)); | ||
| 2090 | gy = gr->y; | ||
| 2091 | area = TEXT_AREA; | ||
| 2092 | goto text_glyph_row_found; | ||
| 2093 | |||
| 2094 | case ON_TEXT: | ||
| 2095 | area = TEXT_AREA; | ||
| 2096 | |||
| 2097 | text_glyph: | ||
| 2098 | gr = 0; gy = 0; | ||
| 2099 | for (; r <= end_row && r->enabled_p; ++r) | ||
| 2100 | if (r->y + r->height > y) | ||
| 2101 | { | ||
| 2102 | gr = r; gy = r->y; | ||
| 2103 | break; | ||
| 2104 | } | ||
| 2105 | |||
| 2106 | text_glyph_row_found: | ||
| 2107 | if (gr && gy <= y) | ||
| 2108 | { | ||
| 2109 | struct glyph *g = gr->glyphs[area]; | ||
| 2110 | struct glyph *end = g + gr->used[area]; | ||
| 2111 | |||
| 2112 | height = gr->height; | ||
| 2113 | for (gx = gr->x; g < end; gx += g->pixel_width, ++g) | ||
| 2114 | if (gx + g->pixel_width > x) | ||
| 2115 | break; | ||
| 2116 | |||
| 2117 | if (g < end) | ||
| 2118 | { | ||
| 2119 | if (g->type == IMAGE_GLYPH) | ||
| 2120 | { | ||
| 2121 | /* Don't remember when mouse is over image, as | ||
| 2122 | image may have hot-spots. */ | ||
| 2123 | STORE_NATIVE_RECT (*rect, 0, 0, 0, 0); | ||
| 2124 | return; | ||
| 2125 | } | ||
| 2126 | width = g->pixel_width; | ||
| 2127 | } | ||
| 2128 | else | ||
| 2129 | { | ||
| 2130 | /* Use nominal char spacing at end of line. */ | ||
| 2131 | x -= gx; | ||
| 2132 | gx += (x / width) * width; | ||
| 2133 | } | ||
| 2134 | |||
| 2135 | if (part != ON_MODE_LINE && part != ON_HEADER_LINE) | ||
| 2136 | gx += window_box_left_offset (w, area); | ||
| 2137 | } | ||
| 2138 | else | ||
| 2139 | { | ||
| 2140 | /* Use nominal line height at end of window. */ | ||
| 2141 | gx = (x / width) * width; | ||
| 2142 | y -= gy; | ||
| 2143 | gy += (y / height) * height; | ||
| 2144 | } | ||
| 2145 | break; | ||
| 2146 | |||
| 2147 | case ON_LEFT_FRINGE: | ||
| 2148 | gx = (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w) | ||
| 2149 | ? WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH (w) | ||
| 2150 | : window_box_right_offset (w, LEFT_MARGIN_AREA)); | ||
| 2151 | width = WINDOW_LEFT_FRINGE_WIDTH (w); | ||
| 2152 | goto row_glyph; | ||
| 2153 | |||
| 2154 | case ON_RIGHT_FRINGE: | ||
| 2155 | gx = (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w) | ||
| 2156 | ? window_box_right_offset (w, RIGHT_MARGIN_AREA) | ||
| 2157 | : window_box_right_offset (w, TEXT_AREA)); | ||
| 2158 | width = WINDOW_RIGHT_FRINGE_WIDTH (w); | ||
| 2159 | goto row_glyph; | ||
| 2160 | |||
| 2161 | case ON_SCROLL_BAR: | ||
| 2162 | gx = (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT (w) | ||
| 2163 | ? 0 | ||
| 2164 | : (window_box_right_offset (w, RIGHT_MARGIN_AREA) | ||
| 2165 | + (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w) | ||
| 2166 | ? WINDOW_RIGHT_FRINGE_WIDTH (w) | ||
| 2167 | : 0))); | ||
| 2168 | width = WINDOW_SCROLL_BAR_AREA_WIDTH (w); | ||
| 2169 | |||
| 2170 | row_glyph: | ||
| 2171 | gr = 0, gy = 0; | ||
| 2172 | for (; r <= end_row && r->enabled_p; ++r) | ||
| 2173 | if (r->y + r->height > y) | ||
| 2174 | { | ||
| 2175 | gr = r; gy = r->y; | ||
| 2176 | break; | ||
| 2177 | } | ||
| 2178 | |||
| 2179 | if (gr && gy <= y) | ||
| 2180 | height = gr->height; | ||
| 2181 | else | ||
| 2182 | { | ||
| 2183 | /* Use nominal line height at end of window. */ | ||
| 2184 | y -= gy; | ||
| 2185 | gy += (y / height) * height; | ||
| 2186 | } | ||
| 2187 | break; | ||
| 2188 | |||
| 2189 | default: | ||
| 2190 | ; | ||
| 2191 | virtual_glyph: | ||
| 2192 | /* If there is no glyph under the mouse, then we divide the screen | ||
| 2193 | into a grid of the smallest glyph in the frame, and use that | ||
| 2194 | as our "glyph". */ | ||
| 2195 | |||
| 2196 | /* Arrange for the division in FRAME_PIXEL_X_TO_COL etc. to | ||
| 2197 | round down even for negative values. */ | ||
| 2198 | if (gx < 0) | ||
| 2199 | gx -= width - 1; | ||
| 2200 | if (gy < 0) | ||
| 2201 | gy -= height - 1; | ||
| 2202 | |||
| 2203 | gx = (gx / width) * width; | ||
| 2204 | gy = (gy / height) * height; | ||
| 2205 | |||
| 2206 | goto store_rect; | ||
| 2207 | } | ||
| 2208 | |||
| 2209 | gx += WINDOW_LEFT_EDGE_X (w); | ||
| 2210 | gy += WINDOW_TOP_EDGE_Y (w); | ||
| 2211 | |||
| 2212 | store_rect: | ||
| 2213 | STORE_NATIVE_RECT (*rect, gx, gy, width, height); | ||
| 2214 | |||
| 2215 | /* Visible feedback for debugging. */ | ||
| 2216 | #if 0 | ||
| 2217 | #if HAVE_X_WINDOWS | ||
| 2218 | XDrawRectangle (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), | ||
| 2219 | f->output_data.x->normal_gc, | ||
| 2220 | gx, gy, width, height); | ||
| 2221 | #endif | ||
| 2222 | #endif | ||
| 2223 | } | ||
| 2224 | |||
| 1951 | 2225 | ||
| 1952 | #endif /* HAVE_WINDOW_SYSTEM */ | 2226 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 1953 | 2227 | ||
| @@ -18122,22 +18396,23 @@ get_glyph_face_and_encoding (f, glyph, char2b, two_byte_p) | |||
| 18122 | 18396 | ||
| 18123 | FACES is an array of faces for all components of this composition. | 18397 | FACES is an array of faces for all components of this composition. |
| 18124 | S->gidx is the index of the first component for S. | 18398 | S->gidx is the index of the first component for S. |
| 18125 | OVERLAPS_P non-zero means S should draw the foreground only, and | 18399 | |
| 18126 | use its physical height for clipping. | 18400 | OVERLAPS non-zero means S should draw the foreground only, and use |
| 18401 | its physical height for clipping. See also draw_glyphs. | ||
| 18127 | 18402 | ||
| 18128 | Value is the index of a component not in S. */ | 18403 | Value is the index of a component not in S. */ |
| 18129 | 18404 | ||
| 18130 | static int | 18405 | static int |
| 18131 | fill_composite_glyph_string (s, faces, overlaps_p) | 18406 | fill_composite_glyph_string (s, faces, overlaps) |
| 18132 | struct glyph_string *s; | 18407 | struct glyph_string *s; |
| 18133 | struct face **faces; | 18408 | struct face **faces; |
| 18134 | int overlaps_p; | 18409 | int overlaps; |
| 18135 | { | 18410 | { |
| 18136 | int i; | 18411 | int i; |
| 18137 | 18412 | ||
| 18138 | xassert (s); | 18413 | xassert (s); |
| 18139 | 18414 | ||
| 18140 | s->for_overlaps_p = overlaps_p; | 18415 | s->for_overlaps = overlaps; |
| 18141 | 18416 | ||
| 18142 | s->face = faces[s->gidx]; | 18417 | s->face = faces[s->gidx]; |
| 18143 | s->font = s->face->font; | 18418 | s->font = s->face->font; |
| @@ -18181,16 +18456,16 @@ fill_composite_glyph_string (s, faces, overlaps_p) | |||
| 18181 | 18456 | ||
| 18182 | FACE_ID is the face id of the string. START is the index of the | 18457 | FACE_ID is the face id of the string. START is the index of the |
| 18183 | first glyph to consider, END is the index of the last + 1. | 18458 | first glyph to consider, END is the index of the last + 1. |
| 18184 | OVERLAPS_P non-zero means S should draw the foreground only, and | 18459 | OVERLAPS non-zero means S should draw the foreground only, and use |
| 18185 | use its physical height for clipping. | 18460 | its physical height for clipping. See also draw_glyphs. |
| 18186 | 18461 | ||
| 18187 | Value is the index of the first glyph not in S. */ | 18462 | Value is the index of the first glyph not in S. */ |
| 18188 | 18463 | ||
| 18189 | static int | 18464 | static int |
| 18190 | fill_glyph_string (s, face_id, start, end, overlaps_p) | 18465 | fill_glyph_string (s, face_id, start, end, overlaps) |
| 18191 | struct glyph_string *s; | 18466 | struct glyph_string *s; |
| 18192 | int face_id; | 18467 | int face_id; |
| 18193 | int start, end, overlaps_p; | 18468 | int start, end, overlaps; |
| 18194 | { | 18469 | { |
| 18195 | struct glyph *glyph, *last; | 18470 | struct glyph *glyph, *last; |
| 18196 | int voffset; | 18471 | int voffset; |
| @@ -18200,7 +18475,7 @@ fill_glyph_string (s, face_id, start, end, overlaps_p) | |||
| 18200 | xassert (s->nchars == 0); | 18475 | xassert (s->nchars == 0); |
| 18201 | xassert (start >= 0 && end > start); | 18476 | xassert (start >= 0 && end > start); |
| 18202 | 18477 | ||
| 18203 | s->for_overlaps_p = overlaps_p, | 18478 | s->for_overlaps = overlaps, |
| 18204 | glyph = s->row->glyphs[s->area] + start; | 18479 | glyph = s->row->glyphs[s->area] + start; |
| 18205 | last = s->row->glyphs[s->area] + end; | 18480 | last = s->row->glyphs[s->area] + end; |
| 18206 | voffset = glyph->voffset; | 18481 | voffset = glyph->voffset; |
| @@ -18676,7 +18951,7 @@ compute_overhangs_and_x (s, x, backward_p) | |||
| 18676 | INIT_GLYPH_STRING (s, char2b, w, row, area, START, HL); \ | 18951 | INIT_GLYPH_STRING (s, char2b, w, row, area, START, HL); \ |
| 18677 | append_glyph_string (&HEAD, &TAIL, s); \ | 18952 | append_glyph_string (&HEAD, &TAIL, s); \ |
| 18678 | s->x = (X); \ | 18953 | s->x = (X); \ |
| 18679 | START = fill_glyph_string (s, face_id, START, END, overlaps_p); \ | 18954 | START = fill_glyph_string (s, face_id, START, END, overlaps); \ |
| 18680 | } \ | 18955 | } \ |
| 18681 | while (0) | 18956 | while (0) |
| 18682 | 18957 | ||
| @@ -18729,7 +19004,7 @@ compute_overhangs_and_x (s, x, backward_p) | |||
| 18729 | if (n == 0) \ | 19004 | if (n == 0) \ |
| 18730 | first_s = s; \ | 19005 | first_s = s; \ |
| 18731 | \ | 19006 | \ |
| 18732 | n = fill_composite_glyph_string (s, faces, overlaps_p); \ | 19007 | n = fill_composite_glyph_string (s, faces, overlaps); \ |
| 18733 | } \ | 19008 | } \ |
| 18734 | \ | 19009 | \ |
| 18735 | ++START; \ | 19010 | ++START; \ |
| @@ -18801,20 +19076,26 @@ compute_overhangs_and_x (s, x, backward_p) | |||
| 18801 | DRAW_IMAGE_SUNKEN draw an image with a sunken relief around it | 19076 | DRAW_IMAGE_SUNKEN draw an image with a sunken relief around it |
| 18802 | DRAW_IMAGE_RAISED draw an image with a raised relief around it | 19077 | DRAW_IMAGE_RAISED draw an image with a raised relief around it |
| 18803 | 19078 | ||
| 18804 | If OVERLAPS_P is non-zero, draw only the foreground of characters | 19079 | If OVERLAPS is non-zero, draw only the foreground of characters and |
| 18805 | and clip to the physical height of ROW. | 19080 | clip to the physical height of ROW. Non-zero value also defines |
| 19081 | the overlapping part to be drawn: | ||
| 19082 | |||
| 19083 | OVERLAPS_PRED overlap with preceding rows | ||
| 19084 | OVERLAPS_SUCC overlap with succeeding rows | ||
| 19085 | OVERLAPS_BOTH overlap with both preceding/succeeding rows | ||
| 19086 | OVERLAPS_ERASED_CURSOR overlap with erased cursor area | ||
| 18806 | 19087 | ||
| 18807 | Value is the x-position reached, relative to AREA of W. */ | 19088 | Value is the x-position reached, relative to AREA of W. */ |
| 18808 | 19089 | ||
| 18809 | static int | 19090 | static int |
| 18810 | draw_glyphs (w, x, row, area, start, end, hl, overlaps_p) | 19091 | draw_glyphs (w, x, row, area, start, end, hl, overlaps) |
| 18811 | struct window *w; | 19092 | struct window *w; |
| 18812 | int x; | 19093 | int x; |
| 18813 | struct glyph_row *row; | 19094 | struct glyph_row *row; |
| 18814 | enum glyph_row_area area; | 19095 | enum glyph_row_area area; |
| 18815 | EMACS_INT start, end; | 19096 | EMACS_INT start, end; |
| 18816 | enum draw_glyphs_face hl; | 19097 | enum draw_glyphs_face hl; |
| 18817 | int overlaps_p; | 19098 | int overlaps; |
| 18818 | { | 19099 | { |
| 18819 | struct glyph_string *head, *tail; | 19100 | struct glyph_string *head, *tail; |
| 18820 | struct glyph_string *s; | 19101 | struct glyph_string *s; |
| @@ -18863,7 +19144,7 @@ draw_glyphs (w, x, row, area, start, end, hl, overlaps_p) | |||
| 18863 | /* If there are any glyphs with lbearing < 0 or rbearing > width in | 19144 | /* If there are any glyphs with lbearing < 0 or rbearing > width in |
| 18864 | the row, redraw some glyphs in front or following the glyph | 19145 | the row, redraw some glyphs in front or following the glyph |
| 18865 | strings built above. */ | 19146 | strings built above. */ |
| 18866 | if (head && !overlaps_p && row->contains_overlapping_glyphs_p) | 19147 | if (head && !overlaps && row->contains_overlapping_glyphs_p) |
| 18867 | { | 19148 | { |
| 18868 | int dummy_x = 0; | 19149 | int dummy_x = 0; |
| 18869 | struct glyph_string *h, *t; | 19150 | struct glyph_string *h, *t; |
| @@ -18956,7 +19237,7 @@ draw_glyphs (w, x, row, area, start, end, hl, overlaps_p) | |||
| 18956 | /* When drawing overlapping rows, only the glyph strings' | 19237 | /* When drawing overlapping rows, only the glyph strings' |
| 18957 | foreground is drawn, which doesn't erase a cursor | 19238 | foreground is drawn, which doesn't erase a cursor |
| 18958 | completely. */ | 19239 | completely. */ |
| 18959 | && !overlaps_p) | 19240 | && !overlaps) |
| 18960 | { | 19241 | { |
| 18961 | int x0 = clip_head ? clip_head->x : (head ? head->x : x); | 19242 | int x0 = clip_head ? clip_head->x : (head ? head->x : x); |
| 18962 | int x1 = (clip_tail ? clip_tail->x + clip_tail->background_width | 19243 | int x1 = (clip_tail ? clip_tail->x + clip_tail->background_width |
| @@ -20729,13 +21010,15 @@ notice_overwritten_cursor (w, area, x0, x1, y0, y1) | |||
| 20729 | #ifdef HAVE_WINDOW_SYSTEM | 21010 | #ifdef HAVE_WINDOW_SYSTEM |
| 20730 | 21011 | ||
| 20731 | /* EXPORT for RIF: | 21012 | /* EXPORT for RIF: |
| 20732 | Fix the display of area AREA of overlapping row ROW in window W. */ | 21013 | Fix the display of area AREA of overlapping row ROW in window W |
| 21014 | with respect to the overlapping part OVERLAPS. */ | ||
| 20733 | 21015 | ||
| 20734 | void | 21016 | void |
| 20735 | x_fix_overlapping_area (w, row, area) | 21017 | x_fix_overlapping_area (w, row, area, overlaps) |
| 20736 | struct window *w; | 21018 | struct window *w; |
| 20737 | struct glyph_row *row; | 21019 | struct glyph_row *row; |
| 20738 | enum glyph_row_area area; | 21020 | enum glyph_row_area area; |
| 21021 | int overlaps; | ||
| 20739 | { | 21022 | { |
| 20740 | int i, x; | 21023 | int i, x; |
| 20741 | 21024 | ||
| @@ -20758,7 +21041,7 @@ x_fix_overlapping_area (w, row, area) | |||
| 20758 | 21041 | ||
| 20759 | draw_glyphs (w, start_x, row, area, | 21042 | draw_glyphs (w, start_x, row, area, |
| 20760 | start, i, | 21043 | start, i, |
| 20761 | DRAW_NORMAL_TEXT, 1); | 21044 | DRAW_NORMAL_TEXT, overlaps); |
| 20762 | } | 21045 | } |
| 20763 | else | 21046 | else |
| 20764 | { | 21047 | { |
| @@ -20800,13 +21083,17 @@ draw_phys_cursor_glyph (w, row, hl) | |||
| 20800 | are redrawn. */ | 21083 | are redrawn. */ |
| 20801 | else if (hl == DRAW_NORMAL_TEXT && row->overlapped_p) | 21084 | else if (hl == DRAW_NORMAL_TEXT && row->overlapped_p) |
| 20802 | { | 21085 | { |
| 21086 | w->phys_cursor_width = x1 - w->phys_cursor.x; | ||
| 21087 | |||
| 20803 | if (row > w->current_matrix->rows | 21088 | if (row > w->current_matrix->rows |
| 20804 | && MATRIX_ROW_OVERLAPS_SUCC_P (row - 1)) | 21089 | && MATRIX_ROW_OVERLAPS_SUCC_P (row - 1)) |
| 20805 | x_fix_overlapping_area (w, row - 1, TEXT_AREA); | 21090 | x_fix_overlapping_area (w, row - 1, TEXT_AREA, |
| 21091 | OVERLAPS_ERASED_CURSOR); | ||
| 20806 | 21092 | ||
| 20807 | if (MATRIX_ROW_BOTTOM_Y (row) < window_text_bottom_y (w) | 21093 | if (MATRIX_ROW_BOTTOM_Y (row) < window_text_bottom_y (w) |
| 20808 | && MATRIX_ROW_OVERLAPS_PRED_P (row + 1)) | 21094 | && MATRIX_ROW_OVERLAPS_PRED_P (row + 1)) |
| 20809 | x_fix_overlapping_area (w, row + 1, TEXT_AREA); | 21095 | x_fix_overlapping_area (w, row + 1, TEXT_AREA, |
| 21096 | OVERLAPS_ERASED_CURSOR); | ||
| 20810 | } | 21097 | } |
| 20811 | } | 21098 | } |
| 20812 | } | 21099 | } |
| @@ -22597,13 +22884,13 @@ expose_overlaps (w, first_overlapping_row, last_overlapping_row) | |||
| 22597 | xassert (row->enabled_p && !row->mode_line_p); | 22884 | xassert (row->enabled_p && !row->mode_line_p); |
| 22598 | 22885 | ||
| 22599 | if (row->used[LEFT_MARGIN_AREA]) | 22886 | if (row->used[LEFT_MARGIN_AREA]) |
| 22600 | x_fix_overlapping_area (w, row, LEFT_MARGIN_AREA); | 22887 | x_fix_overlapping_area (w, row, LEFT_MARGIN_AREA, OVERLAPS_BOTH); |
| 22601 | 22888 | ||
| 22602 | if (row->used[TEXT_AREA]) | 22889 | if (row->used[TEXT_AREA]) |
| 22603 | x_fix_overlapping_area (w, row, TEXT_AREA); | 22890 | x_fix_overlapping_area (w, row, TEXT_AREA, OVERLAPS_BOTH); |
| 22604 | 22891 | ||
| 22605 | if (row->used[RIGHT_MARGIN_AREA]) | 22892 | if (row->used[RIGHT_MARGIN_AREA]) |
| 22606 | x_fix_overlapping_area (w, row, RIGHT_MARGIN_AREA); | 22893 | x_fix_overlapping_area (w, row, RIGHT_MARGIN_AREA, OVERLAPS_BOTH); |
| 22607 | } | 22894 | } |
| 22608 | } | 22895 | } |
| 22609 | 22896 | ||
diff --git a/src/xfaces.c b/src/xfaces.c index df8dc15f022..2c5f729f6c5 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -790,7 +790,10 @@ x_create_gc (f, mask, xgcv) | |||
| 790 | XGCValues *xgcv; | 790 | XGCValues *xgcv; |
| 791 | { | 791 | { |
| 792 | GC gc; | 792 | GC gc; |
| 793 | BLOCK_INPUT; | ||
| 793 | gc = XCreateGC (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), mask, xgcv); | 794 | gc = XCreateGC (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), mask, xgcv); |
| 795 | UNBLOCK_INPUT; | ||
| 796 | IF_DEBUG (++ngcs); | ||
| 794 | return gc; | 797 | return gc; |
| 795 | } | 798 | } |
| 796 | 799 | ||
| @@ -799,7 +802,10 @@ x_free_gc (f, gc) | |||
| 799 | struct frame *f; | 802 | struct frame *f; |
| 800 | GC gc; | 803 | GC gc; |
| 801 | { | 804 | { |
| 805 | BLOCK_INPUT; | ||
| 806 | IF_DEBUG (xassert (--ngcs >= 0)); | ||
| 802 | XFreeGC (FRAME_MAC_DISPLAY (f), gc); | 807 | XFreeGC (FRAME_MAC_DISPLAY (f), gc); |
| 808 | UNBLOCK_INPUT; | ||
| 803 | } | 809 | } |
| 804 | 810 | ||
| 805 | #endif /* MAC_OS */ | 811 | #endif /* MAC_OS */ |
diff --git a/src/xfns.c b/src/xfns.c index 027a1464503..a8640d72986 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -3261,7 +3261,7 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 3261 | 3261 | ||
| 3262 | /* We need to do this after creating the X window, so that the | 3262 | /* We need to do this after creating the X window, so that the |
| 3263 | icon-creation functions can say whose icon they're describing. */ | 3263 | icon-creation functions can say whose icon they're describing. */ |
| 3264 | x_default_parameter (f, parms, Qicon_type, Qnil, | 3264 | x_default_parameter (f, parms, Qicon_type, Qt, |
| 3265 | "bitmapIcon", "BitmapIcon", RES_TYPE_SYMBOL); | 3265 | "bitmapIcon", "BitmapIcon", RES_TYPE_SYMBOL); |
| 3266 | 3266 | ||
| 3267 | x_default_parameter (f, parms, Qauto_raise, Qnil, | 3267 | x_default_parameter (f, parms, Qauto_raise, Qnil, |
diff --git a/src/xterm.c b/src/xterm.c index 5b7d45fe228..ce46bd16f42 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -1305,7 +1305,7 @@ x_draw_glyph_string_foreground (s) | |||
| 1305 | XDrawImageString is usually faster than XDrawString.) Always | 1305 | XDrawImageString is usually faster than XDrawString.) Always |
| 1306 | use XDrawImageString when drawing the cursor so that there is | 1306 | use XDrawImageString when drawing the cursor so that there is |
| 1307 | no chance that characters under a box cursor are invisible. */ | 1307 | no chance that characters under a box cursor are invisible. */ |
| 1308 | if (s->for_overlaps_p | 1308 | if (s->for_overlaps |
| 1309 | || (s->background_filled_p && s->hl != DRAW_CURSOR)) | 1309 | || (s->background_filled_p && s->hl != DRAW_CURSOR)) |
| 1310 | { | 1310 | { |
| 1311 | /* Draw characters with 16-bit or 8-bit functions. */ | 1311 | /* Draw characters with 16-bit or 8-bit functions. */ |
| @@ -2610,7 +2610,7 @@ x_draw_glyph_string (s) | |||
| 2610 | /* If S draws into the background of its successor, draw the | 2610 | /* If S draws into the background of its successor, draw the |
| 2611 | background of the successor first so that S can draw into it. | 2611 | background of the successor first so that S can draw into it. |
| 2612 | This makes S->next use XDrawString instead of XDrawImageString. */ | 2612 | This makes S->next use XDrawString instead of XDrawImageString. */ |
| 2613 | if (s->next && s->right_overhang && !s->for_overlaps_p) | 2613 | if (s->next && s->right_overhang && !s->for_overlaps) |
| 2614 | { | 2614 | { |
| 2615 | xassert (s->next->img == NULL); | 2615 | xassert (s->next->img == NULL); |
| 2616 | x_set_glyph_string_gc (s->next); | 2616 | x_set_glyph_string_gc (s->next); |
| @@ -2623,7 +2623,7 @@ x_draw_glyph_string (s) | |||
| 2623 | 2623 | ||
| 2624 | /* Draw relief (if any) in advance for char/composition so that the | 2624 | /* Draw relief (if any) in advance for char/composition so that the |
| 2625 | glyph string can be drawn over it. */ | 2625 | glyph string can be drawn over it. */ |
| 2626 | if (!s->for_overlaps_p | 2626 | if (!s->for_overlaps |
| 2627 | && s->face->box != FACE_NO_BOX | 2627 | && s->face->box != FACE_NO_BOX |
| 2628 | && (s->first_glyph->type == CHAR_GLYPH | 2628 | && (s->first_glyph->type == CHAR_GLYPH |
| 2629 | || s->first_glyph->type == COMPOSITE_GLYPH)) | 2629 | || s->first_glyph->type == COMPOSITE_GLYPH)) |
| @@ -2649,7 +2649,7 @@ x_draw_glyph_string (s) | |||
| 2649 | break; | 2649 | break; |
| 2650 | 2650 | ||
| 2651 | case CHAR_GLYPH: | 2651 | case CHAR_GLYPH: |
| 2652 | if (s->for_overlaps_p) | 2652 | if (s->for_overlaps) |
| 2653 | s->background_filled_p = 1; | 2653 | s->background_filled_p = 1; |
| 2654 | else | 2654 | else |
| 2655 | x_draw_glyph_string_background (s, 0); | 2655 | x_draw_glyph_string_background (s, 0); |
| @@ -2657,7 +2657,7 @@ x_draw_glyph_string (s) | |||
| 2657 | break; | 2657 | break; |
| 2658 | 2658 | ||
| 2659 | case COMPOSITE_GLYPH: | 2659 | case COMPOSITE_GLYPH: |
| 2660 | if (s->for_overlaps_p || s->gidx > 0) | 2660 | if (s->for_overlaps || s->gidx > 0) |
| 2661 | s->background_filled_p = 1; | 2661 | s->background_filled_p = 1; |
| 2662 | else | 2662 | else |
| 2663 | x_draw_glyph_string_background (s, 1); | 2663 | x_draw_glyph_string_background (s, 1); |
| @@ -2668,7 +2668,7 @@ x_draw_glyph_string (s) | |||
| 2668 | abort (); | 2668 | abort (); |
| 2669 | } | 2669 | } |
| 2670 | 2670 | ||
| 2671 | if (!s->for_overlaps_p) | 2671 | if (!s->for_overlaps) |
| 2672 | { | 2672 | { |
| 2673 | /* Draw underline. */ | 2673 | /* Draw underline. */ |
| 2674 | if (s->face->underline_p) | 2674 | if (s->face->underline_p) |
| @@ -3588,7 +3588,7 @@ construct_mouse_click (result, event, f) | |||
| 3588 | static XMotionEvent last_mouse_motion_event; | 3588 | static XMotionEvent last_mouse_motion_event; |
| 3589 | static Lisp_Object last_mouse_motion_frame; | 3589 | static Lisp_Object last_mouse_motion_frame; |
| 3590 | 3590 | ||
| 3591 | static void | 3591 | static int |
| 3592 | note_mouse_movement (frame, event) | 3592 | note_mouse_movement (frame, event) |
| 3593 | FRAME_PTR frame; | 3593 | FRAME_PTR frame; |
| 3594 | XMotionEvent *event; | 3594 | XMotionEvent *event; |
| @@ -3602,10 +3602,11 @@ note_mouse_movement (frame, event) | |||
| 3602 | frame->mouse_moved = 1; | 3602 | frame->mouse_moved = 1; |
| 3603 | last_mouse_scroll_bar = Qnil; | 3603 | last_mouse_scroll_bar = Qnil; |
| 3604 | note_mouse_highlight (frame, -1, -1); | 3604 | note_mouse_highlight (frame, -1, -1); |
| 3605 | return 1; | ||
| 3605 | } | 3606 | } |
| 3606 | 3607 | ||
| 3607 | /* Has the mouse moved off the glyph it was on at the last sighting? */ | 3608 | /* Has the mouse moved off the glyph it was on at the last sighting? */ |
| 3608 | else if (event->x < last_mouse_glyph.x | 3609 | if (event->x < last_mouse_glyph.x |
| 3609 | || event->x >= last_mouse_glyph.x + last_mouse_glyph.width | 3610 | || event->x >= last_mouse_glyph.x + last_mouse_glyph.width |
| 3610 | || event->y < last_mouse_glyph.y | 3611 | || event->y < last_mouse_glyph.y |
| 3611 | || event->y >= last_mouse_glyph.y + last_mouse_glyph.height) | 3612 | || event->y >= last_mouse_glyph.y + last_mouse_glyph.height) |
| @@ -3613,7 +3614,12 @@ note_mouse_movement (frame, event) | |||
| 3613 | frame->mouse_moved = 1; | 3614 | frame->mouse_moved = 1; |
| 3614 | last_mouse_scroll_bar = Qnil; | 3615 | last_mouse_scroll_bar = Qnil; |
| 3615 | note_mouse_highlight (frame, event->x, event->y); | 3616 | note_mouse_highlight (frame, event->x, event->y); |
| 3617 | /* Remember which glyph we're now on. */ | ||
| 3618 | remember_mouse_glyph (frame, event->x, event->y, &last_mouse_glyph); | ||
| 3619 | return 1; | ||
| 3616 | } | 3620 | } |
| 3621 | |||
| 3622 | return 0; | ||
| 3617 | } | 3623 | } |
| 3618 | 3624 | ||
| 3619 | 3625 | ||
| @@ -3632,56 +3638,6 @@ redo_mouse_highlight () | |||
| 3632 | } | 3638 | } |
| 3633 | 3639 | ||
| 3634 | 3640 | ||
| 3635 | static int glyph_rect P_ ((struct frame *f, int, int, XRectangle *)); | ||
| 3636 | |||
| 3637 | |||
| 3638 | /* Try to determine frame pixel position and size of the glyph under | ||
| 3639 | frame pixel coordinates X/Y on frame F . Return the position and | ||
| 3640 | size in *RECT. Value is non-zero if we could compute these | ||
| 3641 | values. */ | ||
| 3642 | |||
| 3643 | static int | ||
| 3644 | glyph_rect (f, x, y, rect) | ||
| 3645 | struct frame *f; | ||
| 3646 | int x, y; | ||
| 3647 | XRectangle *rect; | ||
| 3648 | { | ||
| 3649 | Lisp_Object window; | ||
| 3650 | struct window *w; | ||
| 3651 | struct glyph_row *r, *end_row; | ||
| 3652 | |||
| 3653 | window = window_from_coordinates (f, x, y, 0, &x, &y, 0); | ||
| 3654 | if (NILP (window)) | ||
| 3655 | return 0; | ||
| 3656 | |||
| 3657 | w = XWINDOW (window); | ||
| 3658 | r = MATRIX_FIRST_TEXT_ROW (w->current_matrix); | ||
| 3659 | end_row = r + w->current_matrix->nrows - 1; | ||
| 3660 | |||
| 3661 | for (; r < end_row && r->enabled_p; ++r) | ||
| 3662 | { | ||
| 3663 | if (r->y >= y) | ||
| 3664 | { | ||
| 3665 | struct glyph *g = r->glyphs[TEXT_AREA]; | ||
| 3666 | struct glyph *end = g + r->used[TEXT_AREA]; | ||
| 3667 | int gx = r->x; | ||
| 3668 | while (g < end && gx < x) | ||
| 3669 | gx += g->pixel_width, ++g; | ||
| 3670 | if (g < end) | ||
| 3671 | { | ||
| 3672 | rect->width = g->pixel_width; | ||
| 3673 | rect->height = r->height; | ||
| 3674 | rect->x = WINDOW_TO_FRAME_PIXEL_X (w, gx); | ||
| 3675 | rect->y = WINDOW_TO_FRAME_PIXEL_Y (w, r->y); | ||
| 3676 | return 1; | ||
| 3677 | } | ||
| 3678 | break; | ||
| 3679 | } | ||
| 3680 | } | ||
| 3681 | |||
| 3682 | return 0; | ||
| 3683 | } | ||
| 3684 | |||
| 3685 | 3641 | ||
| 3686 | /* Return the current position of the mouse. | 3642 | /* Return the current position of the mouse. |
| 3687 | *FP should be a frame which indicates which display to ask about. | 3643 | *FP should be a frame which indicates which display to ask about. |
| @@ -3869,32 +3825,7 @@ XTmouse_position (fp, insist, bar_window, part, x, y, time) | |||
| 3869 | on it, i.e. into the same rectangles that matrices on | 3825 | on it, i.e. into the same rectangles that matrices on |
| 3870 | the frame are divided into. */ | 3826 | the frame are divided into. */ |
| 3871 | 3827 | ||
| 3872 | int width, height, gx, gy; | 3828 | remember_mouse_glyph (f1, win_x, win_y, &last_mouse_glyph); |
| 3873 | XRectangle rect; | ||
| 3874 | |||
| 3875 | if (glyph_rect (f1, win_x, win_y, &rect)) | ||
| 3876 | last_mouse_glyph = rect; | ||
| 3877 | else | ||
| 3878 | { | ||
| 3879 | width = FRAME_SMALLEST_CHAR_WIDTH (f1); | ||
| 3880 | height = FRAME_SMALLEST_FONT_HEIGHT (f1); | ||
| 3881 | gx = win_x; | ||
| 3882 | gy = win_y; | ||
| 3883 | |||
| 3884 | /* Arrange for the division in FRAME_PIXEL_X_TO_COL etc. to | ||
| 3885 | round down even for negative values. */ | ||
| 3886 | if (gx < 0) | ||
| 3887 | gx -= width - 1; | ||
| 3888 | if (gy < 0) | ||
| 3889 | gy -= height - 1; | ||
| 3890 | gx = (gx + width - 1) / width * width; | ||
| 3891 | gy = (gy + height - 1) / height * height; | ||
| 3892 | |||
| 3893 | last_mouse_glyph.width = width; | ||
| 3894 | last_mouse_glyph.height = height; | ||
| 3895 | last_mouse_glyph.x = gx; | ||
| 3896 | last_mouse_glyph.y = gy; | ||
| 3897 | } | ||
| 3898 | 3829 | ||
| 3899 | *bar_window = Qnil; | 3830 | *bar_window = Qnil; |
| 3900 | *part = 0; | 3831 | *part = 0; |
| @@ -6571,8 +6502,7 @@ handle_one_xevent (dpyinfo, eventp, finish, hold_quit) | |||
| 6571 | case MotionNotify: | 6502 | case MotionNotify: |
| 6572 | { | 6503 | { |
| 6573 | previous_help_echo_string = help_echo_string; | 6504 | previous_help_echo_string = help_echo_string; |
| 6574 | help_echo_string = help_echo_object = help_echo_window = Qnil; | 6505 | help_echo_string = Qnil; |
| 6575 | help_echo_pos = -1; | ||
| 6576 | 6506 | ||
| 6577 | if (dpyinfo->grabbed && last_mouse_frame | 6507 | if (dpyinfo->grabbed && last_mouse_frame |
| 6578 | && FRAME_LIVE_P (last_mouse_frame)) | 6508 | && FRAME_LIVE_P (last_mouse_frame)) |
| @@ -6611,7 +6541,8 @@ handle_one_xevent (dpyinfo, eventp, finish, hold_quit) | |||
| 6611 | 6541 | ||
| 6612 | last_window=window; | 6542 | last_window=window; |
| 6613 | } | 6543 | } |
| 6614 | note_mouse_movement (f, &event.xmotion); | 6544 | if (!note_mouse_movement (f, &event.xmotion)) |
| 6545 | help_echo_string = previous_help_echo_string; | ||
| 6615 | } | 6546 | } |
| 6616 | else | 6547 | else |
| 6617 | { | 6548 | { |
| @@ -6720,6 +6651,7 @@ handle_one_xevent (dpyinfo, eventp, finish, hold_quit) | |||
| 6720 | int tool_bar_p = 0; | 6651 | int tool_bar_p = 0; |
| 6721 | 6652 | ||
| 6722 | bzero (&compose_status, sizeof (compose_status)); | 6653 | bzero (&compose_status, sizeof (compose_status)); |
| 6654 | bzero (&last_mouse_glyph, sizeof (last_mouse_glyph)); | ||
| 6723 | 6655 | ||
| 6724 | if (dpyinfo->grabbed | 6656 | if (dpyinfo->grabbed |
| 6725 | && last_mouse_frame | 6657 | && last_mouse_frame |