Skip to content

Unable to open stderr buffer again if killed #1062

@joaotavora

Description

@joaotavora

Discussed in #1036

Originally posted by doolio September 16, 2022
Not sure if this is a bug so asking here first. If I kill (C-x k) the *EGLOT stderr* buffer I cannot open it again with M-x eglot-stderr-buffer and see this error message Wrong type argument: stringp, nil

Reproduction recipe

  1. Ensure the clangd LSP server is installed and available in path
  2. Invoke Emacs master with Eglot master:
    ~/Source/Emacs/emacs/src/emacs -Q -L ~/Source/Emacs/eglot -l eglot ~/tmp/coiso.cpp -f eglot
  3. M-x eglot-stderr-buffer
  4. Kill the resulting *EGLOT (tmp/(c++-mode c-mode)) stderr* buffer
  5. Type M-x toggle-debug-on-error
  6. Type M-x eglot-stderr-buffer again and get this unexpected error:
Debugger entered--Lisp error: (error "Invalid buffer")
  signal(error ("Invalid buffer"))
  error("Invalid buffer")
  display-buffer(#<killed buffer>)
  eglot-stderr-buffer(#<eglot-lsp-server eglot-lsp-server-1574d968226a>)
  funcall-interactively(eglot-stderr-buffer #<eglot-lsp-server eglot-lsp-server-1574d968226a>)
  call-interactively(eglot-stderr-buffer record nil)
  command-execute(eglot-stderr-buffer record)
  execute-extended-command(nil "eglot-stderr-buffer" "eglot-std")
  funcall-interactively(execute-extended-command nil "eglot-stderr-buffer" "eglot-std")
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions