代码之家  ›  专栏  ›  技术社区  ›  Chetna Shah

emacs中给定主模式的加载后评估与挂钩的执行顺序

  •  1
  • Chetna Shah  · 技术社区  · 7 年前

    假设我使用的特定模式是 python-mode . Emacs手册为挂钩规定了以下内容:

    根据主要模式惯例:

    modename-mode-hook run-mode-hooks .

    with-eval-after-load

    我的init文件中有以下内容:

    (add-hook 'python-mode-hook 'my-post-python)
    

    我还补充了

        (with-eval-after-load 'python-mode
         (setq-default python-basic-offset 7) ; setting some option
         (add-to-list 'python-globals-list "console"))
    

    现在假设我打开Emacs,然后打开一个Python文件缓冲区,那么关于钩子和 加载后评估 ? 从开始时指定的文档来看,模式挂钩似乎将在之前运行 加载后评估 密码

    更具体地说,每次输入缓冲区/使其成为当前缓冲区时,是否都会运行模式挂钩?(注意:这在文档/手册中很难找到,欢迎在文档/手册中找到任何澄清上述内容的链接)。

    1 回复  |  直到 7 年前
        1
  •  3
  •   phils    7 年前

    现在假设我打开emacs,然后打开一个python文件缓冲区,那么关于钩子和加载后eval的加载/执行顺序是什么?

    假设 python.el

    • 您访问 foo.py .
    • set-auto-mode python-mode 是适当的,并称之为。
    • 这个 函数(此时)是 python模式 图书馆
    • with-eval-after-load 对于 python模式 对库进行评估。
    • 真实的 python模式
    • python-mode-hook 跑。

    不,它们在每次调用模式函数时都会运行。


    1. 默认库为 它使用 (provide 'python) ,但从您的 加载后评估 你在使用 python-mode.el

    推荐文章