我应该在 Emacs Lisp 包中的哪里添加自动加载 cookie?有没有明确的指南?

2024-01-02

我维护一个比较流行的 Emacs 包(ido-无处不在 https://github.com/DarwinAwardWinner/ido-ubiquitous),我想添加;;;###autoload对我的包进行注释,以便在激活其模式之前不需要加载它。不久前,我尝试使用同一个包进行此操作,结果导致了许多仅在自动加载包时才会出现的神秘错误,因此我删除了所有自动加载内容,问题就消失了。我想再试一次,但前提是我能找到有关如何执行此操作的明确文档,这样我就不会再次引入相同的错误。

那么有没有关于将自动加载 cookie 添加到 Emacs Lisp 包的明确指南呢?

编辑:查看我的包的 Git 日志,我看到一些涉及自动加载的提交:

  • 283f9e9 https://github.com/DarwinAwardWinner/ido-ubiquitous/commit/283f9e9删除不必要的自动加载
  • 66b782f https://github.com/DarwinAwardWinner/ido-ubiquitous/commit/66b782f自动加载覆盖变量的默认值
  • f6086e5 https://github.com/DarwinAwardWinner/ido-ubiquitous/commit/f6086e5自动加载修复
  • 0eed206 https://github.com/DarwinAwardWinner/ido-ubiquitous/commit/0eed206删除不必要的自动加载cookie

这些提交表明我真的不确定要添加自动加载到什么。特别是,f6086e5 和 66b782f 表明我认为我应该自动加载自定义变量,并得出结论,我还需要自动加载defconst定义其默认值的表单。如果我没记错的话,这是对 void-variable 错误的响应,因为自动加载的 defcustom 无法访问非自动加载的默认值(问题链接 https://github.com/DarwinAwardWinner/ido-ubiquitous/issues/16)。最后,在 283f9e9 中,我对未来有了一个愿景,并采纳了 Stefan 的建议,删除了除次要模式定义之外的所有自动加载。


The ;;;###autoloadcookie 只是标记需要提升到<pkg>-autoloads.el文件。然后在启动时急切地加载该文件,但这可以很快完成,因为它是一个小得多的文件。因此,您通常只需要在几个主要入口点上使用这样的 cookie。例如。我首先只放一个这样的饼干ido-ubiquitous-mode.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我应该在 Emacs Lisp 包中的哪里添加自动加载 cookie?有没有明确的指南? 的相关文章

  • 如何在 Emacs Lisp 中设置列​​表中的一部分参数?

    我想设置PROGRAM ARGS of start process从列表中 Like start process process name foobar process path append some args list concat t
  • elisp 中的复数/虚数?

    elisp 支持虚数吗 我正在尝试通过运行 lisp 交互模式缓冲区来学习在线数学课程 Emacs elisp 有 高等数学 模块 库吗 Emacs 包括calc 一个支持复数的综合计算器 The manual is here C hig
  • 检查类的实例是否存在,如果不存在则创建实例

    我想知道是否可以创建一个函数并向其传递一个类名 然后该函数检查当前类的实例是否存在 如果不存在 则创建该类的实例 此外 如果可能的话 将该变量设置为全局变量并要求将其返回 我意识到 回国可能是唯一的选择 function class nam
  • elisp 警告“引用自由变量”

    我正在徘徊如何摆脱 elisp 警告 我的设置如下 我有 init el 文件设置 emacs root 变量 root of all emacs related stuff defvar emacs root if or eq syste
  • 打开 dired 并选择与前一个缓冲区关联的文件?

    假设我正在编辑blah txt使用 Emacs 我决定打开dired以重命名文件 https stackoverflow com questions 384284 can i rename an open file in emacs 384
  • Emacs 插入居中注释块

    我想为 emacs 创建一个宏 它将插入一个带有一些居中文本的乳胶注释块 例如 Comment 1 Comment 2 Commenttext 3 这可
  • emacs isearch 整个缓冲区的延迟突出显示

    isearch 的默认行为是突出显示当前窗口中匹配的世界 我怎样才能改变这种行为 让它突出显示整个当前缓冲区中匹配的世界 也许您正在寻找高亮 命令 以便在执行其他操作时在整个缓冲区中突出显示内容 M shC h lists Global B
  • Elisp 交互功能,具有输入历史记录

    有很多交互式函数将字符串输入作为参数 defun zb run cmd X arg1 argN interactive Marg1 Marg2 some logic 如何制作每个这样的功能zb run cmd 1 zb run cmd N
  • 自动加载器导致找不到类

    我正在尝试在我的 WordPress 项目中包含一个自动加载器 更具体地说 我正在开发一个插件 其中包含所有类的 Classes 目录 我希望这些类可以通过命名空间访问到我的 WordPress 项目根目录和子文件 文件夹 我觉得我的com
  • 如何在 Yii 中安装 AWS SDK

    我想在我的 Yii 项目中使用适用于 PHP 的 Amazon AWS SDK 但是我收到各种包含错误 例如include CFCredentials php failed to open stream No such file or di
  • 使用(独立)模块化项目安装多个 Composer

    我正在尝试找到使用 Composer 实现模块化结构的最佳方法 假设我有这个框架树 cms site addons 假设开发人员可以使用插件来添加他们的项目composer json安装 喜欢 site addons MyNewFeatur
  • 如何设置键绑定以使 Emacs 按照我的需要透明/不透明?

    我想在 Emacs 中有一个命令让它按照我想要的方式不透明 透明 请参阅神话般的question https stackoverflow com questions 2010158 setting an emacs background i
  • Emacs - 调用时出错(服务器启动)

    我目前在 Windows Vista SP1 中使用 GNU Emacs 23 0 93 1 在我的 emacs 文件中 我调用 server start 这导致消息错误目录 emacs d server 不安全 有没有人见过这个并知道修复
  • 自动加载和命名空间

    我使用 PHP 已经很长时间了 但现在开始尝试新的语言功能 例如命名空间 我有一个关于自动加载的问题 但在网络搜索中找不到足够的答案 假设我在不同的命名空间中有类 namespace foo bar baz class Quux names
  • 同时维护多个emacs配置

    我想在同一台电脑上的同一用户帐户上同时维护多个 emacs 配置 例如 emacs prelude emacs starter kit 和我自己的自定义 emacs 配置 为此 我设置了 emacs1 d emacs2 d emacs3 d
  • Emacs lisp:将字符翻译为标准 ASCII 转录

    我正在尝试编写一个函数 将包含 unicode 字符的字符串转换为某种默认的 ASCII 转录 理想情况下 我想要例如 ngstr m成为Angstroem或者 如果不可能的话 Angstrom 同样地 应该成为a x c 或类似的 Ema
  • 如何根据文件位置运行钩子

    我参与了使用选项卡的 python 项目 但是我没有在我编写的所有其他代码中使用它们 在该特定项目中使用它们至关重要 项目位于特定目录下的一个目录中 IE main folder project1 project2 project3 etc
  • Emacs:当光标位于右括号时匹配括号

    之前有人问过 Emacs 当光标位于其上时突出显示匹配的括号 而不是其后 https stackoverflow com questions 16399530 emacs highlight matching paren when curs
  • 在 Emacs 中,如何更改迷你缓冲区完成列表窗口?

    我想为迷你缓冲区完成列表设置一个特定的窗口 目前 我有 3 个窗口采用此配置 在这种情况下 我想使用左下窗口作为迷你缓冲区完成列表 目前 它似乎是随机的一个窗口 大多数时候它喜欢使用最右边的窗口 它太薄了 无法在我不必水平滚动的情况下显示完
  • Elisp 获取函数数量?

    我希望能够做到 function arity intern expt 我用谷歌搜索了这个解决方案https github com emacsmirror parser blob master parser fn el https githu

随机推荐