2012-04-19 27 views
2

非常感谢您的帮助。Emacs:当字节编译时,它会删除折叠内的任何内容。

我想字节编译我的init.le文件。 我遇到的问题是生成的init.lec文件是空的! 经过一些测试后,我意识到任何内容折叠(这将是;; {{{;;}}})被删除。

除了停止使用折叠:-D(folding.el更精确)之外,任何人都有任何想法如何防止这种情况。

我也试着改变foldings的语法。 这并不容易,但是当我得到它的工作时,Emacs用新语法删除了折叠的内容!疯了吗?

干杯!

UPDATE:

这是我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 [email protected] 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) 

干杯

+0

其首先不是'init.le',而是'init.el'。我不是你的意思,请提供任何例子。你不应该看字节编译的'elc'文件。 – kindahero 2012-04-19 19:09:38

回答

0

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

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

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

+0

干得好!我用fold.el取代了fold.el。现在init.elc编译正确。 Fold.el目前工作正常。很遗憾,它使用两个不同的键盘映射来打开和关闭折叠,而不是一个切换状态。非常感谢您的帮助! – RafaelGP 2012-04-23 11:28:12

+0

我相信这两种模式的功能是不同的,但如果你对'fold.el'满意,那么我想它没关系。 – 2012-04-23 11:30:15