--- Begin Message ---
Subject: |
30.0.50; Fail to load file with file variables and CRLF EOL without EOL conversion |
Date: |
Mon, 06 Feb 2023 23:02:01 +0900 |
User-agent: |
Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (Gojō) APEL-LB/10.8 EasyPG/1.0.0 Emacs/30.0.50 (x86_64-w64-mingw32) MULE/6.0 (HANACHIRUSATO) |
I receive user error in opening a file with file varibles and CRLF EOL
when I inhibit EOL conversion.
(let ((filename (expand-file-name "test.txt"
temporary-file-directory)))
(with-temp-buffer
(setq buffer-file-coding-system 'dos)
(insert "This is a test.\n"
"\n"
"Local Variables:\n"
"comment-column: 0\n"
"End:\n")
(write-file filename))
(unwind-protect
(let (;; (coding-system-for-read 'unix)
(inhibit-eol-conversion t)
)
(find-file filename))
(delete-file filename)))
-> Local variables entry is missing the suffix
I bumped this issue by calling url-retrieve-synchronously with
coding-system-for-read is let-bound to 'binary. On MS-Windows, url
package saves cookies into a file with CRLF EOL and fails to load it
under such condition.
Of course I can fix the caller and have already fixed, but
inhibit-eol-conversion is customizable variable and file variables can
be set in any text files. So this issue may occur in opening any
files, although it should have rarely been a real problem. (I
confirmed that the issue had been introduced emacs 22 at the latest.)
--
Kazuhiro Ito
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#61321: 30.0.50; Fail to load file with file variables and CRLF EOL without EOL conversion |
Date: |
Mon, 06 Feb 2023 18:30:10 +0200 |
> Date: Tue, 07 Feb 2023 01:01:53 +0900
> From: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
> Cc: 61321@debbugs.gnu.org
>
> > > (let ((filename (expand-file-name "test.txt"
> > > temporary-file-directory)))
> > > (with-temp-buffer
> > > (setq buffer-file-coding-system 'dos)
> > > (insert "This is a test.\n"
> > > "\n"
> > > "Local Variables:\n"
> > > "comment-column: 0\n"
> > > "End:\n")
> > > (write-file filename))
> > > (unwind-protect
> > > (let (;; (coding-system-for-read 'unix)
> > > (inhibit-eol-conversion t)
> > > )
> > > (find-file filename))
> > > (delete-file filename)))
> > >
> > > -> Local variables entry is missing the suffix
> >
> > Thanks. Does the patch below give good results?
>
> I confirmed the problem was fixed. Thank you for the quick fix!
Thanks, I've now installed this on the master branch, and I'm
therefore closing this bug.
--- End Message ---