I just posted a video explaining how I automatically scale up the default font (for demo purposes) on a Raspberry PI Trixie Emacs.

#emacs #elisp

https://www.youtube.com/watch?v=E56_SNoe-oM

How to automatically scale emacs to a larger font on startup (on Raspberry Pi)

YouTube

I was reading #prot emacs element #ebook on #elisp. I like this quote.

```
The fun part is how you go about writing the code. There are no duties you have to conform with. None! You program for the sake of programming. It is a recreational activity that expands your horizons.
```

protesilaos.com/emacs/emacs-lisp-elements#h:getting-started-with-emacs-lisp

Is there a better way to do this? blogs-metadata is like ((tag1 . (blogpost1 ...)) ...)
(alist with key as tags and list of blog entries as body).

(let* ((tags (delete-dups
(flatten-list
(seq-keep (lambda (post)
(let-alist post .tags))
blogs-metadata))))
(blogs-per-tags
(mapcar (lambda (tag)
(cons tag (seq-keep (lambda (blog)
(let-alist blog
(when (member tag .tags)
blog)))
blogs-metadata)))
tags)))
(sxml (mapcar (lambda (tag)
`(div (@ (class "tag-container"))
(h2 (@ (id ,(car tag))) ,(car tag))
(ul ,(mapcar (lambda (blog)
(let-alist blog
`(li (a (@ (href ,.link)) ,.title))))
(cdr tag)))))
blogs-per-tags)))

#lisp #emacs #elisp

make-phony.el v1.4.0

I've done a small update to make-phony.el, my little Emacs package that lets me be lazy when adding .PHONY to mark a target as a phony target in a Makefile.

davep

I've updated blogmore.el to add a command for quickly setting an image as the cover for a post: https://blog.davep.org/2026/05/08/blogmore-el-v4-5-0.html

#emacs #lisp #elisp #programming #blogging

blogmore.el v4.5.0

Carrying on with the theme of being lazy while editing posts, I've released blogmore.el v4.5.0. This version adds blogmore-set-as-cover. With this, if you place point on a line that is an image and run the command, it is set as the cover for the post.

davep

Not sure I've ever had to quadruple escape something before! Here's an #elisp example for #orgmode in #emacs

So, in the Elisp way we all know and love, they have to be quadruple-escaped. Try this; it actually works:

{{{include-if(blah, {{{bold(Tom\\\\, Dick\\\\, and Harry)}}})}}}

- https://list.orgmode.org/87bjeqvqc6.fs[email protected]/

Re: Optional text on export - Christian Moe

I've released blogmore.el v4.4.0, which lets me be even more lazy: https://blog.davep.org/2026/05/07/blogmore-el-v4-4-0.html

#lisp #emacs #elisp #blogging

blogmore.el v4.4.0

I've released an update to blogmore.el, my Emacs package that helps me out when writing this blog. I've added two commands to this version which help me be lazier than ever.

davep

...and updated all my packages to use Compat 31. Unfortunately I found a bug in the new with-work-buffer macro, such that the packages cannot yet take advantage of it:

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=80947

But this is what the stabilization phase before the actual Emacs release is for!

#emacs #elisp

I have just released Compat 31.0.0.0. The emacs-31 branch cut is imminent and the stabilization for the release will start now. If you start to rely on Compat 31 in your packages, please be aware that functions can still change until the actual release of Emacs 31.1. Please report any problems you encounter.

https://github.com/emacs-compat/compat/commit/2ef017671bdc643dbdbe3bfb746b80d090db792a

#emacs #elisp

Version 31.0.0.0 · emacs-compat/compat@2ef0176

COMPATibility Library for Emacs Lisp. Contribute to emacs-compat/compat development by creating an account on GitHub.

GitHub

@chiply

;; Best of both worlds: Only delete old duplicates, such that rare candidates
;; are not lost. At the same time ensure that ranking by frecency works. (bug#80070)
(defun +history-delete-old-duplicates (var elt &rest _)
(when-let* ((hist (symbol-value var))
((and (listp hist) (integerp history-length)))
(old (nthcdr 100 hist)))
(setcdr old (delete elt (cdr old)))))
(advice-add #'add-to-history :before #'+history-delete-old-duplicates)

#emacs #elisp