fix(common-lisp): inferior-lisp-program: accept list

To quote the docstring for `inferior-lisp-program`:

  Program name for starting a Lisp subprocess to Emacs.  Can be a string
  naming a program, a whitespace-separated string of \"EXECUTABLE ARG1
  ARG2\" or a list (EXECUTABLE ARGS...) where EXECUTABLE and ARGS are
  strings.

Fix: #8324
This commit is contained in:
Henrik Lissner
2025-03-24 18:21:33 -04:00
parent 6cc1284171
commit bdd3701987
2 changed files with 9 additions and 5 deletions

View File

@ -80,7 +80,9 @@
"Attempt to auto-start sly when opening a lisp buffer."
(cond ((or (doom-temp-buffer-p (current-buffer))
(sly-connected-p)))
((executable-find (car (split-string inferior-lisp-program)))
((executable-find (car (if (listp inferior-lisp-program)
inferior-lisp-program
(split-string inferior-lisp-program))))
(let ((sly-auto-start 'always))
(sly-auto-start)
(add-hook 'kill-buffer-hook #'+common-lisp--cleanup-sly-maybe-h nil t)))

View File

@ -1,7 +1,9 @@
;;; lang/common-lisp/doctor.el -*- lexical-binding: t; -*-
(when (require 'sly nil t)
(let ((prog-name (car (split-string inferior-lisp-program))))
(unless (executable-find prog-name)
(warn! "Couldn't find your `inferior-lisp-program' (%s). Is it installed?"
inferior-lisp-program))))
(unless (executable-find
(car (if (listp inferior-lisp-program)
inferior-lisp-program
(split-string inferior-lisp-program))))
(warn! "Couldn't find your `inferior-lisp-program' (%s). Is it installed?"
inferior-lisp-program)))