Bugs / Найденные баги (1)

Russian main discussion
  • Author
  • Message
Offline
Posts: 269
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

Instructor
Спасибо. Побрёл учить матчасть.

YuS
Offline
Posts: 512
Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы

Post by YuS »

Возможно, уже было сообщение, тогда повторюсь:

Поиск/Замена

Code: Select all

Что: (\[begin\][^\[]*)(123[^\[]*)(?<!abc\n)(\[end\])
Чем: \1\2abc\n\3
Образец текста:

Code: Select all

[begin]
123
abc
[end]
[begin]
123
abc
[end]
[begin]
123
[end]
[begin]
123
[end]
[begin]
123
[end]

При поиске и пошаговой замене, всё работает соответственно регэкспу, но при использовании "заменить всё", получаем результат:

Code: Select all

[begin]
123
abc
abc
[end]
[begin]
123
abc
abc
[end]
[begin]
123
abc
[end]
[begin]
123
abc
[end]
[begin]
123
abc
[end]

т.е. в шаблоне не учитывается вот эта часть:

Code: Select all

(?<!abc\n)

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Ещё по поиску и замене:

Code: Select all

Что: ^(text)(text2) 
Чем: \1123
на выходе желаем "text123", но не работает. Чтобы заработало, после ссылки "\1" нужен любой символ, кроме цифры.
Аналогично в AkelPad.TextReplace().

YuS
Offline
Posts: 512
Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы

Post by YuS »

Skif_off wrote: на выходе желаем "text123", но не работает. Чтобы заработало, после ссылки "\1" нужен любой символ, кроме цифры.
Аналогично в AkelPad.TextReplace().
По большому счёту, это ведь не баг, т.к.:
AkelHelp-Rus.htm wrote:\nn - Соответствует nn, где nn - это номер обратной ссылки, состоящий из двух цифр от 01 до 99.
и никакими алгоритмами это обойти невозможно, кроме как представлением символа его кодом (одним из 3-х вариантов), например:
AkelHelp-Rus.htm wrote:\xn - Соответствует n, где n — шестнадцатеричный код символа, который имеет длину ровно две цифры.
т.е. для описанной выше ситуации:

Code: Select all

Что: ^(text)(text2)
Чем: \1\x3123

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Skif_off, YuS
Боюсь выступить в роли "Капитана Очевидность", но ведь неспроста же в PCRE кроме "\1" и "$1" есть еще и вариант "\g<1>".
Ну а пока, вы оба правы :)

YuS
Offline
Posts: 512
Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы

Post by YuS »

opk44 wrote:Skif_off, YuS
Боюсь выступить в роли "Капитана Очевидность", но ведь неспроста же в PCRE кроме "\1" и "$1" есть еще и вариант "\g<1>".
А и не надо бояться :)
Всех "тонкостей" или иначе "всё на свете" знать невозможно, тем более, что "повторение - мать учения"...
Хоть в AP нигде и не заявлено о полной совместимости регеэкспов с PCRE, но реализация наиболее близка, поэтому нет ничего нереального и в будущем, может быть, появится и такой спецсимвол.
opk44 wrote: Ну а пока, вы оба правы :)
Да мы все тут...
multi multa, nemo omnia novit
:)

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Наверное, стоит отразить этот нюанс в справке: всё просто и работает, но как-то неочевидно получается для новичка, мне и в голову не пришло :)

YuS
Offline
Posts: 512
Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы

Post by YuS »

Skif_off wrote:Наверное, стоит отразить этот нюанс в справке: всё просто и работает, но как-то неочевидно получается для новичка
Так ведь в справке есть это. Тут лучше FAQ пополнить примером, будет нагляднее...

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Скорее подошло бы в тему "Не найденные баги".
Последняя бета 4.9.8 что-то часто "падает", либо "вдруг" завешивает процессор на 99%. Причина не установлена. Кто-то ещё замечал подобное?

YuS
Offline
Posts: 512
Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы

Post by YuS »

opk44 wrote:Скорее подошло бы в тему "Не найденные баги".
Если это шутка, тогда правильнее будет "Найденные не баги" :)

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

opk44
Win7x64, ничего подобного не замечал. Самостоятельно скомпиленная х64-версия используется реже, но тоже никаких проблем.

Падает молча? Можно посмотреть в Process Hacker, что загружено, какой из потоков жрёт.

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Однако, прогнал, было такое, но грешил на Coder, вчера упало

Code: Select all

Имя события проблемы:	APPCRASH
Имя приложения:	AkelPad.exe
Версия приложения:	4.9.8.0
Отметка времени приложения:	569f2b89
Имя модуля с ошибкой:	AkelPad.exe
Версия модуля с ошибкой:	4.9.8.0
Отметка времени модуля с ошибкой:	569f2b89
Код исключения:	c0000005
Смещение исключения:	000327a8
Версия ОС:	6.1.7601.2.1.0.256.48
Код языка:	1049
Дополнительные сведения 1:	0a9e
Дополнительные сведения 2:	0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3:	0a9e
Дополнительные сведения 4:	0a9e372d3b4ad19135b953a78882e789
, теперь без Coder.dll.
Условия те же:
в одной вкладке файл, в другой - его coder-файл (ну, обычно открыты и ещё файлы, не имеющие отношения к coder-файлу), после сохранения второго переключаюсь на первый и жму "Обновить кеш" Call("Coder::Settings", 2).
Упало всего несколько раз, но сейчас дошло: общее - более чем пара правок в течении сессии и кнопка обновления кеша нажималась часто.

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Сталкиваюсь в третий раз: в документе одна длинная строка, для удобства включаю перенос по словам и спустя какое-то время AkelPad намертво виснет, нагружая по полной одно ядро.
Но не крашится. Удалось увидеть

Code: Select all

Описание:
  Ошибка привела к остановке взаимодействия программы с Windows.

Сигнатура проблемы:
  Имя события проблемы:	AppHangB1
  Имя приложения:	AkelPad.exe
  Версия приложения:	4.9.8.0
  Отметка времени приложения:	569f2b89
  Сигнатура зависания:	7558
  Тип зависания:	0
  Версия ОС:	6.1.7601.2.1.0.256.48
  Код языка:	1049
  Доп. сигнатура зависания 1:	75587669a982483ca3b821702835d431
  Доп. сигнатура зависания 2:	1638
  Доп. сигнатура зависания 3:	16389941ad15ce6bab8e1416d40b9458
  Доп. сигнатура зависания 4:	7558
  Доп. сигнатура зависания 5:	75587669a982483ca3b821702835d431
  Доп. сигнатура зависания 6:	1638
  Доп. сигнатура зависания 7:	16389941ad15ce6bab8e1416d40b9458
. Воспроизводиться не каждый раз.

Что можно сделать для уточнения проблемы?

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Skif_off wrote:Что можно сделать для уточнения проблемы?
Как вариант: сделать обратную трассировку; дистрибутивы WinDBG.

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

VladSh, что мало чем поможет если нету отладочной информации. А для АР и плагинов инструктора в публичном доступе её нету(да и не факт что и Инструктор строит/хранит её). Я даже не уверен, найду ли я от своих плагинов актуальные файлы.
Locked