[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Script output in mail-source directory :prescript
From: |
Timo Lilja |
Subject: |
Re: Script output in mail-source directory :prescript |
Date: |
Wed, 26 Apr 2006 08:56:04 +0300 |
User-agent: |
Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux) |
Lars Magne Ingebrigtsen <larsi@gnus.org> writes:
>Timo Lilja <timo.lilja@hut.fi> writes:
>
>> Now, the problem is that if the get-mail-script has a non-zero exit or
>> produces some output, nothing is shown in the Emacs buffers.
>
>Try the following patch:
[...]
Nope, It didn't work for me but I modified it a bit and now it works:
--- orig.mail-source.el 2005-03-18 06:35:29.000000000 +0200
+++ mail-source.el 2006-04-26 08:48:59.000000000 +0300
@@ -667,12 +667,23 @@
(sleep-for delay)))
(defun mail-source-call-script (script)
- (let ((background nil))
+ (let ((background nil)
+ (stderr (get-buffer-create " *mail-source-stderr*"))
+ result)
(when (string-match "& *$" script)
(setq script (substring script 0 (match-beginning 0))
background 0))
- (call-process shell-file-name nil background nil
- shell-command-switch script)))
+ (setq result
+ (call-process shell-file-name nil stderr nil
+ shell-command-switch script))
+ (if (and result
+ (not (zerop result)))
+ (progn
+ (split-window-vertically)
+ (other-window 1)
+ (switch-to-buffer stderr)
+ (message "Mail source error: %s" (buffer-string)))
+ (kill-buffer stderr))))
;;;
;;; Different fetchers
>
>Index: mail-source.el
>===================================================================
>RCS file: /usr/local/cvsroot/gnus/lisp/mail-source.el,v
>retrieving revision 7.15
>retrieving revision 7.16
>diff -c -r7.15 -r7.16
>*** mail-source.el 8 Feb 2006 04:17:15 -0000 7.15
>--- mail-source.el 23 Apr 2006 14:09:14 -0000 7.16
>***************
>*** 678,689 ****
> (sleep-for delay)))
>
> (defun mail-source-call-script (script)
>! (let ((background nil))
> (when (string-match "& *$" script)
> (setq script (substring script 0 (match-beginning 0))
> background 0))
>! (call-process shell-file-name nil background nil
>! shell-command-switch script)))
>
> ;;;
> ;;; Different fetchers
>--- 678,697 ----
> (sleep-for delay)))
>
> (defun mail-source-call-script (script)
>! (let ((background nil)
>! (stderr (get-buffer-create " *mail-source-stderr*"))
>! result)
> (when (string-match "& *$" script)
> (setq script (substring script 0 (match-beginning 0))
> background 0))
>! (setq result
>! (call-process shell-file-name nil background nil
>! shell-command-switch script))
>! (when (and result
>! (not (zerop result)))
>! (set-buffer stderr)
>! (message "Mail source error: %s" (buffer-string)))
>! (kill-buffer stderr)))
>
> ;;;
> ;;; Different fetchers
>
>--
>(domestic pets only, the antidote for overdose, milk.)
> larsi@gnus.org * Lars Magne Ingebrigtsen
--
Timo Lilja
"It's a 106 miles to Chicago. We've got a full tank of gas,
half a pack of cigarettes, it's dark, and we're wearing sunglasses."