#elisp

Ab Sattarabsattar
2025-06-03

Lisp is so good man, learning lisp while configuring emacs could be one of the investments I can make.

2025-06-02

It's been 10 months, I had no sheet music on paper, last August.
I've been accumulating a bit at a time. It seems strange to have a shiny new version of something I've owned for decades. I buy used when I can.

Recently, I got it in my head that I wanted to play the #Bach cello suites on the bass flute. I set about transcribing them to treble clef in #emacs with #org and #rosegarden.

This morning as I reviewed my music and my practice plan I discovered that I had bought the #cello suites for #flute last fall. At least I don't need to transcribe them now. I've got #elisp to write.

My sheet music for flute on a table.
Taffanel & Gaubert - 17 exercises
Moyse - 17 exercises, la sonorité, 18 etudes, 
Joachim Anderson etudes - op 30, op 60
Ernesto Kohler - 26 romantic etudes op 66, etudes op 33 vol. 2
Telemann - 12 fantasies
J.S. Bach - Partita in A minor, 6 suites for flute
Pierre-Yves Artaud - Harmoniques for the flute.
2025-05-30

#Emacs #Lisp ability to provide multiple forms in the else branch (implicit progn) deserves some praise. I often write recursive algorithms that have a simple base case returning a value, and a much more involved recursive else case. Whapping the else into a progn/prog1/begin/do is an annoyance, however small. So #Elisp got this thing right, at least.

2025-05-29

i've made some changes to the last article on blogging with Emacs's Org mode and included some stuff I'd missed out on — handling images, previewing, configuring the head, headers and footers, and some more.

peregrinator.site/blog/buildin

#Blog #Blogging #Emacs #Website #OrgMode #Elisp

2025-05-29

@Jose_A_Alonso I didn’t know about the thunk library. A good resource for my #elisp experiments.Thanks for the reference.

2025-05-27
Toot from Emacs

#emacs #elisp

With just a simple script, see
https://github.com/igb/emacstodon
Eugene :emacs: :freebsd:evgandr@mas.to
2025-05-24

@blathoud @82mhz

> Reminds me that I even heard that some people still use emacs

Aww, yeah! #emacs is pretty fast and scalable – if you can do some routine action with lists of strings – like the e-mails, some chatting, playlists, file browsing – then emacs can help with this.

Of course, it can be slow, but usually it is a user fault in writing some good #elisp code (in my experience)

Except Emacs Web Wowser :dragnangry:

bledleybledley
2025-05-22

I've been debating the usefulness of org-roam-dailies. Much happier since switching to one long log/journal file with datetree rather than disparate little dated files all over the place. It's easier to review/show todos in org-agenda. Some simple code for a capture template if you wanna try it out..

(setq org-roam-dailies-capture-templates
'(("d" "default" entry
"* %<%H:%M> %?"
:target (file+datetree "log.org" week))))

2025-05-22

I'm trying to write an org-capture-template and supporting functions for it, for a blogging setup that uses individual org files within a specific directory for posts. i want this to work such that I get prompted for a title, which is used to generate the file name, the title metadata of the file, and a description, which is also used to generate another metadata variable. Based on this answer, I've come up with this:

(defun org-new-blog-post ()
(setq date (format-time-string (org-time-stamp-format :long :inactive) (org-current-time)))
(setq title (read-string "Post Title: "))
(setq fname (org-hugo-slug title))
(setq description (read-string "Description: "))
(expand-file-name (format "%s.org" fname) "~/git/personal/blog/org/blog/"))

(setq org-capture-templates
'(("n" "new post"
plain
(function org-new-blog-post)
"%(format \"#+title: %s\n#+date: %s\n#+description: %s\n\n\" title date description)")))

But this doesn't seem to work, and it just prints the output in the buffer I started with. how do I make this work?

I understand that setting global variables in a defun is bad practice but somehow using a let form doesn't allow me to reference those variables in the capture template.

#Emacs #OrgMode #Elisp #OrgCapture

2025-05-21

Создание режима GNU Emacs для C-подобного языка

Недавно я разработал ещё один режим GNU Emacs для C-подобного языка программирования C2 . Если в предыдущий раз для другого C-подобного языка я написал код с нуля, то в этот раз решил воспользоваться возможностью так называемого наследования режимов. В этой статье хочу поделиться с вами как это делается, и что у меня из этого вышло. (Предполагается, что читатель ознакомился с материалом предыдущей статьи Как написать свой режим для GNU Emacs и опубликовать его в MELPA или имеет собственный уникальный опыт разработки режимов GNU Emacs.)

habr.com/ru/articles/911648/

#gnuemacs #emacs #c2 #elisp

2025-05-20

#programming #emacs #lisp #commonLisp #elisp #eev #engineering #computerScience #history
My short but richly referenced bit on the popularity of lisp in the modern era, ranging from 2000 to 2024.
screwlisp.small-web.org/progra

I had /meant/ to write something completely different, but this is where we got. I hotly anticipate your flames.

TANGENTIALLY #ELS2025 european-lisp-symposium.org/20

I planned to connect to #lispgamejam and totally missed it. Try the submissions though! itch.io/jam/spring-lisp-game-j

2025-05-16

#emacs #editor #eev #hyperlinking #elisp #lisp #blog
screwlisp.small-web.org/e/emac
@eduardoochs while getting myself used to using more hyperlinking in and around emacs (#programming) documents with eev, I briefly introduce eev's anchors with reference to past expectations of nonlinear text processing as mentioned by Kent in his recent interview.

2025-05-15

#programming #engineering #emacs #eev #eepitch #markdown #md #intro #howto
screwlisp.small-web.org/progra
Capturing how I have started programming recently. In an md markdown document, I just weave in eev's red star lines and pitch other lines. Since eev 'inhabits other things' naturally, eepitch makes plain markdown into a powerful interactive evaluation mode.

The eepitching includes #shell #lisp #elisp #commonLisp and my #softwareIndividuals #KRF in the kind of freeform medley it lends itself to.

A truncated rectangle of vanilla whitefield emacs markdown document with eev eepitching woven in:
mkdir -p ~/leocommunity                            
cp -r ~/Pawn-75/Pawn-75 ~/leocommunity/my-software-
```                                                
Where 'red star' lines contain elisp, and other lin
```                                                
 (setq inferior-lisp-program "clisp -E ISO-8859-1 
 (slime)                                          
 (setq eepitch-buffer-name "*slime-repl clisp*")  
```                                                
as you can tell, I snuck in both making and startin
```                                                
(require "asdf")                                   
(uiop:chdir "~/leocommunity/my-software-individual-
(load #p"../../../remus/Startup/cl/acleo.leos")    
                                                   
(cle)                                              
put my-first-symbol property is-value              
(get my-first-symbol property)                     
```                                                
Pressing `<F8>` either evaluates a red star line as
Vassil Nikolovvnikolov@ieji.de
2025-05-13

@screwtape @me

> `((,(format "%s" cell) . ,n) . ,result))

In Common Lisp you would write
`(... ,@result))
but right now I am only fairly sure that Elisp has comma splicing.

#CommonLisp
#Elisp

Jonathan Lamotheme@social.jlamothe.net
2025-05-12

Just spent a good half hour pulling my hair out trying to figure out why one of the #elisp functions I had just written was always returning nil when I tested it. Turns out, my test was mistakenly passing its inputs to the wrong (but similarly named) function (pivot-table-get-columns instead of pivot-table-get-body).

#Haskell's type system would've caught this. 🙃

#emacs #lisp

Marco Antoniottimarcoxa
2025-05-12

Emacs Make Compile (or "Emacs Master of Ceremonies")
Please try it out and punch holes into it.

within-parens.blogspot.com/202

Jonathan Lamotheme@social.jlamothe.net
2025-05-12

I've run into a snag.

I have a function, pivot-table-get-columns (shorthanded as pt-get-columns). Its job is to take an #OrgMode table and produce an alist of mappings of column names to column numbers. The column names are as defined by section 3.5.10 of the org-mode manual.

My code is here.

When I pass this function a table without column labels, it crashes on the format line (which it shouldn't even be reaching).

Can someone explain to me what I'm doing wrong?

(cc: @screwtape )

#emacs #elisp

Edit: I've been beating my head against a wall for some time on this getting nowhere and less than a minute after asking this, I see it. My first unless should be a when. I'll fix it later.

Jonathan Lamotheme@social.jlamothe.net
2025-05-09
For all the criticism I have of dynamically typed languages, I have to admit that the way #elisp (and presumably #lisp in general) does in-line documentation is pretty nice.

Client Info

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