Заявленный баг обнаруживается при кодировании на JavaScript (расширения, скрипты и так далее). Если запустить в консоли ошибок анализ выражения

Выделить код

Код:

'АБВ'.search(/б/i)

то версии 2 и 3 выдадут правильный индекс «1», а 3.5 выдаст индекс «-1», то есть - не найдено. С латиницей всё в порядке в обоих случаях.

Может быть, кто-то знает, общий ли это баг браузера для любых языков выше ASCII, или это баг русской сборки, или это вина каких-то частных настроек ОС/браузера? Если баг общий, насколько он осознан в сообществе разработчиков и как скоро будет исправлен?

homo_nudus пишет

1. Если использовать стандартный поиск из панели над статусной строкой. При снятой галочке "Учесть регистр" поиск всё равно остаётся регистрозависимым. В версиях 2 и 3 всё в порядке.

У меня нормально находит «Заявленный» при наборе «зая».

homo_nudus пишет

2. При кодировании на JavaScript (расширения, скрипты и так далее). Если запустить в консоли ошибок анализ выражения

Подтверждаю.
А еще

Выделить код

Код:

/б/i.test("АБВ") // false
/б/i.exec("АБВ") // null
"АБВ".match(/б/i) // null

А вот

Выделить код

Код:

"АБВ".toLowerCase().indexOf("б")

уже отрабатывает правильно.

https://bugzilla.mozilla.org/show_bug.cgi?id=428816 => https://bugzilla.mozilla.org/show_bug.cgi?id=502789

23-07-2009 03:20:48
P.S. В
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2a1pre) Gecko/20090720 Minefield/3.6a1pre
работает правильно. =)

23-07-2009 03:31:42
P.P.S. Работает:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2a1pre) Gecko/20090722 Minefield/3.6a1pre
Не работает:
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.2pre) Gecko/20090722 Shiretoko/3.5.2pre

23-07-2009 03:41:55
P.P.P.S. И при отключении JIT действительно все Ok.

Первый пункт удалил: оказалось, что виной было расширение «/Find Bar/».

Infocatcher, спасибо за ссылки. Почему же второй баг помечен как RESOLVED FIXED? Имеется в виду — для последней ночной сборки?

Далее обнаруживаются интересные вещи:

1. Поечему-то правильно работает 'АБВ'.search(/[б]/i), в отличие от 'АБВ'.search(/б/i).
2. Если javascript.options.jit.content = false, то игнорирование работает, независимо от значения javascript.options.jit.chrome.
3. В безопасном режиме работает правильно, даже если javascript.options.jit.content = true

homo_nudus пишет

Почему же второй баг помечен как RESOLVED FIXED? Имеется в виду — для последней ночной сборки?

Вполне возможно...

homo_nudus пишет

1. Поечему-то правильно работает 'АБВ'.search(/[б]/i), в отличие от 'АБВ'.search(/б/i).

'АБВ'.search(/(б)/i)
тоже правильно работает.

Infocatcher
Мистика. А вот 'АБВ'.search(/(?:б)/i) не работает.

Сохраняющие группы... не знаю. Но вот символьный класс естественно обрабатывается по другим принципам, чем литерал. Так что [б] вполне может не глючить.