Этих символов значит нет в выбранном шрифте. Предположу, что блокнот, в случае, если не нашёл символ в шрифте, рисует эти символы другим шрифтом, где этом символ есть (например, Arial Unicode MS).wertfds wrote:не отображает
Bugs / Найденные баги (2)
- Author
- Message
-
Offline
- Posts: 171
- Joined: Thu Dec 01, 2011 11:15 pm
- Location: Россия
Instructor
Вызов команды горизонтального разделения панелей приводит к почти гарантированному краху Акелпада.
Никак не могу выявить все условия. Вроде такие:
Последние версии Акелпада и плагинов (32-х битные версии), Windows 10 х64 SL Home. MDI, перенос по словам включён, есть тулбар слева или справа (или по обеим бокам), открыто несколько вкладок, на "рабочей" вкладке текст с относительно большим количеством переносов. Включены все плагины (такое ощущение, что если выгрузить некоторые любые плагины, то разделение стабильней срабатывает).
Акелпад 4.9.9, последние пару бет - при вызове команды Command(4214) - почти гарантированный крах. А вот если вызвать команду Command(4213), а уже после неё Command(4214) - то проблема не возникает.
Вижу, что в Акелпад версии 4.9.8 даже последовательный вызов команд 4213 и 4214 приводил к краху. Впоследствии это было исправлено, значит проблема известная. Но исправлено пока не до конца.
Вызов команды горизонтального разделения панелей приводит к почти гарантированному краху Акелпада.
Никак не могу выявить все условия. Вроде такие:
Последние версии Акелпада и плагинов (32-х битные версии), Windows 10 х64 SL Home. MDI, перенос по словам включён, есть тулбар слева или справа (или по обеим бокам), открыто несколько вкладок, на "рабочей" вкладке текст с относительно большим количеством переносов. Включены все плагины (такое ощущение, что если выгрузить некоторые любые плагины, то разделение стабильней срабатывает).
Акелпад 4.9.9, последние пару бет - при вызове команды Command(4214) - почти гарантированный крах. А вот если вызвать команду Command(4213), а уже после неё Command(4214) - то проблема не возникает.
Вижу, что в Акелпад версии 4.9.8 даже последовательный вызов команд 4213 и 4214 приводил к краху. Впоследствии это было исправлено, значит проблема известная. Но исправлено пока не до конца.
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
При смене настроек Reg-->INI, если AkelPad.ini ранее существовал, то в него ДОБАВЛЯЕТСЯ (в начало) содержимое настроек. Т. е. все секции дублируются. Если поочередно "играться" настройкой хранения (SaveSettings=2|1, SaveHistory=2|1), то достигается эффект многократного самоудвоения AkelPad.ini
--
AkelPad (x86) 4.9.9 (r4405)
--
AkelPad (x86) 4.9.9 (r4405)
-
Offline
- Posts: 348
- Joined: Mon Jun 03, 2019 2:33 am
Не баг, но нежелательное поведение - при Ctrl+A (выделить все) происходит прокрутка в конец файла. Я понимаю к якорю, но реальный пример, я правлю CSS, делаю Ctrl+A, Ctrl+C, вставляю в браузер и проверяю работу, не понравилось возвращаюсь в AkelPad подправить, но позиция утеряна, жму Ctrl+Z (иногда Ctrl+Shift+Z, чтобы вернуть только позицию) и снова правлю. То есть как бы оставить позицию ничего не меняя в окне, чтобы я видел текст и тут же приступил к изменениям.
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
Не замечал в этом каких-либо неудобств. Но если вас это напрягает, то можно обойти на раз-два-три:AZJIO wrote:Не баг, но нежелательное поведение - при Ctrl+A (выделить все) происходит прокрутка в конец файла...
...как бы оставить позицию ничего не меняя в окне...
1. Пишем скрипт "GetAllText.js"
Code: Select all
//Call("Scripts::Main", 1, "GetAllText.js")
var pAllText=AkelPad.GetTextRange(0, -1); AkelPad.SetClipboardText(pAllText);
3. Пользуемся.
Бонус - один хоткей вместо двух (Ctrl+A, Ctrl+C). Ну и каретка на месте.
-
Offline
- Posts: 348
- Joined: Mon Jun 03, 2019 2:33 am
opk44
Как вариант да, например Ctrl+Shift+A или Ctrl+Shift+C. Или скрипт, который перед выделением запомнит номер верхней видимой строки и сделает прокрутку к ней. Но в плаге прокрутки нет прыжка к строке (не увидел), а функционал "Go to" сбрасывает выделение. Если делать типа запоминание или ставить закладку, то в любом случае это больше телодвижений чем текущий вариант Ctrl+Z. Сделал пока хоткей на копирование, ещё бы сделать заставку на 1 сек показывающую что текст скопирован.
А вообще я имел ввиду как саму идею работы Ctrl+A чтобы не приходилось дописывать скрипты.
В плаге Scroll:
!!! Получилось, я на панели инструментов нажал "Обработка непрокручиваемых операций" (плаг Scroll)(включил флаг), и у меня при Ctrl+A не прокручивается текст в конец, вообще не реагирует, как я и хотел. (не понимаю, почему этого флага нет в настройках плага Scroll?)
Как вариант да, например Ctrl+Shift+A или Ctrl+Shift+C. Или скрипт, который перед выделением запомнит номер верхней видимой строки и сделает прокрутку к ней. Но в плаге прокрутки нет прыжка к строке (не увидел), а функционал "Go to" сбрасывает выделение. Если делать типа запоминание или ставить закладку, то в любом случае это больше телодвижений чем текущий вариант Ctrl+Z. Сделал пока хоткей на копирование, ещё бы сделать заставку на 1 сек показывающую что текст скопирован.
А вообще я имел ввиду как саму идею работы Ctrl+A чтобы не приходилось дописывать скрипты.
В плаге Scroll:
может всё таки поведение можно сделать флагом? Это похоже не прокручивать при включении автопрокрутки во время "Выделить всё", при этом операция "Выделить всё" делает прокрутку в конец документа.- Установка непрокручиваемых операций, например, "Выделить всё".
!!! Получилось, я на панели инструментов нажал "Обработка непрокручиваемых операций" (плаг Scroll)(включил флаг), и у меня при Ctrl+A не прокручивается текст в конец, вообще не реагирует, как я и хотел. (не понимаю, почему этого флага нет в настройках плага Scroll?)
-
Offline
- Posts: 276
- Joined: Mon Jun 20, 2011 8:33 am
- Location: Электросталь
Репортую. На Win 8.1x64 c AP 4.9.9[r4408] частично не работает функция AkelPad.Font. Тестовый скрипт с одной единственной строкой
(из примера в справке к функции) меняет размер и начертание, но не меняет гарнитуру.
Code: Select all
AkelPad.Font("Courier", 4, 10)
-
Offline
- Posts: 348
- Joined: Mon Jun 03, 2019 2:33 am
Открыл окно редактирования кнопок панели инструментов AkelPad, скопировал весь текст, вставил в новый документ, при этом AkelPad упал. Повторил несколько раз - упал стабильно. Если вставляю в документ сохранённый как файл, то не падает. Сократил строки от которых стабильно падает
Мне не критично, может рег.выр. плохой, хотя падение от рег.выр`а не должно происходить.
причём SEPARATOR1 используется для авто-включения подсветки. Сборка на которой падает (4.9.9, но и на 4.9.8 тоже падает).SET(128, If(`AkelPad.IsPluginRunning("ToolBarExtra::Main") == 1`, 0x1, 0x0))
UNSET(128)
SEPARATOR1
Мне не критично, может рег.выр. плохой, хотя падение от рег.выр`а не должно происходить.
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
AZJIO
1. Если делается проверка тестовой версии, то и брать нужно САМУЮ свежую. На сайте лежит июльская r4407 (r4408-r4410 изменения не касались ядра).
Ссылка на версию
2. Для сокращения объема архива желательно убирать из него словари.
3. Падает у вас фактически плагин Coder. А он падает из-за нестандартной подсветки - файл "_txt.txt" господина Аверина с вашими в нём изменениями.
4. Если сводить все к одной строке, то Падение устраняется комментированием строки 246
1. Если делается проверка тестовой версии, то и брать нужно САМУЮ свежую. На сайте лежит июльская r4407 (r4408-r4410 изменения не касались ядра).
Ссылка на версию
2. Для сокращения объема архива желательно убирать из него словари.
3. Падает у вас фактически плагин Coder. А он падает из-за нестандартной подсветки - файл "_txt.txt" господина Аверина с вашими в нём изменениями.
4. Если сводить все к одной строке, то Падение устраняется комментированием строки 246
Code: Select all
Folds:
;3145733 0 0 0 "\A(?=.*SEPARATOR)" "\Z" "" 0 0 "alias:.akelmenu"
-
Offline
- Posts: 348
- Joined: Mon Jun 03, 2019 2:33 am
opk44
Сделал ещё эксперимент, отключил txt, а пустой документ назначил ему _akelmenu.coder дописав в Files: пустую строку "". В итоге вставка не делает падение и подсвечивает.
Ещё зксперимент, оставляю в _txt.coder только сбойную строку (это весь _txt.coder ниже)
и снова падение. Ну как я и говорил, рег.выр. спотыкается.
Ещё экперимент, оставил в _akelmenu.coder следующее
с этим падает.
Может чтобы не делать таких извращений как поиск регулярным выражением "\A(?=.*SEPARATOR)" "\Z" неких меток, чтобы подсветить весь документ, при этом AkelPad использует 2 кодера в том числе родительский, чтобы обрабатывать контент, который в принципе надо обработать только дочерним кодером, может на этот случай как я предлагал ранее сделать раздел в кодере, что если открыл например txt-файл и в нём есть некий текст, который определяется одним регулярным выражением или поиском обычного текста (можно определить флагами), то такой файл весь перенаправляется на другой кодер и возможно перенаправленный кодер сохраняется в настройки для этого файла, то есть исключается работа двух кодеров, исключается поиск диапазона подсветки, а вместо этого весь файл перенаправляется на другой кодер, упрощается сам поиск (один рег.выр. или даже без регвыра обычный текст)
Пускай это будет не раздел, а некий резервный флаг для Folds:, если он в первых строках, то в принципе перенаправит без последующей обработки этого кодера.
То есть определение подсветки по содержимому файла, ведь txt-файл может содержать практически любые данные и в контексте этого можно определить какие данные как будут подсвечены. У меня есть файлы по работе, тот же _akelmenu.coder, некие справочные файлы компилируемые в CHM, файлы справки txt самого AkelPad, bbcode, какие либо конфиги со своими правилами, текстовые базы данных, табличные данные. Надеюсь привёл достаточно критериев для необходимости этой полезной фичи.
я проверил в том числе и на r4410, у меня самая свежая, недавно выложил DV. Падает на всех 3-x, поэтому не перезаливал.и брать нужно САМУЮ свежую
Ну для сокращения я конечно мог оставить один плаг Coder и два txt-кодер и akelmenu-кодер. А я просто дал сслыку на свою сборку и проверил именно на ней что тоже падает.2. Для сокращения объема архива желательно убирать из него словари
да я знаю откуда его взял"_txt.txt" господина Аверина
и это указал у себя, что SEPARATOR. Как будто вставляемый текст становится выполняемым кодом и приводит к падению. Если документ уже существует с таким кодом, то он нормально подсвечивается, а если вставка, сам процесс вставки кода в документ приводит к падению. Если отключаю и включаю тему, то проблемы нет, а вставка с последующей подсветкой.строки 246Code: Select all
Folds: ;3145733 0 0 0 "\A(?=.*SEPARATOR)" "\Z" "" 0 0 "alias:.akelmenu"
Сделал ещё эксперимент, отключил txt, а пустой документ назначил ему _akelmenu.coder дописав в Files: пустую строку "". В итоге вставка не делает падение и подсвечивает.
Ещё зксперимент, оставляю в _txt.coder только сбойную строку (это весь _txt.coder ниже)
Code: Select all
Files:
""
*.txt
Folds:
3145733 0 0 0 "\A(?=.*SEPARATOR)" "\Z" "" 0 0 "alias:.akelmenu"
Ещё экперимент, оставил в _akelmenu.coder следующее
Code: Select all
Files:
*.akelmenu
Folds:
5 0 0 0 "SET(128," "UNSET(128)" ""
Может чтобы не делать таких извращений как поиск регулярным выражением "\A(?=.*SEPARATOR)" "\Z" неких меток, чтобы подсветить весь документ, при этом AkelPad использует 2 кодера в том числе родительский, чтобы обрабатывать контент, который в принципе надо обработать только дочерним кодером, может на этот случай как я предлагал ранее сделать раздел в кодере, что если открыл например txt-файл и в нём есть некий текст, который определяется одним регулярным выражением или поиском обычного текста (можно определить флагами), то такой файл весь перенаправляется на другой кодер и возможно перенаправленный кодер сохраняется в настройки для этого файла, то есть исключается работа двух кодеров, исключается поиск диапазона подсветки, а вместо этого весь файл перенаправляется на другой кодер, упрощается сам поиск (один рег.выр. или даже без регвыра обычный текст)
Пускай это будет не раздел, а некий резервный флаг для Folds:, если он в первых строках, то в принципе перенаправит без последующей обработки этого кодера.
То есть определение подсветки по содержимому файла, ведь txt-файл может содержать практически любые данные и в контексте этого можно определить какие данные как будут подсвечены. У меня есть файлы по работе, тот же _akelmenu.coder, некие справочные файлы компилируемые в CHM, файлы справки txt самого AkelPad, bbcode, какие либо конфиги со своими правилами, текстовые базы данных, табличные данные. Надеюсь привёл достаточно критериев для необходимости этой полезной фичи.
-
Offline
- Site Admin
- Posts: 6403
- Joined: Thu Jul 06, 2006 7:20 am
Coder плагинAZJIO wrote:и снова падение. Ну как я и говорил, рег.выр. спотыкается.