patch 9.1.2099: different line endings in ja.sjis.po and ja.po

Commit: 
https://github.com/vim/vim/commit/cbb72e42160f0b827a748ebacd995ebbadbab4e5
Author: Muraoka Taro <[email protected]>
Date:   Tue Jan 20 19:07:02 2026 +0000

    patch 9.1.2099: different line endings in ja.sjis.po and ja.po
    
    Problem:  Depending on the worker's environment, the line endings in
              ja.sjis.po may differ from those in the source ja.po.
    
    Solution: By setting standard input and output to binary mode, the line
              endings for input and output will match (Muraoka Taro)
    
    This occurs when using MINGW gcc on Windows and git with autocrlf=false.
    In this case, the line endings in ja.po are LF, but because sjiscorr
    compiled with MINGW gcc uses text mode for standard input and output,
    the line endings in the output ja.sjis.po will be CRLF.
    
    This mismatch in line endings confuses git, causing large differences to
    occur when updating.
    
    In addition, the comment style has been changed to // to match the rest
    of Vim's code.
    
    closes: #19226
    
    Signed-off-by: Muraoka Taro <[email protected]>
    Signed-off-by: Christian Brabandt <[email protected]>

diff --git a/src/po/sjiscorr.c b/src/po/sjiscorr.c
index c6c39833d..6decb9216 100644
--- a/src/po/sjiscorr.c
+++ b/src/po/sjiscorr.c
@@ -1,17 +1,28 @@
-/*
- * Simplistic program to correct SJIS inside strings.  When a trail byte is a
- * backslash it needs to be doubled.
- * Public domain.
- */
+// Simplistic program to correct SJIS inside strings.  When a trail byte is a
+// backslash it needs to be doubled.
+// Public domain.
+
 #include <stdio.h>
 #include <string.h>
 
+#ifdef _WIN32
+#      include <fcntl.h>
+#      include <io.h>
+#endif
+
        int
 main(int argc, char **argv)
 {
        char buffer[BUFSIZ];
        char *p;
 
+       // Windows only: put standard input and output into binary mode so that 
the
+       // line endings in the output match those in the input.
+#ifdef _WIN32
+       _setmode(_fileno(stdin), _O_BINARY);
+       _setmode(_fileno(stdout), _O_BINARY);
+#endif
+
        while (fgets(buffer, BUFSIZ, stdin) != NULL)
        {
                for (p = buffer; *p != 0; p++)
@@ -22,11 +33,10 @@ main(int argc, char **argv)
                                fputs("charset=CP932", stdout);
                                p += 12;
                        }
-                       else if (strncmp(p, "# Original translations", 23) == 0)
+                       else if (strncmp(p, "# Original translations.", 24) == 
0)
                        {
+                               p += 24 - 1; // subtracting 1 by considering 
"p++" in the loop.
                                fputs("# Generated from ja.po, DO NOT EDIT.", 
stdout);
-                               while (p[1] != '
')
-                                       ++p;
                        }
                        else if (*(unsigned char *)p == 0x81 && p[1] == '_')
                        {
@@ -46,3 +56,5 @@ main(int argc, char **argv)
                }
        }
 }
+
+// vim:set ts=4 sts=4 sw=4 noet:
diff --git a/src/version.c b/src/version.c
index 4790f8de2..71388c23e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -734,6 +734,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2099,
 /**/
     2098,
 /**/

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1viHC2-005FrK-2B%40256bit.org.

Raspunde prin e-mail lui