Patch 8.2.3992
Problem:    Wrong local-additions in the help with language mix.
Solution:   Adjust how the local additions list is generated. (Hirohito
            Higashi, closes #9464)
Files:      src/help.c, src/testdir/test_help.vim


*** ../vim-8.2.3991/src/help.c  2022-01-02 20:20:41.377033186 +0000
--- src/help.c  2022-01-03 12:52:12.158852025 +0000
***************
*** 818,849 ****
                        // the same directory.
                        for (i1 = 0; i1 < fcount; ++i1)
                        {
!                           for (i2 = 0; i2 < fcount; ++i2)
                            {
-                               if (i1 == i2)
-                                   continue;
-                               if (fnames[i1] == NULL || fnames[i2] == NULL)
-                                   continue;
-                               f1 = fnames[i1];
                                f2 = fnames[i2];
!                               t1 = gettail(f1);
                                t2 = gettail(f2);
-                               e1 = vim_strrchr(t1, '.');
                                e2 = vim_strrchr(t2, '.');
                                if (e1 == NULL || e2 == NULL)
                                    continue;
-                               if (fnamecmp(e1, ".txt") != 0
-                                   && fnamecmp(e1, fname + 4) != 0)
-                               {
-                                   // Not .txt and not .abx, remove it.
-                                   VIM_CLEAR(fnames[i1]);
-                                   continue;
-                               }
                                if (e1 - f1 != e2 - f2
                                            || fnamencmp(f1, f2, e1 - f1) != 0)
                                    continue;
                                if (fnamecmp(e1, ".txt") == 0
!                                   && fnamecmp(e2, fname + 4) == 0)
                                    // use .abx instead of .txt
                                    VIM_CLEAR(fnames[i1]);
                            }
--- 818,848 ----
                        // the same directory.
                        for (i1 = 0; i1 < fcount; ++i1)
                        {
!                           f1 = fnames[i1];
!                           t1 = gettail(f1);
!                           e1 = vim_strrchr(t1, '.');
!                           if (fnamecmp(e1, ".txt") != 0
!                                              && fnamecmp(e1, fname + 4) != 0)
!                           {
!                               // Not .txt and not .abx, remove it.
!                               VIM_CLEAR(fnames[i1]);
!                               continue;
!                           }
! 
!                           for (i2 = i1 + 1; i2 < fcount; ++i2)
                            {
                                f2 = fnames[i2];
!                               if (f2 == NULL)
!                                   continue;
                                t2 = gettail(f2);
                                e2 = vim_strrchr(t2, '.');
                                if (e1 == NULL || e2 == NULL)
                                    continue;
                                if (e1 - f1 != e2 - f2
                                            || fnamencmp(f1, f2, e1 - f1) != 0)
                                    continue;
                                if (fnamecmp(e1, ".txt") == 0
!                                              && fnamecmp(e2, fname + 4) == 0)
                                    // use .abx instead of .txt
                                    VIM_CLEAR(fnames[i1]);
                            }
*** ../vim-8.2.3991/src/testdir/test_help.vim   2021-11-25 10:50:09.178844306 
+0000
--- src/testdir/test_help.vim   2022-01-03 12:48:51.651396534 +0000
***************
*** 57,72 ****
    call writefile(['*mydoc-ext.txt* my extended awesome doc'], 
'Xruntime/doc/mydoc-ext.txt')
    let rtp_save = &rtp
    set rtp+=./Xruntime
!   help
!   1
!   call search('mydoc.txt')
!   call assert_equal('|mydoc.txt| my awesome doc', getline('.'))
!   1
!   call search('mydoc-ext.txt')
!   call assert_equal('|mydoc-ext.txt| my extended awesome doc', getline('.'))
    close
  
    call delete('Xruntime', 'rf')
    let &rtp = rtp_save
  endfunc
  
--- 57,98 ----
    call writefile(['*mydoc-ext.txt* my extended awesome doc'], 
'Xruntime/doc/mydoc-ext.txt')
    let rtp_save = &rtp
    set rtp+=./Xruntime
!   help local-additions
!   let lines = getline(line(".") + 1, search("^$") - 1)
!   call assert_equal([
!   \ '|mydoc-ext.txt| my extended awesome doc',
!   \ '|mydoc.txt| my awesome doc'
!   \ ], lines)
!   call delete('Xruntime/doc/mydoc-ext.txt')
!   close
! 
!   call mkdir('Xruntime-ja/doc', 'p')
!   call writefile(["local-additions\thelp.jax\t/*local-additions*"], 
'Xruntime-ja/doc/tags-ja')
!   call writefile(['*help.txt* This is jax file', '',
!   \ 'LOCAL ADDITIONS: *local-additions*', ''], 'Xruntime-ja/doc/help.jax')
!   call writefile(['*work.txt* This is jax file'], 'Xruntime-ja/doc/work.jax')
!   call writefile(['*work2.txt* This is jax file'], 
'Xruntime-ja/doc/work2.jax')
!   set rtp+=./Xruntime-ja
! 
!   help local-additions@en
!   let lines = getline(line(".") + 1, search("^$") - 1)
!   call assert_equal([
!   \ '|mydoc.txt| my awesome doc'
!   \ ], lines)
!   close
! 
!   help local-additions@ja
!   let lines = getline(line(".") + 1, search("^$") - 1)
!   call assert_equal([
!   \ '|mydoc.txt| my awesome doc',
!   \ '|help.txt| This is jax file',
!   \ '|work.txt| This is jax file',
!   \ '|work2.txt| This is jax file',
!   \ ], lines)
    close
  
    call delete('Xruntime', 'rf')
+   call delete('Xruntime-ja', 'rf')
    let &rtp = rtp_save
  endfunc
  
*** ../vim-8.2.3991/src/version.c       2022-01-03 12:27:59.359039951 +0000
--- src/version.c       2022-01-03 12:52:45.886775303 +0000
***************
*** 752,753 ****
--- 752,755 ----
  {   /* Add new patch number below this line */
+ /**/
+     3992,
  /**/

-- 
Spam seems to be something useful to novices.  Later you realize that
it's a bunch of indigestable junk that only clogs your system.
Applies to both the food and the e-mail!

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///                                                                      \\\
\\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
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 on the web visit 
https://groups.google.com/d/msgid/vim_dev/20220103125411.665861C0CF0%40moolenaar.net.

Raspunde prin e-mail lui