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

Russian main discussion
  • Author
  • Message
Offline
Posts: 47
Joined: Sat Mar 10, 2018 11:35 am

Post by wertfds »

воспроизвелось с первого раза на виртуалках 7x64 и 10x64

настроенная сборка для теста
https://yadi.sk/d/GfXI9I-s3Yopax

скрины
Image Image Image

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

Post by opk44 »

wertfds
Попробуйте воспроизвести с тестовой версией x64.
(на тестовых версиях 4.9.9 x32 начиная с 23.05.2017 не воспроизводится, на более старых и 4.9.8 x32 проблема была)

Offline
Posts: 47
Joined: Sat Mar 10, 2018 11:35 am

Post by wertfds »

Попробуйте воспроизвести с тестовой версией x64
проверил, тут всё исправлено

Offline
Posts: 157
Joined: Thu Nov 26, 2015 8:03 pm
Location: Rostov-on-Don

Post by Eskander88 »

БАГ СВЯЗАННЫЙ С ПОТЕРЕЙ ПОЗИЦИИ ЗАКЛАДОК

Баг возникает, когда вырезается текст в котором содержится строка с закладкой (ставится закладка ALT+INSERT ). В данном случае теряется позиция только закладки относящаяся к строке входившей во фрагмент выделенного текста.

Если произвести отмену действий (CTRL+Z) и повтор действий (CTRL+SHIFT+Z), то происходит смещение позиций всех закладок в документе.

Закладка не поддерживает скрипт LinesSelectCopyMoveDuplicate.js, т.е. если произвести перемещении фрагмента текста с помощью скрипта вверх и вниз, и когда выделенный фрагмент пересечётся со строкой, на которую сделана закладка, - то закладка на строку собьётся и потеряет позицию..

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

Post by Skif_off »

Eskander88
AkelPad и плагины актуальных версий? Вроде было.

Offline
Posts: 157
Joined: Thu Nov 26, 2015 8:03 pm
Location: Rostov-on-Don

Post by Eskander88 »

Skif_off
Программа Да, а вот Плагины вроде не очень... нужно обновлять? Если я скачаю и переустановлю AP там будут свежие плагины? Просто мне по опыту проще переставить программу, обновление часто заканчиваются проблематично...

текущая версия сборки https://yadi.sk/i/KOQiZnwn3aMLqK

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

Post by opk44 »

Eskander88 wrote:Skif_off
Программа Да, а вот Плагины вроде не очень... нужно обновлять?...
Посмотрите, чем отличается текущая актуальная версия от установленной.

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

Post by Skif_off »

Eskander88 wrote:Если я скачаю и переустановлю AP там будут свежие плагины?
В данном случае - нет. Со страницы плагинов скачайте PlugsPack нужной разрядности, вытащите оттуда LineBoard.dll и замените. Или воспользуйтесь AkelUpdater.
Ну или третий вариант, сам им пользуюсь: с помощью AkelUpdater проверить, не обновилось ли что, и ручками обновить (плагины в PlugsPack, скрипты тут). Пара моментов: если нужно обновить плагин Coder, то также нужно обновить содержимое Plugs\Coder, в случае плагина Scripts - Plugs\Scripts. Ну и документация плагинов в Docs не будет лишней... И вряд ли кто-то может помешать вам на всякий случай предварительно забэкапить папку AkelFiles ;)
Полагаю, проблема уже успешно решена?
Eskander88 wrote:Просто мне по опыту проще переставить программу, обновление часто заканчиваются проблематично...
Это может быть справедливо в случае крупных/кардинальных изменений в программах, особенно если обновляться не с предыдущей версии, обычно же развитие более-менее плавное. Если у вас AkelPad 4.9.5-4.9.8 то проблем не должно быть, иначе о них бы уже написали, с версиями ниже придётся заглянуть в ченджлоги.
В общем случае, за редким (пожалуй, даже редчайшим - один-два случая) исключением, главное, чтобы сам AkelPad был актуальной версии, ну а перескакивая сразу через 10-20-30 версий несколько наивно ожидать, что не придётся что-то подкорректировать :)

P.S. Что-то я разболтался... Перебарщиваю в попытке впредь успокоить неофитов?

Offline
Posts: 157
Joined: Thu Nov 26, 2015 8:03 pm
Location: Rostov-on-Don

Post by Eskander88 »

Зато всё подробно и для пользы дела. Выполнил обновление плагинов. Правда обновление увы не помогает. Закладки всё равно теряют позиции при указанных выше действиях. Ещё хотелось бы добавить к особенностям бага.

Если на строке закладки в конце строки поставить перенос строки (ENTER), то курсор для набора текста вместе с закладкой съедет на новую строку..


скрин https://yadi.sk/i/155-lKMs3aQq6N

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

Post by Skif_off »

Eskander88
С тестовой проверяли? х32, х64.

Offline
Posts: 157
Joined: Thu Nov 26, 2015 8:03 pm
Location: Rostov-on-Don

Post by Eskander88 »

попробовал с x64, тоже самое... баг присутствует

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

Post by DV »

AkelPad 4.9.8 (x86). Кажется, нашёл баг с вызовом AEM_HLGETHIGHLIGHT...
Вызывающий код:

Code: Select all

AEGETHIGHLIGHT aehl;

aehl.dwCookie = (UINT_PTR) pCookieHL;
aehl.dwError = 0;
aehl.dwFlags = 0/*AEGHF_NOSELECTION | AEGHF_NOACTIVELINETEXT | AEGHF_NOACTIVELINEBK*/;
aehl.lpCallback = pfnHighlightCallback;
SendMessage(hActualEditWnd, AEM_RICHOFFSETTOINDEX,
  (WPARAM) nCharacterPosition, (LPARAM) &aehl.crText.ciMin);
AEC_NextCharEx(&aehl.crText.ciMin, &aehl.crText.ciMax);
// the range is [ciMin, ciMax)
SendMessage(hActualEditWnd, AEM_HLGETHIGHLIGHT, 0, (LPARAM)&aehl);
Проверяется на следующем фрагменте файла с синтаксической темой "C++":

Code: Select all

static const char* arr1[] = {
  // dword options
  "a",
  "b",
  "c"
};

static const int arr2[] = {
  1,
  2,
  3
};
Если поместить каретку после любой из запятых (например, после "a", "b", 1, или 2,), то сообщение AEM_HLGETHIGHLIGHT не приводит к вызову функции pfnHighlightCallback! Проверялось под отладкой.

P.S.
А может, это так и задумано? В смысле, что pfnHighlightCallback не вызывается в конце строки, так как там находится невидимый перевод строки?..
В любом случае, проблема частично решается дополнительным вызовом AEM_FINDFOLD - так можно хоть информацию о сворачиваемых блоках получить. А вот информацию об области комментария (если позиция каретки находится внутри комментария) уже не получишь...

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

Post by Instructor »

Eskander88 wrote:Если произвести отмену действий (CTRL+Z) и повтор действий (CTRL+SHIFT+Z), то происходит смещение позиций всех закладок в документе.
Не воспроизводится.
Eskander88 wrote:Если на строке закладки в конце строки поставить перенос строки (ENTER), то курсор для набора текста вместе с закладкой съедет на новую строку..
Всё верно. Устанавливайте закладку на не пустой строке, т.к. закладка привязывается к символу. Если поставить закладку на пустой строке и начать вбивать текст, то она также будет смещаться за каретку. Соответсвенно нажатие Enter перенесёт её на следующую строку.
DV wrote:А может, это так и задумано?
Верно.

В тестовой (x86/x64) можно использовать флаги AEGHF_CALLENDLINE, AEGHF_CALLENDRANGE.
AkelEdit.h wrote:#define AEGHF_CALLENDLINE 0x00010000 //Call function for end of non-empty line.
#define AEGHF_CALLENDRANGE 0x00020000 //Call function for end range.

Offline
Posts: 1
Joined: Thu Oct 04, 2018 5:14 pm

Post by Lennonenko »

выловил таки эту раздражающую хрень:
1. создаём текстовый файл в любой кодировке (проверил 1251, 866, 65001, 1200, остальные лень)
2. пишем там любые два символа, разделённые табуляцией
3. сохраняем, закрываем
4. открываем, вносим любые изменения, допустим, добавляем один символ
5. сохраняем - вуаля! в начало файла добавлены нули в количестве размера файла до изменения
после этого при открытии, естественно, неверно определяется кодировка, потому что акель считает файл бинарным

windows 10 x64 pro russian 1803 17134.286, акельпад 4.9.6 и 4.9.8, интегрирован с заменой блокнота
сначала грешил на старую версию, интегрированную в total, проверил системную, обновил обе - такая же фигня

сейчас попробую ветку 3.x.x

да, 3.7.4 так же себя ведёт
возможно, десятка виновата
да, в XP и 2008R2 не воспроизводится, больше ничего под рукой сейчас нет
если есть у кого десятка 1607, 1703, проверьте плз

Offline
Posts: 15
Joined: Wed Dec 14, 2016 9:33 am

Post by cordylus »

Last edited by cordylus on Fri Oct 12, 2018 7:47 pm, edited 1 time in total.
Post Reply