reingold@uiucdcsp.UUCP (01/31/85)
Does anyone have a convenient emacs front end to Berkeley Unix mail (instead of the usual rmail/smail package)?
gnu@sun.uucp (John Gilmore) (02/05/85)
> 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 don't know that a complete and wonderful and portable version exists anywhere, but you're welcome to a copy of what I'm running. It's a lot better than rmail; it supports folders, and it uses the mh file structure as an underlying database, so you can mess with the messages conveniently from OUTSIDE emacs, like to grep or lpr or just read a few new messages when you don't want to wait for emacs to come up.
lindahl@waltz.UUCP (02/07/85)
/**** waltz:net.emacs / uiucdcsp!reingold / 1:53 pm Jan 31, 1985 ****/ Does anyone have a convenient emacs front end to Berkeley Unix mail (instead of the usual rmail/smail package)? /* ---------- */
matt@oddjob.UChicago.UUCP (Matt Crawford) (02/08/85)
In article <sun.1981> 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