--- Begin Message ---
Subject: |
26.3; bibtex.el ignores file variable bibtex-contline-indentation |
Date: |
Fri, 13 Nov 2020 13:45:58 +0100 |
In GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
of 2020-05-17, modified by Debian built on x86-csail-01
I set bibtex-contline-indentation as a file variable, yeet it is ignored
by bibtex-mode.
I am not sure how file variables and minor modes interact, but it looks
like when the minor mode is fired, the local variables have not been
set yet.
Whatever the reason, bibtex-mode sets fill-prefix as a local variable
irrespective of the file variable bibtex-contline-indentation.
The fix for my case is simple: avoid setting fill-prefix as a local
variable in the minor mode, and just set it inside the
bibtex-fill-field-bounds function. A patch follows.
However, I don't know if this is a hint of some more general problem on
how bibtex-mode trets file variables.
--- bibtex-2019.el 2020-11-13 11:54:34.000000000 +0100
+++ bibtex.el 2020-11-13 13:34:24.000000000 +0100
@@ -3399,8 +3409,6 @@
(set (make-local-variable 'defun-prompt-regexp) "^[ \t]*@[[:alnum:]]+[ \t]*")
(set (make-local-variable 'outline-regexp) "[ \t]*@")
(set (make-local-variable 'fill-paragraph-function) 'bibtex-fill-field)
- (set (make-local-variable 'fill-prefix)
- (make-string (+ bibtex-entry-offset bibtex-contline-indentation) ?\s))
(set (make-local-variable 'font-lock-defaults)
'(bibtex-font-lock-keywords
nil t ((?$ . "\"")
@@ -4830,7 +4838,9 @@
"Fill BibTeX field delimited by BOUNDS.
If JUSTIFY is non-nil justify as well.
If optional arg MOVE is non-nil move point to end of field."
- (let ((end-field (copy-marker (bibtex-end-of-field bounds))))
+ (let ((fill-prefix
+ (make-string (+ bibtex-entry-offset bibtex-contline-indentation) ?\s))
+ (end-field (copy-marker (bibtex-end-of-field bounds))))
(if (not justify)
(goto-char (bibtex-start-of-text-in-field bounds))
(goto-char (bibtex-start-of-field bounds))
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#44618: 26.3; bibtex.el ignores file variable bibtex-contline-indentation |
Date: |
Wed, 2 Dec 2020 12:38:19 -0600 |
On Tue Nov 17 2020 Lars Ingebrigtsen wrote:
> If I'm reading the patch correctly, it looks good to me -- it'll still
> allow people to set fill-prefix from bibtex-mode-hook, and it fixes the
> reported problem in these two bug reports. (I haven't tested the patch,
> though, just read it.)
Installed as patch d9167d940ac9d0504cc38a044c7cba897c103eaf.
I am closing both bug#44618 and bug#44647.
--- End Message ---