PLAY PODCASTS
Creating Custom Minor Modes - Learning Emacs Lisp #7

Creating Custom Minor Modes - Learning Emacs Lisp #7

Emacs.si

May 11, 2023

Audio is streamed directly from the publisher (kino.kompot.si) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.

Show Notes

In this video, we'll learn how to create custom minor modes and hooks in Emacs Lisp! We'll also continue with our dotcrafter.el project by creating a minor mode that will cause our Org Mode configuration files to be automatically tangled when saved.

Check out the show notes here: https://systemcrafters.cc/learning-emacs-lisp/creating-minor-modes

The code for dotcrafter.el can be found here: https://github.com/daviwil/dotcrafter.el

We cover the following topics:

  • 0:00 Intro
  • 0:34 What will we learn?
  • 1:53 What is a "mode"?
  • 6:46 Writing a basic minor mode
  • 12:44 Example: Creating a simple minor mode from scratch
  • 22:26 Creating a Hook
  • 25:55 Using the define-minor-mode macro
  • 34:09 Example: Writing real behavior for dotcrafter-mode
  • 47:39 What's next?

My Emacs configuration: https://config.daviwil.com/emacs
My system configurations: https://config.daviwil.com/systems

If you enjoy this series, please consider becoming a sponsor on GitHub or Patreon:

You can also leave a tip via PayPal: https://paypal.me/daviwil

Follow me on Twitter for more GNU Emacs and GNU Guix content!
https://twitter.com/SystemCrafters

Chat with the System Crafters community on Discord: https://discord.gg/yVD8Gx6

Check out my other video series!

Music credits:

Coriolis Effect by logos feat. stefsax, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/mseq/26296
reNovation by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/60674
ukeSounds by airtone, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/airtone/32655
Between Worlds (Instrumental) by Aussens@iter, licensed Creative Commons 3.0 CC-BY http://ccmixter.org/files/tobias_weber/56664