Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site oddjob.UChicago.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!ihnp4!gargoyle!sphinx!oddjob!matt From: matt@oddjob.UChicago.UUCP (Matt Crawford) Newsgroups: net.emacs Subject: Re: mail front end Message-ID: <595@oddjob.UChicago.UUCP> Date: Fri, 8-Feb-85 13:59:13 EST Article-I.D.: oddjob.595 Posted: Fri Feb 8 13:59:13 1985 Date-Received: Sat, 9-Feb-85 08:17:59 EST References: <6100002@uiucdcsp.UUCP>Reply-To: matt@oddjob.UUCP (Matt Crawford) Organization: U. Chicago: Astronomy & Astrophysics Lines: 271 In article gnu@sun.uucp (John Gilmore) writes: >> Does anyone have a convenient emacs front end to Berkeley Unix mail >> (instead of the usual rmail/smail package)? > >Try mhe (which requires mh, which is public domain). A reportedly >broken version comes with mh.5 (the newly released version). Brian >Reid at Stanford wrote it originally and it has been hacked in >various places, including Sun. ...... I installed mh.5 recently and indeed the mhe mlisp package was not compatible with the new release of mh. The mhe package assumed that message numbers were 3 digits (they can now be four digits) and that the current-folder is in the .mh_profile (it is now in the context file). Also, there was the peculiar spelling of "error-occurred" for which UCI must by now be famous. The package is not yet perfect, but it works. You may have to use the "x-s" (salvage) command often. Here are the diffs to the .ml files. Fixed version is on the right. ================================================ diff -r ./mh-cache.ml /usr/lib/emacs/newmaclib/mh-cache.ml 32c32 < (if (error-occured --- > (if (error-occurred 78c78 < (goto-character (+ (dot) 3)) --- > (goto-character (+ (dot) 4)) 80c80 < (if (> lastmsg 900) --- > (if (> lastmsg 1800) 140c140 < (error-occured --- > (error-occurred 176c176 < (while (! (error-occured --- > (while (! (error-occurred 178,179c178,179 < (re-search-forward "^...\\+") < (re-search-forward "^...\\D\\|^...\\^\\|^...\\+") --- > (re-search-forward "^....\\+") > (re-search-forward "^....\\D\\|^....\\^\\|^....\\+") 193c193 < (if (error-occured --- > (if (error-occurred 207c207 < (while (< (length curmsg) 3) --- > (while (< (length curmsg) 4) 209c209 < (if (error-occured --- > (if (error-occurred 218c218 < (goto-character (+ (dot) 3)) --- > (goto-character (+ (dot) 4)) 246,247c246,247 < (while (! (error-occured < (re-search-forward "^...\\D\\|^...\\^"))) --- > (while (! (error-occurred > (re-search-forward "^....\\D\\|^....\\^"))) 260c260 < (error-occured --- > (error-occurred 270c270 < (error-occured --- > (error-occurred diff -r ./mh-e.ml /usr/lib/emacs/newmaclib/mh-e.ml 34c34 < (setq bboard-path "/dev/null"); UCI --- > (setq bboard-path "/usr/spool/news"); UCI 36c36 < (setq mh-progs "/usr/uci") ; UCI --- > (setq mh-progs "/usr/new/mh"); oddjob 53a54 > (save-window-excursion 62c63,65 < (setq range (arg 2)) --- > (setq range (arg 2 (concat "+" folder " range? [all] "))) > (if (= 0 (length range)) > (setq range "all")) 70c73 < (error-occured (recursive-edit)) --- > (error-occurred (recursive-edit)) 73a77 > ) 77c81 < ; The letter "D" is placed in column 4 of the header line, and the message --- > ; The letter "D" is placed in column 5 of the header line, and the message 86c90 < (goto-character (+ (dot) 3)) --- > (goto-character (+ (dot) 4)) 94c98 < (if (error-occured --- > (if (error-occurred 121,125c125,128 < (error-message "B: command not implemented at UCI."); UCI < ;UCI (setq which (get-bboard-name)) < ;UCI (&mh-read-folder which "" t-buffer-filename t-buffer-filename) < ;UCI (setq mh-annotate 0) < ;UCI (setq mh-writeable 0) --- > (setq which (get-bboard-name)) > (&mh-read-folder which "" t-buffer-filename t-buffer-filename) > (setq mh-annotate 0) > (setq mh-writeable 0) 316,323c319,326 < (defun (fast-filter-region UseUsersShell < (setq UseUsersShell use-users-shell) < (setq use-users-shell 0) < (filter-region < (arg 1 ": fast-filter-region (through command) ")) < (setq use-users-shell UseUsersShell) < ) < ) --- > ;(defun (fast-filter-region UseUsersShell > ; (setq UseUsersShell use-users-shell) > ; (setq use-users-shell 0) > ; (filter-region > ; (arg 1 ": fast-filter-region (through command) ")) > ; (setq use-users-shell UseUsersShell) > ; ) > ;) 336c339 < (error-occured (kill-process "newtime")) --- > (error-occurred (kill-process "newtime")) diff -r ./mh-edit.ml /usr/lib/emacs/newmaclib/mh-edit.ml 8c8 < (error-occured --- > (error-occurred diff -r ./mh-forw.ml /usr/lib/emacs/newmaclib/mh-forw.ml 28c28 < (error-occured --- > (error-occurred diff -r ./mh-inc.ml /usr/lib/emacs/newmaclib/mh-inc.ml 24c24 < (goto-character (+ (dot) 3)) --- > (goto-character (+ (dot) 4)) 32c32 < (error-occured (search-forward " Mail") --- > (error-occurred (search-forward " Mail") diff -r ./mh-mode.ml /usr/lib/emacs/newmaclib/mh-mode.ml 33c33 < (error-occured (search-forward ":")) --- > (error-occurred (search-forward ":")) 68c68 < (error-occured ; avoids trashing mail header. --- > (error-occurred ; avoids trashing mail header. 80c80 < (error-occured (justify-mail-region)) --- > (error-occurred (justify-mail-region)) diff -r ./mh-move.ml /usr/lib/emacs/newmaclib/mh-move.ml 14c14 < (goto-character (+ (dot) 3)) --- > (goto-character (+ (dot) 4)) 29c29 < (goto-character (+ (dot) 3)) --- > (goto-character (+ (dot) 4)) 47c47 < (if (error-occured --- > (if (error-occurred diff -r ./mh-repl.ml /usr/lib/emacs/newmaclib/mh-repl.ml 5c5 < (error-occured --- > (error-occurred 17c17 < (if (error-occured (read-file fn)) --- > (if (error-occurred (read-file fn)) 22c22 < (error-occured --- > (error-occurred 39c39 < (error-occured --- > (error-occurred diff -r ./mh-send.ml /usr/lib/emacs/newmaclib/mh-send.ml 9c9 < (error-occured --- > (error-occurred 25c25 < (error-occured --- > (error-occurred diff -r ./mh-shell.ml /usr/lib/emacs/newmaclib/mh-shell.ml 33c33 < (error-occured (re-replace-string "\n\n* *" "; ")) --- > (error-occurred (re-replace-string "\n\n* *" "; ")) diff -r ./mh-show.ml /usr/lib/emacs/newmaclib/mh-show.ml 7c7 < (error-occured --- > (error-occurred diff -r ./mh-unmark.ml /usr/lib/emacs/newmaclib/mh-unmark.ml 12c12 < (goto-character (+ (dot) 3)) --- > (goto-character (+ (dot) 4)) 18c18 < (if (error-occured --- > (if (error-occurred 44c44 < (if (error-occured --- > (if (error-occurred diff -r ./mh-util.ml /usr/lib/emacs/newmaclib/mh-util.ml 11c11 < (goto-character (+ (dot) 3)) --- > (goto-character (+ (dot) 4)) 42c42 < (error-occured --- > (error-occurred 52,58c52 < (error-occured < (search-forward "current-folder:") < (while (looking-at "[\t ]") (forward-character)) < (set-mark) (end-of-line) < (setq mh-folder (region-to-string)) < ) < (if (error-occured (search-forward "\nmhe:")) --- > (if (error-occurred (search-forward "\nmhe:")) 62d55 < ;UCI (insert-string "mhe: audit") 64a58,66 > ) > (if (error-occurred > (read-file (concat mh-path "/context")) > (search-forward "current-folder:") > (while (looking-at "[\t ]") (forward-character)) > (set-mark) (end-of-line) > (setq mh-folder (region-to-string)) > ) > (setq mh-folder "inbox") _____________________________________________________ Matt University crawford@anl-mcs.arpa Crawford of Chicago ihnp4!oddjob!matt