Can someone explain why Scheme's keywords have the hash: #:keyword instead of just :keyword like in Common Lisp and Elisp.

https://stackoverflow.com/questions/4873810/what-does-mean-in-lisp

Found some explanation here for Common Lisp's usage of # here.

Also, there is #t, #true, #false, #f, and so on.

#scheme #guile #emacs #commonlisp #lisp #elisp #emacslisp

What does # mean in LISP

For example, #'functionname, is it necessary?

Stack Overflow

I am going to give the PALE (Picture and Animation Library for Emacs) a try. Building it by hand, let’s see if I can get it working as a Linux Mint native build (no Guix or anything).

#tech #software #Emacs #Linux #Lisp #EmacsLisp #ProceduralGeneration

pale

Picture and Animation Library for Emacs

Codeberg.org

(defun collect-alist-from-tree (tree key)
(let ((collection))
(defun look (tree)
(cond-let*
([item (and (json-alist-p tree)
(assq key tree))]
(push item collection))
((proper-list-p tree)
(mapcar #'look tree)))))
collection)

I have a very nested tree, and I want to get a list of all the places there is a alist with key.

Is there a better way to do this?

#emacslisp #emacs

@pkal Sorry! Let's try it this way. NEW BLOG POST: "My first advice! (in Emacs Lisp)"

https://jamesendreshowell.com/2026-04-04-my-first-advice-in-emacs-lisp.html

#emacs #emacslisp

My first advice! (in Emacs Lisp)

Feeling gratitude towards this community. Just wrote my first #emacslisp advice ever.

(advice-add #'package-function-has-no-hook :before #'my-little-hook-function)

A small thing, but it removes friction from my org-static-blog (recommended!) workflow.

These little steps forward are what make this hobby so much fun. And—you'll just have to believe me—the confidence to bork around like this comes from being part of this community.

[EDIT: broken link removed; see thread]

#emacs #mastodon #fediverse

UPDATED BLOG POST: Finally tracked down and fixed a little bug in "Custom sorting of mu4e headers"

https://jamesendreshowell.com/2026-01-08-custom-sorting-of-mu4e-headers.html

#emacs #mu4e #emacslisp

Custom sorting of mu4e headers

RE: https://fosstodon.org/@davep/116341198726756217

TIL: defconst and defvar do not set a value if the symbol is already bound to a value. Which makes sense, but would confuse an unsuspecting goober who might be REPLing their way around a buffer making changes.

#emacs #emacslisp

#Emacs tip of the week:

Use “Wind Move Mode.” Enable with this in your init.el file:

(windmove-default-keybindings)

This lets you move your cursor from window to window using the shift key with the arrow keys, such that the cursor will move to the window split nearest to cursor in the arrow direction you pressed. This feature has been built-in to Emacs since version 27.1 (the year 2020, which is, for a 50-year-old piece of software, not at all very long ago)

I only learned about this feature a few days ago, and it has instantly improved my quality of (virtual) life. It feels more comfortable and natural than C-x o, and now I use it constantly and without thinking about it. I stumbled upon this feature when creating a new Emacs init.el for an Apple laptop.

I am too lazy to try to keep one single Emacs config for all of my devices. I mean, I could, but unless I am replacing my personal daily driver (where I would copy my entire home directory, including Emacs config), I usually just start a new config every time I get a new computer, especially a work computer. And when I do, I gradually set the configuration variables that I need as I go along, searching the documentation when I can’t remember how to do things.

I’m not the kind of guy who declares “ #EmacsBankruptcy “. I always keep my init.el file simple, only for configuring modes and global variables, and nothing else. I keep my personal macros in other files. So recreating my Emacs init.el for each new computer is one of the few chances I have to stumble across new configuration variables I hadn’t seen before in the documentation.

#tech #software #Lisp #EmacsLisp #EmacsConfig

I was able to finish reading all of “The Genius of Lisp“ by @cdegroot and the whole book was as good as the free preview (chapter 8). I was able to speed-read through the detailed explanations of concepts I already knew, like tail recursion, garbage collection, the Y-combinator, Currying functions, and so on. But there were parts where I slowed down and read carefully, like the section on the Universal Turing Machine, and some of the details of the IBM-704 system architecture. Also the story of how the first Lisp implementation was created when one of McCarthy’s grad students implemented an M-Expression calculator, this was described in slightly more detail than what I recall McCarthy himself explaining in his 1960 paper — that or I had just forgotten those parts of the story.

The tone of this book reminds me a lot of popular physics books like Stephen Hawking’s “A Brief History of Time,” which was aimed more at general audiences than professionals. That said, there is a lot to enjoy about this book for professionals like myself as well. There are many good stories about the principals designers of Lisp throughout. The sections on the commercialization of Lisp for the first AI boom of the 1970s and it’s subsequent “AI winter,” were very interesting to read. And if you are a teacher, you might like how some of the concepts in the book are explained.

And I would definitely recommend this very strongly to 3rd-year high school students, or 1st and 2nd year college students, who are more genuinely curious about how computers work and want to know more than just how to make the next billion dollar app.

The next #LispyGopherClimate show with @screwlisp I look forward to talking about this book some more.

#tech #software #Lisp #ProgrammingLanguages #SchemeLang #Scheme #Clojure #Emacs #EmacsLisp #RetroComputing #LispyGopherClimateShow

The Genius Of Lisp

I've not really posted anything on my #blog for a while, and one of the reasons was that every time I tried to, I ended up having to work on catching up on a bunch of #hugo changes before the blog would build because inevitable on one of my four "main" machines, the blog wouldn't build due to some backward-incompatible changes.

Any recommendation for a static site generator that takes backward compatibility a bit more seriously? I've used #Jekyll in the past but I haven't looked into the state of that ecosystem for years.

My strong preference would be for a static site generator written in #clojure, #ClojureScript, #CommonLisp or #emacslisp. Preferably one that integrates well with #isso for comments.

Not interested in a more "dynamic" system like Ghost - I moved away from WordPress quite a while ago to reduce the amount of maintenance and attack surface, and I don't want to go back.