# Ideas for Revising This Book

This book doesn't cover all of MH & nmh, and what it does cover can always be improved. You can help!

If you have suggestions, please join rand-mh-devel at lists.sourceforge.net, send a note, and propose your changes. Submit a patch. Ask to become a developer on the mailing list and check the files in yourself. You can also contact the original authors directly: Jerry Peek, Bill Wohler (MH-E) and Brent Welch (exmh).

Here's a list of some ideas that we've had along the way. The numbers in the list do NOT indicate priority. They just make items easier to identify.

1. Convert to a wiki?
2. Document GNU mailutils.
3. Document nmh installation. Make a starting-place document; get people to add to it via this to-do list and/or posting to mailing list.
4. Watch for nmh changes, update book.
5. Fix scripts:
   - Downcase comments in scripts to make them easier to read.
   - Don't hardcode paths like /bin/find! Set a global PATH.
   - Don't assume "rm -f" will be quiet if no files named (because variable expanded to nothing). Redirect output and error to /dev/null or add a test to see if variable set.
   - Make all (?) scripts use two traps -- 0 and interrupt -- instead of a single trap which can get executed twice on interrupt.
   - Watch out for [OVERHEAD] config option messing up scripts that use file descriptors 3 and above.
   - Update "rmmer" to work around MHCONTEXT problem I found 05/25/97: refile gets current folder based on context instead of on rmm's command-line argument
   - Try to finish mrepl script (reply to MIME messages, include decoded content) and/or include the Perl version.
   - Fix rfl to use last message date as header date, instead of current date... otheriwse, sortm can put old messages in really wrong place. (Add switch to do that?) Also make it use a numeric timezone?
6. Read through index in book, notice places that obviously need fixing, make fix in online files. I did Preface thru Chapter 4, also lightly over chapters 5-9. Add more index entries, especially to the sections that were new in the third edition. Maybe use "grep -c" (or uniq) to count number of entries for each file in the indexes; use "join" to merge with number of lines in each file... long files should have lots of index entries. Here are files I've noticed that need more entries:
   - mh/pccewca.html
   - The r-*.html reference guide files: index the options that aren't covered anywhere else (that don't have links from an r-*.html file to some other .html file)
7. Add more indexing by concept. Example: pick does searching, so there should be entries like "search (see pick)". Maybe be more detailed and use subentries "search, by sender (see pick -from)". Be sure these "see"s point to useful entries.
8. Replace index-raw files by inserting content of index entry in an attribute where the anchor is defined. For example,

               <a name="index0" text="MH	downloading source code"></a>

   Update index-make.pl accordingly.
9. Expand browhelp.html file into an online help-and-tips file (in a subdirectory?). Then add a [help] link to all pages?
10. Search all files for XXX, <!--, (and ***?): there are things to fix.
11. Explain how mhn-show-multipart/report (etc) gives multiple arguments to the command named, so you usually shouldn't quote the %F or %f.
12. Explain problem with mhn handling of unknown multipart content types, show workaround like my multipart/report fix of letting "less" show each part (with a shell script to handle the parts?). This has been fixed in nmh.
13. Make link to each section's table of contents in the complete TOC? Now have the only links to lists of tables, sidebars, etc.
14. Document BBoards, at least the basics? nmh may delete them.
15. The book doesn't seem to explain stuff like picked:first or next:10, except a brief mention in Chapter 5.7. (shomes.html has examples, and so does my next section on pick2me.) Figure out where to put it, and add xrefs from above sections to it.
16. Put back old appendices that I deleted from third edition? (Some of those scripts are buggy...)
17. Move figures close to the text that describes them (in book, they were placed to print well). Watch for links that say "the Figure above/below"; be sure they're right.
18. Make a PostScript version in Times and Courier fonts? Does ORA have any macros to do that? Or save browser pages as PostScript (can I automate netscape to do that? Check release notes). Eventually re-code the whole book in SGML, or Docbook.
19. Add more troubleshooting info.
20. Add a shell functions file to the examples/mh/misc directory; make it like aliases.csh. Also add pointer to it from mhanthsh.html.
21. Update replbcomps, when MH fixes its replcomps file, to conform to new DRUMS replacement for RFC822.
22. Explain contination lines in replcomps, other undocumented related stuff. My guess now is:
    - Any line that ends without a backslash will be output on a new line
    - Every control escape that makes a line which maybe shouldn't appear should end with "\n%>\". The backslash at the end is important because it prevents a blank line if the control escape doesn't output anything?? (check)
    - Watch whitespace before backslashes and leading whitespace on continued lines: it's output just like any other text!
23. Show how to reorganize a folder by moving msgs to end with "refile @."
24. Document the *procs (showproc, etc.); see nmh mh-profile manpage for details