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

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

bug#56865: M-x find-dired fails with "Wrong type: processp, nil"


From: Paul Pogonyshev
Subject: bug#56865: M-x find-dired fails with "Wrong type: processp, nil"
Date: Wed, 10 Aug 2022 15:26:03 +0200

Actually no, it doesn't help in all cases. It got better, but sometimes still dies with the same error:

Debugger entered--Lisp error: (wrong-type-argument processp nil)
  process-mark(nil)
  (move-marker (process-mark proc) (point) (current-buffer))
  (let ((proc (get-buffer-process (current-buffer)))) (message "@ %S %S" (current-buffer) proc) (move-marker (process-mark proc) (point) (current-buffer)) (set-process-filter proc #'find-dired-filter) (set-process-sentinel proc #'find-dired-sentinel))
  ...

For debugging I also added this line:

     (shell-command (concat command "&") (current-buffer))
     (let ((proc (get-buffer-process (current-buffer))))
 +     (message "@ %S %S" (current-buffer) proc)
       ;; Initialize the process marker; it is used by the filter.
       (move-marker (process-mark proc) (point) (current-buffer))  ;; <-- dies here

Here is the resut in buffer *Messages*:

@ #<buffer *Find*> nil

So, the process can be nil immediately after `shell-command' returns too.

Paul


On Tue, 2 Aug 2022 at 13:28, Lars Ingebrigtsen <larsi@gnus.org> wrote:
Paul Pogonyshev <pogonyshev@gmail.com> writes:

> Seems so. I guess with the way Elisp works it is even correct, because
> (as I understand) Elisp has no way to notice that process has died if
> there are no IO calls between `shell-process' and `set-process-*'.

Yes, but I'm not quite sure that's actually the case in all
circumstances (especially when Tramp is involved)...

> But it does feel dirty. (Also that `(sit-for 1)' a few lines above
> feels dirty.)

Yeah, much of the code in find-dired.el looks pretty fragile.

But I guess this works now, so I'm closing this bug report.


reply via email to

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