【问题标题】:Emacs - nxhtml-mode - memory fullEmacs - nxhtml 模式 - 内存已满
【发布时间】:2012-06-28 15:14:27
【问题描述】:

在 emacs 中使用 nxhtml-mode 时,几周以来我遇到了问题。工作时,emacs 意外暂停,直到在模式行“!MEM FULL!”中显示一条消息;显然 nxhtml-mode 正在填满内存,直到 emacs 停止工作。我正在处理 html、php 和 css 文件。

我不知道如何以有意义的方式调试此问题。此外,我似乎是唯一遇到此问题的人,因为谷歌搜索没有提供任何答案。

我在 Linux Mint 11 系统上使用 emacs 2.32。我找不到nxhtml的版本,它说从http://bazaar.launchpad.net/~nxhtml/nxhtml/main/revision/829下载的修订版829。

我用最小的 dot-emacs 设置了一个测试场景,只是为了测试 nxhtml 模式。这似乎没问题,但它并不反映我的高效设置。在测试 nxhtml-mode 是否不喜欢任何东西(在我的 dot-emacs 文件中调用)时,可能需要一周左右的时间才能逐渐包含我过去在 emacs 中使用的所有内容(例如 org-mode)。

还有其他方法吗? 我可以找出导致内存过载的原因吗? 有没有人在使用 nxhtml-mode 时遇到过类似的问题?

问候 马丁

【问题讨论】:

  • 抱歉,这是一个错字,emacs 版本:GNU Emacs 23.2.1 (i686-pc-linux-gnu, GTK+ Version 2.24.4)
  • 没有更多信息,我不知道你会在这里找到多少帮助。如果您能够始终如一地重现问题,并发布必要的设置详细信息以供其他人产生相同的问题,您可能会得到更好的建议。
  • 泰勒,感谢您的回复。是的,我知道,我提供的信息很差。问题是,我不知道如何获得更多。我唯一注意到的是,在 nxhtml 模式下使用 emacs 工作大约一两个小时后,问题突然出现了。我无法将其跟踪到特定的编辑命令,也无法故意重现内存溢出。我希望至少有人能给我一个提示,我可以做些什么来收集更多有效的信息。不管怎样,谢谢。马丁
  • 这似乎与nxml-validation有关。 Emacs 似乎试图验证并且变得越来越慢(模式行表示例如 80% 验证);一段时间后,内存已满。
  • 谁能给我一个提示,nxml 模式中的验证如何工作以及我可以寻找什么来解决问题?我可以通过编辑 xhtml 文件并使用自动缩进(据我了解,这会触发验证)来重现内存溢出。 Emacs 似乎可以这样做几次,但一段时间后变得越来越慢,直到没有剩余内存。

标签: memory emacs nxhtml


【解决方案1】:

我在使用 emacs 23.3 时遇到了同样的问题。最近我切换到 24.1 版本,希望问题会消失。海拉斯。

所以我切换到 sgml 模式

(add-to-list 'auto-mode-alist (cons (concat "\\." (regexp-opt '("xml" "xsd" "xslt" "xsl" "html" "htm" "wsdl" "xml.template" "xhtml" "jsp") t) "\\'") 'sgml-mode))


(add-hook 'sgml-mode-hook
          '(lambda ()
             (sgml-electric-tag-pair-mode)))

其实,你可以禁用xml验证:

(setq rng-nxml-auto-validate-flag nil)

我是在你的问题和 cmets 之后做的,从那以后我就没有问题了。

【讨论】:

  • 嗨,奥列格,我很幸运能收到您的回复。至少我知道,我不是唯一一个。我开始发现 nxhtml-mode 非常好,但这种方式几乎无法使用。非常感谢 sgml 提示。也许我也会换。
  • @mbutz 如果不需要,可以禁用验证。
猜你喜欢
  • 2011-04-06
  • 1970-01-01
  • 1970-01-01
  • 2011-01-24
  • 1970-01-01
  • 1970-01-01
  • 2012-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多