Endless Parentheses

Concise ramblings on Emacs productivity.

Exclude Directories from Grep

I keep a couple of subdirectories inside my “.emacs.d/” for the purpose of organization, so rgrep'ing is tremendously useful for finding where a variable is being changed. By default, that will also search inside “elpa/”, which slows the search and pollutes the results page. [...]

Prettify your Quotation Marks

Typography is a long and blurry road, of which I know very little. There are, still, some simple lessons that take you a long a way. Round (unicode) quotation marks is one of them. [...]

Launcher Keymap for Standalone Features

Following on our series of mnemonic keymaps, we arrive on the launcher-map. Where the toggle-map was designed for toggling values and minor-modes we only use every once in a while, the launcher-map runs those standalone features of Emacs that also don't always see the light of day. [...]

Swaping Variables with cl-lib

On today's episode, we again find ourselves admiring the cl package and focus on a very little-known feature of Emacs, psetq. Short for “parallel-setq”, it takes the same syntax as setq, but saves all values before assigning. [...]

Quick update on narrow-or-widen-dwim

To those who were interested in narrow-or-widen-dwim, the code has been updated a couple of times since being posted. [...]

Emacs Lisp Style Guide

While the official elisp reference does contain some style tips, it's hard to deny that the community needed a more comprehensive and (at the same time) concise style guide. Mostly, new Emacs developers have been left to learn the ropes by reading other source files. As practical as that might be, it's dangerous in its propensity to propagate bad habits. [...]

Understanding letf and how it replaces flet

Once you've come to terms with power of setf, it is time to meet its older sister, cl-letf. As the name implies, letf is to setf like let is to setq, but, once again, that is only the tip of the iceberg. [...]

The ins and outs of setf

setf is a modest name for a macro that does much more work than it gets paid for. Quoting the doc page: [...]