emacs - 如何更改 Emacs 可用的堆栈大小?

标签 emacs elisp

当我使用相对较大的 TAGS 文件运行 any-c-etags-select 命令时,我总是在 Emacs 上的迷你缓冲区内的正则表达式匹配器中收到堆栈溢出之类的错误消息。在 *Messages*缓冲区,出现如下日志消息:

File TAGS is large (9MB), really open? (y or n) 
Loading tag file...70%
and: Stack overflow in regexp matcher

Emacs 似乎没有足够的堆栈大小来读取整个标签数据。有没有办法增加 Emacs 的堆栈大小?

我用 2 个版本的 Emacs 尝试过这个:
  • Emacs For Mac OS X 24.1(通用二进制)
  • Emacs For Mac OS X 23.4(通用二进制)

  • 但是,它们都显示了相同的错误消息。

    提前致谢!

    最佳答案

    可能为您提供简单的解决方法:

    Better yet: [\0-\377[:nonascii:]]* avoids “Stack overflow in regexp matcher” for huge texts, e.g., > 34k.



    ... 和/或 ...

    My tags tables are in different places, depending on the code I'm working with. I found it easy to have an environmental variable $DEVELOP pointing to the directory I'm working in, which has TAGS for Emacs and tags for vi.

    关于emacs - 如何更改 Emacs 可用的堆栈大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11269247/

    相关文章:

    shell - 使用 emacs shell 时清除 shell 的命令

    emacs - 为什么 Emacs 允许除以零?

    emacs - CEDET 解析时缓冲区被终止

    git - 如何使用 magit 编辑提交的差异

    emacs 跳过 make-directory : File exists: c:/Users/USER/My Documents/. emacs.d/

    emacs - 如何在elisp下以不同的底数显示数字?

    emacs - 如何在 Emacs 中识别缓冲区的所有者/创建者

    emacs - 在 Emacs 中,如何粘贴到多术语中

    emacs - emacs 的打字机声音

    emacs - Emacs Lisp 中的 GNU+Linux 构建框架?