Subject: #46003: should this be a bug?

From: [email-masked]
Date: Wed, 27 Jan 2021 11:41:34 +0530

Is it a requirement for a buffer in a inferior-mode to always have a
process? 
When you call run-prolog or prolog-consult-buffer, if a prolog process
is not running, a *prolog* buffer is created, prolog-inferior-mode is
activated in the buffer and THEN the process itself is run. Relevant code
from prolog-ensure-process function.

      (with-current-buffer (get-buffer-create "*prolog*")
	(prolog-inferior-mode)
...
          (apply 'make-comint-in-buffer "prolog" (current-buffer)
	         (prolog-program-name) nil (prolog-program-switches)))

I assume this was required because (prolog-inferior-mode) sets up the
variables required for (prolog-program-name) and (prolog-program-switches).

If the relevant variables are inherited from the buffer from which run-prolog is
called then, this bug fix[1] will remove this dependency and prolog-inferior-mode
can be activated after the process is created.

[1]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45795