欢迎听众打赏支持,您的支持是我不断创作的动力🍻
本期节目请来了一位特殊嘉宾–付禹安,社区内一般称他为『Emacs 之光』。之所以这么称呼,是因为今年才刚刚大学毕业的他,就已经给 Emacs 贡献了多次代码。👍
与大多数用户不同,嘉宾在接触 Emacs 不久即开始尝试攒写自己的配置,并陆陆续续发布了几个比较实用的包,比如 valign,嘉宾是如何做到的?更令人好奇的是,嘉宾如何在短期内熟悉 Emacs 源码并为之贡献多个 patch,相信通过嘉宾的学习、贡献经历,可以给听众打开 Emacs 源码的神秘面纱,让更多用户参与到 Emacs 的贡献中,一个多小时的分享,精彩不容错过。
时间线
- 00:00:56 嘉宾自我介绍
- 00:02:20 Emacs 初相识
- 00:10:08 ELisp 学习经历
- 00:15:45 Emacs 的可发现性 Discoverability
- 00:23:58 源码贡献经历
- 00:27:32 源码贡献流程介绍
- 00:38:15 如何读懂 Emacs 源码
- 00:57:59 嘉宾的第一个 Emacs patch
- 01:02:34 分享环节
Show Notes
-
嘉宾自我介绍
- 网络 ID: casouri
- 17 年大一开始接触 Emacs ,到现在差不多四年
- 个人博客
- 配置 lunarymacs
- 对 Emacs 仓库的提交记录
- 28 版本新增的 shortdoc,解决手册冗长,提供简洁的示例代码
-
正则表达式两处文档:
- 只介绍如何写正则的 34.3 Regular Expressions
- 15.5 Regular Expression Search 这一小结介绍正则相关函数
-
嘉宾对 Emacs 的主要 patch:
- Improve word wrapping for CJK characters
- Add filter to GDB's register buffer
-
Emacs 代码规范
- 注释都是完整句子,最后有个句号,句号后两个空格
- 注释用的是 C 风格的 /* */ ,而不是 C++ 的 //
- 函数名后面跟一个空格,再是括号
-
读 Emacs 源码技巧
- lisp.h 里面有 C 如何调用 ELisp 的示例
- 去 devel 邮件列表咨询,还可以练习英文表达能力
- ccls + grep + ctags
- 通过搜索相关功能来探究其个函数的用法
-
嘉宾的分享
- aggressive-indent-mode
- Practical Typography
-
主播的分享
- 关注牙齿健康,最好每年去看一次牙医
收听方式
- 国内:小宇宙、微信公众号、
Information
- Show
- FrequencyMonthly
- Published3 September 2021 at 13:45 UTC
- RatingClean