]> git.eshelyaron.com Git - emacs.git/commitdiff
Eglot: don't use "nil" as minibuffer initial input
authorEshel Yaron <me@eshelyaron.com>
Sat, 14 Jan 2023 08:12:11 +0000 (10:12 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 14 Jan 2023 08:12:11 +0000 (10:12 +0200)
Doing M-x eglot in a buffer for which buffer-file-name is nil, prompts
the user for a major mode to manage by invoking completing-read.  The
way completing-read was called would end up with the string "nil" as
the initial minibuffer input, which is not very useful nor is it a
valid input.
* lisp/progmodes/eglot.el (eglot--guess-contact): Tweak prompt for
major mode.  (Bug#60379)

Copyright-paperwork-exempt: yes

lisp/progmodes/eglot.el

index 6d192d9b3332c921ac1eba56b222c619163d760b..0082a171303746271d43965c54a326c6f8e2e457 100644 (file)
@@ -991,6 +991,7 @@ Return (MANAGED-MODE PROJECT CLASS CONTACT LANG-ID).  If INTERACTIVE is
 non-nil, maybe prompt user, else error as soon as something can't
 be guessed."
   (let* ((guessed-mode (if buffer-file-name major-mode))
+         (guessed-mode-name (and guessed-mode (symbol-name guessed-mode)))
          (main-mode
           (cond
            ((and interactive
@@ -1000,7 +1001,7 @@ be guessed."
              (completing-read
               "[eglot] Start a server to manage buffers of what major mode? "
               (mapcar #'symbol-name (eglot--all-major-modes)) nil t
-              (symbol-name guessed-mode) nil (symbol-name guessed-mode) nil)))
+              guessed-mode-name nil guessed-mode-name nil)))
            ((not guessed-mode)
             (eglot--error "Can't guess mode to manage for `%s'" (current-buffer)))
            (t guessed-mode)))