Table of Contents

Go Back to Index page.

For Criticism and Comments, you know how to contact. Try not to appear as Spam.

Posts are in reverse chronological order.

Subscribe to RSS feed for updates.


[BLOG: 20211024] First time contributing to GNU Emacs

Initial work

The first patch I've ever sent regarding Emacs was to Protesiloas Stavrou's (prot) dotemacs repository. I was reading Emacs Lisp manual, and I was getting bored. I thought it'd be good idea to read some real life Emacs Lisp code to learn more about how to apply these concepts.

Many Emacs extension packages are hosted in proprietary Github. Though I have Github account I made in 2020, I rarely use it as it's proprietary. For the same reason I can't contribute to those Emacs extensions.

Prot is one of the best youtubers that cover Emacs right now. Obviously I watch his videos. From his videos I found out he's written a lot of cool add-ons for various Emacs extensions. Even though his code is hosted Gitlab, most importantly he allows Email patches. so I started reading his code.

During the read, I whenever I found some bug or whenever I could think of any feature, I sent the fix to him. He was kind enough to review those and accept them if appropriate. I mainly worked on his prot-eww.el file.

I also sent a trivial patch Elpher, which is another cool project that accepts patches and work with mailing lists.

Copyright Assignment

One of the first step for contributing to GNU Emacs or ELPA packages is to assign copyright to FSF. I knew I'll contribute to Emacs sooner or later so I thought it's good time to complete the paper work beforehand instead of waiting.

The process is simple but lengthy:

  • You fill up a form and email it to FSF.
  • Someone from FSF sends a PDF document by email.
  • You sign that document, and send it back (if you are employed, you may a copyright disclaimer from your employer. See the FSF website for details).

Whole process took nearly 3 weeks to complete.

Co-authoring patch to GNU Emacs with Prot

After that, me and Prot started working on the buffer renaming feature. Prot had this feature in his prot-eww.el file for long time. It was very useful especially if you want to use EWW as your primary browser. You'll need a lot of buffers (same as you open tabs in your big browser). But the cool thing is, those EWW buffers are easily searchable using various completion frameworks.

Anyways we proceeded slowly as Emacs 28 was just going to be "cut" from master branch. We were targeting Emacs 29.

Then one day we noticed someone requesting the same feature in bug-emacs, so we talked with the co-maintainers and presented our patch, and it got accepted!

Truly amazing feeling when your patch gets accepted. The feature should be available in Emacs 29. See Prot's blog post for the details.

Hopefully I'll get more opportunity to contribute to Emacs as well as other GNU packages in the coming days :).

[BLOG: 20211023] Errors in Emacs-guix

One of the primary reasons for using GNU Guix System is it provides fantastic integration with other GNU components and most importantly with GNU Emacs.

There's an Emacs extension called Emacs-guix that can be used from within Emacs to control the guix cli tool.

When I installed guix on a foreign distro (i.e., on Parabola), I couldn't use this package, it'd always throw me weird errors. I thought may be the emacs-guix has a bug.

Then when I installed Guix System it still wouldn't work! But today I found out the solution of the problem. In order to use emacs-guix you need the following packages:

  • guile
  • emacs-geiser
  • emacs (obviously)
  • emacs-guix
  • emacs-geiser-guile

I had not installed emacs-geiser-guile that's why I was getting those weird errors. Finally I can enjoy guix from Emacs now!

Author: Abhiseck Paira

Created: 2021-11-04 Thu 12:16