Fix bibtex validation for non-file buffers

* lisp/textmodes/bibtex.el (bibtex-validate): Use buffer name
to show errors in non-file buffers.  (Bug#71946)
This commit is contained in:
Liu Hui 2024-07-05 17:50:08 +08:00 committed by Eli Zaretskii
parent ab7c40ea52
commit 816c53c2d9

View file

@ -4638,13 +4638,16 @@ Return t if test was successful, nil otherwise."
(bibtex-progress-message 'done)))))
(if error-list
(let ((file (file-name-nondirectory (buffer-file-name)))
(dir default-directory)
(err-buf "*BibTeX validation errors*"))
(let* ((file-p (buffer-file-name))
(file (if file-p (file-name-nondirectory file-p) (buffer-name)))
(dir default-directory)
(err-buf "*BibTeX validation errors*"))
(setq error-list (sort error-list #'car-less-than-car))
(with-current-buffer (get-buffer-create err-buf)
(setq default-directory dir)
(unless (eq major-mode 'compilation-mode) (compilation-mode))
(setq-local compilation-parse-errors-filename-function
(if file-p #'identity #'get-buffer))
(let ((inhibit-read-only t))
(delete-region (point-min) (point-max))
(insert (substitute-command-keys