EmacsTalk

008. Emacs 之光的成长历程


Listen Later

欢迎听众打赏支持,您的支持是我不断创作的动力🍻

本期节目请来了一位特殊嘉宾–付禹安,社区内一般称他为『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
                • 主播的分享

                  • 关注牙齿健康,最好每年去看一次牙医
                  • 收听方式
                    • 国内:小宇宙微信公众号RSS
                    • 国外:Spotify for PodcastersApple PodcastsRSS
                      反馈 ✉️
                      ...more
                      View all episodesView all episodes
                      Download on the App Store

                      EmacsTalkBy 写代码的西瓜

                      • 5
                      • 5
                      • 5
                      • 5
                      • 5

                      5

                      4 ratings