Page 70 of 99

Posted: Thu Mar 13, 2014 12:13 pm
by FeyFre
Багофича?
Image

Я себе без задней мысли выравниваю сотни строк, а оно мне втихаря гадит пробелами в хвосты тех из ни что покороче. С пробелами та же история, да.

Posted: Thu Mar 13, 2014 4:39 pm
by Infocatcher
Кстати о переоткрытии с сохранением истории отмен.
Я тут у себя скрипт откопал, аж от мая 2012-го.
Только я совершенно не помню, что с ним не так и почему я его отложил. А, может, и нормально все...
Так или иначе, пользоваться я им почему-то не стал.
https://github.com/Infocatcher/AkelPad_ ... eReopen.js

[Upd] Хотя нет, одна проблема все же была: при чтении сохраненного файла угадывалась кодировка вместо использования текущей.
И в бэкапах нашлась

Code: Select all

--- a/undoableReopen_2011-06-24.js
+++ b/undoableReopen_2012-05-11.js
@@ -35,7 +35,7 @@
 function noScroll(func, hWndEdit) {
 	if(!hWndEdit)
 		hWndEdit = AkelPad.GetEditWnd();
-	var lpPoint = AkelPad.MemAlloc(8 /*sizeof(POINT)*/, true);
+	var lpPoint = AkelPad.MemAlloc(8 /*sizeof(POINT)*/);
 	if(!lpPoint)
 		return;
 	setRedraw(hWndEdit, false);
@@ -45,7 +45,7 @@
 
 	AkelPad.SendMessage(hWndEdit, 1246 /*EM_SETSCROLLPOS*/, 0, lpPoint);
 	setRedraw(hWndEdit, true);
-	AkelPad.MemFree(lpPoint, true);
+	AkelPad.MemFree(lpPoint);
 }
 function setRedraw(hWnd, bRedraw) {
 	AkelPad.SendMessage(hWnd, 11 /*WM_SETREDRAW*/, bRedraw, 0);

Posted: Thu Mar 13, 2014 7:20 pm
by opk44
FeyFre wrote:Багофича?
Это особенность работы с вертикальным выделением. "Баг" (так пока его назовём) проявляется в том случае, если выделение выходит за правый край строки. НО.
1. Для той операции, что вам в действительности была нужна, не было, как мне кажется, никакого смысла растягивать вертикальное выделение вправо (на 123...90). Вполне было достаточно вертикального выделения нулевой ширины. При таком применении, лишних пробелов не появится.
2. Проблема "вдруг возникших" концевых пробелов не так остра, ибо легко решается (например, перед сохранением файла [Ctrl+A] затем [Alt+Backspace]).
3. Возвращаясь к особенностям поведения блочного выделения. Возможно вам покажется любопытным и то, что эффекта появления доп.пробелов на хвостах строк можно добиться и на операции [Shift+Backspace] (т.е. "убрать первый символ в начале строк") если правый край блочного выделения выезжает за символ конца строки.
4. Не готов сходу привести какой-либо "очевидный" общий пример полезного применения таких особенностей. Но сам я использовал эту "багофичу" когда врукопашную выравнивал текст по правому краю (заимствовал правые пробелы для переноса влево). "Голь на выдумки хитра".
P.S. "Нескриптописатели", знаете ли, иногда прибегают к таа-а-ки-им вычурным способам редактирования :)

Posted: Fri Mar 14, 2014 3:57 pm
by Instructor

Posted: Sun Mar 16, 2014 10:58 am
by n1kka
Аварийное завершение AkelPad при использовании плагина jscript.dll

ОС: Windows 7 x64 SP1 + все последние обновления

Какие действия были сделаны:
1. Открытие AkelPad
2. Открытие меню скриптов
3. Выбор скрипта "Фильтр строк с регулярными выражениями"

Image

Какой результат получился:
3.1. AkelPad аварийно завершился.

Image

Ранее таких проблем не наблюдалось.

Аналогичное поведение наблюдается на большинстве скриптов, которые идут по дефолту с приложением.

Posted: Sun Mar 16, 2014 12:04 pm
by Instructor
n1kka
jscript.dll - это не плагин AkelPad'а, это интерпретатор языка JScript. Какая у вас версия плагина Scripts?

Posted: Sun Mar 16, 2014 12:14 pm
by n1kka
Instructor wrote:n1kka
jscript.dll - это не плагин AkelPad'а, это интерпретатор языка JScript. Какая у вас версия плагина Scripts?
Будем знать :)

Версия 13.6

Posted: Sun Mar 16, 2014 2:12 pm
by Instructor

Posted: Sun Mar 16, 2014 3:18 pm
by n1kka
Instructor wrote:n1kka
Scripts plugin v13.7
Вот это оперативность! Благодарю!

Posted: Wed Mar 19, 2014 12:15 am
by Drugmix
Баг блокирующий открытие файла
Шаги воспроизведения бага:
1. открыть файл в акелпаде.
2. удалить этот же файл.
3. свернуть все окна.
4. попытаться перетащить какой-то файл в окно акелпада (через наведение курсора на окно акелпада на панели задач windows)

Текущий результат:
В акелпаде вылезает окно-уведомление о том, что просматриваемый файл был изменён, drag'n'drop приходится отменять: drop'нуть перетаскиваемый файл в акелпад, чтоб он открылся - невозможно.

Ожидаемый результат:
Окно-уведомление не должно вылезать пока идёт процесс drag'n'drop'а.

Posted: Wed Mar 19, 2014 5:31 am
by Instructor
Drugmix
Все корректно. Чтобы продолжить процесс Drag'n'Drop, необходимо ответить на сообщение свободной рукой с клавиатуры.

Posted: Wed Mar 19, 2014 11:24 am
by Drugmix
Instructor
это дискриминация одноруких.

Posted: Fri Mar 21, 2014 9:55 am
by DV
Instructor wrote:Drugmix
AutoScript-UndoReopen.js
Похоже, что в этом скрипте не хватает одной небольшой - но о-очень важной - проверки. (К слову, в своём предыдущем развёрнутом сообщении на эту тему я как-то упустил этот нюанс из виду.)
Итак, если перечитывается немодифицированный файл, то буфер Undo должен это либо вообще игнорировать, либо запоминать предыдущее содержимое только в случае явно включенной соответствующей настройки.
Яркий пример того, почему это очень важно: пусть мы мониторим лог-файл, содержимое которого изменяется каждые несколько секунд. В этой ситуации размер файла и прошедшее время полностью определяют момент, когда буфер Undo съест всю доступную память.

Posted: Fri Mar 21, 2014 12:22 pm
by Drugmix
DV
мониторинг лог-файлов - это отдельная песня: там надо либо отключать подгрузку undo истории насовсем, либо делать примитивный и быстрый diff (в лог-файлах текст добавляется строго новыми строками внизу или вверху документа).
Я понимаю, что это всё сложно и что кроме меня это мало кому нужно, и я уже смирился с тем, что скорей всего это не войдёт в акелпад и мне придётся пользоваться скриптами, но мне нужно ещё чуть-чуть помощи с ними:
есть undoableReopen.js, который подгружает UnDo историю как раз так, как мне хочется, но этот скрипт нужно вызывать вручную.
А есть AutoScript-UndoReopen.js который подгружает её не так, как мне хочется, но зато он сам отслеживает события и его достаточно в автозагрузку добавить.

Очень хочется гибрид этих двух скриптов, чтобы история подгружалась как в первом, но при этом не надо было делать его вызовы вручную, т.е. чтоб он следил за событиями как второй.
Сам я пытался это сделать, но мне не хватило ума и/или знаний.

Posted: Mon Mar 24, 2014 2:15 pm
by DV
Воспроизводим ошибку, при которой AkelPad не открывает файл:
1. Пусть у нас некоторые файлы "1.txt" и "2.txt"
2. Запускаем из командной строки: AkelPad.exe 1.txt - запускается AkelPad (в режиме MDI) и открывает файл "1.txt"
3. Физически удаляем файл "1.txt" (при этом AkelPad, потеряв фокус, ещё никак не реагирует на удаление файла)
4. Запускаем из командной строки: AkelPad.exe 2.txt - при этом AkelPad сообщает, что не может открыть файл "1.txt", и не открывает файл "2.txt"