#Elisp

Ringtail Ringoringtailringo
2025-10-18

There is no project I wish to succeed more than
First of all, having another is just cool - people these days forget that it is a family of editors, and not just GNU Emacs. Second, the foundation of instead of is just so much more performant. Elisp is good enough, Common Lisp is GOOD.

I should find time to participate, honestly, talking is cheap.

Onokoto █onokoto
2025-10-18

On cold days, my Emacs has a fireplace to keep me warm;

SOURCE: github.com/johanvts/emacs-fire

On the interesting side: the author of the package thanks Dan Torop for an Emacs Lisp Animation Tutorial: dantorop.info/project/emacs-an

I find ascii-art delightful I will definitely have look;

2025-10-17

Last year I wrote me a Python tool to convert an Org file which contains key combinations in Org tables into Emacs key bindings.
Now it is completely rewritten in #ELISP so that I can load keybindings from that Org file directly into #Emacs at startup.

You may find code and an example here:
codeberg.org/dr.ops/keymacs

The old blogpost is at plaindrops.de/blog/2024/keymac

Onokoto █onokoto
2025-10-17

If you want to run MacOS or Windows you will buy hardware for that purpose.

Although GNU/Linux runs practically on most machines. We should have the same mindset: Buying Libre Hardware for a Libre System.

RESOURCE: H-Node
WEBSITE: h-node.org/

"The h-node project aims at the construction of a hardware database in order to identify what devices work with a fully free operating system."

2025-10-16

@violetmadder On that topic: emacs lisp does funny things to a person's brain when you learn it. One of the funnier quirks of the language is that there are two, like, "slots' per variable. Every variable can either be referencing its normal value or its function value, and then there's a bunch of invisible sugar in the language so that most of the time, when you're creating a function, it changes the binding to the function slot on the name instead of the regular slot.

This almost never matters until you start trying to treat functions as first-class or making lambdas assigned to variables and then it matters a lot, but the whole "I'm a sign not a cop" underlying structure of elisp means that you can really go nuts if you want. Jam the number '5' into the function side of that symbol, just for shits and giggles. See how the interpreter deals with treating a whole-ass emacs buffer like a function.

It's the kind of wibbliness that makes a person start to look at every language's concept of what is a function, what is a variable, what is a value, what is an atom, what is a collection a little suss. 😉

#elisp #emacs

Onokoto █onokoto
2025-10-16

An Efficient torrent client CLI is rtorrent;

## BASH
apt install rtorrent
rtorrent %magnet||%torrentfile

boom it works!!1!

you can also manage those directly in emacs using the mentor front-end

SOURCE: github.com/skangas/mentor

You wouldn't download a car would you?

Onokoto █onokoto
2025-10-15

This Emacs package makes typewriter sounds every time you insert a character

I modified it to a smooth sound to create an ASMR feeling when working

✔ drag n drop and it works
✔ easy to configure
✔ easy to modify

SOURCE: github.com/rbanffy/selectric-m

Onokoto █onokoto
2025-10-15

I enjoy (a bit too much) doing everything in the terminal;

You can display images and videos in terminal!

## DEPENDENCIES
apt install chafa mpv --yes

## DISPLAY IMAGE
chafa %FILENAME

## DISPLAY VIDEO
mpv -vo caca %FILENAME --quiet

Onokoto █onokoto
2025-10-14

On most distros Python🐍 has a http server out of the box.

simply <cd> into the directory of your choice and execute the following command:

~λ python3 -m http.server 8080

Onokoto █onokoto
2025-10-12

Found a stunning ascii-art of Dennis Ritchie.

it is my MOTD when I boot my computer.

gist.github.com/173duprot/8f42

ascii art of Dennis Ritchie in a
Vassil Nikolov | Васил Николовvnikolov@ieji.de
2025-10-08

P.P.S.

Is this The Heart of Homoiconicity™?

A rare warranted use of `eval' (Elisp):

(let ((q '((lambda (x) (list x x)) (lambda (x) (list x x)))))
(equal q (eval q)))
=> t

after
(setq lexical-binding nil)
as needed.

#Elisp
#EmacsLisp
#Homoiconicity
#Lisp
#Quines

@screwlisp

2025-10-04

If you are using #vertico for minibuffer completion in #Emacs, you might find this little #elisp snippet helpful: it allows to toggle sorting by modification time and makes finding e.g. recently added files that much quicker!

hoowl.se/find_recently_modifie

Zach 🇮🇱 🇺🇸demiguru@fosstodon.org
2025-10-02

@hajovonta
I get the analogy — you can certainly treat #Elisp functions as composable components inside #Emacs.

The difference is that #Unix composability is enforced at the #OS level: independent processes with clean stdin/out contracts. In Emacs, the “processes” are functions sharing a single runtime. Both are forms of composition, but they’re not the same model.
@crandel @restorante @Zenie @weavejester

Zach 🇮🇱 🇺🇸demiguru@fosstodon.org
2025-10-02

@Howitzer105mm
Fair enough — I wasn’t trying to make it personal. My point was simply that #Elisp defaults to internal composition, while #Unix tools compose across process boundaries.

So if Elisp is treated as a “shell,” you’re either still inside #Emacs’s runtime, or you’re spawning external processes — which is the Unix model I was pointing at.

As for the font: looks fine on my end, maybe a Mastodon rendering quirk with headings.
@crandel @restorante @Zenie @weavejester

Zach 🇮🇱 🇺🇸demiguru@fosstodon.org
2025-10-02

@Howitzer105mm

They compose by crossing process boundaries over stdin/stdout.
#Elisp, by default, runs inside one #Emacs process; unless you explicitly spawn subprocesses, composition is internal function calls, not external contracts.
If you make Elisp your “shell,” you’re either (a) still inside Emacs’s runtime (internal composition) or (b) spawning real processes—in which case you’ve adopted the Unix model you’re downplaying.

@crandel @restorante @Zenie @weavejester

Zach 🇮🇱 🇺🇸demiguru@fosstodon.org
2025-10-02

@Zenie @crandel @alerque @restorante @weavejester

Fair — #Unix composability isn’t only pipes, it’s interoperable parts.
The split is how it’s done: Unix tools use external contracts, #Emacs internalizes it in #Elisp.

Zach 🇮🇱 🇺🇸demiguru@fosstodon.org
2025-10-02

@crandel @alerque @restorante @Zenie @weavejester

Fair — #Emacs can cover #Vim’s use cases through #Elisp.
But that’s extensibility inside a runtime, not #Unix-style composability through stdin/out.

2025-10-02

Where can I learn more about conventions and best practice on how to name my #emacs #elisp functions?

I see packages that use pkg/fun, others pkg-fun or in some cases (internal functions?) pkg--fun.

Thank you in advance!

Zach 🇮🇱 🇺🇸demiguru@fosstodon.org
2025-10-02

@restorante @crandel @alerque @Zenie @weavejester

Right — that’s the key difference. #Lisp Machines exposed the whole stack as live, editable Lisp, while #Emacs runs an #Elisp interpreter on top of a fixed #C substrate.

So no, it isn’t a Lisp Machine in the literal sense — but the way it internalizes extensibility and lets you rewire behavior in Lisp is what makes the comparison stick in spirit. That’s also why it feels so different from the Unix “small tools + pipes” model.

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst