EWS support for Emacs

I use Exchange at work for calendaring. I also use terminal-mode emacsclient when I’m logged in from another machine. In that scenario I can’t easily open a web browser to use Outlook Web Access. It annoyed me that I couldn’t check my schedule from within a terminal Emacs session. Thus, I did the only sensible thing and implemented full Exchange Web Services API support for Emacs.

Of course you did.

How to Correctly Enable Flycheck in Babel Source Blocks

If you already have Flycheck turned on then you already have it running your babel source block buffers, but, it isn’t working how you expect it. That buffer hasn’t got a file name. Flycheck can’t be smart about helping you out here. Via this post, the solution follows.

(defadvice org-edit-src-code (around set-buffer-file-name activate compile)
  (let ((file-name (buffer-file-name))) ;; (1)
    ad-do-it                            ;; (2)
    (setq buffer-file-name file-name))) ;; (3)

This is one of those things that if you had though about it for a few minutes, you would have turned it on yourself. It reveals how easy it is to return to the mode of “application user” from “application designer”, of Emacs. That is the source of most of my dumb “misses” regarding workflow optimizations in Emacs.

How to Handle and Large Slow Org Files

When some of us open large Org mode files, Emacs becomes nearly unresponsive, and nearly unusable. My stock advice has always been to call #+STARTUP: showeverything or do a binary search more or less to figure out which package is stomping Emacs. In this post, though, Puneeth explains that the issue may go away entirely for some of us.

Hydra, a new Emacs package to fall in love with

A few weeks ago a really nice post appeared. It explained how to use set-transient-map. Is is nice for all the same reasons that all keymaps are nice, and additionally, their transience. The example of managing text size is perfect. Everyone has that in their Emacs config. When we define a goal like “we want to adjust the text size”, we are virtually “in the zone” of performing that task. We just want to hit a couple of keys to make the font bigger or smaller and this approach makes that really easy. That idea, and post, quickly blossomed into a package and many new cool features.

That “zone thinking” is how most modes and features work, whether the authors and the users are conscious of this or not. Hydra makes you very conscious of this. Watch how quickly examples evolved into re-recreating most of what someone needed of ViM. Cool!

The user-interface feature of displaying available commands (while in that “Hydra”) in the mode-line really piques my interest about using Hydras to provide a very “user friendly” suite of features for new users. Granted, after you use the same features a lot your quit using visual helpers, but for new users, this could be really interesting.

This package has all of the earmarks of a game-changer. That is my gut feeling; it will be a major facilitator for expressing all sorts of creative approaches for creative expression in Emacs (or ALEC in my case).

For the last few months I’ve had a thought visit me more than a few times: “What would it take to implement ViM, in Emacs, without taking one peek at evil-mode”. That question was just in the collective conscious I believe. Very, very delightful to see it get answered in this delightful new package, Hydra.

Thank you Oleh!

Easily set column width in org tables

Org tables are great. Most of the time I rely on the column width auto-resizing feature. Perhaps you want to do force a smaller width though for example. Just specify the width, in its own empty row inside of angled parentheses. Default justification is right. Prefix the number with a l or c to do left or center.
Here is the page. Thanks Tory!

     |---+------------------------------|               |---+--------|
     |   |                              |               |   | <6>    |
     | 1 | one                          |               | 1 | one    |
     | 2 | two                          |     ----\     | 2 | two    |
     | 3 | This is a long chunk of text |     ----/     | 3 | This=> |
     | 4 | four                         |               | 4 | four   |
     |---+------------------------------|               |---+--------|

org-table-edit-field (C-c `) lets you easily edit the entire field and the org super key (C-c C-c) saves it.

Narrow your view on multiple-cursor marks

The discussion in the comments of this post is great. It reveals a couple of ways to narrow your view, in a few frameworks. In particular it reveals that in multiple-cursors, all it takes is a call to mc-hide-unmatched-lines-mode.

(mc-hide-unmatched-lines-mode &optional ARG)
Minor mode when enabled hides all lines where no cursors (and
also hum/lines-to-expand below and above) To make use of this
mode press “C-‘” while multiple-cursor-mode is active. You can
still edit lines while you are in mc-hide-unmatched-lines
mode. To leave this mode press or “C-g”

Just be sure to exit this mode before closing Emacs as it is a little confusing to return to nothing.

Easily browsing the kill-ring

Ever wish you could just look through everything you’ve killed recently to find out if you killed that piece of text that you think you killed, but you’re not quite sure?

I haven’t, but kind of wish I did, because this package looks interesting.
Wondering if my workflow obviates the need for it, or, I’m just “doing it wrong”.

Elmacro Shows Keyboard Macros or Latest Interactive Commands As Emacs Lisp

elmacro shows keyboard macros or latest interactive commands as emacs lisp.
This package might pique your curiosity. Surely everyone has wondered how to do something like this, especially if you use the macro recorder a lot.
While I don’t have an immediate need for it, I look forward to being able to address it with this package.