bug-gnu-emacs
[Top][All Lists]
Advanced

[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)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]