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
View this message in rfc822 format
On 24/08/2023 07:54, Eli Zaretskii wrote:
>> If everything's okay, maybe it's good for emacs-29. It will have a few
>> months to stabilize, right?
>
> For some, hopefully small, value of "few", yes.
Hopefully.
>> Just as long as the patch goes into master too (that's where the
>> bulk of the stabilization will happen, since we have generally
>> switched to that branch now for daily use).
>
> OK.
>
>>> diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
>>> index 7ae763d..218696c 100644
>>> --- a/lisp/vc/vc-git.el
>>> +++ b/lisp/vc/vc-git.el
>>> @@ -1051,7 +1051,15 @@ vc-git-checkin
>>> (user-error "Index not empty"))
>>> (setq pos (point))))))
>>> (unless (string-empty-p vc-git-patch-string)
>>> - (let ((patch-file (make-nearby-temp-file "git-patch")))
>>> + (let ((patch-file (make-nearby-temp-file "git-patch"))
>>> + ;; Temporarily countermand the let-binding at the
>>> + ;; beginning of this function.
>>> + (coding-system-for-write
>>> + (coding-system-change-eol-conversion
>>> + ;; On DOS/Windows, it is important for the patch file
>>> + ;; to have the Unix EOL format, because Git expects
>>> + ;; that, even on Windows.
>>> + (or pcsw vc-git-commits-coding-system) 'unix)))
>>
>> Any chance this change could negatively affect non-Windows systems? Is
>> it a given that the 'unix' line endings are always used there?
>
> Yes, that should be the case. If you will be more happy with making
> this a Windows-only change, I can do that.
I'd be more happy with making the "right" change rather than with
limiting its scope, given that no release is imminent. Then we can
decide which branch to put it on.
And given the subject matter, I can't tell whether it's better to limit
to Windows users or not.
> But before I do, could you
> please try the recipe here:
>
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=65049#68
>
> but with the following change in step 4:
>
> 4. C-x RET f utf-8-dos RET
>
> That is, try the recipe on a Posix host with a file whose EOL format
> is CRLF. If that works without any changes in the current VC code, I
> will be happy to make the first hunk Windows-specific.
That works with the current emacs-29. Also tried with the patch applied
-- still works.
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.