Emacs:当字节编译时,它删除折叠内的任何内容

时间:2012-04-19 17:02:26

标签: emacs compilation folding

非常感谢您的帮助。

我正在尝试对init.le文件进行字节编译。 我遇到的问题是生成的init.lec文件是空的! 经过一些测试后,我意识到折叠内的任何内容(可能是;; {{{;;}}})都会被删除。

任何人都知道如何防止这种情况,除了停止使用折叠:-D(fold.el更精确)。

我还尝试更改折叠语法。 这并不容易,但是当我开始工作时,Emacs用新的语法删除了折叠的内容!疯了呃?

干杯!

更新:

这是我的init.el文件(对不起上面的拼写错误)

我使用folding.le来保持一切整洁。

基本上,它的作用是收缩和扩展;; {{{;;}}}标签内的内容

所以当所有内容都折叠起来时,我的init.el文件如下所示:

(message "Loading Emacs!")

;;{{{ FIRST...
;;{{{ DIRECTORIES...
;;{{{ PACKAGES...
;;{{{ INTERFACE...
;;{{{ EDITOR...
;;{{{ FUNCTIONS...
;;{{{ HOOKS...
;;{{{ PACKAGES...
;;{{{ LAST...

(message "Emacs Loaded!")

字节编译后,生成init.elc文件:

ELC
;;; Compiled by rafaelgp@RAFAELGP-PC on Thu Apr 19 17:37:20 2012
;;; from file c:/Users/rafaelgp/AppData/Roaming/.emacs.d/init.el
;;; in Emacs version 24.0.92.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\207" [message "Loading Emacs!" "Emacs Loaded!"] 2)

干杯

1 个答案:

答案 0 :(得分:0)

嗯。它似乎对我有用,但我不得不评论一些我没有安装过的东西,比如毒蛇。我使用this fold mode的修改版本并没有任何问题。至少你可以添加关于字节编译的建议来关闭折叠,比如

(defadvice byte-compile-file (around turn-off-folding activate)
  (turn-off-folding-mode)
  ad-do-it
  (turn-on-folding-mode))

希望这能解决您的问题。不过我可能会尝试不同的折叠模式。