2

我将flycheck解包~/.并放入以下行~/.emacs

;; (package-initialize)
(setq load-path (cons "~/flycheck-20170415.1006" load-path))
(require 'flycheck)
(add-hook 'after-init-hook #'global-flycheck-mode)

启动 Emacs 24.5.1 我得到:

File error: Cannot open load file, no such file or directory, let-alist

使用 Emacs 25.1.1 我得到:

File error: Cannot open load file, No such file or directory, dash

(如果我取消注释,这些错误不会改变(package-initialize)。Emacs 25 现在插入(package-initialize),推动我们这些需要长时间设置的人适应。)

我的(后续)目标是使 Python 代码即时符合 PEP8。上述问题解决后,我将添加

(setq exec-path (append exec-path '("/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin")))

到这个简短~/.emacs/opt/..2.7/bin是 MacPorts 放的地方flake8),但在我指定编程语言之前显然存在一个问题。

更新

这比我想象的要痛苦得多。Flycheck 对通过软件包进行安装非常苛刻,并将此处描述的步骤与我通常的步骤结合起来~/.emacs导致臭名昭著

load-with-code-conversion: Symbol’s value as variable is void: <!DOCTYPE

错误。(我很确定我没有隐藏在.el扩展名下的 HTML 文件。)

更新2

呃..我的立场是正确的!有些dash.el进入了我常用的 elisp 目录,flycheck 依赖于它,但它确实是一个 HTML 文件。

4

1 回答 1

1

Flycheck取决于dash,let-alistseq.

下载文件

  84766  dash.el
 381142  flycheck.el
   6136  let-alist.el
  17589  seq-24.el
  17684  seq-25.el
   1540  seq.el

并将它们放入~/.concise-elisp. seq 需要三个文件,因为它具有 Emacs 24 和 25 的替代实现。

将以下行放入您的~/.emacs:

;; Even if you are not using packages, you need the following
;; commented-out line, or else Emacs 25 will insert one for you.
;; (package-initialize)

(setq load-path (cons "~/.concise-elisp" load-path))
(require 'flycheck)
(add-hook 'after-init-hook #'global-flycheck-mode)
(setq exec-path (append exec-path '("/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin")))

最后一行指向 MacPorts 将放置的位置flake8。Flake8 是 flycheck 委托 PEP8 检查的程序之一。

下一个练习:flycheck只为 Python(可能还有 C/C++/Java/JS/..)挂钩。特别是,不要担心使 elisp 文件符合犹太教规。根据需要选择性地激活flycheck语言。

于 2017-04-21T09:16:55.860 回答