воскресенье, 16 апреля 2006 г.

apt-get install emacs-snapshot

Поставил emacs-snapshot (emacs 22 из cvs). Впечатления.

Первое что заметил сразу:
* Copy'n'past между emacs'ом и прочими программами заработал на все 100%.
* Новый emacs без правки конфигов пустился в терминальном окне (в 21.4 у меня русские буквы не вводились, а разбираться было лень).
* ibuffer-and-update почему-то стало открывать буфер со списком буферов в отдельном окошке, да еще и не делая его активным. Проблема быстро решилась собственной ф-ией my-ibuffer-and-update, так что проблема не критичная. Теперь в ibuffer можно настраивать группы буферов, например для разных проектов, для gnus'а и тд. Настроил пока только gnus (для gnus'овских буферов), custom (для буферов с настройками), fundamental (для прочего
хлама).

Благодрая changelog'у отметил для себя следующие приятные вещи:
* Если редактируемая строка шириной ровно в ширину экрана то дополнительный перевод строки больше не ставится, а если курсор нужно поместить за последний символ такой строки, то он появляется прям на правом 'поле для заметок'. Мне понравилось.
* longlines-mode. Так называемый soft перенос слов в длинных строках. Это когда автоматически происходит виртуальный перенос слов на новую строку, при этом при сохранении в файл или копировании в буфер обмена или другой буфер строка не будет содержать переносов строк. Повесил longlines-mode на f3.

Но самое интересно - ljupdate перестал логинится к серверу lievjournal! Как я с этим (извините меня) натрахался. Часа два убил. Проверил в буфере scratch соответствие между работой функций lj-md5 на одинаковый исходные строки считает одинаковый md5. С помощью ngrep и tcpdump ПОБАЙТНО сверил процесс авторизации ljupdate запущенной в старом emacs и новом, даже на параметры TCP соединений смотрел - но все совпадало, кроме challenge и response. Вместо получения challenge с сервера пробивал константное значение, но ljupdate как и в старом так и в новом emacs'е считал одинаковый response! Что еще можно подумать, если протокол общения верный и совпадает побайтно, кроме значений auth_challenge и auth_response, а auth_response вычисляется соответственно auth_challenge? Все расставила на места документация по функции md5.... Пояснение проблемы на ломаном английском и патч кинул в ljupdate.