[comp.emacs] Help: Process Filters

gnulists@WHEATIES.AI.MIT.EDU (03/28/89)

/ otter:gnu.emacs / ange@otter.hpl.hp.com (Andy Norman) /  1:18 pm  Mar  6, 1989 /
|If the screen is split *horizontally* and I am currently sitting in the
|minibuffer window, the cursor is yanked away from the minibuffer window to
|another window. This doesn't happen when the screen is split *vertically*.

Well, I finally found a filter that doesn't suffer from any of the above bugs.
Thanks to people who've been kind enough to mail me some of their solutions to
my problem.

(defun my-process-filter (proc str)
    (let ((cur (selected-window))
	  (pop-up-windows t))
      (pop-to-buffer my-shell-buffer)
      (goto-char (point-max))
      (insert str)
      (set-marker (process-mark proc) (point-max))
      (select-window cur)))

						-- ange --

gnulists@WHEATIES.AI.MIT.EDU (03/28/89)

|/ otter:gnu.emacs / ange@otter.hpl.hp.com (Andy Norman) /  7:05 pm  Mar  2, 1989 /
|Can anyone suggest a better filter that either does what I want in a cleaner
|way, or that doesn't suffer from the minibuffer popping up?

Well, thanks to several people who have mailed me directly with various
solutions. None of them were *exactly* what I was looking for, but out of all
the mail I've managed to create the following filter which works a lot better
than the last one:

(defun my-process-filter (proc str)
  (let ((cur (current-buffer))
	(pop-up-windows t))
    (pop-to-buffer my-shell-buffer)
    (goto-char (point-max))
    (insert str)
    (set-marker (process-mark proc) (point-max))
    (or (eq cur my-shell-buffer)
	(other-window 1))))

This filter, when attached to a process will pop up a window onto the process,
and constantly show the most recent output from the process.

It however suffers from at least 1 bug:

If the screen is split *horizontally* and I am currently sitting in the
minibuffer window, the cursor is yanked away from the minibuffer window to
another window. This doesn't happen when the screen is split *vertically*.

Any suggestions on how to cure this anomaly, or how to create a better filter
will be very gratefully  accepted.

						-- ange --