Doom-emacs: Erro `overlayp` ao usar` Org Capture` pela primeira vez

Criado em 10 mai. 2019  ·  33Comentários  ·  Fonte: hlissner/doom-emacs

Ei,

Presumo que você não deva encontrar esse erro, pois já tem seus arquivos configurados, mas na primeira vez que você fizer <spc> X depois inserir algo como uma tarefa ou uma nota, receberá um erro overlayp is nil quando digitar a nota sempre que você pressionar espaço (também insere uma nova linha ou retorna ao início da linha).

Você ainda pode pressionar C-c C-c para completar a nota, o que cria o arquivo todo.org ou notes.org , e a partir de agora, o erro não acontece.

Então, acho que as etapas para reproduzir são:

  • detonar um de seus todo.org ou notes.org
  • em seguida, tente criar um TODO ou uma nota, dependendo do que você nuked
  • comece a digitar o título de sua TODO / nota, pressione espaço, veja o erro

Pode ser um erro de upstream no yasnippet, pois o erro no registro de mensagens é:

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

Todos 33 comentários

Eu posso confirmar. Além disso, também aconteceu com o primeiro todo.org e o primeiro notes.org arquivo comigo também. E nunca mais apareceu depois que os arquivos já existiam.

Acho que finalmente descobri esse problema. Você poderia tentar o seguinte para ver se isso resolve?

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

21cf1c2 deve resolver esse problema. Informe se não for o caso e reabrirei o problema. Obrigado por chamar minha atenção!

@hlissner , farei, quando estiver em casa. Dia agitado no trabalho ...

Não, não consertei.

Estar em ae365272.

Hmm, nesse caso não consigo mais reproduzi-lo. De volta à prancheta!

É perverso. eu só

mv org org_bak
  • Reinicie o Emacs (A <Space> h R não o reproduz!)

<Space> X>

Digitar -> produz esse comportamento estranho.

Reproduzi-o uma segunda vez agora, para ter 100% de certeza.

mv org_bak org corrige o problema. Por precaução, aqui está minha config.el parte relevante:

;;
;;; :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 Fez a mesma coisa, sem efeito. Você pode fornecer seu M-x doom/info ?

`` `

  • SO: gnu / linux (x86_64-pc-linux-gnu)
  • Emacs: 25.3.2 (19 de abril de 2018)
  • Doom: 2.0.9 (HEAD -> desenvolver, _atualizar / desenvolver ae365272 2019-06-18 11:46:27 +0200)
  • Exibição gráfica: t (daemon: nil)
  • Recursos do sistema: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOM GPM DBUS GCONF GSETTINGS NOTIFICAR LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 MODULES
  • Detalhes:
    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)

Mais detalhes sobre minha configuração: https://github.com/rscircus/dotfiles/tree/master/config/doom.d - talvez uma interação. 🤷

Para ser honesto, a correção é uma etapa bastante fácil e necessária, portanto, se você tiver coisas mais importantes para fazer, aqueles que realmente querem se aprofundar no doom emacs encontrarão esse problema. ;)

Tenho o mesmo problema e não entendo muito bem a solução alternativa oferecida aqui. Como o org_bak entra em ação? Não uso ~/org como um diretório de arquivos org, preciso de uma solução alternativa semelhante?

@rgrinberg Pelo que entendi, quando você invoca org-capture e seu arquivo de destino org-capture não existe, é necessário criar um. Ao criar um arquivo org vazio, o modelo de arquivo org é expandido com yasnippet (pelo módulo :editor file-templates ). Isso normalmente cria sobreposições sobre todas as regiões editáveis ​​no snippet - no entanto, org-capture tem suas próprias ideias sobre como o usuário irá interagir com este arquivo org: ele o restringe, de modo que o snippet expandido (e, consequentemente, as sobreposições) não são mais visíveis. Yasnippet tenta interagir com essas sobreposições que existiam apenas um momento atrás, para descobrir que elas se foram, e lança um erro de tipo reclamando que esperava uma sobreposição. Daí o erro.

Infelizmente, o módulo de modelos de arquivo não pode fazer muito sobre isso porque não há como detectar "este arquivo org será usado para um buffer de captura de org" no momento em que sua lógica for executada.

@rscircus Falando nisso, você ainda está tendo esse problema?

@rgrinberg eu acho, você tem que ler todo o tópico, mas provavelmente ainda é confuso. Então, basicamente, esse comportamento estranho desaparece no momento em que o diretório especificado via (setq org-directory "/ path / to / org /") e todo.org ou onde quer que sua captura exista. Na discussão acima, movi org-directory para verificar. A correção é criar esse diretório e arquivos manualmente e esse comportamento indesejável desaparecerá. Espero que isso também responda à sua pergunta, @hlissner?

@rscircus Desativar o módulo :editor file-templates corrige o problema?

OK, as primeiras coisas primeiro:

Em feb9799f (12-07-2017) o bug ainda existe. Mover org-directory e deixar o emacs tentar criá-lo resultou no mesmo comportamento descrito por @Ptival .

Em de85f67b (2017-07-14) também.

Desativar :editor file-templates em init.el não ajuda.

Novamente, o que ajudou é criar o arquivo de captura.

@rscircus Você poderia produzir um backtrace de seu erro? ou seja, habilite o modo de depuração com SPC h d d (ou M-x doom/toggle-debug-mode ) e recrie o erro.

image

No momento em que acertei <space> ! Acho que você adicionou um ponto de interrupção em algum lugar?

@rscircus Hmm, não há nada de errado aí. Você também poderia incluir seu M-x doom/info ?

`` `

  • SO: gnu / linux (x86_64-pc-linux-gnu)
  • Shell: / bin / zsh
  • Emacs: 26.2 (12 de abril de 2019)
  • Doom: 2.0.9 (HEAD -> desenvolver, originar / desenvolver de85f67b 14/07/2019 05:35:51 +0200)
  • Exibição gráfica: t (daemon: nil)
  • Recursos do sistema: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOM GPM DBUS GSETTINGS GLIB NOTIFICAR LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBG XIM MODULES LIBSTEM LIBSTEM LIBSELINUX LIBXML
  • Detalhes:
    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/)

Quando você desabilitou :editor file-templates , você executou doom refresh antes de reiniciar o Emacs e testá-lo?

Engraçado, quantas vezes eu disparei vim para (procure um) consertar emacs : alegria: hoje.

Bem, como você adivinhou, não doom refresh depois de modificar init.el .

Sim, sem :editor file-template coisas funcionam como planejado.

Acredito que fb619bd apresenta uma possível solução para esse problema. Alguém poderia testar e me avisar se for o caso?

Eu acredito que isso ainda não foi corrigido. Aqui está um novo rastreamento de pilha:

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 Ainda não consigo reproduzir isso. Você poderia compartilhar seu 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))

Não tenho certeza se isso é uma questão de tempaltes. Nunca customizei meus modelos e esse não é um problema que posso reproduzir de forma consistente, então a raiz parece ser outra coisa.

Não, não estou no Emacs 27. Emacs 26.3 aqui :)
Em 30 de outubro de 2019 01:22 +0900, Henrik Lissner [email protected] , escreveu:

@rgrinberg Ainda não consigo reproduzir isso. Você poderia compartilhar seus org-capture-templates?
-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub ou cancele a inscrição.

@rgrinberg fd00870 deve finalmente resolver isso. Informe se não for o caso e reabrirei este problema.

Obrigado por ter paciência comigo sobre isso. Eu te direi se posso reproduzir
Em 2 de novembro de 2019, 02:21 +0900, Henrik Lissner [email protected] , escreveu:

@rgrinberg fd00870 deve finalmente resolver isso. Informe se não for o caso e reabrirei este problema.
-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub ou cancele a inscrição.

Em 037bcf3, implementei uma nova solução alternativa para problemas de expansão de modelo de arquivo como esses. Isso também deve abordar este, mas informe-me aqui se não for o caso.

Esta página foi útil?
0 / 5 - 0 avaliações