org-roam / org-roam-server

A Web Application to Visualize the Org-Roam Database
MIT License
635 stars 51 forks source link

Calling "org-roam-server-mode" throws "Wrong type argument: listp, sp-text-mode-emoticon-p" #115

Closed j-steinbach closed 3 years ago

j-steinbach commented 3 years ago

I am getting an error when trying to start org-roam-server-mode.

This is what I get with emacs --init-debug. Based on the word "emoticon", It should be emoticon related? But I don't use emoticons. Maybe it is related to Unicode symbols or fonts?

This is also where my emacs debug know-how ends, so any help would be appreciated :)

Debugger entered--Lisp error: (wrong-type-argument listp sp-text-mode-emoticon-p)
  #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_36>(sp-text-mode-emoticon-p sp-point-before-same-p)
  -contains\?((sp-point-before-same-p sp-point-before-word-p) sp-text-mode-emoticon-p)
  -union((sp-point-before-word-p sp-point-before-same-p) (sp-text-mode-emoticon-p))
  sp--merge-prop(:unless (:open "(" :skip-match sp-text-mode-skip-emoticon :actions (:add) :when (:add) :unless (:add sp-text-mode-emoticon-p) :pre-handlers (:add) :post-handlers (:add)) (:open "(" :close ")" :actions (wrap insert autoskip navigate) :unless (sp-point-before-word-p sp-point-before-same-p) :post-handlers (("||\n[i]" "RET") ("| " "SPC")) :skip-match sp-text-mode-skip-emoticon :when nil))
  sp--merge-pairs((:open "(" :close ")" :actions (wrap insert autoskip navigate) :unless (sp-point-before-word-p sp-point-before-same-p) :post-handlers (("||\n[i]" "RET") ("| " "SPC")) :skip-match sp-text-mode-skip-emoticon :when nil) (:open "(" :skip-match sp-text-mode-skip-emoticon :actions (:add) :when (:add) :unless (:add sp-text-mode-emoticon-p) :pre-handlers (:add) :post-handlers (:add)))
  sp--merge-pair-configurations(((:open "(" :skip-match sp-text-mode-skip-emoticon :actions (:add) :when (:add) :unless (:add sp-text-mode-emoticon-p) :pre-handlers (:add) :post-handlers (:add))))
  sp-update-local-pairs(text-mode)
  sp--update-local-pairs()
  sp--init()
  smartparens-mode(t)
  turn-on-smartparens-mode()
  smartparens-global-mode-enable-in-buffers()
  run-hooks(after-change-major-mode-hook)
  run-mode-hooks(org-mode-hook)
  org-mode()
  org-roam-server-mode(1)
  org-roam-server-open()
  funcall-interactively(org-roam-server-open)
  command-execute(org-roam-server-open record)
  counsel-M-x-action("org-roam-server-open")
  ivy-call()
  ivy-read("M-x " ("org-roam-server-mode" "server-start" "org-roam-server-open" "org-roam-db-build-cache" "elfeed-update" "elfeed" "deft" "indent-sexp" "mu4e" "eshell" "helm-bibtex" "browse-url-of-dired-file" "clone-indirect-buffer-other-window" "dired" "eval-region" "insert-char" "query-replace" "restart-emacs" "table-capture" "org-zotxt-mode" "eval-expression" "org-table-shrink" "counsel-load-theme" "evil-Surround-edit" "org-roam-db--clear" "org-roam-build-cache" "toggle-debug-on-error" "toggle-truncate-lines" "org-latex-export-to-pdf" "org-table-create-with-table.el" "wos" "widen" "neotree" "about-emacs" "eval-buffer" "evil-upcase" "org-schedule" "list-bookmarks" "replace-string" "counsel-org-tag" "elfeed-add-feed" "org-roam-doctor" "org-sparse-tree" "counsel-flycheck" "describe-variable" "pdf-tools-install" "org-roam--db-clear" "helm-show-kill-ring" "org-roam-graph-show" "org-roam-show-graph" ...) :predicate #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_32> :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  counsel-M-x()
  funcall-interactively(counsel-M-x)
  command-execute(counsel-M-x)

This is how I configure org-roam-server. I can evaluate the config.el buffer without errors. But when I call the org-roam-server-mode I still get the error.

If need be, I can post my whole config.el.

#+BEGIN_SRC emacs-lisp :tangle yes
(use-package org-roam-server
  :ensure t
  :config
  (setq org-roam-server-host "127.0.0.1"
        org-roam-server-port 8080
        org-roam-server-authenticate nil
        org-roam-server-export-inline-images t
        org-roam-server-serve-files nil
        org-roam-server-served-file-extensions '("pdf" "mp4" "ogv")
        org-roam-server-network-poll t
        org-roam-server-network-arrows nil
        org-roam-server-network-label-truncate t
        org-roam-server-network-label-truncate-length 60
        org-roam-server-network-label-wrap-length 20))

(defun org-roam-server-open ()
    "Ensure the server is active, then open the roam graph."
    (interactive)
    (org-roam-server-mode 1)
    (browse-url-xdg-open (format "http://localhost:%d" org-roam-server-port)))

;; automatically enable server-mode
(after! org-roam
  (org-roam-server-mode))
#+END_SRC

My system is Manjaro Linux 20.2.

org-roam-diagnostics:

- Emacs: GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.23, cairo version 1.17.3)
 of 2020-11-08
- Framework: Doom
- Org: Org mode version 9.4 (nil @ /home/jst/.emacs.d/.local/straight/build/org-mode/)
- Org-roam: 1.2.2
j-steinbach commented 3 years ago

Oh, wait, there is already another issue with the same problem.

https://github.com/org-roam/org-roam-server/issues/84

I will keep mine open until I solve it!

j-steinbach commented 3 years ago

It is indeed the smartparens that is troublesome.

But it appears as if it is only needed during the server-open. Afterwards it can be toggled off. This disables the preview - which is annoying - but I can live with that.


Here is my updated config

#+BEGIN_SRC emacs-lisp :tangle yes
(use-package org-roam-server
  :ensure t
  :config
  (setq org-roam-server-host "127.0.0.1"
        org-roam-server-port 8080
        org-roam-server-authenticate nil
        org-roam-server-export-inline-images t
        org-roam-server-serve-files nil
        org-roam-server-served-file-extensions '("pdf" "mp4" "ogv")
        org-roam-server-network-poll t
        org-roam-server-network-arrows nil
        org-roam-server-network-label-truncate t
        org-roam-server-network-label-truncate-length 60
        org-roam-server-network-label-wrap-length 20))

(defun org-roam-server-open ()
    "Ensure the server is active, then open the roam graph."
    (interactive)
    (smartparens-global-mode -1)
    (org-roam-server-mode 1)
    (browse-url-xdg-open (format "http://localhost:%d" org-roam-server-port))
    (smartparens-global-mode 1))

;; automatically enable server-mode
(after! org-roam
  (smartparens-global-mode -1)
  (org-roam-server-mode)
  (smartparens-global-mode 1))
#+END_SRC