______________________________________________________________________

                         --- === *** === ---

                               GoldED+

                         --- === *** === ---
_____________________________________________________________________________

               Заметки для GoldED+ 1.1.5, /snapshot/
_____________________________________________________________________________

  Обозначения: "-" - исправление, "+" - новое, "!" - существенное изменение.
_____________________________________________________________________________

+ В функции vsave и vrestore оконных буферов добавлена поддержка
  вывода wide ncurses символов для сборок с включенным ncurses wide.

! Обновлены функции vsave и vrestore оконных буферов для оптимального
  захвата и восстановления буфера с помощью строковых функцией, ранее
  использовались посимвольные методы.

+ Обновлен парсер конфигурации Synchronet для чтения msgs.ini формата. Старый
  формат конфигурации также поддерживается для обратной совместимости.

+ Исправлена "пустая конвертация" кодировок. В некоторых случаях GoldED-у
  требуется "преобразовать" строку в ту же самую кодировку, но это не
  работало корректно, если такая таблица перекодировки не сконфигурирована.
  В некоторых случаях это приводит к неверным результатам. Например. если
  кодировка импорта CP866, локальная кодировка KOI8-R и сообщение в
  кодировке KOI8-R. В этом случае GoldED попытается "преобразовать" текст
  из KOI8-R в KOI8-R, но так как такая таблица перекодировки не найдена, то
  вернется к перекодировке из кодировки импорта в локальную, что испортит
  текст. После этого изменения, больше нет необходимости конфигурировать
  "пустые" таблицы перекодировки. GoldED будет обрабатывать такие сценарии
  корректно.

+ Обновлена библиотека hunspell до версии 1.7.2 (последняя стабильная версия).
  Переписан C++11 код, чтобы сохранить возможность сборки в MSVC 6.

+ Добавлена поддержка пользовательского словаря для MySpell. Пользовательский
  словарь ассоциирован с первым языком в списке SCheckerDefLang. Это
  означает, что если этот язык выгружен, то пользовательский словарь также
  выгружается. Пользовательский словарь это простой текстовый файл содержащий
  одно слово на строку в локальной кодировке.

- Изменена реализация конвертации кодировок чтобы избегать переполнений
  буфера. Предыдущая реализация была особенно опасна при конвертации
  однобайтовых в многобайтовые кодировки.

- Теперь не меняется таблица перекодировки при использовании проверки
  орфографии и включенном в конфиге IgnoreCharset.

- Исправлена ошибка, приводившая к переполнению буфера на широком терминале
  при использовании длинного таглайна, тирлайна или ориджина.

- Устранён конфликт со стандартной функцией pow() в Visual Studio 2010.

+ Для проверки орфографии можно одновременно использовать несколько словарей.
  В директиве SCheckerDefLang можно перечислить несколько словарей через
  пробел. (Патч от Семёна Паневина 2:5025/121.)

! Исправлена ошибка в инициализации SOUP и QWK. (Ранее Golded+ вместо имени
  файла использовал значение последнего параметра конфига.)

! Golded+ больше не пытается в начале работы прочитать SOUPNEWSRCFILE в том
  случае, когда файл не указан в конфиге. (Исправлено ошибка, вызывавшая
  падение в Golded+, собранном Visual Studio.)

! Когда возникает переполнение буфера у строки, Golded+ теперь вместо
  испорченной строки вставляет "ERROR" или "ERROR, see log!". Если Вы видите
  такие строки, пожалуйста пришлите файл golded.log разработчикам или просто
  создайте тикет в системе отслеживания ошибок и приложите этот файл лога.
  Прямая ссылка для создания тикета:
  https://sourceforge.net/tracker/?func=add&group_id=2942&atid=102942
  (http://sourceforge.net/tracker/?func=add&group_id=2942&atid=102942)

- Исправлено много ошибок работы в памятью, приводивших к аварийному
  завершению в 64-битных сборках GCC версий 4.*. Спасибо Антону Горлову
  2:5059/37 за багрепорты.

+ Добавлен Gentoo ebuild, спасибо Семёну Паневину 2:5025/121@fidonet.

+ При компиляции в строке запуска make можно указывать несколько параметров
  чтобы выбрать вариант сборки.

! Семён Паневин 2:5025/121@fidonet выделил весь код, связанный с библиотекой
  ncurses в отдельную библиотеку. Теперь сообщения Goldnode и RDDT видны на
  консоли юниксоподобных ОС.

+ Дата последнего изменения исходных текстов автоматически сохраняется в
  файлы sources.h и golded.spec. Дата из sources.h используется при
  формировании строки версии для снапшотов Golded+.

! Теперь Golded+ выводит ошибки чтения конфига в stderr вместо stdout. Чтобы
  посмотреть только ошибки, пользователь юниксоподобной ОС может использовать
  перенаправление stderr средствами командного процессора, например:
  (посмотреть) `gedlnx 2| less` или (сохранить в файле)
  `gedlnx 2>gedlnxerr.txt`.

- Проверка длины названия кодировки (максимально 16 символов): исправлена
  ошибка переполнения буфера.

- Исправлена ошибка обработки @-макросов: ранее макрос в конце строки не
  обрабатывался.

- Если нет ни одного URLHANDLER и вызывается READpeekURLs, Golded+ теперь не
  падает с segmentation fault.

+ Новая директива файла goldlang.cfg "IL_PEEKINFONOHANDLER" (сообщение " URL
  handler are not defined in config file! ")

! Переназначены клавиши: Ctrl-Backspace теперь удаляет символ влево, Ctrl-W
  удаляет слово влево. (Обход бага с определением Ctrl-Backspace в Linux.)

! Если TEMPPATH указывает на несуществующий каталог, Golded+ показывает
  сообщение о неверном TEMPPATH и ничего не делает: при декодировании UUE,
  при импорте результата команды, при вызове внешней утилиты, при сохранении
  сообщения в файл. Ранее Golded+ показывал сообщение о невозможности
  записать файл либо аварийно завершался.

+ Новая директива файла goldlang.cfg "IL_TMPINVALIDPATH" (сообщение "Invalid
  path for temporary files (TEMPPATH) - do nothing").

+ Шел-скрипт openbsd-vt220.sh, создающий файл terminfo для консоли OpenBSD,
  необходимый для корректной работы клавиатуры в Golded+ (от Dmitri Zubko
  2:465/312).

- Уменьшено "дрожание" (неравномерность хода) часов в статусной строке. Патч
  Николая Воронина.

! (Только UNIX) Изменена последовательность поиска файла конфигурации в юниксоподобных
  ОС. Новая очерёдность поиска:
  1 - ~/fido/etc/
  2 - ~/ftn/etc/
  3 - ~/.golded/
  4 - текущий каталог (запуска)
  Удалены из поиска: каталог /usr/local/etc/ и каталог с бинарником gedlnx.

- Отменено изменение обработки уровня кодировки символов (кладж CHRS). Трансляция
  используется для всех уровней. (См. Снапшот от 14 января 2006.)

+ Добавлен кейворд для поддержки прозрачности фона.
  TRANSPARENTCOLORS Yes/No
  Значение по умолчанию "No". Если установлено в "Yes", черный цвет (BLACK)
  фона будет прозрачным. Это работает только для сборки с библиотекой ncurses
  (gedlnx cобранный с libncurses), в остальных случаях не имеет эффекта.

Снапшот от 3 мая 2007.

+ Golded+ теперь можно компилировать в MacOSX/x86 (с помощью xcode).

- Исправлено распознавание макро токенов, теперь токен завершается пробельным
  символом либо знаком препинания (не буквой и не цифрой).

- Исправлено использование файла случайных строк в тирлайне, ориджине и
  таглайне.

+ Win32: Добавлен новый токен для темплейтов @uptime и MS_UPTIME идентификатор
  для goldlang.cfg.
- Исправлена UUE декодирование нескольких файлов.

Снапшот от 16 января 2007.

+ ReplyLink может принимать значение "none" - не линковать.
- Исправлено заедание в дереве ответов, если нажать ESC в треде.
- uudecoder: теперь будет проигнорировано все после строк по маске
  "sum -r/size [0-9]+/[0-9]+ section.*" или "section [0-9]+ end.*"
! значение по умолчанию для UseTZUTC изменено на "yes".

Снапшот от 16 ноября 2006.

+ Теперь кзшируется последний открытый трэд, что сильно повысило скорость
  повторного его открытия. Особенно это заметно на READGotoThNextUnread.
+ Когда сообщение перемещается из корзины, то выбирается по умолчанию ария
  из клуджа AREA.
- uudecoder: теперь будет игнорировано все после строки что начинается
  на "sum -r/size ".
- Win32: Исправлено частое чтение реестра когда включен MCI звук.
- Golded+ мог упасть в списке сообщений, если размер имени или темы слишком
  большие.
- Исправлен меню удаления неотправленных сообщений, когда удалялось в корзину.
- Исправлен подсчет времени сколько голдед простаивал.
- Не работало ^буква из командной строки.

Снапшот от 3 июля 2006.

- Golded+ мог упасть во время парсинга темплейта из-за выхода за границу буфера.
+ Поддержка кейворда 'set' в fidoconfig-е.
- Golded+ мог упасть во время парсинга fidoconfig-а.
- Исправлен баг в стеке отката редактора, при котором голдед пробовал прочесть
  по индексу больше символов, чем размер строки.
+ Добавлен ReadForceDeleteMsg (по умолчанию #Del) в goldkeys.cfg для удаления
  сообщений минуя AreaRecicleBin.
! Изменены параметры AreaRecycleBin на AreaRecycleBin <area> [NoAsk/Ask].
    NoAsk - не спрашивать (по умолчанию)
    Аск - спрашивать разрешение удалить
+ Если TimeOutSaveMsg включен, то сообщение сохранится с флагом 'Locked'.
- Дополнительная проверка токена ST_EDITSTATUS.
- Исправлена ошибка приводящая к вечному циклу, если фаил для токена @random
  не был найден.
- Golded+ мог упасть в едиторе, если в строке 0 символов.
+ При первом нажатии на ReadFindNext и если ReadFindAll/ReadFindHeader не были
  использованы перед этим, тогда он будет работать как ReadFindAll.
+ Улучшена логика "плавающих" деревьев ответов (см. ReplyLinkFloat).
+ Дерево ответов генерируется немного быстрее.

Снапшот от 15 мая 2006.

+ Неограниченное число линков на письмо в дереве ответов (было 30).
- Исправлено "зависание" клавиатуры в Win32.
+ Улучшено распознавание при квотинге.
! Ключевые слова для клавиш рисования линий изменены с EditGo* на EditBlock*.
+ SCheckerDefLang может использоваться в группах (Random Group).
+ Win32: теперь идентификатор языка MS Spellcheker представлен в понятной форме
- Win32: теперь правильно определяется кодировка словаря MS Spellcheker.
- Win32: исправлено добавление новых слов в словарь пользователя MS Spellcheker
- Цвет по умолчанию для подстветки при проверке орфографии установлен в белый
  на черном.

Снапшот от 26 марта 2006: изменения относительно снапшота от 12 марта 2006.

- GoldEd не использует таблицу перекодировок, если её уровень меньше, чем
  уровень CHRS-клуджа.
- Исправлено отображение инициалов при использовании "среднего имени" (M):
  QuoteString " FML> "
- Исправлено "обрезание" даты и времени при отображении заголовков сообщения.
_____________________________________________________________________________

       Более ранние изменения см. в английском notework.txt
_____________________________________________________________________________
