[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#61321: 30.0.50; Fail to load file with file variables and CRLF EOL w
From: |
Eli Zaretskii |
Subject: |
bug#61321: 30.0.50; Fail to load file with file variables and CRLF EOL without EOL conversion |
Date: |
Mon, 06 Feb 2023 17:17:46 +0200 |
> Date: Mon, 06 Feb 2023 23:02:01 +0900
> From: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
>
> (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?
diff --git a/lisp/files.el b/lisp/files.el
index 9da8244..b0ec6bb 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -4017,6 +4017,7 @@ hack-local-variables--find-variables
(forward-line 1)
(let ((startpos (point))
endpos
+ (selective-p (eq selective-display t))
(thisbuf (current-buffer)))
(save-excursion
(unless (let ((case-fold-search t))
@@ -4033,7 +4034,8 @@ hack-local-variables--find-variables
(with-temp-buffer
(insert-buffer-substring thisbuf startpos endpos)
(goto-char (point-min))
- (subst-char-in-region (point) (point-max) ?\^m ?\n)
+ (if selective-p
+ (subst-char-in-region (point) (point-max) ?\r ?\n))
(while (not (eobp))
;; Discard the prefix.
(if (looking-at prefix)