Полезная информация

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.
  • Форумы
  •  » Firefox
  •  » Firefox 3.5: не работает игнорирование регистра при поиске в кириллице

№123-07-2009 02:22:25

homo_nudus
Участник
 
Группа: Extensions
Зарегистрирован: 19-02-2007
Сообщений: 193
UA: Firefox 3.5

Firefox 3.5: не работает игнорирование регистра при поиске в кириллице

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

Выделить код

Код:

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

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

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

Отредактировано homo_nudus (23-07-2009 06:00:02)

Отсутствует

 

№223-07-2009 03:16:48

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4337
UA: Firefox 3.5

Re: Firefox 3.5: не работает игнорирование регистра при поиске в кириллице

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.


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№323-07-2009 06:09:13

homo_nudus
Участник
 
Группа: Extensions
Зарегистрирован: 19-02-2007
Сообщений: 193
UA: Firefox 3.5

Re: Firefox 3.5: не работает игнорирование регистра при поиске в кириллице

Первый пункт удалил: оказалось, что виной было расширение «/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 (23-07-2009 07:02:01)

Отсутствует

 

№423-07-2009 08:16:32

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4337
UA: Firefox 3.5

Re: Firefox 3.5: не работает игнорирование регистра при поиске в кириллице

homo_nudus пишет

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

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

homo_nudus пишет

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

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


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№523-07-2009 09:08:21

homo_nudus
Участник
 
Группа: Extensions
Зарегистрирован: 19-02-2007
Сообщений: 193
UA: Firefox 3.5

Re: Firefox 3.5: не работает игнорирование регистра при поиске в кириллице

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

Отредактировано homo_nudus (23-07-2009 09:12:30)

Отсутствует

 

№623-07-2009 11:42:48

Al_H
Away
 
Группа: Members
Откуда: SPb
Зарегистрирован: 10-06-2005
Сообщений: 5508
UA: Shiretoko 3.5

Re: Firefox 3.5: не работает игнорирование регистра при поиске в кириллице

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

Отсутствует

 
  • Форумы
  •  » Firefox
  •  » Firefox 3.5: не работает игнорирование регистра при поиске в кириллице

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]