Список изменений в версиях Cog.

Version 2.1, 22 мая 2008

  • Добавлен ключ -U для записи выходных файлов с концовками строк в Unix стиле при работе в ОС Windows.
  • Улучшена валидация аргументов командной строки: ключ -d может использоваться при выводе на консоль (stdout), ключи проверяются для каждой строки в файле @file, чтобы предотвратить возможные некорректные сочетания ключей.

Версия 2.0, 6 октября 2005

Несовместимости:

  • Python 2.2 более не поддерживается.
  • В версии 1.4, вы могли поместить часть кода генератора в строке с маркером [[[cog и также часть в строке с маркером ]]], чтобы генератор был более компактным. К сожалению, при таком подходе становится гораздо тяжелее бескровно встраивать такие маркеры в исходные файлы любых типов. Теперь код генератора допускается в строке с маркерами только в том случае, если сам генератор записан в одну строку.
  • В версиях 1.x, вы могли опускать конечный маркер [[[end]]], при этом неявно предполагалось, что он находится в конце файла. Теперь такое поведение должно быть явным образом разрешено при помощи ключа командной строки -z. Без этого ключа отсутствие маркера считается ошибкой.

Улучшения:

  • Новый ключ -d удаляет все генераторы из выходного файла при обработке файла и генерации выходного файла (спасибо, Блэйк).
  • Новый ключ -D позволяет определять глобальные строковые переменные, доступные для генераторов.
  • Новый ключ -s позволяет маркировать генерируемые строки при помощи задаваемого суффикса.
  • @-файлы теперь могут содержать ключи командной строки в дополнение к именам файлов.
  • Сообщения об ошибках при выполнении Cog теперь печатаются без стека вызовов (traceback) Python, и используют формат, аналогичный сообщениям об ошибках компилятора. Таким образом, двойной щелчок по сообщению об ошибке возможно будет осуществлять переход к необходимому участку вашего кода (спасибо, Майк). Примечание: функция перехода по сообщениям об ошибках встроена в большинство современных IDE и редакторов для программистов.
  • Новый Cog-метод №1: cog.error(msg) возбуждает исключение и прерывает обработку, при этом на экран печатается сообщение без "ужасного" стека вызовов (traceback) Python (спасибо, Александр).
  • Новый Cog-метод №2: cog.msg(msg) печатает сообщение msg на экране (поток вывода stdout). Это лучше, нежели использование print, потому что такой подход позволяет Cog управлять всем выводом.
  • Ужесточены требования к последовательности маркерных строк. Это помогает избежать ситуаций, в которых Cog мог "съесть" ваш ценный код (спасибо, Кевин).

Версия 1.4, 25 февраля 2005

  • Добавлен ключ командной строки -x для удаления сгенерированного текста.
  • Добавлен ключ командной строки -c для добавления контрольной суммы к генерируемому тексту.

Версия 1.3, 30 декабря 2004

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

Версия 1.2, 29 декабря 2004

  • Добавлены атрибуты модуля cog.inFile, cog.outFile и cog.firstLineNum.
  • Использование аргумента sOut в функциях cog.out и cog.outl стало необязательным.
  • Добавлена компактная однострочная форма использования cog-маркеров.
  • Скорректированы некоторые предупредительные сообщения, в которых имя файла не выводилось соответствующим образом.

Версия 1.12, 21 июня 2004

  • Изменены символы перевода строк в исходных файлах Cog на более портируемый вариант LF вместо Windows-стандарта CRLF.

Версия 1.11, 5 июня 2004

Исправлены ошибки:

  • Обработка пробельных символов выполняется корректно для полностью пустых строк (вообще без пробелов) в участках Cog-кода.
  • Элементы, возвращаемые модулем handyxml, теперь имеют атрибуты, которые им назначаются после разбора содержимого xml-файла.

Версия 1.1, 21 март 2004

  • Если строки с Cog-маркерами и все строки генераторного кода внутри них содержат один и тот же префикс, то этот префикс удаляется из строк с кодом генератора. Это позволяет использовать Cog для исходных текстов на тех языках программирования, в которых нет поддержки многострочных комментариев.
  • Производится проверка того, что последняя строка вывода имеет символ перевода строки, в противном случае она сливается с завершающим маркером, что приводит к нарушению идемпотентности.
  • Добавлен ключ командной строки -v для вывода версии Cog.
  • При запуске без аргументов на экран выводится краткая справка об использовании Cog.

Версия 1.0, 10 февраля 2004

Первая версия.

Comments

Add a comment:

name
email
Ignore this:
not displayed and no spam.
Leave this empty:
www
not searched.
 
Name and either email or www are required.
Don't put anything here:
Leave this empty:
URLs auto-link and some tags are allowed: <a><b><i><p><br><pre>.