patch 9.1.0793: xxd: -e does add one extra space

Commit: 
https://github.com/vim/vim/commit/c73fc86bf8fe318aab41900dd92e380143211cda
Author: Aapo Rantalainen <aapo.rantalai...@gmail.com>
Date:   Sat Oct 19 15:54:57 2024 +0200

    patch 9.1.0793: xxd: -e does add one extra space
    
    Problem:  xxd: -e does add one extra space
    Solution: fix it, refactor and merge some code
              (Aapo Rantalainen)
    
    fixes: #15898
    closes: #15899
    
    Signed-off-by: Aapo Rantalainen <aapo.rantalai...@gmail.com>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/testdir/test_xxd.vim b/src/testdir/test_xxd.vim
index 570687151..f10c2447d 100644
--- a/src/testdir/test_xxd.vim
+++ b/src/testdir/test_xxd.vim
@@ -485,12 +485,12 @@ func Test_xxd_little_endian_with_cols()
   enew!
   call writefile(["ABCDEF"], 'Xxdin', 'D')
   exe 'r! ' .. s:xxd_cmd .. ' -e -c6 ' .. ' Xxdin'
-  call assert_equal('00000000: 44434241     4645   ABCDEF', getline(2))
+  call assert_equal('00000000: 44434241     4645  ABCDEF', getline(2))
 
   enew!
   call writefile(["ABCDEFGHI"], 'Xxdin', 'D')
   exe 'r! ' .. s:xxd_cmd .. ' -e -c9 ' .. ' Xxdin'
-  call assert_equal('00000000: 44434241 48474645       49   ABCDEFGHI', 
getline(2))
+  call assert_equal('00000000: 44434241 48474645       49  ABCDEFGHI', 
getline(2))
 
   bwipe!
 endfunc
diff --git a/src/version.c b/src/version.c
index 93187e847..8c389ff57 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    793,
 /**/
     792,
 /**/
diff --git a/src/xxd/xxd.c b/src/xxd/xxd.c
index 63f516c12..b1050e9da 100644
--- a/src/xxd/xxd.c
+++ b/src/xxd/xxd.c
@@ -64,6 +64,7 @@
  * 10.02.2024  fix buffer-overflow when writing color output to buffer, #14003
  * 10.05.2024  fix another buffer-overflow when writing colored output to 
buffer, #14738
  * 10.09.2024  Support -b and -i together, #15661
+ * 19.10.2024  -e did add an extra space #15899
  *
  * (c) 1990-1998 by Juergen Weigert (jnwei...@gmail.com)
  *
@@ -144,7 +145,7 @@ extern void perror __P((char *));
 # endif
 #endif
 
-char version[] = "xxd 2024-09-15 by Juergen Weigert et al.";
+char version[] = "xxd 2024-10-19 by Juergen Weigert et al.";
 #ifdef WIN32
 char osver[] = " (Win32)";
 #else
@@ -1110,9 +1111,6 @@ main(int argc, char *argv[])
           else
             c = addrlen + 3 + (grplen * cols - 1)/octspergrp + p*12;
 
-          if (hextype == HEX_LITTLEENDIAN)
-            c += 1;
-
           COLOR_PROLOGUE
           begin_coloring_char(l,&c,e,ebcdic);
 #if defined(__MVS__) && __CHARSET_LIB == 0
@@ -1126,21 +1124,15 @@ main(int argc, char *argv[])
           l[c++] = (e > 31 && e < 127) ? e : '.';
 #endif
           COLOR_EPILOGUE
-          n++;
-          if (++p == cols)
-            {
-              l[c++] = '
';
-              l[c++] = '
-              xxdline(fpo, l, autoskip ? nonzero : 1);
-              nonzero = 0;
-              p = 0;
-            }
         }
       else /*no colors*/
         {
           if (ebcdic)
             e = (e < 64) ? '.' : etoa64[e-64];
 
+          if (hextype == HEX_LITTLEENDIAN)
+            c -= 1;
+
           c += addrlen + 3 + p;
           l[c++] =
 #if defined(__MVS__) && __CHARSET_LIB == 0
@@ -1149,16 +1141,16 @@ main(int argc, char *argv[])
               (e > 31 && e < 127)
 #endif
               ? e : '.';
-          n++;
-          if (++p == cols)
-            {
-              l[c++] = '
';
-              l[c] = '
-              xxdline(fpo, l, autoskip ? nonzero : 1);
-              nonzero = 0;
-              p = 0;
-            }
         }
+        n++;
+        if (++p == cols)
+          {
+            l[c++] = '
';
+            l[c] = '
+            xxdline(fpo, l, autoskip ? nonzero : 1);
+            nonzero = 0;
+            p = 0;
+          }
     }
   if (p)
     {
@@ -1166,8 +1158,6 @@ main(int argc, char *argv[])
       l[c] = '
       if (color)
         {
-          c++;
-
           x = p;
           if (hextype == HEX_LITTLEENDIAN)
             {

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/E1t2A01-00AVP7-DQ%40256bit.org.

Raspunde prin e-mail lui