comparison man/mh-e.texi @ 37802:953a442c9130

Avoid overfull hboxes wherever possible.
author Eli Zaretskii <eliz@gnu.org>
date Fri, 18 May 2001 11:26:06 +0000
parents 8c99f1078bb9
children 1a52bb462cc9
comparison
equal deleted inserted replaced
37801:6c6c8f8b2d4c 37802:953a442c9130
1 \input texinfo @c -*-texinfo-*- 1 \input texinfo @c -*-texinfo-*-
2 @c $Id: mh-e.texi,v 1.8 2001/02/19 19:13:47 wohler Exp $ 2 @c $Id: mh-e.texi,v 1.9 2001/02/23 12:31:08 gerd Exp $
3 @c %**start of header 3 @c %**start of header
4 @setfilename ../info/mh-e 4 @setfilename ../info/mh-e
5 @settitle mh-e 5 @settitle mh-e
6 @c %**end of header 6 @c %**end of header
7 7
387 387
388 388
389 389
390 390
391 391
392 -----Emacs: *scratch* (Lisp Interaction)--All--------------------- 392 -----Emacs: *scratch* (Lisp Interaction)--All-------------------
393 To: wohler 393 To: wohler
394 cc: 394 cc:
395 Subject: Test 395 Subject: Test
396 -------- 396 --------
397 This is a test message to get the wheels churning...# 397 This is a test message to get the wheels churning...#
398 398
399 399
400 --**-@{draft@} (MH-Letter)--All---------------------------------------- 400 --**-@{draft@} (MH-Letter)--All-------------------------------------
401 401
402 @end cartouche 402 @end cartouche
403 @i{mh-e message composition window} 403 @i{mh-e message composition window}
404 @end group 404 @end group
405 @end example 405 @end example
449 @key{RET} to read your message. You should see something like: 449 @key{RET} to read your message. You should see something like:
450 450
451 @example 451 @example
452 @group 452 @group
453 @cartouche 453 @cartouche
454 3 24Aug root received fax files on Wed Aug 24 11:00:13 PDT 1994 454 3 24Aug root received fax files on Wed Aug 24 11:00:13 PDT 1994
455 # 4+ 24Aug To:wohler Test<<This is a test message to get the wheels chu 455 # 4+ 24Aug To:wohler Test<<This is a test message to get the wheels chu
456 456
457 --%%-@{+inbox@} 4 msgs (1-4) (MH-Folder Show)--Bot--------------------- 457 --%%-@{+inbox@} 4 msgs (1-4) (MH-Folder Show)--Bot------------------
458 To: wohler 458 To: wohler
459 Subject: Test 459 Subject: Test
460 Date: Wed, 24 Aug 1994 13:01:13 -0700 460 Date: Wed, 24 Aug 1994 13:01:13 -0700
461 From: Bill Wohler <wohler@@newt.com> 461 From: Bill Wohler <wohler@@newt.com>
462 462
464 464
465 465
466 466
467 467
468 468
469 -----@{show-+inbox@} 4 (MH-Show)--Bot---------------------------------- 469 -----@{show-+inbox@} 4 (MH-Show)--Bot-------------------------------
470 470
471 @end cartouche 471 @end cartouche
472 @i{After incorporating new messages} 472 @i{After incorporating new messages}
473 @end group 473 @end group
474 @end example 474 @end example
500 In-reply-to: Bill Wohler's message of Wed, 24 Aug 1994 13:01:13 -0700 500 In-reply-to: Bill Wohler's message of Wed, 24 Aug 1994 13:01:13 -0700
501 <199408242001.NAA00505@@newt.com> 501 <199408242001.NAA00505@@newt.com>
502 -------- 502 --------
503 # 503 #
504 504
505 --**-@{draft@} (MH-Letter)--All---------------------------------------- 505 --**-@{draft@} (MH-Letter)--All-------------------------------------
506 To: wohler 506 To: wohler
507 Subject: Test 507 Subject: Test
508 Date: Wed, 24 Aug 1994 13:01:13 -0700 508 Date: Wed, 24 Aug 1994 13:01:13 -0700
509 From: Bill Wohler <wohler@@newt.com> 509 From: Bill Wohler <wohler@@newt.com>
510 510
511 This is a test message to get the wheels churning... 511 This is a test message to get the wheels churning...
512 512
513 -----@{show-+inbox@} 4 (MH-Show)--Bot---------------------------------- 513 -----@{show-+inbox@} 4 (MH-Show)--Bot-------------------------------
514 Composing a reply...done 514 Composing a reply...done
515 @end cartouche 515 @end cartouche
516 @i{Composition window during reply} 516 @i{Composition window during reply}
517 @end group 517 @end group
518 @end example 518 @end example
1766 1766
1767 1767
1768 1768
1769 1769
1770 1770
1771 --**-Emacs: pick-pattern (MH-Pick)------All---------------------------- 1771 --**-Emacs: pick-pattern (MH-Pick)------All--------------------------
1772 1772
1773 @end cartouche 1773 @end cartouche
1774 @i{Pick window} 1774 @i{Pick window}
1775 @end group 1775 @end group
1776 @end example 1776 @end example
2392 which will display the folder name and the message number, respectively, 2392 which will display the folder name and the message number, respectively,
2393 somewhere in the string in that order. The default value of 2393 somewhere in the string in that order. The default value of
2394 @samp{"@{show-%s@} %d"} yields a mode line of 2394 @samp{"@{show-%s@} %d"} yields a mode line of
2395 2395
2396 @example 2396 @example
2397 -----@{show-+inbox@} 4 (MH-Show)--Bot---------------------------------- 2397 -----@{show-+inbox@} 4 (MH-Show)--Bot--------------------------------
2398 @end example 2398 @end example
2399 2399
2400 @node Customizing Moving Around, , Customizing Viewing, Customizing Reading 2400 @node Customizing Moving Around, , Customizing Viewing, Customizing Reading
2401 @subsection Moving Around 2401 @subsection Moving Around
2402 2402
2452 2452
2453 @item mh-redist-full-contents 2453 @item mh-redist-full-contents
2454 @code{send} requires entire message (default: @code{nil}). 2454 @code{send} requires entire message (default: @code{nil}).
2455 2455
2456 @item mh-new-draft-cleaned-headers 2456 @item mh-new-draft-cleaned-headers
2457 Remove these header fields from re-edited draft (default: 2457 Remove these header fields from re-edited draft. The default is:
2458 @samp{"^Date:\\| ^Received:\\| ^Message-Id:\\| ^From:\\| ^Sender:\\| 2458 @example
2459 ^Delivery-Date:\\| ^Return-Path:"}). 2459 "^Date:\\| ^Received:\\| ^Message-Id:\\| ^From:\\|
2460 ^Sender:\\| ^Delivery-Date:\\| ^Return-Path:".
2461 @end example
2460 @end table 2462 @end table
2461 2463
2462 @cindex @code{comp} 2464 @cindex @code{comp}
2463 @cindex MH commands, @code{comp} 2465 @cindex MH commands, @code{comp}
2464 @vindex @code{mh-comp-formfile} 2466 @vindex @code{mh-comp-formfile}
2777 2779
2778 Emacs macros can be used to insert enriched text directives like 2780 Emacs macros can be used to insert enriched text directives like
2779 @samp{<bold>}. The following code will make, for example, @kbd{C-c t 2781 @samp{<bold>}. The following code will make, for example, @kbd{C-c t
2780 b} insert the @samp{<bold>} directive. 2782 b} insert the @samp{<bold>} directive.
2781 2783
2782 @lisp 2784 @smallexample
2783 @group 2785 @group
2784 @i{Emacs macros for entering enriched text} 2786 @i{Emacs macros for entering enriched text}
2785 2787
2786 (defvar enriched-text-types '(("b" . "bold") ("i" . "italic") ("f" . "fixed") 2788 (defvar enriched-text-types '(("b" . "bold") ("i" . "italic")
2787 ("s" . "smaller") ("B" . "bigger") 2789 ("f" . "fixed") ("s" . "smaller")
2788 ("u" . "underline") ("c" . "center")) 2790 ("B" . "bigger") ("u" . "underline")
2791 ("c" . "center"))
2789 "Alist of (final-character . directive) choices for add-enriched-text. 2792 "Alist of (final-character . directive) choices for add-enriched-text.
2790 Additional types can be found in RFC 1563.") 2793 Additional types can be found in RFC 1563.")
2791 2794
2792 (defun add-enriched-text (begin end) 2795 (defun add-enriched-text (begin end)
2793 "Add enriched text directives around region. 2796 "Add enriched text directives around region.
2803 (goto-char (point-min)) ; @r{move to beginning of text} 2806 (goto-char (point-min)) ; @r{move to beginning of text}
2804 (insert "<" type ">") ; @r{insert beginning directive} 2807 (insert "<" type ">") ; @r{insert beginning directive}
2805 (goto-char (point-max)) ; @r{move to end of text} 2808 (goto-char (point-max)) ; @r{move to end of text}
2806 (insert "</" type ">")))) ; @r{insert terminating directive} 2809 (insert "</" type ">")))) ; @r{insert terminating directive}
2807 @end group 2810 @end group
2808 @end lisp 2811 @end smallexample
2809 2812
2810 To use the function @code{add-enriched-text}, first create keybindings 2813 To use the function @code{add-enriched-text}, first create keybindings
2811 for it (@pxref{Customizing Sending}). Then, set the mark with 2814 for it (@pxref{Customizing Sending}). Then, set the mark with
2812 @kbd{C-@@} or @kbd{C-SPC}, type in the text to be highlighted, and type 2815 @kbd{C-@@} or @kbd{C-SPC}, type in the text to be highlighted, and type
2813 @kbd{C-c t b}. This adds @samp{<bold>} where you set the mark and 2816 @kbd{C-c t b}. This adds @samp{<bold>} where you set the mark and
3022 @end iftex 3025 @end iftex
3023 3026
3024 @vindex @code{mh-default-folder-for-message-function}, example 3027 @vindex @code{mh-default-folder-for-message-function}, example
3025 @vindex @code{mh-user-path}, example 3028 @vindex @code{mh-user-path}, example
3026 3029
3027 @lisp 3030 @smallexample
3028 @group 3031 @group
3029 @i{Creating useful default folder for refiling via mh-default-folder-for-message-function} 3032 @i{Creating useful default folder for refiling via mh-default-folder-for-message-function}
3030 3033
3031 (defun my-mh-folder-from-address () 3034 (defun my-mh-folder-from-address ()
3032 "Determine folder name from address. 3035 "Determine folder name from address.
3033 Takes the address in the From: header field, and returns its corresponding 3036 Takes the address in the From: header field, and returns its
3034 alias from the user's personal aliases file. Returns @code{nil} if the address 3037 corresponding alias from the user's personal aliases file. Returns
3035 was not found." 3038 @code{nil} if the address was not found."
3036 (require 'rfc822) ; @r{for the rfc822 functions} 3039 (require 'rfc822) ; @r{for the rfc822 functions}
3037 (search-forward-regexp "^From: \\(.*\\)") ; @r{grab header field contents} 3040 (search-forward-regexp "^From: \\(.*\\)") ; @r{grab header field contents}
3038 (save-excursion ; @r{save state} 3041 (save-excursion ; @r{save state}
3039 (let ((addr (car (rfc822-addresses ; @r{get address} 3042 (let ((addr (car (rfc822-addresses ; @r{get address}
3040 (buffer-substring (match-beginning 1) 3043 (buffer-substring (match-beginning 1)
3048 mh-user-path)) 3051 mh-user-path))
3049 (goto-char (point-min)) ; @r{grab aliases file and go to start} 3052 (goto-char (point-min)) ; @r{grab aliases file and go to start}
3050 (setq folder 3053 (setq folder
3051 ;; @r{Search for the given address, even commented-out} 3054 ;; @r{Search for the given address, even commented-out}
3052 ;; @r{addresses are found!} 3055 ;; @r{addresses are found!}
3053 ;; @r{The function search-forward-regexp sets values that are} 3056 ;; @r{The function search-forward-regexp sets values that}
3054 ;; @r{later used by match-beginning and match-end.} 3057 ;; @r{are later used by match-beginning and match-end.}
3055 (if (search-forward-regexp (format "^;*\\(.*\\):.*%s" 3058 (if (search-forward-regexp (format "^;*\\(.*\\):.*%s"
3056 addr) nil t) 3059 addr) nil t)
3057 ;; @r{NOTE WELL: this is what the return value looks like.} 3060 ;; @r{NOTE WELL: this is what the return value looks}
3058 ;; @r{You can modify the format string to match your own} 3061 ;; @r{like. You can modify the format string to match}
3059 ;; @r{Mail hierarchy.} 3062 ;; @r{your own Mail hierarchy.}
3060 (format "+%s" (buffer-substring (match-beginning 1) 3063 (format "+%s" (buffer-substring
3061 (match-end 1)))))) 3064 (match-beginning 1)
3065 (match-end 1))))))
3062 (kill-buffer buffer)) ; @r{get rid of our temporary buffer} 3066 (kill-buffer buffer)) ; @r{get rid of our temporary buffer}
3063 folder))) ; @r{function's return value} 3067 folder))) ; @r{function's return value}
3064 3068
3065 (setq mh-default-folder-for-message-function 'my-mh-folder-from-address) 3069 (setq mh-default-folder-for-message-function 'my-mh-folder-from-address)
3066 @end group 3070 @end group
3067 @end lisp 3071 @end smallexample
3068 3072
3069 @vindex @code{mh-refile-msg-hook} 3073 @vindex @code{mh-refile-msg-hook}
3070 3074
3071 The hook @code{mh-refile-msg-hook} is called after a message is marked 3075 The hook @code{mh-refile-msg-hook} is called after a message is marked
3072 to be refiled. 3076 to be refiled.
3367 3371
3368 The version of mh-e in the current version of Emacs should be up to 3372 The version of mh-e in the current version of Emacs should be up to
3369 date. It is most likely to be more up to date than the copy that comes 3373 date. It is most likely to be more up to date than the copy that comes
3370 with the MH distribution in @file{miscellany/mh-e}. 3374 with the MH distribution in @file{miscellany/mh-e}.
3371 3375
3372 New mh-e releases will appear at 3376 @c intentionally wordy to avoid overfull hbox
3377 New mh-e releases are almost available for downloading at
3373 @uref{https://sourceforge.net/project/showfiles.php?group_id=13357, 3378 @uref{https://sourceforge.net/project/showfiles.php?group_id=13357,
3374 SourceForge} before they appear in an Emacs release. You can read the 3379 SourceForge} before they appear in an Emacs release. You can read the
3375 release notes on that page to determine if the given release of mh-e 3380 release notes on that page to determine if the given release of mh-e
3376 is already installed in your version of Emacs. 3381 is already installed in your version of Emacs.
3377 3382
3378 If you go this route, I suggest that you extract the files from 3383 If you go this route, I suggest that you extract the files from
3379 @file{mh-e-@var{m.n}.tgz} in the following fashion: 3384 @file{mh-e-@var{m.n}.tgz} in the following fashion:
3380 3385
3381 @example 3386 @smallexample
3382 @group 3387 @group
3383 % @kbd{cd} # @r{Start in your home directory} 3388 % @kbd{cd} # @r{Start in your home directory}
3384 % @kbd{mkdir lib lib/emacs} # @r{Create directory for mh-e} 3389 % @kbd{mkdir lib lib/emacs} # @r{Create directory for mh-e}
3385 % @kbd{cd lib/emacs} 3390 % @kbd{cd lib/emacs}
3386 % @kbd{zcat @var{path/to/}mh-e-@var{m.n}.tgz | tar xvf -} # @r{Extract files} 3391 % @kbd{zcat @var{path/to/}mh-e-@var{m.n}.tgz | tar xvf -} # @r{Extract files}
3387 @end group 3392 @end group
3388 @end example 3393 @end smallexample
3389 3394
3390 @cindex @file{.emacs} 3395 @cindex @file{.emacs}
3391 @cindex files, @file{.emacs} 3396 @cindex files, @file{.emacs}
3392 3397
3393 To use these new files, add the following to @file{~/.emacs}: 3398 To use these new files, add the following to @file{~/.emacs}: