【问题标题】:Trouble with enabling clojure-mode-extra-font-locking mode in emacs在 emacs 中启用 clojure-mode-extra-font-locking 模式的问题
【发布时间】:2017-11-12 13:20:44
【问题描述】:

我目前正在尝试在 emacs 中启用 clojure-mode-extra-font-locking。目前在

~/.emacs.d/bootleg/clojure-mode-extra-font-locking/clojure-mode-extra-font-locking.el

.

我有以下代码:

(require 'clojure-mode)
(add-to-list 'load-path "~/.emacs.d/bootleg/clojure-mode-extra-font-locking/")
(require 'clojure-mode-extra-font-locking)

但是当我打开一个 .clj 文件时,我会在 minibuffer 中得到这个:

文件模式指定错误:(void-function enable)

我做错了什么?谢谢!

编辑: 这就是我得到的

M-x 错误切换调试

Debugger entered--Lisp error: (void-function enable)
  enable()
  run-hooks(change-major-mode-after-body-hook prog-mode-hook clojure-mode-hook)
  apply(run-hooks (change-major-mode-after-body-hook prog-mode-hook clojure-mode-hook))
  run-mode-hooks(clojure-mode-hook)
  clojure-mode()
  set-auto-mode-0(clojure-mode nil)
  set-auto-mode()
  normal-mode(t)
  after-find-file(nil t)
  find-file-noselect-1(#<buffer test.clj> "~/src/clojure/test.clj" nil nil "~/src/clojure/test.clj" (16260320 2069))
  find-file-noselect("/home/n/src/clojure/test.clj" nil nil nil)
  find-file("/home/n/src/clojure/test.clj")
  #[257 "\304\305!!r\306\307\310\311\312\313!\314\"\315\316%DC\216\317@\320\"\210   \205$\321\n!?\205)\322\323\n\"!+\207" [ivy-last counsel-find-file-speedup-remote ivy--directory find-file-hook internal--before-with-selected-window ivy--get-window funcall make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 "\n\n(fn)" select-window norecord file-remote-p find-file expand-file-name] 9 "\n\n(fn X)"]("/home/k/src/clojure/test.clj")
  ivy-call()
  ivy-read("Find file: " read-file-name-internal :matcher counsel--find-file-matcher :initial-input nil :action #[257 "\304\305!!r\306\307\310\311\312\313!\314\"\315\316%DC\216\317@\320\"\210 \205$\321\n!?\205)\322\323\n\"!+\207" [ivy-last counsel-find-file-speedup-remote ivy--directory find-file-hook internal--before-with-selected-window ivy--get-window funcall make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 "\n\n(fn)" select-window norecord file-remote-p find-file expand-file-name] 9 "\n\n(fn X)"] :preselect nil :require-match confirm-after-completion :history file-name-history :keymap (keymap (C-backspace . counsel-up-directory) (67108991 . counsel-up-directory)) :caller counsel-find-file)
  counsel-find-file()
  call-interactively(counsel-find-file nil nil)
  command-execute(counsel-find-file)

【问题讨论】:

  • 我猜它在你的钩子函数之一中(change-major-mode-after-body-hookprog-mode-hookclojure-mode-hook)。检查所有这些并确保挂钩中的每个功能都正常工作。

标签: emacs clojure


【解决方案1】:

你确定你真的需要/想要这个包吗?

当我看到你的问题时,我的第一反应是“不要打扰 它。”这主要是因为我上次看时,包裹还算出来 就在不久前,苹果酒增加了功能以提供增强的 无论如何,字体锁定。但是,然后我检查并看到额外的字体锁定 包装最近已更新并记得虽然苹果酒很棒, 有些人更喜欢使用 inf-clojure 而不是苹果酒(尤其是在 一些基于节点的环境,您没有 nRepl 并且不想去 用于伪造中间件的捎带中间件路线)。

您应该做的第一件事是更改您的设置以获取 clojure-mode 和 来自 MELPA 档案的 clojure-mode-extra-font-lock。 Clojure 模式和苹果酒 软件包是快速移动的目标,几乎每个都有新的软件包发布 星期。这很棒,但它确实可以保留额外的包,比如额外的 字体锁包同步有点困难。从包中获取它们 档案可能有助于确保一切同步。

如果您是 clojure 新手,我真的不会担心额外的 字体锁定的东西。最好只专注于clojure-mode,苹果酒和 clj 重构。 IMO 这些是更重要的部分和那些 将改善环境和您的工作流程。一旦你有了这些包 运行良好并且您对它们感到满意,然后返回并查看添加 额外的字体锁定。您很有可能会发现它没有必要。

我也强烈推荐使用 use-package 包来管理你的 elpa 包。它使您的 init 文件更易于维护,并且可以显着提高速度 增加 emacs 启动时间。

【讨论】:

  • 当我尝试在 cider-repl 中启用 paredit 或彩虹分隔符时,我也遇到了同样的错误。
  • 要么显示您的初始化程序,要么将其放在某处并发布链接。 Paredit 和 Rainbow-delimiters 是 clojure-mode 和 cider 的常见设置,所以我们知道它们有效。所以,一定是你的init文件有问题。
猜你喜欢
  • 1970-01-01
  • 2015-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-11
相关资源
最近更新 更多