[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Process sentinel not called in batch mode
From: |
Helmut Eller |
Subject: |
Process sentinel not called in batch mode |
Date: |
Tue, 15 Apr 2008 16:48:00 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
process-sentinels aren't called in batch mode. I'm not sure if this is
a bug or the expected behavior, but I find this quite frustrating.
To reproduce the problem do:
$shell> cat test-sentinel.el
(defvar sentinel-called nil)
(defun start-subprocess ()
(let ((proc (start-process "test" nil "bash" "-c" "sleep 1 ; exit 20")))
(set-process-sentinel proc (lambda (proc msg)
(message "sentinel: %S %s" proc msg)
(setq sentinel-called t)))
proc))
(defun print-status (proc)
(message "%s status: %s exit-status: %s sentinel-called: %s"
proc (process-status proc) (process-exit-status proc)
sentinel-called))
(defun main ()
(let ((proc (start-subprocess)))
(while (not sentinel-called)
(print-status proc)
(sit-for 1)
(accept-process-output proc 1))
(print-status proc)))
(main)
$shell> emacs -Q -batch -l test-sentinel.el
test status: run exit-status: 0 sentinel-called: nil
test status: exit exit-status: 20 sentinel-called: nil
test status: exit exit-status: 20 sentinel-called: nil
test status: exit exit-status: 20 sentinel-called: nil
test status: exit exit-status: 20 sentinel-called: nil
[Exit 130 (SIGINT)]
$shell>
Emacs can obviously detect that the suprocess has terminated but the
sentinel is never called. This used to work with Emacs 20.7 and for
certain variants of the 22.0.50 series.
Helmut.
In GNU Emacs 23.0.60.8 (i686-pc-linux-gnu, GTK+ Version 2.8.20)
of 2008-03-14 on xaital
Windowing system distributor `The X.Org Foundation', version 11.0.70101000
configured using `configure '--with-jpeg=no' '--with-gif=no' '--with-tiff=no'
'--with-xft' '--without-dbus' '--without-sound''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: nil
value of $XMODIFIERS: nil
locale-coding-system: nil
default-enable-multibyte-characters: nil
Major mode: Emacs-Lisp
Minor modes in effect:
outline-minor-mode: t
display-time-mode: t
show-paren-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
global-auto-composition-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
<up> <up> <up> <down> <down> <up> <up> <up> <up> <up>
<up> <up> <down> <down> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <left> <left> <left>
<left> <left> <left> C-d C-M-x C-x C-s <down> C-e <down>
<down> <up> C-x C-e <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> C-x C-e C-x b * M e <tab> <return> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> C-x b
<return> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> C-a C-d C-d
C-d <up> <up> <up> <up> C-e <down> <down> C-e C-x C-s
<down> <down> C-x C-s <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <up> <down> <down> <down> <down>
<down> <down> <up> <up> C-x C-e <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> s e e <backspace>
<backspace> l e e p 1 SPC ; SPC <left> <left> C-e C-x
C-s <left> <left> <left> <left> <left> <left> <left>
<left> <left> <left> <left> <left> <left> <left> <left>
SPC C-x C-s <left> <left> <left> <left> <left> <left>
<left> <left> <left> <left> <left> <left> <left> <left>
<left> <left> <left> <left> <right> <right> b a C-x
C-s M-x r e p SPC o <tab> SPC t SPC <backspace> r <tab>
<return>
Recent messages:
test status: exit exit-status: 20 sentinel-called: t
"test status: exit exit-status: 20 sentinel-called: t"
Wrote /home/helmut/elisp/test-sentinel.el
(No changes need to be saved)
test status: run exit-status: 0 sentinel-called: t
"test status: run exit-status: 0 sentinel-called: t"
sentinel: #<process test> exited abnormally with code 20
Wrote /home/helmut/elisp/test-sentinel.el [3 times]
Making completion list... [3 times]
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Process sentinel not called in batch mode,
Helmut Eller <=