Back to the schedule
Previous: Yak-shaving to a UI framework
Next: Extending Emacs in Rust with Dynamic Modules

Don't write that package! or: How I learned to stop worrying and love emacs-devel

Stefan Kangas

Status: Cancelled
Duration: 20 minutes


We need a successful Emacs on this planet. This means that we need an excellent out-of-the-box experience -- one that just works, but that you can still hack and customize. There is so much great experimentation and work going on out there in the wider Emacs community, but we would be even better off if more of that could go into Emacs itself.

Emacs' greatest strength is unfortunately sometimes also its greatest weakness: it is too hackable.

On occasion, people out there add stuff to their Init file to fix this or that annoyance, or even bug. The more ambitious might go on to package up such fixes: "Hey, 'foo-mode' doesn't have support for 'bookmark-set', let's write a package!" I am here to suggest that you should not do that.

You should submit a patch to Emacs! Maybe more people have that same problem or annoyance, and would benefit from your solution?

It is sometimes perceived as hard to contribute to Emacs core. I want to encourage more people to get involved, and show that the barrier to entry is really not that high. If I can do it, you can do it too!

So should you really write that package, or should you stop worrying and learn to love emacs-devel? Listen to my talk to find out more!


  • I can imagine using bindat to improve Emacs's music player packages e.g. reading/writing metadata tags
  • I hadn't heard of Poke until today
  • Curious: how is gnu poke more flexible?
  • I was surprised to see that a whole new DSL was developed for poke from scratch.
  • I'll ask what I also asked Andrea earlier: What hobbies/interests do you have besides Emacs (and PL)? :)
  • Do you think would have been better to develop/improve a library like bindat on top of an existing language instead?
  • What are some of your favorite talks from this conf so far?
  • If you ever write a library for window management in Emacs, you could call it winnie.el :)
  • How do you see more control over types (type hints/decl through type specifiers etc) (SBCL like programming model) coming into Elisp?
  • Do you plan to add bit-level support?
  • I think this is classic problem that is almost impossible to accomplish
    • many libraries try to do that but in the end the only working ones are relaying on C compilers
  • also you have the problem of size of objects
  • like how big is a long?
  • this is not specified and is arch dependent
  • parsing a generic .h file is way more difficult
  • yep, the automatic translation is more for libraries trying to write automatically C bindings

Back to the schedule
Previous: Yak-shaving to a UI framework
Next: Extending Emacs in Rust with Dynamic Modules