Doom-emacs: Ошибка overlayp при первом использовании Org Capture

Созданный на 10 мая 2019  ·  33Комментарии  ·  Источник: hlissner/doom-emacs

Привет,

Я предполагаю, что вы не должны столкнуться с этой ошибкой, поскольку ваши файлы уже настроены, но в первый раз, когда вы сделаете <spc> X затем введете что-то вроде задачи или заметки, вы получите ошибку overlayp is nil когда вводить заметку каждый раз, когда вы нажимаете пробел (она также вставляет новую строку или возвращается в начало строки).

Вы все еще можете нажать C-c C-c чтобы завершить заметку, в результате чего будет создан файл todo.org или notes.org , и с этого момента ошибка не возникает.

Итак, я предполагаю, что шаги для воспроизведения:

  • уничтожьте один из ваших todo.org или notes.org
  • затем попробуйте создать TODO или заметку, в зависимости от того, что вы атаковали
  • начните вводить заголовок вашего TODO / заметки, нажмите пробел, увидите ошибку

Это могла быть ошибка восходящего потока в yasnippet, учитывая, что ошибка в журнале сообщений:

yas--snapshot-overlay-location: Wrong type argument: overlayp, nil [2 times]
:editor file-templates :lang org bug resolved

Все 33 Комментарий

Я могу подтвердить. Далее то же самое произошло и с самым первым todo.org и самым первым файлом notes.org который у меня тоже. И больше никогда не появлялся после того, как файлы стали существовать.

Думаю, я наконец нашел эту проблему. Не могли бы вы попробовать следующее, чтобы увидеть, решает ли оно это?

(add-hook 'org-capture-mode-hook #'yas-abort-snippet)

21cf1c2 должен решить эту проблему. Дайте мне знать, если это не так, и я снова открою эту проблему. Спасибо, что обратили мое внимание!

@hlissner , сделаю, когда @ home. Напряженный день на работе ...

Нет, не исправил.

Находясь на ae365272.

Хм, в таком случае я больше не могу это воспроизвести. Вернуться к доске для рисования!

Это ужасно. я просто

mv org org_bak
  • Перезапустите Emacs ( <Space> h R не воспроизводит его!)

<Space> X>

Ввод -> вызывает такое странное поведение.

Воспроизведено второй раз только сейчас, для 100% уверенности.

mv org_bak org устраняет проблему. На всякий случай вот моя config.el соответствующая часть:

;;
;;; :lang org
(after! org
  (add-to-list 'org-modules 'org-habit t))

;; Pop-rule
(after! org
  (set-popup-rule! "^\\*Org Agenda.*\\*$" :size 0.5 :side 'right :vslot 1  :select t :quit t   :ttl nil :modeline nil :autosave t)
  (set-popup-rule! "^CAPTURE.*\\.org$"    :size 0.4 :side 'bottom          :select t                                  :autosave t))

;; automatically redisplay images generated by babel
(add-hook 'org-babel-after-execute-hook 'org-redisplay-inline-images)

;; place latex-captions below figures and tables
(setq org-latex-caption-above nil)

(setq org-directory "~/org/"
      org-agenda-files (list org-directory)
      org-ellipsis " ▼ "

      ;; The standard unicode characters are usually misaligned depending on the
      ;; font. This bugs me. Markdown #-marks for headlines are more elegant.
      org-bullets-bullet-list '("#"))

;; Org-Noter
(def-package! org-noter
  :defer t
  :after org-mode
  :config
  (map!
   (:leader
     (:prefix "n"
       :desc "Org-noter-insert" :n "i" #'org-noter-insert-note))))

;; Setup
(setq org-noter-always-create-frame nil
      org-noter-auto-save-last-location t)

@rscircus Сделал то же самое, но M-x doom/info ?

``

  • ОС: GNU / Linux (x86_64-pc-linux-gnu)
  • Emacs: 25.3.2 (19 апреля 2018 г.)
  • Doom: 2.0.9 (ГОЛОВА -> разработка, _обновление / разработка ae365272 2019-06-18 11:46:27 +0200)
  • Графический дисплей: t (демон: ноль)
  • Возможности системы: XPM JPEG TIFF GIF PNG RSVG IMAGICK SOUND GPM DBUS GCONF GSETTINGS NOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 MODULES
  • Детали:
    elisp env bootstrapper: nil elc count: 0 uname -a: Linux 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019 x86_64 modules: (:tools eval :editor evil file-templates :tools lookup :editor snippets :tools flyspell flycheck :ui workspaces :completion company helm :ui doom doom-dashboard modeline doom-quit ophints hl-todo nav-flash treemacs (popup +all +defaults) vc-gutter vi-tilde-fringe window-select :editor multiple-cursors rotate-text :emacs dired electric :editor fold :term term :emacs vc :tools editorconfig ein make magit tmux upload :lang clojure data emacs-lisp go (java +meghanada) javascript julia lua markdown (org +attach +babel +capture +habit +export +present) python rest (sh +fish) web :config default) packages: (emojify org-pomodoro org-noter writeroom-mode esh-autosuggest fish-completion) exec-path: (/home/linuxbrew/.linuxbrew/bin /home/linuxbrew/.linuxbrew/sbin ~/.cargo/bin ~/bin /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /snap/bin /usr/lib/x86_64-linux-gnu/emacs/25.3/x86_64-linux-gnu)

Дополнительные сведения о моей конфигурации: https://github.com/rscircus/dotfiles/tree/master/config/doom.d - возможно, взаимодействие. 🤷

Если честно, исправление - довольно простой и необходимый шаг, поэтому, если у вас есть дела поважнее, те, кто действительно хочет покопаться в doom emacs, найдут эту проблему. ;)

У меня такая же проблема, и я не совсем понимаю предлагаемое здесь решение. Как вообще в игру вступает org_bak? Я не использую ~/org в качестве файлов организации каталога, нужно ли мне подобное решение?

@rgrinberg Как я понимаю, когда вы вызываете org-capture, а ваш целевой файл org-capture не существует, он должен его создать. После создания пустого организационного файла шаблон организационного файла расширяется с помощью yasnippet (модулем :editor file-templates ). Обычно это создает наложения на все редактируемые области во фрагменте, однако у org-capture есть свои собственные идеи о том, как пользователь будет взаимодействовать с этим организационным файлом: он сужает его, так что расширенный фрагмент (и, следовательно, эти наложения) больше не видны. Yasnippet пытается взаимодействовать с этими наложениями, которые существовали всего мгновение назад, чтобы обнаружить, что они исчезли, и выдает ошибку типа, жалуясь, что ожидалось наложение. Отсюда и ошибка.

К сожалению, модуль file-templates не может многое с этим поделать, потому что нет способа определить, «этот организационный файл будет использоваться для буфера захвата организации» во время выполнения его логики.

@rscircus Кстати, у вас все еще

@rgrinberg Я думаю, вам нужно прочитать всю todo.org или там, где существует ваш захват. В приведенном выше обсуждении я переместил org-directory чтобы проверить. Исправление состоит в том, чтобы создать этот каталог и файлы вручную, и это нежелательное поведение исчезнет. Надеюсь, это тоже ответ на твой вопрос, @hlissner?

@rscircus Устраняет ли :editor file-templates ?

Хорошо, обо всем по порядку:

На feb9799f (12.07.2017) ошибка все еще существует. Перемещение org-directory и предоставление emacs возможности его создать привело к тому же поведению, что описано в @Ptival .

На de85f67b (14.07.2017) тоже.

Отключение :editor file-templates в init.el не помогает.

Опять же, помогло создание файла захвата.

@rscircus Не могли бы вы произвести трассировку вашей ошибки? т.е. включите режим отладки с помощью SPC h d d (или M-x doom/toggle-debug-mode ), затем заново создайте ошибку.

image

В тот момент, когда я нажму <space> ! Думаю, вы где-то добавили точку останова?

@rscircus Хм, ничего M-x doom/info ?

``

  • ОС: GNU / Linux (x86_64-pc-linux-gnu)
  • Оболочка: / bin / zsh
  • Emacs: 26.2 (12 апреля 2019 г.)
  • Doom: 2.0.9 (ГОЛОВКА -> разработка, происхождение / разработка de85f67b 2019-07-14 05:35:51 +0200)
  • Графический дисплей: t (демон: ноль)
  • Возможности системы: XPM JPEG TIFF GIF PNG RSVG IMAGICK SOUND GPM DBUS GSETTINGS GLIB NOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE THRESTY XADIM MODULES XDBE XADIM XADIM
  • Детали:
    elisp env bootstrapper: envvar-file elc count: 0 uname -a: Linux 4.15.0-51-generic #55-Ubuntu SMP Wed May 15 14:27:21 UTC 2019 x86_64 modules: (:completion company ivy :ui doom doom-dashboard doom-quit hl-todo modeline nav-flash ophints (popup +all +defaults) treemacs vc-gutter vi-tilde-fringe window-select workspaces :editor evil file-templates fold multiple-cursors rotate-text snippets :emacs dired electric vc :tools eval flycheck (lookup +docsets) magit :lang data emacs-lisp markdown (org +dragndrop +ipython +pandoc +present) sh :config default) packages: (emojify org-pomodoro org-noter org-trello writeroom-mode esh-autosuggest fish-completion) exec-path: (~/.cargo/bin ~/.local/bin /home/linuxbrew/.linuxbrew/bin /home/linuxbrew/.linuxbrew/sbin ~/.emacs.d/bin ~/local/bin ~/local/bin ~/local/bin ~/local/bin ~/.cargo/bin ~/.local/share/umake/bin ~/.cargo/bin ~/.local/bin /home/linuxbrew/.linuxbrew/bin /home/linuxbrew/.linuxbrew/sbin ~/.emacs.d/bin ~/.local/share/anaconda3/bin ~/.sdkman/candidates/java/current/bin ~/local/bin ~/local/bin ~/.cargo/bin ~/.local/share/umake/bin ~/.cargo/bin /home/linuxbrew/.linuxbrew/bin /home/linuxbrew/.linuxbrew/sbin /home/linuxbrew/.linuxbrew/bin /home/linuxbrew/.linuxbrew/sbin ~/.local/bin /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /snap/bin ~/bin /usr/lib/jvm/java-11-openjdk-amd64/bin /usr/local/bin/ /usr/bin /bin /usr/sbin /sbin /usr/local/bin /usr/X11/bin /usr/local/sbin ~/dotfiles/bin /usr/local/bin/ /usr/bin /bin /usr/sbin /sbin /usr/local/bin /usr/X11/bin /usr/local/sbin ~/dotfiles/bin ~/.local/bin ~/local/src/go/bin ~/.fzf/bin /snap/bin /usr/local/bin/ /usr/bin /bin /usr/sbin /sbin /usr/local/bin /usr/X11/bin /usr/local/sbin ~/dotfiles/bin /usr/local/bin/ /usr/bin /bin /usr/sbin /sbin /usr/local/bin /usr/X11/bin /usr/local/sbin ~/dotfiles/bin ~/.local/bin ~/local/src/go/bin /usr/local/bin/ /usr/bin /bin /usr/sbin /sbin /usr/local/bin /usr/X11/bin /usr/local/sbin ~/dotfiles/bin /usr/local/bin/ /usr/bin /bin /usr/sbin /sbin /usr/local/bin /usr/X11/bin /usr/local/sbin ~/dotfiles/bin ~/.local/bin ~/local/src/go/bin /snap/bin /usr/lib/x86_64-linux-gnu/emacs/26.2/x86_64-linux-gnu/)

Когда вы отключили :editor file-templates , запускали ли вы doom refresh перед перезапуском Emacs и его тестированием?

Забавно, как часто я запускал vim чтобы (поискать) исправить emacs : joy: сегодня.

Как вы уже догадались, я не сделал doom refresh после изменения init.el .

Да, без :editor file-template все работает как задумано.

Я считаю, что fb619bd представляет собой возможное решение этой проблемы. Может ли кто-нибудь проверить это и сообщить мне, так ли это?

Я считаю, что это еще не исправлено. Вот свежий стек:

Debugger entered--Lisp error: (wrong-type-argument overlayp nil)
  overlay-start(nil)
  yas--snapshot-overlay-location(nil 54 168)
  yas--auto-fill()
  internal-auto-fill()
  self-insert-command(1)
  newline(nil t)
  (if (and (sp-point-in-comment) comment-line-break-function) (funcall comment-line-break-function) (delete-horizontal-space t) (newline nil t) (indent-according-to-mode))
  +default--newline-indent-and-continue-comments-a()
  apply(+default--newline-indent-and-continue-comments-a nil)
  newline-and-indent()
  org-return(t)
  #f(compiled-function () (interactive nil) #<bytecode 0x404ac0d1>)()
  apply(#f(compiled-function () (interactive nil) #<bytecode 0x404ac0d1>) nil)
  org-return-indent()
  funcall-interactively(org-return-indent)
  call-interactively(org-return-indent nil nil)
  command-execute(org-return-indent)

@rgrinberg Я до сих пор не могу воспроизвести это. Не могли бы вы поделиться своими org-capture-templates ?

(("t" "Personal todo" entry
  (file+headline +org-capture-todo-file "Inbox")
  "* TODO %?\n%i\n%a" :prepend t :kill-buffer t)
 ("n" "Personal notes" entry
  (file+headline +org-capture-notes-file "Inbox")
  "* %u %?\n%i\n%a" :prepend t :kill-buffer t)
 ("p" "Templates for projects")
 ("pt" "Project todo" entry
  (file+headline +org-capture-project-todo-file "Inbox")
  "* TODO %?\n%i\n%a" :prepend t :kill-buffer t)
 ("pn" "Project notes" entry
  (file+headline +org-capture-project-notes-file "Inbox")
  "* TODO %?\n%i\n%a" :prepend t :kill-buffer t)
 ("pc" "Project changelog" entry
  (file+headline +org-capture-project-notes-file "Unreleased")
  "* TODO %?\n%i\n%a" :prepend t :kill-buffer t))

Я не уверен, что дело в темпальтах. Я никогда не настраивал свои шаблоны, и это не проблема, которую я могу постоянно воспроизводить, поэтому корень кажется чем-то другим.

Нет, я не использую Emacs 27. Здесь Emacs 26.3 :)
30 октября 2019 г. 01:22 +0900 Хенрик Лисснер [email protected] написал:

@rgrinberg Я до сих пор не могу воспроизвести это. Не могли бы вы поделиться своими шаблонами org-capture?
-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или откажитесь от подписки.

@rgrinberg fd00870 должен наконец решить эту проблему. Сообщите мне, если это не так, и я снова открою эту проблему.

Спасибо, что согласились со мной по этому поводу. Я дам вам знать, смогу ли я воспроизвести
2 ноября 2019 г., 2:21 AM +0900, Хенрик Лисснер [email protected] написал:

@rgrinberg fd00870 должен наконец решить эту проблему. Сообщите мне, если это не так, и я снова открою эту проблему.
-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или откажитесь от подписки.

Начиная с 037bcf3 я реализовал новый обходной путь для подобных проблем с расширением шаблонов файлов. Это также должно касаться этого, но дайте мне знать, если это не так.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги