Захват протокола Org, работающий месяцами, затем внезапно остановленный без какого-либо надлежащего сообщения об ошибке

#emacs #org-mode #emacsclient

#emacs #org-mode #истощенный клиент

Вопрос:

У меня есть две настройки emacs, работающие с помощью chemacs2, одна с конфигурацией doom и одна с vannila emacs с несколькими конфигурациями в режиме org. Это работает уже несколько месяцев, а затем сегодня я получаю следующую ошибку. Даже при (setq debug-on-error t) том, что я не получаю никаких сообщений / информации, кроме этого.

 $ emacsclient -c --alternate-editor='' org-protocol://capture://link/title/encoded
Waiting for Emacs...
>>> *ERROR*: Wrong type argument: arrayp, nil  <<<
 

Вот последовательность запуска

 $ emacsclient -c --alternate-editor='' "org-protocol://capture://link/title/encoded"
emacsclient: connect: Connection refused

Warning: due to a long standing Gtk  bug
https://gitlab.gnome.org/GNOME/gtk/issues/221
Emacs might crash when run in daemon mode and the X11 connection is unexpectedly lost.
Using an Emacs configured with --with-x-toolkit=lucid does not have this problem.
Loading /etc/emacs/site-start.d/00debian.el (source)...
Loading /etc/emacs/site-start.d/00debian.el (source)...done
Loading /etc/emacs/site-start.d/50autoconf.el (source)...
Loading /etc/emacs/site-start.d/50autoconf.el (source)...done
Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...
Loading debian-ispell...
Loading /var/cache/dictionaries-common/emacsen-ispell-default.el (source)...
Loading /var/cache/dictionaries-common/emacsen-ispell-default.el (source)...done
Loading debian-ispell...done
Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el (source)...
Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el (source)...done
Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...done
Loading /home/vanangamudi/kadal/aalar/emacs/.emacs.d/chemacs.el (source)...
Loading /home/vanangamudi/emacs/vanilla.d/init.el (source)...
Followed link to /home/vanangamudi/kadal/aalar/emacs/vanilla.d/config.org
Wrote /home/vanangamudi/emacs/vanilla.d/config.el
Wrote /home/vanangamudi/emacs/vanilla.d/config.el
Wrote /home/vanangamudi/emacs/vanilla.d/config.el
Wrote /home/vanangamudi/emacs/vanilla.d/config.el
Wrote /home/vanangamudi/emacs/vanilla.d/config.el
Wrote /home/vanangamudi/emacs/vanilla.d/config.el
Wrote /home/vanangamudi/emacs/vanilla.d/config.el
Tangled 7 code blocks from config.org
Loading /home/vanangamudi/emacs/vanilla.d/config.el (source)...
Loading /home/vanangamudi/emacs/vanilla.d/config.el (source)...done
Loaded ~/emacs/vanilla.d/config.el
Loading /home/vanangamudi/emacs/vanilla.d/init.el (source)...done
Loading /home/vanangamudi/kadal/aalar/emacs/.emacs.d/chemacs.el (source)...done
Loading /home/vanangamudi/emacs/vanilla.d/init.el (source)...
Loading /home/vanangamudi/emacs/vanilla.d/config.el (source)...
Loading /home/vanangamudi/emacs/vanilla.d/config.el (source)...done
Loaded ~/emacs/vanilla.d/config.el
Loading /home/vanangamudi/emacs/vanilla.d/init.el (source)...done
Starting Emacs daemon.
Emacs daemon should have started, trying to connect again
Waiting for Emacs...
*ERROR*: Wrong type argument: arrayp, nil
 

Ответ №1:

Я думаю, что вы используете неправильный формат для команды. Попробуйте это:

 emacsclient "org-protocol://capture?template=Lamp;url=www.test.com/SomeLinkamp;title=Somethingamp;body=Site"
 

Обратите внимание, что я определил ключ шаблона, который будет использоваться в URL. Убедитесь, что у вас есть шаблон с этим ключом. Тот, который я использовал, был:

      ("L" "Protocol Link" entry (file headline "~/capture-test.org" "Captured")
      "* %? [[%:link][%:description]] nCaptured On: %U")
 

Также стоит ознакомиться с документацией функции org-protocol-capture (путем ввода C-h f org-protocol-capture ).