Subject: bug#17361: Tramp does not save history across sessions.

From: Michael Albinus <[email-masked]>
Date: Tue, 29 Apr 2014 09:32:19 +0200

Stefan Monnier <[email-masked]> writes:

>> Ah, thanks. I wasn't aware of this use case. However, shouldn't this be
>> propagated further? The Elisp info pages do not mention this use case,
>> when speaking about `set-process-filter' or `set-process-sentinel'.
>
> I added some advertisement for add-function in those sections, thanks.

Reading your text, I wonder how one should implement this. Usually, one
doesn't know which other library intends to set a filter or a process.

In stock Emacs, there are 43 files with calls of `set-process-filter',
and 53 files with calls of `set-process-sentinel'. In the elpa branch,
there are 4/4 additional such files. All those places must be adapted,
checking whether there could be several filters or sentinels.

Wouldn't it be more consistent to modify `set-process-filter' and
´set-process-sentinel' to take care, when several filters or sentinels
are added to a given process? Both functions could be equipped with an
optional argument WHERE, which has the similar meaning as in
`add-function'. Maybe just :before, :after and :replace shall be
allowed, and one of them (:after?) could be the default.

>         Stefan

Best regards, Michael.