Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Writing GNU Emacs extensions

    Writing GNU Emacs extensions

    Bob Glickstein · 1997

    "This book introduces Emacs Lisp and tells you how to make the editor do whatever you want, whether it's altering the way text scrolls or inventing a whole new "major mode." Topics progress from simple to complex, from lists, symbols, and keyboard commands to syntax tables, macro templates, and error recovery"--Resource description page.

    Lisp & FunctionalProgramming
    Open LibraryAmazon
    Stats for nerds
    8recommend
    9mentions
    8people
    2010–2023years
    100% recommend

    Mentions per year

    20102012201420162018202020222023

    What Hacker News says

    1. anon35Mar 2023
      An excellent tutorial that takes exactly this approach (building up to a novel Emacs mode for NYT Crosswords, of all things) is the O'Reilly book "Writing GNU Emacs Extensions, by Bob Glickstein.
      thread
    2. signa11Nov 2021
      i have used "Writing GNU Emacs Extensions" available here: https://www.oreilly.com/library/view/writing-gnu-emacs/97814... from a long time past for elisp programming.

      mentioning it here in the hope that it is is useful to others as well...

      thread
    3. mcguireMay 2021
      There's also Bob Glickstein's Writing GNU Emacs Extensions: Editor Customizations and Creations with Lisp (https://www.amazon.com/Writing-GNU-Emacs-Extensions-Customiz...), which I found quite good at the time. But it's really old. On the other hand, I don't know if it's out of date. :-)
      thread
    4. kmstoutMar 2021
      "Writing GNU Emacs Extensions" by Bob Glickstein is a solid introduction. After that, the Emacs Lisp reference manual (available as "info elisp" in the shell) gives much more detail.

      Inside Emacs, you can:

      - "M-x apropos" to search for commands of interest

      - "C-h f" to get documentation for particular functions by name

      - "M-x find-function" to jump to the definition of a particular function

      - "M-x find-library" to load a library into a buffer so you can read and (depending on your permissions) edit it.

      The Elisp reference is very good, and most libraries are well documented. Between that, the ability to jump around the code base, and trying things out in the "scratch" buffer (it's an Elisp REPL disguised as an editing buffer), you should be able to get quite far.

      thread
    5. klibertpJun 2019
      > I just feel it's "my" editor more than any other editor I've ever used.

      So true! When I first tried to get into Emacs it was as a somewhat seasoned programmer who wanted to play with a Lisp other than Scheme. I've read the built-in tutorial and almost ran away in horror. I get it - for non-programmer users, yes, it makes sense to try to teach them the usage of an editor. I lost quite a lot of time trying to remember exotic chords like C-u C-x ^ a and so on, but it was ultimately meaningless - not one such shortcut remains in my config.

      Emacs is an IDE for Emacs Lisp written in Emacs Lisp (and it's incredibly powerful at that, BTW). In other words, it's a bunch of APIs you can call, and it also gives you the place where you can interactively execute any elisp code and see the effects immediately in the same instance of the editor. It's obvious in hindsight, but I believe I'd get into Emacs much faster if I started with Emacs Lisp manual or maybe "Writing GNU Emacs Extensions" book instead of going through the Emacs manual (huuuuuge!) first and trying to bend my habits to fit the vanilla Emacs.

      I think most programmers who wish to switch to Emacs should try to do it the other way: start with learning Elisp syntax and Paredit, then learn about modes, hooks, and key-maps and start hacking your own config. Everything else - buffers, windows, fringes, faces, what-have-you - you'll learn as needed when you need to implement a particular command which deals with them. Pull in a healthy amount of plugins then read their source - or just read the source of Emacs, as you can jump to definition of any function in one click, even if it's written in C - and before long you'll have a comfortable environment to work in, with all the features you learned to love from your previous editor. And that's when the fun part start: exploring Emacs features that you've never seen or heard about, wrapping external tools and streamlining their workflows, exploring the huge pile of add-ons.

      thread
    6. brudgersFeb 2016
      For me, the article points at a specific instance of a general phenomena. The bigger potential issue is googling by default rather than a last resort: increasingly, it is looking like a short term expedient and long term dependency for me, personally.

      Yesterday as I was fooling around with Writing GNU Emacs Extensions. One of the great things about that book is that Glickstein figures [correctly in my case] that someone learning to write extensions might not have a good handle on other aspects of Emacs...such as help. It hit me how googling tends to drop me into the emacs manual or other high level references and how impossible it is to drill down on specifics in the way the Emacs help system allows. I mean I can google up a list of the top 150 Emacs keyboard shortcut, but I can't google up "C-x n".

      While I love StackOverflow, the overhead of "What does 'C-x n' do?" is astronomical...even if such questions were appropriate.

      I've trained myself to break flow and look at ads every few minutes because Google seems great. I'll even google knowing it will have some StackOverflow links under the ads at the top instead of going to the site directly. What I won't get is the great local resource that sits on my machine.

      thread

    Related

    Cover of Introducing Elixir
    2013–2017

    Introducing Elixir

    Simon St Laurent
    4 recommend · 6
    Cover of Functional programming
    2009–2023

    Functional programming

    Henderson, Peter
    5 recommend · 6
    Cover of On LISP
    2007–2026

    On LISP

    Paul Graham
    192 recommend · 533
    Cover of Programming Erlang
    2007–2026

    Programming Erlang

    Joe Armstrong
    69 recommend · 105
    Cover of How to Design Programs
    2007–2026

    How to Design Programs

    Matthias Felleisen
    277 recommend · 776
    Cover of An Introduction to Programming in Emacs Lisp
    2010–2026

    An Introduction to Programming in Emacs Lisp

    Robert J. Chassell
    16 recommend · 25
    Cover of Elements of ML programming
    2015–2023

    Elements of ML programming

    Jeffrey D. Ullman
    6 recommend · 15
    Cover of Practical Common Lisp
    2007–2026

    Practical Common Lisp

    Peter Seibel
    218 recommend · 400