[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#24415: 24.4; issue with big file variable
From: |
Stephen Berman |
Subject: |
bug#24415: 24.4; issue with big file variable |
Date: |
Mon, 12 Sep 2016 10:45:46 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) |
On Sun, 11 Sep 2016 23:52:56 +0200 Andrea Rossetti <andrea.rossetti@gmail.com>
wrote:
> Hi guys,
>
> if a file variable is a list longer than a certain size, then it's
> ignored on file loading. Test case follows:
>
> - start "emacs -Q"
> - M-: (add-file-local-variable 'v1 (make-list 2000 1)) RET
> - C-x C-w example01.el RET
> - close Emacs and restart "emacs -Q"
> - C-x C-f example01.el RET
> - bad behaviour: at this point a confirm message to load the file
> variable should have appeared ("... safe variables blah blah... do you
> want to apply it? y/n/!") but it does not, and the variable is not
> initialized
>
> Further observations:
>
> - if you replay this same test with a shorter v1, for example lowering
> "2000" to "1000", then the behaviour will be fine: the confirm
> message will appear and inspection of the variable will show correct
> value.
>
> - it doesn't seem to depend on the max length of a single text line:
> you get the error even when you re-run a similar test that saves two
> file-local variables v1 and v2, each being "(make-list 1000 1)".
>
> Does the test reproduce in the same way on your workstation? Do you
> think it's a bug, or am I just hitting some well-known hard limit?
It's a hard limit in hack-local-variables:
;; Look for "Local variables:" line in last page.
(save-excursion
(goto-char (point-max))
(search-backward "\n\^L" (max (- (point-max) 3000) (point-min))
'move)
I don't know how well-known this is; AFAICT it's not documented.
Steve Berman