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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#65049: Minor update to the repro steps


From: Dmitry Gutov
Subject: bug#65049: Minor update to the repro steps
Date: Mon, 28 Aug 2023 19:51:25 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0

On 28/08/2023 19:12, Eli Zaretskii wrote:
Date: Mon, 28 Aug 2023 16:45:23 +0300
Cc:juri@linkov.net,habamax@gmail.com,65049@debbugs.gnu.org
From: Dmitry Gutov<dmitry@gutov.dev>

On 28/08/2023 15:12, Eli Zaretskii wrote:
Try edebug-instrumenting vc-diff-internal and then calling vc-root-diff
anywhere (C-x v D). When the execution reaches the line that we have
been discussing, you'll see that (vc-coding-system-for-diff (car files))
evaluates to 'undecided because (car files) is a directory.

So this mechanism is always unused in vc-root-diff.
OK, but in that case 'undecided' is the best guess we can come up
with.  It basically lets Emacs guess when it actually sees the stuff
in the diffs, while reading it into a buffer.
Yes, and if it's good enough for the (possibly?) most-frequently used
out of the vc-*-diff commands, then perhaps we don't need the additional
detection logic?

Since its introduction 30 years ago indeed the situation has changed a
lot, with UTF-8 and its ubiquity. Removing the extra complication would
make code a little easier to read, and reduce variability when
reproducing problems. But there's no hurry, of course.
I'm not sure I understand which part do you want to remove.

The part that currently looks like this:

         (coding-system-for-read
          ;; Force the EOL conversion to be -unix, in case the files
          ;; to be compared have DOS EOLs.  In that case, EOL
          ;; conversion will produce a patch file that will either
          ;; fail to apply, or will change the EOL format of some of
          ;; the lines in the patched file.
          (coding-system-change-eol-conversion
           (if files (vc-coding-system-for-diff (car files)) 'undecided)
           'unix))

As we've established, the only part that's used in vc-root-diff (and only now) is binding coding-system-change-eol-conversion to 'undecided-unix'. We could leave it there, though it doesn't seem to change the behavior in my tests.





reply via email to

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