Обсуждение MediaWiki:Gadget-wfTyposUpdate.js

message: === Эмуляция \w ===
Предлагаю перед строчкой // Wrap into function r() добавить эмуляцию \w вот так:
r( /\\w/g, '[А-ЯЁа-яё]' );
Причина хорошо описана на странице обсуждения Gadget-wfTypos.js.
replies: text: . -- dima_st_bk 03:18, 9 апреля 2019 (UTC)
=== Эмуляция \b ===
Предлагаю заменить текущую эмуляцию \b:
r( /^\\b\((.)\|(.)\)([*+?])/gm, '((?:^|\\s)[$1$2]$3)' );
r( /^\\b\((.)\|(.)\)/gm, '((?:^|\\s)[$1$2])' );
r( /^\\b\(\[(.+)\]\)([*+?])/gm, '((?:^|\\s)[$1]$2)' );
r( /^\\b\(\[(.+)\]\)/gm, '((?:^|\\s)[$1])' );
r( /^\\b\((.+?)\|(.+?)\)([*+?])/gm, '((?:^|\\s)(?:$1|$2)$3)' );
r( /^\\b\((.+?)\|(.+?)\)/gm, '((?:^|\\s)(?:$1|$2))' );
на что-нибудь такое:
function replaceWordBoundaryAtBeginningOfLine (line) {
    if ( !line.startsWith('\\b') ) return line;
 
    for ( let i = 8; i >= 1; --i ) {
        line = line.replace( '$' + i, '$' + (i + 1) );
    }
    line = line.replace( /^\\b/, '(^|\\s)' );
    line = line.replace( /\x01/, '\x01$1' );
    return line;
}
txt = txt.split( '\n' ).map(replaceWordBoundaryAtBeginningOfLine).join( '\n' );
Причина: текущая эмуляция \b (если в шаблоне сразу после \b идёт группа, то \b добавляется в её начало в виде (?:^|\\s)) работает не для всех замен. Предлагается эмулировать \b путём добавления в начало шаблона обычной группы для \b (и в начало замены тоже), плюс обновить обозначения остальных групп в замене (увеличить на 1). 
Дима74 (обс.) 23:44, 1 апреля 2019 (UTC)
* Может, на ВП:ТФ? -- La loi et la justice (обс.) 08:37, 7 декабря 2019 (UTC)
thread_title:  Небольшие предложения 

message: Предлагаю перед строчкой // Wrap into function r() добавить эмуляцию \w вот так:
r( /\\w/g, '[А-ЯЁа-яё]' );
Причина хорошо описана на странице обсуждения Gadget-wfTypos.js.
replies: text: . -- dima_st_bk 03:18, 9 апреля 2019 (UTC)
thread_title:  Эмуляция \w 

message: Предлагаю заменить текущую эмуляцию \b:
r( /^\\b\((.)\|(.)\)([*+?])/gm, '((?:^|\\s)[$1$2]$3)' );
r( /^\\b\((.)\|(.)\)/gm, '((?:^|\\s)[$1$2])' );
r( /^\\b\(\[(.+)\]\)([*+?])/gm, '((?:^|\\s)[$1]$2)' );
r( /^\\b\(\[(.+)\]\)/gm, '((?:^|\\s)[$1])' );
r( /^\\b\((.+?)\|(.+?)\)([*+?])/gm, '((?:^|\\s)(?:$1|$2)$3)' );
r( /^\\b\((.+?)\|(.+?)\)/gm, '((?:^|\\s)(?:$1|$2))' );
на что-нибудь такое:
function replaceWordBoundaryAtBeginningOfLine (line) {
    if ( !line.startsWith('\\b') ) return line;
 
    for ( let i = 8; i >= 1; --i ) {
        line = line.replace( '$' + i, '$' + (i + 1) );
    }
    line = line.replace( /^\\b/, '(^|\\s)' );
    line = line.replace( /\x01/, '\x01$1' );
    return line;
}
txt = txt.split( '\n' ).map(replaceWordBoundaryAtBeginningOfLine).join( '\n' );
Причина: текущая эмуляция \b (если в шаблоне сразу после \b идёт группа, то \b добавляется в её начало в виде (?:^|\\s)) работает не для всех замен. Предлагается эмулировать \b путём добавления в начало шаблона обычной группы для \b (и в начало замены тоже), плюс обновить обозначения остальных групп в замене (увеличить на 1). 
Дима74 (обс.) 23:44, 1 апреля 2019 (UTC)
* Может, на ВП:ТФ? -- La loi et la justice (обс.) 08:37, 7 декабря 2019 (UTC)
thread_title:  Эмуляция \b 

message: В слове "cкопируйте" (строка 6) латинское "c". Vcohen (обс.) 20:47, 2 апреля 2022 (UTC)
thread_title:  Кирлат 

message: Данный скрипт добавляет в исходные рег. выр. «захватывающие скобки», чего ни в коем случае нельзя делать, т. к. это приводит к ошибкам типа той, что описана здесь — Обсуждение Википедии:AutoWikiBrowser/Typos#Неверные наращения числительныхВикипедия:AutoWikiBrowser/Typos
Прошу как можно скорее изменить добавляемые скриптом «захватывающие скобки» "(" на «незахватывающие» "(?:", у меня самого нет прав на такое изменение.
Полагаю, что этот фикс поможет решить и другие проблемы.
Gromolyak (обс.) 13:00, 1 июня 2024 (UTC)
thread_title:  Логическая ошибка в скрипте