[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Distinguishing between interactive and asynchronous shell buffers
From: |
Sean McAfee |
Subject: |
Re: Distinguishing between interactive and asynchronous shell buffers |
Date: |
Tue, 22 Feb 2011 13:18:25 -0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Following myself up...
Sean McAfee <eefacm@gmail.com> writes:
> What's the best way to distinguish asynchronous shell command buffers
> from interactive shell buffers?
Digging into simple.el, the only difference I could find between
asynchronous and interactive shell buffers is that the former have
process sentinels associated with them when they're running; after they
finish, they of course have no process at all. That led me to write:
(defun is-interactive-shell-buffer (buffer)
(and (with-current-buffer buffer
(eq major-mode 'shell-mode))
(let ((proc (get-buffer-process buffer)))
(and proc (not (process-sentinel proc))))))
I guess this solution could fail if an interactive shell buffer ever had
a process sentinel for some reason, but it seems OK for now.
Re: Distinguishing between interactive and asynchronous shell buffers,
Sean McAfee <=