如何获取 Emacs lisp 非交互式函数的列表?

2023-12-25

如何获取可在 Emacs Lisp 中使用的非交互式函数的完整列表?

交互式功能很容易在帮助系统中找到,但我想要我可以使用的所有其他功能的完整列表。例如concat, car, cdr等等(最好有文档)。

Thanks

Ed

编辑:感谢 Jouni 的回答。我稍微研究了一下他的答案,并让它对结果进行排序(使用他的代码结果来帮助我找到正确的排序函数!)

(flet ((first-line (text)
                   (if text
                       (substring text 0 (string-match "\n" text))
                     "")))
  (let ((funclist (list)))
    (mapatoms 
     (lambda (x)
       (and (fboundp x)                     ; does x name a function?
            (not (commandp (symbol-function x))) ; is it non-interactive?
            (subrp (symbol-function x))          ; is it built-in?
            (add-to-list 'funclist 
                         (concat (symbol-name x) " - " (first-line (documentation x))
                                 "\n")))))
    (dolist (item (sort funclist 'string<))
      (insert item))))

这是基本想法 - 请参阅Emacs Lisp 手册 http://www.gnu.org/software/emacs/manual/elisp.html对于任何不清楚的概念。

(flet ((first-line (text)
         (if text
             (substring text 0 (string-match "\n" text))
           "")))
  (mapatoms 
   (lambda (x)
     (and (fboundp x)                          ; does x name a function?
          (not (commandp (symbol-function x))) ; is it non-interactive?
          (subrp (symbol-function x))          ; is it built-in?
          (insert (symbol-name x) " - " (first-line (documentation x)) "\n")))))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取 Emacs lisp 非交互式函数的列表? 的相关文章

  • 在函数中调用其他列的控制流程

    我正在尝试在给定条件的情况下连接到函数中的其他列 本质上 我想让数据框在给定条件的情况下从长到宽 其中一列中的这些值是NA相对于同一行中具有值的另一列 转动NAs转化为特定的数字 尽管分配的值必须是特定于列的 因此 如果2010 has N
  • R data.table:在当前测量之前对出现次数进行计数

    我有一组在几天内进行的测量结果 测量次数通常为 4 任何测量中可以捕获的数字范围为 1 5 在现实生活中 给定测试集 范围可能高达 100 或低至 20 我想每天计算每个值在当天之前发生的次数 让我用一些示例数据来解释 test data
  • Emacs cperl - 常量块中的缩进

    我正在运行基于 GNU Emacs 24 3 50 2 的 Aquamacs 3 0a cperl 版本是 6 2 当我编辑 Perl 常量块时 我得到了我不想要的额外缩进 use constant ONE gt 1 TWO gt 2 TH
  • Lisp:CHAR 既未声明也未绑定

    几天前我决定学习 通用 Lisp 我意识到这是一个相当新手的问题 对于至少有一点经验的人来说可能非常微不足道 所以基本上发生的事情是我加载 Emacs Slime 通过 Lisp in a Box 并编写我的程序 包括在下面 defun l
  • 如何在 Emacs shell 缓冲区中获得对“✖”等的支持?

    我正在运行一个进程 如果出现错误 则输出字符 如 Unicode 中定义 但是 如果在 Emacs shell 缓冲区 GNU Emacs 的 Aquamacs 发行版 中运行该进程 我根本看不到错误 使用 braeburn aquamac
  • 将类型信息传递给 Scala 中的函数

    我有对 json 对象执行一些常见操作的代码 即提取 所以我想创建一个通用函数 它接受哪个类的类型参数 代码如下所示 def getMessageType T json JValue Either GenericError T try Ri
  • 需要了解Javascript函数提升示例

    我阅读了 Javascript 提升的概念 它非常令人困惑 但我看到了一些示例并了解了提升的实际作用 所以基本上 提升是 JavaScript 的默认行为 即将所有声明移动到当前作用域的顶部 当前脚本或当前函数的顶部 但我无法理解以下实现
  • 如何从 Emacs 中检出 Perforce 下的文件?

    我在工作中使用 Perforce 进行源代码控制 并且希望从 Emacs 中 打开以进行编辑 源代码控制下的文件 那怎么办呢 我需要在 Emacs 中设置什么 有插件吗 我还想执行其他 p4 操作 例如提交我的更改等 Perforce Em
  • 类型错误:对于仅使用浮点数的函数,返回数组必须是 ArrayType

    这个实在是难倒我了 我有一个计算单词权重的函数 我已经确认 a 和 b 局部变量都是 float 类型 def word weight term a term freq term print a type a b idf term prin
  • R - 获取与用户函数中的正则表达式模式匹配的表列表

    我希望在 R 中创建一个用户函数 它合并多个使用正则表达式来查找这些表的表 在我的情况下 我想合并我的环境中以 m 开头的所有表 这正是我想要的 Reduce function merge all TRUE mget apropos m 但
  • 小型简单结构是否应该通过 const 引用传递?

    我一直被教导非原始类型应该通过 const 引用传递 而不是尽可能通过值传递 即 void foo std string str bad void foo const std string str good 但我今天在想 也许实际上一些简单
  • LISP 非常简单的列表问题

    我正在学习 lisp 而且我对此还很陌生 所以我想知道 如果我这样做 defparameter list 1 list 1 2 defparameter list 2 list 2 3 defparameter list 3 append
  • 在 R 中使用整数值代替数值(例如 1L 与 1)作为常量的好处

    在 R 源代码中 大多数 但不是全部 函数使用整数值作为常量 colnames lt function x do NULL TRUE prefix col if is data frame x do NULL return names x
  • Clojure 中的宏和函数

    我在这个 Clojure 教程中读到了以下行 http java ociweb com mark clojure article html Macros http java ociweb com mark clojure article h
  • 为什么 C++ 对于 new 和 delete 有其单独的语法?

    为什么不能只是常规的函数调用 新本质上是 malloc sizeof Foo Foo Foo 虽然删除是 Foo Foo free 那么为什么 new delete 最终会拥有自己的语法而不是常规函数呢 这是一个尝试 The new操作员呼
  • 一次性的 lisp 宏,我的实现正确吗?

    我正在尝试从 Peter Seibel 的书 Practical Common Lisp 中学习 Lisp 在第 8 章 宏 定义你自己的 http www gigamonkeys com book macros defining your
  • 函数输入参数的 auto 是否可以替代函数模板?

    在 C 20 中auto关键字可用于函数输入参数 这是函数模板的适当替代吗 在决定采用哪种方法时是否需要考虑任何实际差异 template
  • Python Tkinter,停止线程函数

    我目前正在为 3D 打印机开发 GUI 并且遇到如何停止线程函数的问题 我希望能够单击 GUI 中具有另一个功能的按钮 该按钮将阻止线程函数通过串行端口发送 G 代码字符串 目前 该函数已合并线程 以允许在打印期间触发其他函数 我非常感谢有
  • 有没有办法在 Emacs 中使用 Djinn 自动生成 Haskell 代码?

    标题几乎说明了一切 我正在寻找这样的东西 f Int gt Bool gt Int f body Djinn 可以使用定理证明来通过证明该类型存在来生成此类函数的代码 我想知道 是否有现有的方法可以从 Emacs 中获取此功能 因此 我不需
  • strlen(s) 和 (strlen)(s) 之间有什么区别吗? [复制]

    这个问题在这里已经有答案了 在 bstrlib c bstring 库 中 有几个地方在函数调用周围放置了括号 什么目的 代码片段 bstring bfromcstr const char str bstring b int i size

随机推荐

  • 判断一个数字是否是 scala 中的好数字

    您好 我是 Scala 函数式编程方法的新手 我想在我的函数中输入一个数字并检查它是否是一个好数字 如果一个数字的每个数字都大于该数字右侧的数字之和 则该数字是一个好数字 例如 9620 相当于 2 gt 0 6 gt 2 0 9 gt 6
  • 如何有效去除字符串的一部分

    有一个像 A B C D E F 这样的字符串 如何删除 C D 部分并得到像 A B E F 这样的字符串 要么只是将其替换掉 input Replace C D 或者使用上一个问题的解决方案之一 将其从数据结构中删除并将其重新连接在一起
  • 从 Struts2 应用程序中的 FreeMarker 获取模板文本

    我想使用 Freemarker 在 Struts2 应用程序中生成电子邮件 由于我也在使用 Freemarker 来实现我的观点 因此我想 重用 相同的配置 使用 Spring 做同样的事情已经有一个类似的问题 在 Spring 应用程序中
  • Java 包装器到 Perl/Python 代码

    我必须在仅支持 Java 的服务器上部署一些 Web 服务 但其中一些将使用 perl 或 python 完成 我想知道是否可以开发一个 Java 包装器来调用用 perl 或 python 编写的特定代码 因此 我希望所有的 Web 服务
  • 如何减少 GC 期间弱引用的处理时间?

    目前 我面临的问题是我的应用程序偶尔会显示较长的 GC 时间 但所有这些都只是由弱引用处理引起的 所以线程停止时间总是接近弱引用处理时间 所有其他 GC 周期均为 0 0001 秒至 0 200 秒 来自 gc log 重新格式化 1038
  • 如何从初始 LocalDateTime 和 cron 表达式获取下一个 LocalDateTime?

    我有一个初始日期和一个 cron 表达式 我怎样才能找到满足这个 cron 表达式的下一个日期 String cronExpresion LocalDateTime initial LocalDateTime now LocalDateTi
  • React 中的可搜索下拉菜单

    我有以下反应列表
  • 应用程序首次打开时的条件页面显示

    您好 我刚刚开始学习 Angular Angular UI Router 并试图找出如何确定应用程序首次打开的时间 以将用户发送到登录页面或主页 这是我到目前为止所拥有的 codeArtApp config function statePr
  • 无法使用带有 x-www-form-urlencoded 参数的 JSOUP 登录网站

    我如何使用来实现以下请求Jsoup http jsoup org POST 登录 用户 HTTP 1 1主机 url publishedprices co il缓存控制 无缓存 内容类型 application x www form url
  • 关于 C# 字符串的问题:不变性和克隆

    我正在阅读 Accelerated C 2010 并且有几个问题 问题1 String 的实例是不可变的 一旦你创造了它们 你无法改变它们 这是真的吗 我已经有一段时间没有使用 C 了 而且我才刚刚开始 所以我什至在语法上也可能是错误的 s
  • Git 子模块 — 排除特定文件/目录

    我正在尝试使用 Git 的 子模块 功能在项目中包含第 3 方代码 我只需要子模块中的几个文件 并希望排除它附带的所有文档等 我怎样才能做到这一点 在我的子模块中我有一个 examples我想删除的文件夹locally防止自动生成的 mak
  • Polymer 1.0:如何将参数从属性传递给 Polymer 函数?

    有没有办法将参数从 Polymer 函数内部的元素属性传递给 Polymer 函数
  • 如何使用nodejs动态创建Mongodb模式

    我想知道是否可以使用 Mongoose 模式 Node js 和 Angular 在 mongodb 中动态创建表 创建模式的基本方法是在 Node js 中显式创建模型 如下所示 import mongoose from mongoose
  • 在TFS中使用Tortoise SVN diff

    我想将 Tortoise SVN diff 实用程序与 TFS 一起使用 我知道如何在 TFS 中配置用户工具 我需要的是 Tortoise SVN diff 实用程序的安装程序 我想我需要安装完整的 Tortoise SVN 才能获取 S
  • 将数据源动态绑定到应用程序制造商弹出窗口

    我需要有一个通用的 删除确认 弹出窗口 并使用弹出窗口出现之前触发的事件将数据源动态绑定到弹出窗口 单击 位置 页面上的删除图标时 将出现弹出窗口 截图如下 我需要同时设置弹出窗口的数据源 当用户单击此删除图标时 并且当用户单击弹出窗口上的
  • Rcmd 检查:“:::”调用导入的未导出对象

    这个问题与Rcmd check在 R Devel 3 1 0 中 我正在维护一个包 称之为 A 它 依赖于 另一个包 让我称之为第二个包 B 出于以下原因 我使用 依赖 而不是 导入 大多数使用 A 包的人也使用 B 包 包 A 广泛使用包
  • WebRTC 无法在 iOS Safari 上的 Angular 5 中工作

    我正在使用 WebRTC 构建一个应用程序 但它无法在 iOS Safari 上的 Angular 5 中运行 我使用原生 WebRTC API 没有框架 首先没有 Angular 为了证明我的观点 Angular 是问题所在 我使用纯 h
  • 空接口允许任何对象吗?

    为什么空接口不要求对象为空 interface A const a A a 1 console log a 是有效的代码并将输出 a 1 我认为添加可选属性应该可以正常工作 但是 interface A interface B extend
  • R 2.XX.Y 中的核心包

    我想知道如何知道哪些包是核心的R 2 XX Y 假设我安装了 R 2 14 1那么这个版本会附带哪些软件包 谢谢 1 您可以查看来源 2 问题甚至不清楚included也受到推崇的图书馆 大多数人会理解你的问题是要求两组 3 在 Debia
  • 如何获取 Emacs lisp 非交互式函数的列表?

    如何获取可在 Emacs Lisp 中使用的非交互式函数的完整列表 交互式功能很容易在帮助系统中找到 但我想要我可以使用的所有其他功能的完整列表 例如concat car cdr等等 最好有文档 Thanks Ed 编辑 感谢 Jouni