bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#6060: 24.0.50; Process filters can no longer kill buffers


From: Helmut Eller
Subject: bug#6060: 24.0.50; Process filters can no longer kill buffers
Date: Wed, 28 Apr 2010 16:08:12 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

When GNU Emacs 24.0.50.7 (i686-pc-linux-gnu, GTK+ Version 2.12.12) of
2010-04-28 executes code like this:

(defun filter-test ()
  (let* ((proc (start-process 
                "test" nil "/bin/bash" "-c" 
                "for i in 1 2 3 4 ; do echo $i ; sleep 1 ; done"))
         (buffer (generate-new-buffer "test-buffer"))
         (filter (lambda (proc str)
                   (message "filter: %S" str)
                   (kill-buffer buffer))))
    (set-process-filter proc filter)
    (unwind-protect
        (with-current-buffer buffer
          (while (buffer-live-p buffer)
            (accept-process-output proc)))
      (kill-process proc))))

Emacs signals this error:  (error "Selecting deleted buffer")

This used to work in earlier versions of Emacs.
The problem was most likely introduced by:

2010-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>

        * process.c (exec_sentinel): Preserve current-buffer.

        * process.c (read_process_output): Move the save-current-buffer to
        apply to both the filter and the non-filter branches.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]