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