OK, I replaced the old function and now it outputs this: |====================================================================== 1 -> (comint-output-filter # "[04/20/20, 12:00:53:017] info: Store: FOREGROUND_APP ")(:comint-pmark nil) | 2 -> (set-marker # 34261)(:comint-pmark (# . #)) | 2 <- set-marker: #(:comint-pmark (# . #)) | 2 -> (set-marker # 34316)(:comint-pmark (# . #)) | 2 <- set-marker: #(:comint-pmark (# . #)) | 2 -> (ansi-color-process-output "[04/20/20, 12:00:53:017] info: Store: FOREGROUND_APP ")(:comint-pmark (# . #)) | 2 <- ansi-color-process-output: nil(:comint-pmark (# . #)) | 2 -> (set-marker # 34316)(:comint-pmark (# . #)) | 2 <- set-marker: #(:comint-pmark (# . #)) 1 <- comint-output-filter: #(:comint-pmark nil) | I should probably make a simple program that prints a bunch of stuff and then hangs, so I can have predictable and reproducible output, that might help. So what do you exactly mean by that the process is ending normally? Jacob On 2020-04-19 14:57, Noam Postavsky wrote: > Jacob Lagares Pozo writes: > >> OK, not sure if this is what we want, but this is an example output >> that looks interesting. >> >> If needed I'll dump the whole thing to a file, compress, it and post >> it here. >> *slack*<4>>(:comint-pmark #>) >> 1 <- comint-output-filter: #> in *slack*<4>>(:comint-pmark nil) > I think this just shows the process ending normally. And I made a > mistake in the tracing function, better to see both markers, as in: > > (defun bug-40323-get-comint-output-marker () > (list :comint-pmark > (and (markerp comint-last-output-start) > (eq (marker-buffer comint-last-output-start) > (current-buffer)) > (cons > comint-last-output-start > (process-mark (get-buffer-process (current-buffer)))))))