GNU bug report logs -
#65049
29.1; vc-do-command fails in windows emacs 29.1
Previous Next
Reported by: Maxim Kim <habamax <at> gmail.com>
Date: Fri, 4 Aug 2023 07:51:01 UTC
Severity: normal
Found in version 29.1
Done: Dmitry Gutov <dmitry <at> gutov.dev>
Bug is archived. No further changes may be made.
Full log
Message #125 received at 65049 <at> debbugs.gnu.org (full text, mbox):
On 28/08/2023 19:12, Eli Zaretskii wrote:
>> Date: Mon, 28 Aug 2023 16:45:23 +0300
>> Cc:juri <at> linkov.net,habamax <at> gmail.com,65049 <at> debbugs.gnu.org
>> From: Dmitry Gutov<dmitry <at> 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.
This bug report was last modified 232 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.