Doomed to Wordpress

Serious Reflections During the Life of Jeremy Fisher

   

Subscribe
Subscribe to a syndicated feed of my weblog, brought to you by the wonders of RSS.

Flavours
There's more than one way to view this weblog; try these flavours on for size.

  • index
  • circa 1993
  • RSS
  • Links
    These are a few links to my other sites.

  • Ставропигиальныя Пластинки
  • Анкылым
  • Русское Шрифтовое Зало
  • Gopher (Proxied)
  • More about Gopher
  •        

    2021/04/27 libedit

    Как же я ненавижу libedit.

    Я уже более 15 лет пользуюсь Emacs и Tramp для редактирования файлов по ssh. Никаких проблем до сих пор не возникало. Потом кому-то взбрело в голову в FreeBSD-шной версии libedit включить edit mode по умолчанию. Недавно, чтобы перенести свой старый VDS, на котором порты перестали собираться из-за какого-то нового синтаксиса make, а обновить систему невозможно из-за kernel panic после обновления (тоже, кстати, очень показательная история), я поставил FreeBSD 12.2 на новый VDS. С удивлением обнаруживаю, что tramp виснет при попытке соединения. Пытаюсь что-то отлаживать, тщетно выискиваю в интернете похожие случаи, день угрохал, бесполезно. Однако надо что-то делать, переезд сервера застопорился, а платить приходится за оба. Где-то через месяц возвращаюсь к этой проблеме и в этот раз уже выхожу на верный след:

    https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=243807

    https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39399

    Tramp запускает /bin/sh, которое слинковано с libedit, в котором именно в версии 12.2 было непременно кому-то надо ввести упомянутое новшество.

    Предлагаемые способы решения по своей нелепости сопоставимы с самой проблемой (предлагалось устанавливать пользователю временный .editrc со строчкой edit off! Впрочем, поскольку моя задача по возможности всегда избегать любых поделий с libedit, мне ничто не мешает, кажется, записать это в .editrc навечно.) В итоге, насколько я понял, остановились на добавлении или перемещении строчки (tramp-send-command vec "set +o vi +o emacs" t) (см. патч: https://debbugs.gnu.org/cgi/bugreport.cgi?msg=33;att=1;bug=39399), однако совершенно не в функциональном стиле написанный код tramp не позволяет мне просто переопределить для этого какую-то одну функцию, а патчить системный tramp неохота.

    Узнал также, что libedit происходит из NetBSD. Это очень печально. Я уж не знаю, какая система теперь не подала бы повода к разочарованию.

    permanent link