GNU bug report logs - #61321
30.0.50; Fail to load file with file variables and CRLF EOL without EOL conversion

Previous Next

Package: emacs;

Reported by: Kazuhiro Ito <kzhr <at> d1.dion.ne.jp>

Date: Mon, 6 Feb 2023 14:04:01 UTC

Severity: normal

Found in version 30.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#61321: closed (30.0.50; Fail to load file with file variables
 and CRLF EOL without EOL conversion)
Date: Mon, 06 Feb 2023 16:31:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 06 Feb 2023 18:30:10 +0200
with message-id <83r0v2pxil.fsf <at> gnu.org>
and subject line Re: bug#61321: 30.0.50; Fail to load file with file variables and CRLF EOL without EOL conversion
has caused the debbugs.gnu.org bug report #61321,
regarding 30.0.50; Fail to load file with file variables and CRLF EOL without EOL conversion
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
61321: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61321
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Kazuhiro Ito <kzhr <at> d1.dion.ne.jp>
To: bug-gnu-emacs <at> gnu.org
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
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


[Message part 3 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: Kazuhiro Ito <kzhr <at> d1.dion.ne.jp>
Cc: 61321-done <at> debbugs.gnu.org
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 <at> d1.dion.ne.jp>
> Cc: 61321 <at> 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.


This bug report was last modified 2 years and 105 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.