Endless Parentheses

Concise ramblings on Emacs productivity.

New on Elpa and in Emacs 25.1: let-alist

let-alist is the best thing to happen to associative lists since the invention of the cons cell. This little macro lets you easily access the contents of an alist, concisely and efficiently, without having to specify them preemptively. It comes built-in with 25.1, and is also available on GNU Elpa for older Emacsen. [...]

Introducing Names: practical namespaces for Emacs-Lisp

A little over a month ago, I released a package called Names, designed for mitigating Emacs' namespace issue. Before I even had a chance to announced it, it made a bit of a splash on r/emacs, which I've taken to mean that people are interested. I've been holding off on this post until I had a couple of Names-using packages under my belt, so I could actually speak from experience as opposed to expectation, and that's finally the case. [...]

Tab Completion for Prose

When writing prose, I find auto-completion to be more of a distraction then an aid. However, my field of research involves much repetition of some annoyingly long words, such as “thermalization” or “distinguishability”. [...]

New in Emacs 25.1: Better Rectangles

Continuing on this cheerful series, we now go into rectangles. The release notes are pretty self-explanatory on this one, so a few gifs should be enough to convey what's needed. [...]

Debugging Elisp Part 2: Advanced topics

Now that the previous post has leveled the playing field, we go into slightly more advanced debugging features. First we go deeper into Edebug navigation commands, and then we discuss when Edebug just won't do and explain the power of Emacs' built-in debugger. [...]

Debugging Elisp Part 1: Earn your independence

Running into errors is not only a consequence of tinkering with your editor, it is the only road to graduating in Emacs. Therefore, it stands to reason that Emacs would contain the most impressive debugging utilities know to mankind, Edebug. [...]

Emacs Rocks Again!

The emacs community received some fantastic news yesterday. [...]

Inserting the kbd tag in interactively

It doesn't take a psychic to guess the <kbd> tag will be useful when writing about Emacs. When Jorge Navarro asked for the best way to do this, over at Emacs.SE, I thought I'd share the snippet I use. [...]

New in Emacs 25.1: Query-replace history is enhanced.

Since the previous post on Emacs 25 has been well received, I've decided to start a series on the topic. It's time to get off the rocking chair, step off the porch and onto the sidewalk, and start walking towards that ominous “25” on the horizon. Unlike the birthday post, we're not here to discuss possibilities, but to meet and greet every new feature that's already implemented in Emacs master. [...]

Get in the habit of using sharp quote

The sharp quote (or function quote, or simply #') is an abbreviation for the function form. It is essentially a version of quote (or ') which enables byte-compilation, but its actual usefulness has changed throughout the years. [...]

Super Smart Capitalization

capitalize-word and downcase-word are godsends. Like many other commands, they've spoiled me to the point that I can no longer write prose without Emacs. There's just one peeve that bothers me quite often. [...]

Big things to expect from Emacs 25

Emacs turned 24.4 this Monday. Admittedly, it's not a hugely significant number, but every birthday is a big deal. The cries of joy and celebration echoed throughout the websphere. And now, while Emacs sleeps off an alcohol-induced headache, as the janitor sweeps off the inch-thick confetti covering the floor, we gather ourselves and look forward. Just before the horizon, a prominently ominous, silvery, unavoidable “25” is within sight. And it brings changes. [...]

Aggressive-indent just got better!

aggressive-indent is quite something. I've only just released it and it seems to have been very well received. As such, it's only fair that I invest a bit more time into it. [...]

Kill Entire Line with Prefix Argument

I won’t repeat myself on the usefulness of prefix arguments, though it would hardly be an overstatement. Killing 7 lines of text in two keystrokes is a bliss most people will never know. [...]

Old Packages and New Packages in 24.4

Our final post of the series starts with a sober note, but swiftly moves to a happy ending. Just as we cherish each improvement to our favorite packages, so must we honor the dead who served us and give the newborn a chance to thrive. These are the packages marked obsolete, followed by the new packages you didn’t even know you wanted. [...]