Endless Parentheses

Concise ramblings on Emacs productivity.

Support on Gratipay
profile for Malabarba on Stack Exchange

Auto-focus a Relevant File in Dired Buffers

The emacs.stackexchange beta has only just started and interesting topics have already begun to pop up. Partially to share snippets I find nifty, and partially to help promote the beta, I’ll be posting here questions and answers I find engaging. [...]

Emacs Stack Exchange enters Beta

If you read r/emacs or follow some Emacs bloggers on twitter, you’ll have noticed a proposal for an Emacs stack exchange site was launched a couple of weeks ago. The commitment rate of the proposal was nearly record-breaking, and now it has entered private beta. [...]

Fixing org-in-src-block-p

For reasons which ellude me, the org-in-src-block-p function is disappointingly inconsistent for me. Given its major role in narrow-or-widen-dwim, this frequently led to org-edit-src-code not getting called when point was inside a code block. [...]

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: [...]

Meta Binds Part 3: Smart string insertion

Have you ever stopped to consider what is the string you type most often? [...]

An Update on gmail-message-mode for Firefox

To those who were interested in gmail-message-mode. Thanks to patjak and oantolin, there is now a solution for using it in Firefox as well. See the original post for the instructions. [...]

Use Org-Mode Links for Absolutely Anything

One little-know feature of org-mode is that you can define new types of links with the aptly named org-add-link-type. The applications of this virtue are many. One might, for instance, write links which search an entire code base for an expression. [...]

Write Gmail in Emacs the Easy Way: gmail-message-mode

Trying out the myriad of Emacs mail clients is no less than an odyssey. I am proud to say I dove into this sea of protocols and credentials and emerged from it a better man, albeit empty handed. [...]