Using doom emacs

in my packages.el:

(package! slime) 
(package! geiser) 
(package! geiser-mit) 
(package! scheme)

in my config.el:

(setq geiser-active-implementations '(mit))

(org-babel-do-load-languages ' org-babel-load-languages
                               '((shell      . t)
                                 (emacs-lisp . t)
                                 (lisp       . t)
                                 (scheme     . t)))

in my org file:

#+begin_src scheme 
(+ 54 34)

[nothing displayed]


Starting Geiser REPL ... [3 times] 
/home/path/to/file.org couldn't be added to load path Mit REPL up and running!     
evaluating: (:eval (:scm (begin ;; -*- geiser-scheme-implementation: mit -*- (+ 54 34) )))
Error during redisplay: (jit-lock-function 1222) signaled (wrong-type-argument markerp nil) 
Code block evaluation complete.

Can anyone help debugging this?

1 Answer 1


Given how many variables are involved with personal configs, it will be very difficult to diagnose what the problem here is with the information available. However, you had asked for help in debugging this issue, so this answer will offer potential ways that this issue may be arising.

  1. You appear to be using packages.el to configure your scheme setup, but you tagged this post with doom. Doom actually includes scheme as part of its default package management system, and includes flags for geisser and mit, so you do not have to create your own implementation here.

Instead, you can go to your init.el and uncomment the line for scheme and add the module flag +mit. You will then have to run doom sync. There currently isn't a module flag for slime so that can have a custom implementation if needed.

; init.el
(doom! :lang
    (scheme +mit) ; a fully conniving family of lisps

Please also make sure to scroll your cursor over the scheme bracketed list and press K to access the module docs to learn more about setting up scheme -- there appear to be set up steps related to geiser. K can be used at any part of init.el to get the module docs.

  1. The lines at the top of config.el state that in order to avoid issues with how doom interacts with custom configs during startup, you should use after! blocks when setting up your config. It is not clear to me whether or not you did this based on your question, so this could pose an issue here. I will put the documentation that config.el has here for reference:
;; Whenever you reconfigure a package, make sure to wrap your config in an
;; `after!' block, otherwise Doom's defaults may override your settings. E.g.
;;   (after! PACKAGE
;;     (setq x y))
;; The exceptions to this rule:
;;   - Setting file/directory variables (like `org-directory')
;;   - Setting variables which explicitly tell you to set them before their
;;     package is loaded (see 'C-h v VARIABLE' to look up their documentation).
;;   - Setting doom variables (which start with 'doom-' or '+').
;; Here are some additional functions/macros that will help you configure Doom.
;; - `load!' for loading external *.el files relative to this one
;; - `use-package!' for configuring packages
;; - `after!' for running code after a package has loaded
;; - `add-load-path!' for adding directories to the `load-path', relative to
;;   this file. Emacs searches the `load-path' when you load packages with
;;   `require' or `use-package'.
;; - `map!' for binding new keys
;; To get information about any of these functions/macros, move the cursor over
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
;; This will open documentation for it, including demos of how they are used.
;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces,
;; etc).
  1. Doom is currently undergoing a massive re-implementation effort, so there may be issues arising here related to that. (This is the reason that I did not provide links to the doom docs page in this answer -- they are being taken down as part of a rewrite in order to align with this re-implementation effort.)

In the case that this is what is happening, please report this as a bug within the Doom community (which you can do with doom/report-bug or SPC h d b as of time of writing). And make sure to keep up to date with development news, especially if you use the develop branch for your doom, in case any changes become relevant to your use case.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.