yibie / Elisp

Elisp 官方文档的中文翻译

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

格式说明

由于github对markdown的预览支持更好,所以仅保留markdown格式。

目前的文档还有很多不完善的地方,欢迎大家提交修正内容。

文档浏览

img

术语对照

针对不合适的术语表述,欢迎提交修正。

Face
Eval 评估
Kill Ring
Numbers 数字
Lists 列表
Sequences, Arrays, and Vectors 序列、数组和向量
Records 记录
Hash Tables 哈希表
Symbols 符号
Control Structures 控制结构
Variables 变量
Functions 函数
Macros
Loading 加载
Byte Compilation 字节编译
Minibuffers 小缓冲区
Command Loop 命令循环
Keymaps 键映射
Major and Minor Modes 主要和次要模式
Documentation 文档
Files 文件
Buffers 缓冲区
Windows 窗口
Frames
Positions 位置
Markers 标记
Text 文本
Non-ASCII Characters 非ASCII字符
Syntax Tables 语法表
Threads 线程

翻译进度

  1. 第一阶段S1: 机器翻译全部内容。

  2. 第二阶段S2: 把翻译成中文的代码块和函数名给替换回来。

  3. 第三阶段S3: 局部微调。

    S1,S2已完成,目前正处于S3。

1 简介

Content S1 S2 S3/Author
1.1 注意事项 DONE DONE  
1.2 Lisp 历史 DONE DONE  
1.3 约定 DONE DONE  
1.3.1 一些条款 DONE DONE  
1.3.2 nil和 t DONE DONE  
1.3.3 评估符号 DONE DONE  
1.3.4 打印符号 DONE DONE  
1.3.5 错误信息 DONE DONE  
1.3.6 缓冲区文本符号 DONE DONE  
1.3.7 说明格式 DONE DONE  
1.3.7.1 示例函数描述 DONE DONE  
1.3.7.2 示例变量描述 DONE DONE  
1.4 版本信息 DONE DONE  
1.5 致谢 DONE DONE  

2 Lisp 数据类型

Content S1 S2 S3/Author
2.1 打印表示和读取语法 DONE DONE  
2.2 特殊读语法 DONE DONE  
2.3 评估 DONE DONE  
2.4 编程类型 DONE DONE  
2.4.1 整数类型 DONE DONE  
2.4.2 浮点型 DONE DONE  
2.4.3 字符类型 DONE DONE  
2.4.3.1 基本字符语法 DONE DONE  
2.4.3.2 通用转义语法 DONE DONE  
2.4.3.3 控制字符语法 DONE DONE  
2.4.3.4 元字符语法 DONE DONE  
2.4.3.5 其他字符修饰符位 DONE DONE  
2.4.4 符号类型 DONE DONE  
2.4.5 序列类型 DONE DONE  
2.4.6 缺点单元格和列表类型 DONE DONE  
2.4.6.1 以框图形式绘制列表 DONE DONE  
2.4.6.2 点对符号 DONE DONE  
2.4.6.3 关联列表类型 DONE DONE  
2.4.7 数组类型 DONE DONE  
2.4.8 字符串类型 DONE DONE  
2.4.8.1 字符串的语法 DONE DONE  
2.4.8.2 字符串中的非 ASCII 字符 DONE DONE  
2.4.8.3 字符串中的非打印字符 DONE DONE  
2.4.8.4 字符串中的文本属性 DONE DONE  
2.4.9 向量类型 DONE DONE  
2.4.10 字符表类型 DONE DONE  
2.4.11 Bool-Vector 类型 DONE DONE  
2.4.12 哈希表类型 DONE DONE  
2.4.13 功能类型 DONE DONE  
2.4.14 宏类型 DONE DONE  
2.4.15 原始函数类型 DONE DONE  
2.4.16 字节码函数类型 DONE DONE  
2.4.17 记录类型 DONE DONE  
2.4.18 类型描述符 DONE DONE  
2.4.19 自动加载类型 DONE DONE  
2.4.20 终结器类型 DONE DONE  
2.5 编辑类型 DONE DONE  
2.5.1 缓冲区类型 DONE DONE  
2.5.2 标记类型 DONE DONE  
2.5.3 窗口类型 DONE DONE  
2.5.4 帧类型 DONE DONE  
2.5.5 终端类型 DONE DONE  
2.5.6 窗口配置类型 DONE DONE  
2.5.7 帧配置类型 DONE DONE  
2.5.8 流程类型 DONE DONE  
2.5.9 线程类型 DONE DONE  
2.5.10 互斥体类型 DONE DONE  
2.5.11 条件变量类型 DONE DONE  
2.5.12 流类型 DONE DONE  
2.5.13 键映射类型 DONE DONE  
2.5.14 覆盖类型 DONE DONE  
2.5.15 字体类型 DONE DONE  
2.6 循环对象的读语法 DONE DONE  
2.7 类型谓词 DONE DONE  
2.8 等式谓词 DONE DONE  
2.9 可变性 DONE DONE  

3 数字

Content S1 S2 S3/Author
3.1 整数基础 DONE DONE  
3.2 浮点基础 DONE DONE  
3.3 数字的类型谓词 DONE DONE  
3.4 数字比较 DONE DONE  
3.5 数值转换 DONE DONE  
3.6 算术运算 DONE DONE  
3.7 舍入操作 DONE DONE  
3.8 整数的按位运算 DONE DONE  
3.9 标准数学函数 DONE DONE  
3.10 随机数 DONE DONE  

4 字符串和字符

Content S1 S2 S3/Author
4.1 字符串和字符基础 DONE DONE  
4.2 字符串谓词 DONE DONE  
4.3 创建字符串 DONE DONE  
4.4 修改字符串 DONE DONE  
4.5 字符与字符串的比较 DONE DONE  
4.6 字符和字符串的转换 DONE DONE  
4.7 格式化字符串 DONE DONE  
4.8 自定义格式字符串 DONE DONE  
4.9 Lisp 中的大小写转换 DONE DONE  
4.10 案例表 DONE DONE  

5 列表

Content S1 S2 S3/Author
5.1 列表和缺点单元格 DONE DONE  
5.2 列表上的谓词 DONE DONE  
5.3 访问列表元素 DONE DONE  
5.4 构建 Cons 单元格和列表 DONE DONE  
5.5 修改列表变量 DONE DONE  
5.6 修改现有列表结构 DONE DONE  
5.6.1 改变列表元素 setcar DONE DONE  
5.6.2 更改列表的 CDR DONE DONE  
5.6.3 重新排列列表的函数 DONE DONE  
5.7 使用列表作为集合 DONE DONE  
5.8 关联列表 DONE DONE  
5.9 属性列表 DONE DONE  
5.9.1 属性列表和关联列表 DONE DONE  
5.9.2 符号外的属性列表 DONE DONE  

6 序列、数组和向量

Content S1 S2 S3/Author
6.1 序列 DONE DONE  
6.2 数组 DONE DONE  
6.3 操作数组的函数 DONE DONE  
6.4 向量 DONE DONE  
6.5 向量函数 DONE DONE  
6.6 字符表 DONE DONE  
6.7 布尔向量 DONE DONE  
6.8 管理固定大小的对象环 DONE DONE  

7 记录

Content S1 S2 S3/Author
7.1 记录功能 DONE DONE  
7.2 向后兼容性 DONE DONE  

8 哈希表

Content S1 S2 S3/Author
8.1 创建哈希表 DONE DONE Kinneyzhang
8.2 哈希表访问 DONE DONE Kinneyzhang
8.3 定义哈希比较 DONE DONE Kinneyzhang
8.4 其他哈希表函数 DONE DONE Kinneyzhang

9 符号

Content S1 S2 S3/Author
9.1 符号组件 DONE DONE  
9.2 定义符号 DONE DONE  
9.3 创建和嵌入符号 DONE DONE  
9.4 符号属性 DONE DONE  
9.4.1 访问符号属性 DONE DONE  
9.4.2 标准符号属性 DONE DONE  
9.5 速记 DONE DONE  
9.5.1 例外 DONE DONE  

10 评估

Content S1 S2 S3/Author
10.1 评估简介 DONE DONE  
10.2 表格种类 DONE DONE  
10.2.1 自我评估表 DONE DONE  
10.2.2 符号形式 DONE DONE  
10.2.3 列表形式的分类 DONE DONE  
10.2.4 符号函数间接 DONE DONE  
10.2.5 函数形式的评估 DONE DONE  
10.2.6 Lisp 宏求值 DONE DONE  
10.2.7 特殊表格 DONE DONE  
10.2.8 自动加载 DONE DONE  
10.3 报价 DONE DONE  
10.4 反引号 DONE DONE  
10.5 评估 DONE DONE  
10.6 延迟和惰性评估 DONE DONE  

11 控制结构

Content S1 S2 S3/Author
11.1 测序 DONE DONE  
11.2 条件 DONE DONE  
11.3 组合条件的构造 DONE DONE  
11.4 模式匹配条件 DONE DONE  
11.4.1 该 pcase宏 DONE DONE  
11.4.2 扩展 pcase DONE DONE  
11.4.3 反引号样式模式 DONE DONE  
11.4.4 解构 pcase模式 DONE DONE  
11.5 迭代 DONE DONE  
11.6 生成器 DONE DONE  
11.7 非本地出口 DONE DONE  
11.7.1 显式非本地出口: catch和 throw DONE DONE  
11.7.2 示例 catch和 throw DONE DONE  
11.7.3 错误 DONE DONE  
11.7.3.1 如何发出错误信号 DONE DONE  
11.7.3.2 Emacs 如何处理错误 DONE DONE  
11.7.3.3 编写代码来处理错误 DONE DONE  
11.7.3.4 错误符号和条件名称 DONE DONE  
11.7.4 清理非本地出口 DONE DONE  

12 变量

Content S1 S2 S3/Author
12.1 全局变量 DONE DONE  
12.2 永不改变的变量 DONE DONE  
12.3 局部变量 DONE DONE  
12.4 当变量为空时 DONE DONE  
12.5 定义全局变量 DONE DONE  
12.6 稳健定义变量的技巧 DONE DONE  
12.7 访问变量值 DONE DONE  
12.8 设置变量值 DONE DONE  
12.9 当变量改变时运行函数。 DONE DONE  
12.9.1 限制 DONE DONE  
12.10 变量绑定的作用域规则 DONE DONE  
12.10.1 动态绑定 DONE DONE  
12.10.2 正确使用动态绑定 DONE DONE  
12.10.3 词法绑定 DONE DONE  
12.10.4 使用词法绑定 DONE DONE  
12.10.5 转换为词法绑定 DONE DONE  
12.11 缓冲区局部变量 DONE DONE  
12.11.1 缓冲区局部变量简介 DONE DONE  
12.11.2 创建和删除缓冲区本地绑定 DONE DONE  
12.11.3 缓冲区局部变量的默认值 DONE DONE  
12.12 文件局部变量 DONE DONE  
12.13 目录局部变量 DONE DONE  
12.14 连接局部变量 DONE DONE  
12.15 变量别名 DONE DONE  
12.16 有限制值的变量 DONE DONE  
12.17 广义变量 DONE DONE  
12.17.1 setf宏 DONE DONE  
12.17.2 定义新的 setf形式 DONE DONE  

13 函数

Content S1 S2 S3/Author
13.1 什么是函数? DONE DONE  
13.2 Lambda 表达式 DONE DONE  
13.2.1 Lambda 表达式的组成部分 DONE DONE  
13.2.2 一个简单的 Lambda 表达式示例 DONE DONE  
13.2.3 参数列表的特点 DONE DONE  
13.2.4 函数的文档字符串 DONE DONE  
13.3 命名函数 DONE DONE  
13.4 定义函数 DONE DONE  
13.5 调用函数 DONE DONE  
13.6 映射函数 DONE DONE  
13.7 匿名函数 DONE DONE  
13.8 泛型函数 DONE DONE  
13.9 访问函数单元格内容 DONE DONE  
13.10 闭包 DONE DONE  
13.11 建议 Emacs Lisp 函数 DONE DONE  
13.11.1 操纵建议的原语 DONE DONE  
13.11.2 建议命名函数 DONE DONE  
13.11.3 编写建议的方法 DONE DONE  
13.11.4 使用旧的 defadvice 适配代码 DONE DONE  
13.12 声明过时的函数 DONE DONE  
13.13 内联函数 DONE DONE  
13.14 declare形式 DONE DONE  
13.15 告诉编译器定义了一个函数 DONE DONE  
13.16 判断一个函数是否可以安全调用 DONE DONE  
13.17 其他与函数相关的话题 DONE DONE  

14 宏

Content S1 S2 S3/Author
14.1 一个简单的宏例子 DONE DONE  
14.2 宏调用的扩展 DONE DONE  
14.3 宏和字节编译 DONE DONE  
14.4 定义宏 DONE DONE  
14.5 使用宏的常见问题 DONE DONE  
14.5.1 错误时间 DONE DONE  
14.5.2 反复评估宏参数 DONE DONE  
14.5.3 宏展开中的局部变量 DONE DONE  
14.5.4 评估扩展中的宏观参数 DONE DONE  
14.5.5 宏扩展了多少次? DONE DONE  
14.6 缩进宏 DONE DONE  

15 自定义设置

Content S1 S2 S3/Author
15.1 常用项关键字 DONE DONE  
15.2 定义自定义组 DONE DONE  
15.3 定义自定义变量 DONE DONE  
15.4 自定义类型 DONE DONE  
15.4.1 简单类型 DONE DONE  
15.4.2 复合类型 DONE DONE  
15.4.3 拼接成列表 DONE DONE  
15.4.4 键入关键字 DONE DONE  
15.4.5 定义新类型 DONE DONE  
15.5 应用自定义 DONE DONE  
15.6 自定义主题 DONE DONE  

16 加载

Content S1 S2 S3/Author
16.1 程序如何加载 DONE DONE  
16.2 加载后缀 DONE DONE  
16.3 图书馆搜索 DONE DONE  
16.4 加载非 ASCII 字符 DONE DONE  
16.5 自动加载 DONE DONE  
16.5.1 按前缀自动加载 DONE DONE  
16.5.2 何时使用自动加载 DONE DONE  
16.6 重复加载 DONE DONE  
16.7 特点 DONE DONE  
16.8 哪个文件定义了某个符号 DONE DONE  
16.9 卸载 DONE DONE  
16.10 装载挂钩 DONE DONE  
16.11 Emacs 动态模块 DONE DONE  

17 字节编译

Content S1 S2 S3/Author
17.1 字节编译代码的性能 DONE DONE  
17.2 字节编译函数 DONE DONE  
17.3 文档字符串和编译 DONE DONE  
17.4 单个函数的动态加载 DONE DONE  
17.5 编译期间的评估 DONE DONE  
17.6 编译器错误 DONE DONE  
17.7 字节码函数对象 DONE DONE  
17.8 反汇编字节码 DONE DONE  

18 Lisp编译成Native代码

Content S1 S2 S3/Author
18.1 本机编译函数 DONE DONE  
18.2 本机编译变量 DONE DONE  

19 调试 Lisp 程序

Content S1 S2 S3/Author
19.1 Lisp 调试器 DONE DONE  
19.1.1 出错时进入调试器 DONE DONE  
19.1.2 调试无限循环 DONE DONE  
19.1.3 在函数调用中进入调试器 DONE DONE  
19.1.4 修改变量时进入调试器 DONE DONE  
19.1.5 显式进入调试器 DONE DONE  
19.1.6 使用调试器 DONE DONE  
19.1.7 回溯 DONE DONE  
19.1.8 调试器命令 DONE DONE  
19.1.9 调用调试器 DONE DONE  
19.1.10 调试器的内部结构 DONE DONE  
19.2 调试 DONE DONE  
19.2.1 使用 Edebug DONE DONE  
19.2.2 为 Edebug 检测 DONE DONE  
19.2.3 Edebug 执行模式 DONE DONE  
19.2.4 跳跃 DONE DONE  
19.2.5 其他 Edebug 命令 DONE DONE  
19.2.6 断点 DONE DONE  
19.2.6.1 调试断点 DONE DONE  
19.2.6.2 全局中断条件 DONE DONE  
19.2.6.3 源断点 DONE DONE  
19.2.7 捕获错误 DONE DONE  
19.2.8 调试视图 DONE DONE  
19.2.9 评估 DONE DONE  
19.2.10 评估列表缓冲区 DONE DONE  
19.2.11 在 Edebug 中打印 DONE DONE  
19.2.12 跟踪缓冲区 DONE DONE  
19.2.13 覆盖测试 DONE DONE  
19.2.14 外部环境 DONE DONE  
19.2.14.1 检查是否停止 DONE DONE  
19.2.14.2 调试显示更新 DONE DONE  
19.2.14.3 Edebug 递归编辑 DONE DONE  
19.2.15 调试和宏 DONE DONE  
19.2.15.1 检测宏调用 DONE DONE  
19.2.15.2 规格表 DONE DONE  
19.2.15.3 规范中的回溯 DONE DONE  
19.2.15.4 规范示例 DONE DONE  
19.2.16 调试选项 DONE DONE  
19.3 调试无效的 Lisp 语法 DONE DONE  
19.3.1 多余的开括号 DONE DONE  
19.3.2 多余的右括号 DONE DONE  
19.4 测试覆盖率 DONE DONE  
19.5 剖析 DONE DONE  

20 读入和打印 Lisp 对象

Content S1 S2 S3/Author
20.1 读入与打印简介 DONE DONE  
20.2 输入流 DONE DONE  
20.3 输入函数 DONE DONE  
20.4 输出流 DONE DONE  
20.5 输出函数 DONE DONE  
20.6 影响输出的变量 DONE DONE  

21 小缓冲区

Content S1 S2 S3/Author
21.1 Minibuffers 简介 DONE DONE  
21.2 用 Minibuffer 读取文本字符串 DONE DONE  
21.3 用 Minibuffer 读取 Lisp 对象 DONE DONE  
21.4 小缓冲区历史 DONE DONE  
21.5 初始输入 DONE DONE  
21.6 完成 DONE DONE  
21.6.1 基本完成函数 DONE DONE  
21.6.2 完成和小缓冲区 DONE DONE  
21.6.3 完成完成的 Minibuffer 命令 DONE DONE  
21.6.4 高级完成函数 DONE DONE  
21.6.5 读取文件名 DONE DONE  
21.6.6 完成变量 DONE DONE  
21.6.7 编程完成 DONE DONE  
21.6.8 在普通缓冲区中完成 DONE DONE  
21.7 是或否查询 DONE DONE  
21.8 提出多项选择题 DONE DONE  
21.9 读取密码 DONE DONE  
21.10 小缓冲区命令 DONE DONE  
21.11 小缓冲窗口 DONE DONE  
21.12 小缓冲区内容 DONE DONE  
21.13 递归小缓冲区 DONE DONE  
21.14 抑制交互 DONE DONE  
21.15 小缓冲区杂记 DONE DONE  

22 命令循环

Content S1 S2 S3/Author
22.1 命令循环概述 DONE DONE  
22.2 定义命令 DONE DONE  
22.2.1 使用 interactive DONE DONE  
22.2.2 代码字符 interactive DONE DONE  
22.2.3 使用示例 interactive DONE DONE  
22.2.4 指定命令模式 DONE DONE  
22.2.5 在命令选项中进行选择 DONE DONE  
22.3 交互调用 DONE DONE  
22.4 区分交互调用 DONE DONE  
22.5 来自命令循环的信息 DONE DONE  
22.6 指令后点调整 DONE DONE  
22.7 输入事件 DONE DONE  
22.7.1 键盘事件 DONE DONE  
22.7.2 功能键 DONE DONE  
22.7.3 鼠标事件 DONE DONE  
22.7.4 点击事件 DONE DONE  
22.7.5 拖动事件 DONE DONE  
22.7.6 按钮按下事件 DONE DONE  
22.7.7 重复事件 DONE DONE  
22.7.8 运动事件 DONE DONE  
22.7.9 焦点事件 DONE DONE  
22.7.10 其他系统事件 DONE DONE  
22.7.11 事件示例 DONE DONE  
22.7.12 分类事件 DONE DONE  
22.7.13 访问鼠标事件 DONE DONE  
22.7.14 访问滚动条事件 DONE DONE  
22.7.15 将键盘事件放入字符串中 DONE DONE  
22.8 读数输入 DONE DONE  
22.8.1 按键序列输入 DONE DONE  
22.8.2 读取一个事件 DONE DONE  
22.8.3 修改和翻译输入事件 DONE DONE  
22.8.4 调用输入法 DONE DONE  
22.8.5 引用字符输入 DONE DONE  
22.8.6 杂项事件输入功能 DONE DONE  
22.9 特别活动 DONE DONE  
22.10 等待经过时间或输入 DONE DONE  
22.11 退出 DONE DONE  
22.12 前缀命令参数 DONE DONE  
22.13 递归编辑 DONE DONE  
22.14 禁用命令 DONE DONE  
22.15 命令历史 DONE DONE  
22.16 键盘宏 DONE DONE  

23 键映射

Content S1 S2 S3/Author
23.1 按键序列 DONE DONE  
23.2 键映射基础 DONE DONE  
23.3 键映射格式 DONE DONE  
23.4 创建键映射 DONE DONE  
23.5 继承和键映射 DONE DONE  
23.6 前缀键 DONE DONE  
23.7 活动键映射 DONE DONE  
23.8 搜索活动键映射 DONE DONE  
23.9 控制激活的键映射 DONE DONE  
23.10 密钥查找 DONE DONE  
23.11 键查找函数 DONE DONE  
23.12 更改键绑定 DONE DONE  
23.13 重映射命令 DONE DONE  
23.14 用于翻译事件序列的键映射 DONE DONE  
23.14.1 与普通键映射的交互 DONE DONE  
23.15 绑定键的命令 DONE DONE  
23.16 扫描键映射 DONE DONE  
23.17 菜单键映射 DONE DONE  
23.17.1 定义菜单 DONE DONE  
23.17.1.1 简单菜单项 DONE DONE  
23.17.1.2 扩展菜单项 DONE DONE  
23.17.1.3 菜单分隔符 DONE DONE  
23.17.1.4 别名菜单项 DONE DONE  
23.17.2 菜单和鼠标 DONE DONE  
23.17.3 菜单和键盘 DONE DONE  
23.17.4 菜单示例 DONE DONE  
23.17.5 菜单栏 DONE DONE  
23.17.6 工具栏 DONE DONE  
23.17.7 修改菜单 DONE DONE  
23.17.8 简易菜单 DONE DONE  

24 主和次模式

Content S1 S2 S3/Author
24.1 钩子 DONE DONE  
24.1.1 运行钩子 DONE DONE  
24.1.2 设置挂钩 DONE DONE  
24.2 主模式 DONE DONE  
24.2.1 主模式约定 DONE DONE  
24.2.2 Emacs 如何选择主模式 DONE DONE  
24.2.3 获取有关主模式的帮助 DONE DONE  
24.2.4 定义派生模式 DONE DONE  
24.2.5 基本主模式 DONE DONE  
24.2.6 模式挂钩 DONE DONE  
24.2.7 列表模式 DONE DONE  
24.2.8 通用模式 DONE DONE  
24.2.9 主模式示例 DONE DONE  
24.3 次模式 DONE DONE  
24.3.1 编写次模式的约定 DONE DONE  
24.3.2 键映射和次模式 DONE DONE  
24.3.3 定义次模式 DONE DONE  
24.4 模式线格式 DONE DONE  
24.4.1 模式线基础 DONE DONE  
24.4.2 模式行的数据结构 DONE DONE  
24.4.3 顶层模式线控制 DONE DONE  
24.4.4 模式行中使用的变量 DONE DONE  
24.4.5 %- 模式线中的构造 DONE DONE  
24.4.6 模式行中的属性 DONE DONE  
24.4.7 窗口标题行 DONE DONE  
24.4.8 模拟模式行格式 DONE DONE  
24.5 名称 DONE DONE  
24.6 字体锁定模式 DONE DONE  
24.6.1 字体锁定基础 DONE DONE  
24.6.2 基于搜索的字体 DONE DONE  
24.6.3 自定义基于搜索的字体 DONE DONE  
24.6.4 其他字体锁定变量 DONE DONE  
24.6.5 字体锁定级别 DONE DONE  
24.6.6 预计算字体 DONE DONE  
24.6.7 字体锁定面 DONE DONE  
24.6.8 语法字体锁定 DONE DONE  
24.6.9 多行字体锁定结构 DONE DONE  
24.6.9.1 字体锁定多行 DONE DONE  
24.6.9.2 缓冲区更改后要字体化的区域 DONE DONE  
24.7 代码自动缩进 DONE DONE  
24.7.1 简单的缩进引擎 DONE DONE  
24.7.1.1 SMIE 设置和功能 DONE DONE  
24.7.1.2 运算符优先级文法 DONE DONE  
24.7.1.3 定义语言的语法 DONE DONE  
24.7.1.4 定义令牌 DONE DONE  
24.7.1.5 使用弱解析器 DONE DONE  
24.7.1.6 指定缩进规则 DONE DONE  
24.7.1.7 缩进规则的辅助函数 DONE DONE  
24.7.1.8 缩进规则示例 DONE DONE  
24.7.1.9 自定义缩进 DONE DONE  
24.8 桌面保存模式 DONE DONE  

25 文档

Content S1 S2 S3/Author
25.1 文档基础 DONE DONE  
25.2 访问文档字符串 DONE DONE  
25.3 替换文档中的键绑定 DONE DONE  
25.4 文本引用样式 DONE DONE  
25.5 描述帮助信息的字符 DONE DONE  
25.6 帮助功能 DONE DONE  
25.7 文档组 DONE DONE  

26 文件

Content S1 S2 S3/Author
26.1 访问文件 DONE DONE  
26.1.1 文件访问函数 DONE DONE  
26.1.2 访问子程序 DONE DONE  
26.2 保存缓冲区 DONE DONE  
26.3 从文件中读取 DONE DONE  
26.4 写入文件 DONE DONE  
26.5 文件锁 DONE DONE  
26.6 文件信息 DONE DONE  
26.6.1 测试可访问性 DONE DONE  
26.6.2 区分文件种类 DONE DONE  
26.6.3 真名 DONE DONE  
26.6.4 文件属性 DONE DONE  
26.6.5 扩展文件属性 DONE DONE  
26.6.6 在标准位置定位文件 DONE DONE  
26.7 更改文件名和属性 DONE DONE  
26.8 文件和二级存储 DONE DONE  
26.9 文件名 DONE DONE  
26.9.1 文件名组件 DONE DONE  
26.9.2 绝对和相对文件名 DONE DONE  
26.9.3 目录名称 DONE DONE  
26.9.4 扩展文件名的函数 DONE DONE  
26.9.5 生成唯一文件名 DONE DONE  
26.9.6 文件名补全 DONE DONE  
26.9.7 标准文件名 DONE DONE  
26.10 目录的内容 DONE DONE  
26.11 创建、复制和删除目录 DONE DONE  
26.12 使某些文件名“神奇” DONE DONE  
26.13 文件格式转换 DONE DONE  
26.13.1 概述 DONE DONE  
26.13.2 往返规范 DONE DONE  
26.13.3 零碎规格 DONE DONE  

27 备份和自动保存

Content S1 S2 S3/Author
27.1 备份文件 DONE DONE  
27.1.1 制作备份文件 DONE DONE  
27.1.2 重命名备份还是复制备份? DONE DONE  
27.1.3 制作和删除编号备份文件 DONE DONE  
27.1.4 命名备份文件 DONE DONE  
27.2 自动保存 DONE DONE  
27.3 还原 DONE DONE  

28 缓冲区

Content S1 S2 S3/Author
28.1 缓冲区基础 DONE DONE  
28.2 当前缓冲区 DONE DONE  
28.3 缓冲区名称 DONE DONE  
28.4 缓冲区文件名 DONE DONE  
28.5 缓冲区修改 DONE DONE  
28.6 缓冲区修改时间 DONE DONE  
28.7 只读缓冲区 DONE DONE  
28.8 缓冲区列表 DONE DONE  
28.9 创建缓冲区 DONE DONE  
28.10 终止缓冲区 DONE DONE  
28.11 间接缓冲区 DONE DONE  
28.12 在两个缓冲区之间交换文本 DONE DONE  
28.13 缓冲间隙 DONE DONE  

29 窗口

Content S1 S2 S3/Author
29.1 Emacs Windows的基本概念 DONE DONE  
29.2 窗户和框架 DONE DONE  
29.3 选择窗口 DONE DONE  
29.4 窗口大小 DONE DONE  
29.5 调整窗口大小 DONE DONE  
29.6 保留窗口大小 DONE DONE  
29.7 分割窗口 DONE DONE  
29.8 删除窗口 DONE DONE  
29.9 重新组合窗口 DONE DONE  
29.10 Windows的循环排序 DONE DONE  
29.11 缓冲区和窗口 DONE DONE  
29.12 切换到窗口中的缓冲区 DONE DONE  
29.13 在合适的窗口中显示缓冲区 DONE DONE  
29.13.1 选择显示缓冲区的窗口 DONE DONE  
29.13.2 缓冲区显示的动作函数 DONE DONE  
29.13.3 缓冲区显示的动作列表 DONE DONE  
29.13.4 显示缓冲区的附加选项 DONE DONE  
29.13.5 动作函数的优先级 DONE DONE  
29.13.6 缓冲区显示之禅 DONE DONE  
29.14 窗口历史 DONE DONE  
29.15 专用窗口 DONE DONE  
29.16 退出窗口 DONE DONE  
29.17 侧窗 DONE DONE  
29.17.1 在侧窗中显示缓冲区 DONE DONE  
29.17.2 侧窗选项和功能 DONE DONE  
29.17.3 带有侧窗的框架布局 DONE DONE  
29.18 原子窗口 DONE DONE  
29.19 窗口和点 DONE DONE  
29.20 窗口开始和结束位置 DONE DONE  
29.21 文本滚动 DONE DONE  
29.22 垂直小数滚动 DONE DONE  
29.23 水平滚动 DONE DONE  
29.24 坐标和窗口 DONE DONE  
29.25 鼠标窗口自动选择 DONE DONE  
29.26 窗口配置 DONE DONE  
29.27 窗口参数 DONE DONE  
29.28 窗口滚动和改变的钩子 DONE DONE  

30 帧

Content S1 S2 S3/Author
30.1 创建帧 DONE DONE  
30.2 多终端 DONE DONE  
30.3 帧几何 DONE DONE  
30.3.1 帧布局 DONE DONE  
30.3.2 帧字体 DONE DONE  
30.3.3 帧位置 DONE DONE  
30.3.4 帧大小 DONE DONE  
30.3.5 隐含的帧大小调整 DONE DONE  
30.4 帧参数 DONE DONE  
30.4.1 访问帧参数 DONE DONE  
30.4.2 初始帧参数 DONE DONE  
30.4.3 窗框参数 DONE DONE  
30.4.3.1 基本参数 DONE DONE  
30.4.3.2 位置参数 DONE DONE  
30.4.3.3 尺寸参数 DONE DONE  
30.4.3.4 布局参数 DONE DONE  
30.4.3.5 缓冲区参数 DONE DONE  
30.4.3.6 帧交互参数 DONE DONE  
30.4.3.7 鼠标拖动参数 DONE DONE  
30.4.3.8 窗口管理参数 DONE DONE  
30.4.3.9 光标参数 DONE DONE  
30.4.3.10 字体和颜色参数 DONE DONE  
30.4.4 几何 DONE DONE  
30.5 终端参数 DONE DONE  
30.6 帧标题 DONE DONE  
30.7 删除帧 DONE DONE  
3 查找所有帧 DONE DONE  
30.9 小缓冲区和帧 DONE DONE  
30.10 输入焦点 DONE DONE  
30.11 框架的可见性 DONE DONE  
30.12 提升、降低和重新堆叠框架 DONE DONE  
30.13 帧配置 DONE DONE  
30.14 子框架 DONE DONE  
30.15 鼠标跟踪 DONE DONE  
30.16 鼠标位置 DONE DONE  
30.17 弹出菜单 DONE DONE  
30.18 对话框 DONE DONE  
30.19 指针形状 DONE DONE  
30.20 窗口系统选择 DONE DONE  
30.21 拖放 DONE DONE  
30.22 颜色名称 DONE DONE  
30.23 文本终端颜色 DONE DONE  
30.24 X 资源 DONE DONE  
30.25 显示功能测试 DONE DONE  

31 位置

Content S1 S2 S3/Author
31.1 点 DONE DONE  
31.2 运动 DONE DONE  
31.2.1 角色动作 DONE DONE  
31.2.2 词动 DONE DONE  
31.2.3 移动到缓冲区末端 DONE DONE  
31.2.4 文本行的运动 DONE DONE  
31.2.5 屏幕线运动 DONE DONE  
31.2.6 移动平衡表达式 DONE DONE  
31.2.7 跳过字符 DONE DONE  
31.3 远足 DONE DONE  
31.4 收窄 DONE DONE  

32 标记

Content S1 S2 S3/Author
32.1 标记概述 DONE DONE  
32.2 关于标记的谓词 DONE DONE  
32.3 创建标记的函数 DONE DONE  
32.4 来自标记的信息 DONE DONE  
32.5 标记插入类型 DONE DONE  
32.6 移动标记位置 DONE DONE  
32.7 标记 DONE DONE  
32.8 区域 DONE DONE  

33 文本

Content S1 S2 S3/Author
33.1 检查文本近点 DONE DONE  
33.2 检查缓冲区内容 DONE DONE  
33.3 比较文本 DONE DONE  
33.4 插入文本 DONE DONE  
33.5 用户级插入命令 DONE DONE  
33.6 删除文本 DONE DONE  
33.7 用户级删除命令 DONE DONE  
33.8 环 DONE DONE  
33.8.1 环概念 DONE DONE  
33.8.2 杀死函数 DONE DONE  
33.8.3 扬克 DONE DONE  
33.8.4 Yanking 函数 DONE DONE  
33.8.5 低级环 DONE DONE  
33.8.6 环的内部 DONE DONE  
33.9 撤消 DONE DONE  
33.10 维护撤销列表 DONE DONE  
33.11 填充 DONE DONE  
33.12 填充边距 DONE DONE  
33.13 自适应填充模式 DONE DONE  
33.14 自动填充 DONE DONE  
33.15 文本排序 DONE DONE  
33.16 计数列 DONE DONE  
33.17 缩进 DONE DONE  
33.17.1 缩进原语 DONE DONE  
33.17.2 主模式控制的缩进 DONE DONE  
33.17.3 缩进整个区域 DONE DONE  
33.17.4 相对于前几行的缩进 DONE DONE  
33.17.5 可调制表位 DONE DONE  
33.17.6 基于缩进的运动命令 DONE DONE  
33.18 案例变更 DONE DONE  
33.19 文本属性 DONE DONE  
33.19.1 检查文本属性 DONE DONE  
33.19.2 更改文本属性 DONE DONE  
33.19.3 文本属性搜索功能 DONE DONE  
33.19.4 具有特殊含义的属性 DONE DONE  
33.19.5 格式化文本属性 DONE DONE  
33.19.6 文本属性的粘性 DONE DONE  
33.19.7 文本属性的惰性计算 DONE DONE  
33.19.8 定义可点击文本 DONE DONE  
33.19.9 定义和使用字段 DONE DONE  
33.19.10 为什么文本属性不是区间 DONE DONE  
33.20 替换字符代码 DONE DONE  
33.21 寄存器 DONE DONE  
33.22 文本转置 DONE DONE  
33.23 替换缓冲区文本 DONE DONE  
33.24 处理压缩数据 DONE DONE  
33.25 Base 64 编码 DONE DONE  
33.26 校验和/哈希 DONE DONE  
33.27 GnuTLS 密码学 DONE DONE  
33.27.1 GnuTLS 加密输入的格式 DONE DONE  
33.27.2 GnuTLS 加密函数 DONE DONE  
33.28 解析 HTML 和 XML DONE DONE  
33.28.1 文档对象模型 DONE DONE  
33.29 解析和生成 JSON 值 DONE DONE  
33.30 JSONRPC 通信 DONE DONE  
33.30.1 概述 DONE DONE  
33.30.2 基于进程的 JSONRPC 连接 DONE DONE  
33.30.3 JSONRPC JSON对象格式 DONE DONE  
33.30.4 延迟的 JSONRPC 请求 DONE DONE  
33.31 原子变更组 DONE DONE  
33.32 更改挂钩 DONE DONE  

34 非 ASCII 字符

Content S1 S2 S3/Author
34.1 文本表示 DONE DONE  
34.2 禁用多字节字符 DONE DONE  
34.3 转换文本表示 DONE DONE  
34.4 选择表示 DONE DONE  
34.5 字符代码 DONE DONE  
34.6 字符属性 DONE DONE  
34.7 字符集 DONE DONE  
34.8 扫描字符集 DONE DONE  
34.9 字符翻译 DONE DONE  
34.10 编码系统 DONE DONE  
34.10.1 编码系统的基本概念 DONE DONE  
34.10.2 编码和 I/O DONE DONE  
34.10.3 Lisp 中的编码系统 DONE DONE  
34.10.4 用户选择的编码系统 DONE DONE  
34.10.5 默认编码系统 DONE DONE  
34.10.6 为一个操作指定编码系统 DONE DONE  
34.10.7 显式编码和解码 DONE DONE  
34.1 终端 I/O 编码 DONE DONE  
34.11 输入法 DONE DONE  
34.12 语言环境 DONE DONE  

35 搜索和匹配

Content S1 S2 S3/Author
35.1 搜索字符串 DONE DONE  
35.2 搜索和案例 DONE DONE  
35.3 正则表达式 DONE DONE  
35.3.1 正则表达式的语法 DONE DONE  
35.3.1.1 正则表达式中的特殊字符 DONE DONE  
35.3.1.2 字符类 DONE DONE  
35.3.1.3 正则表达式中的反斜杠结构 DONE DONE  
35.3.2 复杂正则表达式示例 DONE DONE  
35.3.3 该 rx结构化正则表达式表示法 DONE DONE  
35.3.3.1 构造 rx正则表达式 DONE DONE  
35.3.3.2 函数和宏使用 rx正则表达式 DONE DONE  
35.3.3.3 定义新的 rx形式 DONE DONE  
35.3.4 正则表达式函数 DONE DONE  
35.3.5 正则表达式的问题 DONE DONE  
35.4 正则表达式搜索 DONE DONE  
35.5 POSIX正则表达式搜索 DONE DONE  
35.6 匹配数据 DONE DONE  
35.6.1 替换匹配的文本 DONE DONE  
35.6.2 简单匹配数据访问 DONE DONE  
35.6.3 访问整个比赛数据 DONE DONE  
35.6.4 保存和恢复比赛数据 DONE DONE  
35.7 搜索和替换 DONE DONE  
35.8 编辑中使用的标准正则表达式 DONE DONE  

36 语法表

Content S1 S2 S3/Author
36.1 语法表概念 DONE DONE  
36.2 语法描述符 DONE DONE  
36.2.1 语法类表 DONE DONE  
36.2.2 语法标志 DONE DONE  
36.3 语法表函数 DONE DONE  
36.4 语法属性 DONE DONE  
36.5 运动和句法 DONE DONE  
36.6 解析表达式 DONE DONE  
36.6.1 基于解析的运动命令 DONE DONE  
36.6.2 查找位置的解析状态 DONE DONE  
36.6.3 解析器状态 DONE DONE  
36.6.4 低级解析 DONE DONE  
36.6.5 控制解析的参数 DONE DONE  
36.7 语法表内部 DONE DONE  
36.8 类别 DONE DONE  

37 缩写和缩写扩展

Content S1 S2 S3/Author
37.1 缩略表 DONE DONE  
37.2 定义缩写 DONE DONE  
37.3 在文件中保存缩写 DONE DONE  
37.4 查找和扩展缩略语 DONE DONE  
37.5 标准缩写表 DONE DONE  
37.6 缩写属性 DONE DONE  
37.7 缩写表属性 DONE DONE  

38 线程

Content S1 S2 S3/Author
38.1 基本线程函数 DONE DONE  
38.2 互斥体 DONE DONE  
38.3 条件变量 DONE DONE  
38.4 线程列表 DONE DONE  

39 进程

Content S1 S2 S3/Author
39.1 创建子进程的函数 DONE DONE  
39.2 Shell 参数 DONE DONE  
39.3 创建同步进程 DONE DONE  
39.4 创建一个异步进程 DONE DONE  
39.5 删除进程 DONE DONE  
39.6 过程信息 DONE DONE  
39.7 向进程发送输入 DONE DONE  
39.8 向进程发送信号 DONE DONE  
39.9 接收进程的输出 DONE DONE  
39.9.1 进程缓冲区 DONE DONE  
39.9.2 过程过滤器函数 DONE DONE  
39.9.3 解码过程输出 DONE DONE  
39.9.4 接受进程的输出 DONE DONE  
39.9.5 进程和线程 DONE DONE  
39.10 Sentinels:检测进程状态变化 DONE DONE  
39.11 退出前查询 DONE DONE  
39.12 访问其他进程 DONE DONE  
39.13 事务队列 DONE DONE  
39.14 网络连接 DONE DONE  
39.15 网络服务器 DONE DONE  
39.16 数据报 DONE DONE  
39.17 低级网络访问 DONE DONE  
39.17.1 make-network-process DONE DONE  
39.17.2 网络选项 DONE DONE  
39.17.3 测试网络功能的可用性 DONE DONE  
39.18 其他网络设施 DONE DONE  
39.19 与串口通信 DONE DONE  
39.20 打包和解包字节数组 DONE DONE  
39.20.1 描述数据布局 DONE DONE  
39.20.2 解包和打包字节的函数 DONE DONE  
39.20.3 高级数据布局规范 DONE DONE  

40 Emacs 显示

Content S1 S2 S3
40.1 刷新屏幕 DONE DONE  
40.2 强制重新显示 DONE DONE  
40.3 截断 DONE DONE  
40.4 回声区 DONE DONE  
40.4.1 在回显区显示消息 DONE DONE  
40.4.2 上报操作进度 DONE DONE  
40.4.3 记录消息 留言 DONE DONE  
40.4.4 回声区自定义 DONE DONE  
40.5 报告警告 DONE DONE  
40.5.1 警告基础 DONE DONE  
40.5.2 警告变量 DONE DONE  
40.5.3 警告选项 DONE DONE  
40.5.4 延迟警告 DONE DONE  
40.6 不可见文本 DONE DONE  
40.7 选择性显示 DONE DONE  
4 临时展示 DONE DONE  
40.9 叠加 DONE DONE  
40.9.1 管理覆盖 DONE DONE  
40.9.2 覆盖属性 DONE DONE  
40.9.3 搜索覆盖 DONE DONE  
40.10 显示文本的大小 DONE DONE  
40.11 行高 DONE DONE  
40.12 面 DONE DONE  
40.12.1 面属性 DONE DONE  
40.12.2 定义面 DONE DONE  
40.12.3 面属性函数 DONE DONE  
40.12.4 显示面 DONE DONE  
40.12.5 面重映射 DONE DONE  
40.12.6 处理面的函数 DONE DONE  
40.12.7 自动面分配 DONE DONE  
40.12.8 基本面 DONE DONE  
40.12.9 字体选择 DONE DONE  
40.12.10 查找字体 DONE DONE  
40.12.11 字体集 DONE DONE  
40.12.12 低级字体表示 DONE DONE  
40.13 条纹 DONE DONE  
40.13.1 条纹尺寸和位置 DONE DONE  
40.13.2 边缘指标 DONE DONE  
40.13.3 边缘光标 DONE DONE  
40.13.4 边缘位图 DONE DONE  
40.13.5 自定义边缘位图 DONE DONE  
40.13.6 叠加箭头 DONE DONE  
40.14 滚动条 DONE DONE  
40.15 窗口分隔线 DONE DONE  
40.16 display属性 DONE DONE  
40.16.1 替换文本的显示规范 DONE DONE  
40.16.2 指定空间 DONE DONE  
40.16.3 以像素为单位指定间隔 DONE DONE Rosario S.E. 3vau
40.16.4 其它显示属性值 DONE DONE Rosario S.E. 3vau
40.16.5 在边缘显示 DONE DONE  
40.17 图像 DONE DONE  
40.17.1 图像格式 DONE DONE  
40.17.2 图像描述符 DONE DONE  
40.17.3 XBM 图像 DONE DONE  
40.17.4 XPM 图像 DONE DONE  
40.17.5 ImageMagick 图像 DONE DONE  
40.17.6 SVG 图像 DONE DONE  
40.17.7 其他图像类型 DONE DONE  
40.17.8 定义图像 DONE DONE  
40.17.9 显示图像 DONE DONE  
40.17.10 多帧图像 DONE DONE  
40.17.11 图像缓存 DONE DONE  
40.18 嵌入式原生小部件 DONE DONE  
40.19 按钮 DONE DONE  
40.19.1 按钮属性 DONE DONE  
40.19.2 按钮类型 DONE DONE  
40.19.3 制作按钮 DONE DONE  
40.19.4 操作按钮 DONE DONE  
40.19.5 按钮缓冲区命令 DONE DONE  
40.20 抽象显示 DONE DONE  
40.20.1 抽象显示函数 DONE DONE  
40.20.2 抽象显示示例 DONE DONE  
40.21 闪烁的括号 DONE DONE  
40.22 字符显示 DONE DONE  
40.22.1 通常的显示约定 DONE DONE  
40.22.2 显示表格 DONE DONE  
40.22.3 活动显示表 DONE DONE  
40.22.4 字形 DONE DONE  
40.22.5 无字形字符显示 DONE DONE  
40.23 哔哔声 DONE DONE  
40.24 窗户系统 DONE DONE  
40.25 工具提示 DONE DONE  
40.26 双向显示 DONE DONE  

41 操作系统接口

Content S1 S2 S3/Author
41.1 启动 Emacs DONE DONE Advanceflow
41.1.1 小结:启动时的动作顺序 DONE DONE Advanceflow
41.1.2 初始化文件 DONE DONE Advanceflow
41.1.3 终端特定初始化 DONE DONE Advanceflow
41.1.4 命令行参数 DONE DONE Advanceflow
41.2 退出 Emacs DONE DONE Advanceflow
41.2.1 杀死 Emacs DONE DONE Advanceflow
41.2.2 挂起 Emacs DONE DONE Advanceflow
41.3 操作系统环境 DONE DONE Advanceflow
41.4 用户识别 DONE DONE Advanceflow
41.5 时间 DONE DONE Advanceflow
41.6 时区规则 DONE DONE Advanceflow
41.7 时间转换 DONE DONE Advanceflow
41.8 解析和格式化时间 DONE DONE Advanceflow
41.9 处理器运行时间 DONE DONE Advanceflow
41.10 时间计算 DONE DONE Advanceflow
41.11 延迟执行的定时器 DONE DONE Advanceflow
41.12 空闲定时器 DONE DONE Advanceflow
41.13 终端输入 DONE DONE Advanceflow
41.13.1 输入模式 DONE DONE Advanceflow
41.13.2 录音输入 DONE DONE Advanceflow
41.14 终端输出 DONE DONE Advanceflow
41.15 声音输出 DONE DONE Advanceflow
41.16 X11 Keysyms 上的操作 DONE DONE Advanceflow
41.17 批处理模式 DONE DONE Advanceflow
41.18 会话管理 DONE DONE Advanceflow
41.19 桌面通知 DONE DONE Advanceflow
41.20 文件更改通知 DONE DONE Advanceflow
41.21 动态加载的库 DONE DONE Advanceflow
41.22 安全考虑 DONE DONE Advanceflow

42 准备分发的 Lisp 代码

Content S1 S2 S3/Author
42.1 包装基础 DONE DONE  
42.2 简单包 DONE DONE  
42.3 多文件包 DONE DONE  
42.4 创建和维护包档案 DONE DONE  
42.5 与存档 Web 服务器的接口 DONE DONE  

附录

Content S1 S2 S3/Author
附录 A Emacs 27 反新闻 DONE DONE  
附录 B GNU 自由文档许可证 DONE DONE  
附录 C GNU 通用公共许可证 DONE DONE  
附录 D 提示和约定 DONE DONE  
D.1 Emacs Lisp 编码约定 DONE DONE  
D.2 键绑定约定 DONE DONE  
D.3 Emacs 编程技巧 DONE DONE  
D.4 快速编译代码的技巧 DONE DONE  
D.5 避免编译器警告的技巧 DONE DONE  
D.6 文档字符串提示 DONE DONE  
D.7 撰写评论的技巧 DONE DONE  
D.8 Emacs 库的常规头文件 DONE DONE  
附录 E GNU Emacs 内部结构 DONE DONE  
E.1 构建 Emacs DONE DONE  
E.2 纯存储 DONE DONE  
E.3 垃圾收集 DONE DONE  
E.4 堆栈分配的对象 DONE DONE  
E.5 内存使用 DONE DONE  
E.6 C 方言 DONE DONE  
E.7 编写 Emacs 原语 DONE DONE  
E.8 编写动态加载的模块 DONE DONE  
E.8.1 模块初始化代码 DONE DONE  
E.8.2 编写模块函数 DONE DONE  
E.8.3 Lisp 和模块值之间的转换 DONE DONE  
E.8.4 模块的其他便利功能 DONE DONE  
E.8.5 模块中的非本地出口 DONE DONE  
E.9 对象内部 DONE DONE  
E.9.1 缓冲器内部 DONE DONE  
E.9.2 窗口内部 DONE DONE  
E.9.3 过程内部 DONE DONE  
E.10 C 整数类型 DONE DONE  
附录 F 标准错误 DONE DONE  
附录 G 标准键盘映射 DONE DONE  
附录 H 标准钩子 DONE DONE  

About

Elisp 官方文档的中文翻译