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

Russian main discussion
  • Author
  • Message
gw
Offline
Posts: 1
Joined: Thu Apr 07, 2016 10:53 am

Post by gw »

AkelPad 4.9.7 выглядит "размытым" (шрифты меню и текста) на 4K-мониторе. У NotePad'а шрифты не размыты.
Не знаю, освещалась ли ранее эта проблема, не нашёл. Эта проблема не только AkelPad'a ещё несколько программ ею страдает.

Win10, Radeon R9 200 Series, monitor: Samsung U28D590

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

AkelPad 4.9.7 (x86), режим MDI. Все плагины - последних версий (в частности, Coder 19.5).
Редактор был открыт несколько дней. Во время редактирования обычного текстового файла упал с ошибкой при нажатии Enter в окне автодополнения (чтобы выбрать слово из списка автодополнения).
Понимаю, что описание слишком общее, но это уже второй подобный случай. Предыдущее падение было точно в такой же момент - при очередном нажатии Enter в окне автодополнения.
Специально воспроизвести не удаётся. Из предположений: возможно, есть какая-то проблема в коде автодополнения? Например, утечка памяти или там выход за пределы массива при каких-то обстоятельствах?
Для текстовых файлов использую практически пустой файл подсветки:

Code: Select all

;----------------------------------------------;
;           Coder plugin syntax file           ;
;----------------------------------------------;

;=============

;Colors
; Color need to be in #RRGGBB format.
; If color equal to zero, then color ignored.
;
;Font styles
; 0  ignored.
; 1  normal.
; 2  bold.
; 3  italic.
; 4  bold italic.
;
;For comfort file viewing/editing set tab size to 8 or higher.


Files:
;==========
;File types
;==========
*.uutxt


;----------------------------------------------;
;                  HighLight                   ;
;----------------------------------------------;

;Flags (sum of the members)
;     1  case sensitive.
;     2  word is a composition of characters ("Words:" section only). Example: "0123456789" - highlight words that contain only digits.
;     4  quote end required ("Quotes:" section only).
;     8  quote start string is ignored and last meet delimiter used as quote start ("Quotes:" section only).
;    16  quote end string is ignored and first meet delimiter used as quote end ("Quotes:" section only).
;    32  don't highlight quote start ("Quotes:" section only).
;    64  don't highlight quote end ("Quotes:" section only).
;   128  don't catch and don't highlight quote start ("Quotes:" section only).
;   256  don't catch and don't highlight quote end ("Quotes:" section only).
;   512  quote start, delimiter or word located at line start.
;  1024  quote end, delimiter or word located at line end.
;  2048  quote start is surrounded with delimiters ("Quotes:" section only).
;  4096  quote end is surrounded with delimiters ("Quotes:" section only).
;  8192  quote doesn't contain delimiters ("Quotes:" section only).
; 16384  only quote start string is catched ("Quotes:" section only).
; 32768  quote doesn't contain any character ("Quotes:" section only).


Font:
;=================================================================
;FontStyle             FontSize              FaceName
;=================================================================
${HighLight_FontStyle} ${HighLight_FontSize} ${HighLight_FaceName}


Colors:
;=============================================================================================================================================================================================================================================================================================================================================================================================================================
;BasicTextColor             BasicBkColor              SelTextColor              SelBkColor              LineTextColor              LineBkColor              LineBorderColor              AltTextColor              AltBkColor              AltBorderColor              ColumnColor              MarkerColor              CaretColor              UrlColor              ActiveUrlColor              VisitUrlColor
;=============================================================================================================================================================================================================================================================================================================================================================================================================================
${HighLight_BasicTextColor} ${HighLight_BasicBkColor} ${HighLight_SelTextColor} ${HighLight_SelBkColor} ${HighLight_LineTextColor} ${HighLight_LineBkColor} ${HighLight_LineBorderColor} ${HighLight_AltTextColor} ${HighLight_AltBkColor} ${HighLight_AltBorderColor} ${HighLight_ColumnColor} ${HighLight_MarkerColor} ${HighLight_CaretColor} ${HighLight_UrlColor} ${HighLight_ActiveUrlColor} ${HighLight_VisitUrlColor}


BkImage:
;==================================================
;BkImageFile              BkImageAlpha
;==================================================
${HighLight_BkImageFile}  ${HighLight_BkImageAlpha}


AutoMark:
;====================================================================================================================
;AutoMarkFlags             AutoMarkFontStyle              AutoMarkTextColor              AutoMarkBkColor
;====================================================================================================================
${HighLight_AutoMarkFlags} ${HighLight_AutoMarkFontStyle} ${HighLight_AutoMarkTextColor} ${HighLight_AutoMarkBkColor}


Quotes:
;======================================================================
;Flags  Font    Color   Color   Quote   Quote   Escape  Quote   Quote
;       style   text    bkgrnd  start   end     char    include exclude
;======================================================================
;517=1+4+512
;517	2	0	0	`"`	`"`	""	""	""


QuotesRE:
;==========================================================================
;Flags  Pattern         \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=...
;==========================================================================


Delimiters:
;======================================
;Flags  Font    Color   Color   Char(s)
;       style   text    bkgrnd
;======================================
1	0	0	0	" "
1	0	0	0	"	"
1	0	0	0	.
1	0	0	0	,
1	0	0	0	:
1	0	0	0	;
1	0	0	0	!
1	0	0	0	?
1	0	0	0	(
1	0	0	0	)
1	0	0	0	{
1	0	0	0	}
1	0	0	0	[
1	0	0	0	]
1	0	0	0	`"`
1	0	0	0	/
1	0	0	0	\
1	0	0	0	<
1	0	0	0	>
1	0	0	0	=
1	0	0	0	*
1	0	0	0	+
1	0	0	0	%
1	0	0	0	^


Words:
;===================================
;Flags  Font    Color   Color   Word
;       style   text    bkgrnd
;===================================


;----------------------------------------------;
;                   CodeFold                   ;
;----------------------------------------------;

;Flags (sum of the members)
;       1  case sensitive.
;       2  force get fold name for function list from left at the fold start ("Folds:" section only).
;       4  force get fold name for function list from right at the fold start, including fold start ("Folds:" section only).
;       8  fold start located at line start ("Folds:" section only).
;      16  fold start located at line end ("Folds:" section only).
;      32  fold end located at line start ("Folds:" section only).
;      64  fold end located at line end ("Folds:" section only).
;     128  don't catch fold end ("Folds:" section) or skip end ("Skips:" section).
;     256  additional to 128 flag - more priority is given to sibling level instead of parent level ("Folds:" section only).
;     512  comment fold - fold ignore any other folds and skips inside ("Folds:" section only).
;    1024  reserved.
;    2048  deny fold - founded fold will be ignored ("Folds:" section only).
;    4096  xml fold - "<tag" and "</tag>", "<single" and "/>", "<single" and ">" ("Folds:" section only).
;    8192  don't check delimiters from left of fold start ("Folds:" section only).
;   16384  don't check delimiters from right of fold start ("Folds:" section only).
;   32768  don't check delimiters from left of fold end ("Folds:" section only).
;   65536  don't check delimiters from right of fold end ("Folds:" section only).
;  131072  deny delimiters ("Folds:" section only).
;  262144  don't show fold in list ("Folds:" section only).
; 1048576  regular expression of fixed length in fold start ("Folds:" section) or skip start ("Skips:" section).
; 2097152  regular expression of fixed length in fold end ("Folds:" section) or skip end ("Skips:" section).


FoldPanel:
;=================================================================================================================================================================================================================================================================================================================================================================================================================================================================
;PanelFirstBkColor            PanelSecondBkColor             PanelNormalFoldColor             PanelActiveFoldColor             PanelNormalNodeOpenBkColor             PanelNormalNodeCloseBkColor             PanelActiveNodeOpenBkColor             PanelActiveNodeCloseBkColor             PanelNormalNodeOpenSignColor             PanelNormalNodeCloseSignColor             PanelActiveNodeOpenSignColor             PanelActiveNodeCloseSignColor
;=================================================================================================================================================================================================================================================================================================================================================================================================================================================================
${CodeFold_PanelFirstBkColor} ${CodeFold_PanelSecondBkColor} ${CodeFold_PanelNormalFoldColor} ${CodeFold_PanelActiveFoldColor} ${CodeFold_PanelNormalNodeOpenBkColor} ${CodeFold_PanelNormalNodeCloseBkColor} ${CodeFold_PanelActiveNodeOpenBkColor} ${CodeFold_PanelActiveNodeCloseBkColor} ${CodeFold_PanelNormalNodeOpenSignColor} ${CodeFold_PanelNormalNodeCloseSignColor} ${CodeFold_PanelActiveNodeOpenSignColor} ${CodeFold_PanelActiveNodeCloseSignColor}


FoldList:
;================================================
;ListTextColor            ListBkColor
;================================================
${CodeFold_ListTextColor} ${CodeFold_ListBkColor}


TagMark:
;============================================================================================================
;TagMarkFlags            TagMarkFontStyle             TagMarkTextColor             TagMarkBkColor
;============================================================================================================
${CodeFold_TagMarkFlags} ${CodeFold_TagMarkFontStyle} ${CodeFold_TagMarkTextColor} ${CodeFold_TagMarkBkColor}


Skips:
;=============================
;Flags  Skip    Skip    Escape
;       start   end     char
;=============================


Folds:
;=============================================================
;Flags  Font    Color   Color   Fold      Fold      Delimiters
;       style   text    bkgrnd  start     end
;=============================================================
;264705=1+512+2048+262144
;262657	3	0	0	`"`       `"`       ""


;----------------------------------------------;
;                 AutoComplete                 ;
;----------------------------------------------;

CompleteList:
;=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================
;ListFontStyle                ListFontSize                 ListFaceName                 ListLineGap                 ListBlockIcon                 ListBlockIconMargins "left;right"    ListHlBaseIcon                 ListHlBaseIconMargins "left;right"    ListDocWordIcon                 ListDocWordIconMargins "left;right"    ListBasicTextColor                 ListBasicBkColor                 ListSelTextColor                 ListSelBkColor
;=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================
${AutoComplete_ListFontStyle} ${AutoComplete_ListFontSize} ${AutoComplete_ListFaceName} ${AutoComplete_ListLineGap} ${AutoComplete_ListBlockIcon} ${AutoComplete_ListBlockIconMargins} ${AutoComplete_ListHlBaseIcon} ${AutoComplete_ListHlBaseIconMargins} ${AutoComplete_ListDocWordIcon} ${AutoComplete_ListDocWordIconMargins} ${AutoComplete_ListBasicTextColor} ${AutoComplete_ListBasicBkColor} ${AutoComplete_ListSelTextColor} ${AutoComplete_ListSelBkColor}



Blocks:
;======================================================================
;Abbreviations and blocks
;
; $~abbr   normal abbreviation.
; $=abbr   exact abbreviation. May contain delimiters.
; $[]      set caret to this position. Can be multiple (hot spots).
; $[text]  select text. Can be multiple (hot spots).
; $$       symbol $.
; $\]      escape symbol ]. Can be used in $[text] block: $[One [1$\] ].
; ${VAR}   variable assigned from Coder::Settings.
; $;       comment line.
;======================================================================


P.S.
Чуть не забыл: периодически я открываю большие лог-файлы (от 20 МБ до 100 МБ), иногда открываю их по сети. Может, с этим связано.

Offline
Posts: 171
Joined: Thu Dec 01, 2011 11:15 pm
Location: Россия

Post by LonerD »

Обнаружил неприятный баг.
Перекачал старые версии, и выяснил, что баг впервые появился в AkelPad 4.9.2 и так и тянется вплоть до последней тестовой 4.9.8, проявляется в 32-х и 64-х битной версиях редактора. Windows 10 x64 SL Eng.
Чистый Акелпад, один ехе-файл с дефолтными настройками. Включена опция Show active column - активный столбец пунктирной линией отображается.
Проще всего увидеть проявление так. Открыть редактор, вставить какой-нибудь более-менее длинный текст (чтоб появилась полоса прокрутки), нажать Отмена (Ctrl+Z). Текст, соответственно, исчезнет, а пунктирная линия начнёт медленно-медлеееенно прорисовываться сверху вниз, иногда даже не один раз (при этом Акелпад подвисает, и в его окне артефакты от остатков текста виднеются).

Насколько помню - на Windows 8.1 x64 такого поведения не наблюдалось, иначе я, наверное, заметил бы. Хотя могу и ошибаться - возможно, во времена пользования 8.1 сидел ещё на старых версиях редактора, и активный столбец редко включаю.

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

Post by YuS »

На ру-борде отписали об обнаруженном баге утечки памяти. Через несколько постов, там же есть подтверждение.
При открытом массивном текстовом файле (например, 10-20 Мб), если использовать многократную замену (Заменить всё), то количество занятой памяти увеличивается и не освобождается вплоть до закрытия файла, увеличение происходит с каждым новым циклом замены.
Image
и т.д., можно занимать память до заполнения и появления сообщения о нехватке памяти...

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

Post by Skif_off »

YuS
Не уверен, что это утечка памяти, тем более если
YuS wrote:количество занятой памяти увеличивается и не освобождается вплоть до закрытия файла, увеличение происходит с каждым новым циклом замены.
Кажется, где-то уже было подобное, для начала стоит взглянуть настройки лимита отмен и состояние опции Подробно на вкладке Редактор 1.
Хотя размер файла как-то маловат... Если только замен действительно МНОГО?

P.S. Картинку посмотреть не могу, у меня только с телефона в UC Browser удаётся иногда зайти на ргхост.

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

Post by YuS »

Skif_off wrote:Не уверен, что это утечка памяти
...
для начала стоит взглянуть настройки лимита отмен и состояние опции Подробно на вкладке Редактор 1.
Очень даже может быть, лимиты отключены. Но, всё же, ситуация достаточно критичная, т.к. вызывает переполнение памяти. Имхо, лучше добавить какое-то ограничение.
Skif_off wrote: Хотя размер файла как-то маловат... Если только замен действительно МНОГО?
Для ускорения проявления ситуации, можно взять и больший файл с однотипными словами и производить массовую замену.

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

Post by Skif_off »

YuS wrote:лимиты отключены
Стоило этот момент сразу упомянуть :wink:

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

DV wrote:AkelPad 4.9.7 (x86), режим MDI. Все плагины - последних версий (в частности, Coder 19.5).
Редактор был открыт несколько дней. Во время редактирования обычного текстового файла упал с ошибкой при нажатии Enter в окне автодополнения (чтобы выбрать слово из списка автодополнения).
Только что это случилось опять! У меня на всякий случай в фоне был запущен Process Hacker - так вот, AkelPad в момент падения использовал не более 200 МБ памяти, то есть это точно не из-за попытки выделить больше 2 ГБ.
После перезапуска AkelPad с восстановлением предыдущей сессии специально открыл новую вкладку и стал набирать тот же самый текст точно так же, как тогда, когда AkelPad упал с ошибкой. Нажал Enter для автодополнения в том же самом месте, где редактор упал в предыдущий раз - и воспроизвести не удалось, никакого падения.

P.S.
Кстати, перенос строк (Word Wrap) всегда включён.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

DV
Скорее всего это. Используйте тестовую.

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Попробовал последний AkelPad 4.9.8 (x86) dev с включенным Word Wrap и текстовым файлом размером в 80 МБ.
Замечания к режиму MDI:
- при каждом переключении на файл в 80 МБ (все остальные открытые файлы - небольшие) дважды появляется прогресс-бар длительной операции. Почему дважды? Разве недостаточно "пройтись" по файлу один раз - когда мы на него уже переключились?
- при каждом переключении с файла в 80 МБ на любой другой один раз появляется прогресс-бар длительной операции. Почему он вообще появляется в этом случае? Зачем "проходиться" по файлу, если мы с него уходим?

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

YuS wrote:1.
Тестовый текст:

Code: Select all

<tog>>
<tag>>
	<teg>>
	</teg>
</tag>
</tog>
Функция TextFind, при поиске в выделении, не совсем корректно отрабатывает:

Code: Select all

AkelPad.TextFind(0, "<[^>]*+\\K>>", 0x00480001);
- если выделяем весь текст, найдено будет только второе вхождение...
Проверялось на текущей тестовой: находится второе и третье вхождение.
... а если выделяем блок с тегом "tag", то находит только в третьем вхождении...
Верно. Т.к. вхождения с самого начала выделения пропускаются, иначе бы следующий поиск стоял бы на месте и возвращал одно и тоже.
2. При поиске в выделении, фактически, если строка найдена, то смещается только начало выделения, а конец не изменяется, т.е. совпадение не отмечается - я что-то делаю не так или такое поведение предусмотрено?
Всё верно. Так работает поиск в выделении.
alandre wrote:Не уверен, баг ли это, но временами мешает удобному использованию.
Macros-Rus.txt wrote:Замечания:
- Установка количества повторов в ноль, будет означать бесконечное
повторение действий пока не будет достигнута последняя строка окна редактирования.
- Если диалог поиска/замены ничего не нашел, повторение действий
прекращается.
- Если в редакторе закрыта последняя вкладка (MDI/PMDI), повторение действий прекращается.
DV wrote:Замечания к режиму MDI
http://akelpad.sourceforge.net/forum/vi ... 0388#20388

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

Post by YuS »

Instructor wrote:
YuS wrote:- если выделяем весь текст, найдено будет только второе вхождение...
Проверялось на текущей тестовой: находится второе и третье вхождение.
Хмм, уже и подзабыл, что там было не так, проверил и вспомнил, это я неправильно сформулировал... да, именно второе и третье. Вопрос был только про то, что при совпадении шаблона от начала выделения, первое вхождение пропускается...
Но это теперь понятно, т.к. это:
Instructor wrote:
... а если выделяем блок с тегом "tag", то находит только в третьем вхождении...
Верно. Т.к. вхождения с самого начала выделения пропускаются, иначе бы следующий поиск стоял бы на месте и возвращал одно и тоже.
- один и тот же вопрос...
Instructor wrote:
2. При поиске в выделении, фактически, если строка найдена, то смещается только начало выделения, а конец не изменяется, т.е. совпадение не отмечается - я что-то делаю не так или такое поведение предусмотрено?
Всё верно. Так работает поиск в выделении.
Понятно. Спасибо!

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Kley wrote:Команда 4197[, 1]:
- удаляет текущую строку и закладку (LineBoard плагин) на следующей строке;
- удаляет текущую строку (строка с закладкой), но оставляет закладку.
См. LineBoard 12.5
Skif_off wrote:Какое-то странное поведение при использовании AEM_LOCKSCROLL (дискуссия). Замечено ещё с UndoAll.js и UndoAllNoScroll.js.
На WinXP AkelPad падает, на Win7 не падает, но всё выглядит аналогично.
Падение не воспроизводится. Обновление прокрутки ещё надо (AEM_UPDATESCROLLBAR):

Code: Select all

function ScrollLock(hWnd, bLock)
{
  AkelPad.SendMessage(hWnd, 3185 /*AEM_LOCKSCROLL*/, 3 /*SB_BOTH*/, bLock);
  if (!bLock) AkelPad.SendMessage(hWnd, 3376 /*AEM_UPDATESCROLLBAR*/, 3 /*SB_BOTH*/, 0);
}
gw wrote:AkelPad 4.9.7 выглядит "размытым" (шрифты меню и текста) на 4K-мониторе. У NotePad'а шрифты не размыты.
Не знаю, освещалась ли ранее эта проблема, не нашёл. Эта проблема не только AkelPad'a ещё несколько программ ею страдает.

Win10, Radeon R9 200 Series, monitor: Samsung U28D590
Попробуйте: http://windowsten.ru/problemy-s-razmyty ... indows-10/

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

Post by Skif_off »

Instructor
Падал, если как можно быстрее дёрнуть полосу прокрутки вниз, до упора. Спасибо, значит, моё незнание :)
Правильно понимаю, что

Code: Select all

if (!bLock) AkelPad.SendMessage(hWnd, 3376 /*AEM_UPDATESCROLLBAR*/, 3 /*SB_BOTH*/, 0);
равносильно

Code: Select all

if (bLock) oSys.Call("user32::InvalidateRect", hWnd, 0, true);
?

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Skif_off wrote:равносильно
Нет :)
DV wrote:Во время редактирования обычного текстового файла упал с ошибкой при нажатии Enter в окне автодополнения (чтобы выбрать слово из списка автодополнения).
DV wrote:Нажал Enter для автодополнения в том же самом месте, где редактор упал в предыдущий раз - и воспроизвести не удалось, никакого падения.
Опция "Сохранять регистр введённых символов" автодополнения включена? Если да, то с помощью KDJ удалось исправить ошибку.
Locked