When your computer is feeling slow and you decide to upgrade it, where do you
start? You start by finding the bottleneck, of course. That awesome CPU won't do
you any good with crappy RAM disk. The same logic holds for your coding skills.
[...]
When developing a package, package-install-from-buffer is a very useful
command. It installs the current buffer as an Elpa package, so you can test
installation, byte-compilation, autoloading, and activation, all in one fell
swoop. If your package has multiple files, however, it gets a little more
complicated.
[...]
This year I made it my resolution to learn clojure. After reading through the
unexpectedly engaging romance that is Clojure for the Brave and True, it was
time to boldly venture through the dungeons of 4clojure. Sword in hand, I
install 4clojure.el and start hacking, but I felt the interface could use some
improvements.
[...]
One month ago, I officially announcedNames, a package that writes your elisp
namespaces for you. Today, I go into other ways in which Names can help. Think of
these as delicious Easter eggs hidden inside the shabby wood cabin that is the
define-namespace macro (which is built on top of an underground Machiavellic
engine of infinite cogs and spikes, but that's beyond the point).
[...]
Any Emacs package developer worth their salt knows the difference between a
defvar and defcustom. These two comprise the vast majority of variable
definitions in Elisp code, but there's a third child, the defconst. While
regular variables and customizable variables only really differ when it comes to
Emacs' customize system, constants differ in loading logic in a subtle but
important way.
[...]
Two months ago, I listed a few big things I was looking forward to for Emacs 25.
I knew I was being unrealistically optimistic to mention concurrency in Elisp,
but there was a point behind it. It bothered me a lot that I had to get up and
go for a coffee whenever I upgraded more than a few packages, and asynchronous
upgrades were the only way I saw of fixing that. This Christmas, as promised and
well ahead of schedule, I've implemented asynchronous execution into Paradox,
thanks to the fantastic async library.
[...]
Expand region is one of those packages that deserves to be built-in. It's so
simple and useful it makes Emacs worthwhile all by itself. Fundamentally, the
entire package boils down to a single command, expand-region, which
incrementally increases the selected region by semantic units. So deciding where
to bind this command is an important decision.
[...]
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.
[...]
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.
[...]
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”.
[...]
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.
[...]
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.
[...]
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.
[...]
New on (M)Elpa: speed-of-thought-lisp
02 Feb 2015 CommentWhen your computer is feeling slow and you decide to upgrade it, where do you start? You start by finding the bottleneck, of course. That awesome CPU won't do you any good with crappy RAM disk. The same logic holds for your coding skills. [...]
Implementing comment-line
26 Jan 2015 CommentWhy we don't have a
comment/uncomment-line
function is beyond me. While we fix that, might as well make it as complete as possible. [...]New in Emacs 25.1: Easily install multifile package from a directory
20 Jan 2015 CommentWhen developing a package,
package-install-from-buffer
is a very useful command. It installs the current buffer as an Elpa package, so you can test installation, byte-compilation, autoloading, and activation, all in one fell swoop. If your package has multiple files, however, it gets a little more complicated. [...]Be a 4clojure hero with Emacs
19 Jan 2015 CommentThis year I made it my resolution to learn clojure. After reading through the unexpectedly engaging romance that is Clojure for the Brave and True, it was time to boldly venture through the dungeons of 4clojure. Sword in hand, I install
4clojure.el
and start hacking, but I felt the interface could use some improvements. [...]Automate a package's group and version number
12 Jan 2015 CommentOne month ago, I officially announced Names, a package that writes your elisp namespaces for you. Today, I go into other ways in which Names can help. Think of these as delicious Easter eggs hidden inside the shabby wood cabin that is the
define-namespace
macro (which is built on top of an underground Machiavellic engine of infinite cogs and spikes, but that's beyond the point). [...]What's a defconst and why you should use it
05 Jan 2015 CommentAny Emacs package developer worth their salt knows the difference between a
defvar
anddefcustom
. These two comprise the vast majority of variable definitions in Elisp code, but there's a third child, thedefconst
. While regular variables and customizable variables only really differ when it comes to Emacs'customize
system, constants differ in loading logic in a subtle but important way. [...]Asynchronous package upgrades with Paradox
29 Dec 2014 CommentTwo months ago, I listed a few big things I was looking forward to for Emacs 25. I knew I was being unrealistically optimistic to mention concurrency in Elisp, but there was a point behind it. It bothered me a lot that I had to get up and go for a coffee whenever I upgraded more than a few packages, and asynchronous upgrades were the only way I saw of fixing that. This Christmas, as promised and well ahead of schedule, I've implemented asynchronous execution into Paradox, thanks to the fantastic async library. [...]
Where do YOU bind expand-region?
22 Dec 2014 CommentExpand region is one of those packages that deserves to be built-in. It's so simple and useful it makes Emacs worthwhile all by itself. Fundamentally, the entire package boils down to a single command,
expand-region
, which incrementally increases the selected region by semantic units. So deciding where to bind this command is an important decision. [...]New on Elpa and in Emacs 25.1: let-alist
15 Dec 2014 Commentlet-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
10 Dec 2014 CommentA 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
08 Dec 2014 CommentWhen 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
03 Dec 2014 CommentContinuing 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
01 Dec 2014 CommentNow 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
24 Nov 2014 CommentRunning 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!
19 Nov 2014 CommentThe emacs community received some fantastic news yesterday. [...]
Content © 2019, All rights reserved. Icons under CC3.0.