Page 1 of 1

Релиз AkelPad 3.2.0

Posted: Tue Jan 09, 2007 2:46 pm
by Instructor
Изменено: улучшена работа с плагинами:
- упорядочены внутренние сообщения;
- изменено AKDN_MAIN_ONSTART_PRESHOW;
- заменены AKD_GETEDITWINDOW, AKD_GETFILE, AKD_GETCODEPAGE, AKD_GETMODIFY, AKD_GETREADONLY, AKD_GETTABSTOPINFO на AKD_GETEDITINFO;
- убраны AKD_SETCODEPAGE, AKD_SETREADONLY;
- добавлены AKDN_OPENDOCUMENT_START, AKDN_SAVEDOCUMENT_START.
Обновите используемые вами плагины.

Добавлено: Drag'n'Drop для вкладок (MDI).
Добавлено: параметр "SaveCodepages":
1 - запоминать кодировку последних файлов;
0 - не запоминать кодировку последних файлов;
параметр "SavePositions":
1 - запоминать позицию каретки последних файлов;
0 - не запоминать позицию каретки последних файлов.


<<Скачать>>

Posted: Wed Jan 10, 2007 9:56 am
by SpellCaster
Круто! Приятно сознавать, что хоть кто-то в новогодние каникулы не просто пьянствует и дебоширит, а делает что-то полезное )).
Однако, к сожалению, баг с неизменением времени редактирования файла так и остался...

Posted: Wed Jan 10, 2007 1:40 pm
by Instructor
SpellCaster
Если снять галочку "Настройки->Сохранять время файла", то время изменения файла будет изменяться :)

Posted: Thu Jan 11, 2007 1:33 pm
by DV
А в этой версии исправлена ошибка в функции EscapeStringToEscapeDataW? Честно говоря, я сам заметил это только сейчас:
else if (*a == '[')
{
--b, ++a;

do
{
whex[0]=*a;
if (*a == 0) goto Error;
whex[1]=*++a;
if (*a == 0) goto Error;
whex[2]=*++a;
if (*a == 0) goto Error;
whex[3]=*++a;
if (*a == 0) goto Error;
*++b=hex2decW(whex);
if (*b == -1) goto Error;
while (*++a == ' ');
}
while (*a && *a != ']');

И каким образом это может работать, если whex должно состоять из 2-х wchar_t, а не 4-х? При данной реализации преобразование вида \[0D 0A] в строку вообще невозможно!
И, между прочим, пользователь может влепить пробел не только перед ], но и после \[, поэтому следует добавить

else if (*a == '[')
{
--b, ++a;
while (*a == ' ') a++; // вот эту строку надо добавить!

do
{
...

Это последнее замечание касается и EscapeStringToEscapeDataA.

Posted: Thu Jan 11, 2007 2:30 pm
by SpellCaster
Instructor wrote:SpellCaster
Если снять галочку "Настройки->Сохранять время файла", то время изменения файла будет изменяться :)
Ааааа, так вон оно что! Я-то грешным делом все время считал, что "Сохранять" здесь в смысле "Сохранять изменения" а не "Сохранять неизменным"!
Теперь усё понял )))

Posted: Thu Jan 11, 2007 3:12 pm
by Instructor
DV
И каким образом это может работать, если whex должно состоять из 2-х wchar_t, а не 4-х?
Например, hex code русского символа "Б" будет выглядеть "0411", т.е. 4 символа (4 wchar_t). Затем hex2decW преобразует из L"0411" в 0x0411 == L'Б'
И, между прочим, пользователь может влепить пробел не только перед ], но и после \[, поэтому следует добавить
Добавил.

Posted: Thu Jan 11, 2007 4:24 pm
by DV
А-а-а, ясно. Только это ж еще надо догадаться, что в 2000/XP для, например, пробела вместо \[20] надо написать \[0020]. Так сразу и не въедешь.
Еще остаётся спорный вопрос: стоит ли разрешать запись вида \[00 20] - всё-таки в данном случае пробел разделяет байты.