История изменений в версиях Cog
Created 6 October 2005, last updated 24 May 2008
Список изменений в версиях 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: