Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!decvax!wivax!linus!allegra!eagle!harpo!seismo!presby!burdvax!hdj
From: hdj@burdvax.UUCP
Newsgroups: net.emacs
Subject: bug in process.ml
Message-ID: <787@burdvax.UUCP>
Date: Thu, 2-Jun-83 10:01:33 EDT
Article-I.D.: burdvax.787
Posted: Thu Jun  2 10:01:33 1983
Date-Received: Wed, 8-Jun-83 23:00:53 EDT
Lines: 32


There is a subtle bug in the process.ml package involving sending 'eot's
to processes.   The error is in the function send-eot:

(defun
    (send-eot
	(if (eobp)
	    (eot-process (active-process))
	    (delete-next-character)
	)
    )
)

If you are running e.g. csh in a buffer, and type a ^D, (bound to send-eot),
the csh will die. Fine. But if you type another ^D while still in the
csh buffer, send-eot will kill some other process of yours.  This is easy
to fix: change (active-process) in send-eot to be (current-buffer-name).
Thus,

(defun
    (send-eot
	(if (eobp)
	    (eot-process (current-buffer-name))
	    (delete-next-character)
	)
    )
)

Frankly, I think the "if" jazz and the (delete-next-character) should be
taken out as well, but that's more a matter of taste.

			Herb Jellinek, burdvax!hdj