[Top][All Lists]

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

Re: Progress on bug#3521? mode-line updates break process-send-region

From: Chong Yidong
Subject: Re: Progress on bug#3521? mode-line updates break process-send-region
Date: Sun, 28 Jun 2009 12:07:48 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

Tassilo Horn <address@hidden> writes:

>> Please do a search of prior revisions and find the change where this
>> problem first arose.  Thanks.
> I'll see what I can do.  I've tried with emacs 22.3, and there I cannot
> reproduce it.  So it seems to be introduced some times back in the 23
> branch.

Note, by the way, that your test case does something that you maybe did
not intend:

> (progn
>   (setq proctest
>       (start-process "cat" (get-buffer-create "cat") "/bin/cat"))
>   (with-temp-buffer
>     (dotimes (dummy 999999)
>       (insert
>        (concat (number-to-string (random))
>              (number-to-string (random))
>              (number-to-string (random))
>              (number-to-string (random))
>              "\n")))
>     (process-send-region proctest (point-min) (point-max)))
>   (delete-process proctest))

It keeps growing the temporary buffer, and eventually you're sending
extremely large strings to the inferior process.

> Debugger entered--Lisp error: (file-error "writing to process" "bad address" 
> #<process cat<2>>)
>   process-send-region(#<process cat<2>> 1 75145548)

On my 32-bit machine, the error occurs earlier.  But If I insert an
`erase-buffer' call into your loop, so that the size of the temporary
buffer is bounded, Emacs completes the 999999-iteration loop without any

If there's any connection with mode-line updates, I have not been able
to reproduce it.

reply via email to

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