mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
fix(helptags): make multibyte help tags work properly (#23975)
This commit is contained in:
parent
2237b384e4
commit
4229bbe514
@ -458,7 +458,7 @@ int find_help_tags(const char *arg, int *num_matches, char ***matches, bool keep
|
|||||||
// Replace "^x" by "CTRL-X". Don't do this for "^_" to make
|
// Replace "^x" by "CTRL-X". Don't do this for "^_" to make
|
||||||
// ":help i_^_CTRL-D" work.
|
// ":help i_^_CTRL-D" work.
|
||||||
// Insert '-' before and after "CTRL-X" when applicable.
|
// Insert '-' before and after "CTRL-X" when applicable.
|
||||||
if (*s < ' '
|
if ((uint8_t)(*s) < ' '
|
||||||
|| (*s == '^' && s[1]
|
|| (*s == '^' && s[1]
|
||||||
&& (ASCII_ISALPHA(s[1]) || vim_strchr("?@[\\]^", (uint8_t)s[1]) != NULL))) {
|
&& (ASCII_ISALPHA(s[1]) || vim_strchr("?@[\\]^", (uint8_t)s[1]) != NULL))) {
|
||||||
if (d > IObuff && d[-1] != '_' && d[-1] != '\\') {
|
if (d > IObuff && d[-1] != '_' && d[-1] != '\\') {
|
||||||
|
@ -1762,7 +1762,7 @@ static tagmatch_status_T findtags_parse_line(findtags_state_T *st, tagptrs_T *ta
|
|||||||
if (st->state == TS_BINARY) {
|
if (st->state == TS_BINARY) {
|
||||||
int tagcmp;
|
int tagcmp;
|
||||||
// Simplistic check for unsorted tags file.
|
// Simplistic check for unsorted tags file.
|
||||||
int i = (int)tagpp->tagname[0];
|
int i = (uint8_t)tagpp->tagname[0];
|
||||||
if (margs->sortic) {
|
if (margs->sortic) {
|
||||||
i = TOUPPER_ASC(tagpp->tagname[0]);
|
i = TOUPPER_ASC(tagpp->tagname[0]);
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,10 @@ local clear = helpers.clear
|
|||||||
local command = helpers.command
|
local command = helpers.command
|
||||||
local eq = helpers.eq
|
local eq = helpers.eq
|
||||||
local funcs = helpers.funcs
|
local funcs = helpers.funcs
|
||||||
|
local meths = helpers.meths
|
||||||
|
local mkdir = helpers.mkdir
|
||||||
|
local rmdir = helpers.rmdir
|
||||||
|
local write_file = helpers.write_file
|
||||||
|
|
||||||
describe(':help', function()
|
describe(':help', function()
|
||||||
before_each(clear)
|
before_each(clear)
|
||||||
@ -25,4 +29,17 @@ describe(':help', function()
|
|||||||
-- Before #9773, Nvim would crash on quitting the help window.
|
-- Before #9773, Nvim would crash on quitting the help window.
|
||||||
eq(1002, funcs.win_getid())
|
eq(1002, funcs.win_getid())
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
it('multibyte help tags work #23978', function()
|
||||||
|
mkdir('Xhelptags')
|
||||||
|
finally(function()
|
||||||
|
rmdir('Xhelptags')
|
||||||
|
end)
|
||||||
|
mkdir('Xhelptags/doc')
|
||||||
|
write_file('Xhelptags/doc/Xhelptags.txt', '*…*')
|
||||||
|
command('helptags Xhelptags/doc')
|
||||||
|
command('set rtp+=Xhelptags')
|
||||||
|
command('help …')
|
||||||
|
eq('*…*', meths.get_current_line())
|
||||||
|
end)
|
||||||
end)
|
end)
|
||||||
|
Loading…
Reference in New Issue
Block a user