RSSAmplifier

Blog

Eshel Yaron

RSS Feed of eshelyaron.com

eshelyaron.comRSS feed ↗18 posts

Latest posts

Emacs Arbitrary Code Execution Returns

Emacs Arbitrary Code Execution Returns Quick update about an Emacs security issue Created on [2026-08-06] , last updated [2026-08-06] It’s been over a year and a half since I last wrote here about an arbitrary code execution vulnerability in Emacs. I guess the title mostly gave it away, but yes, there’s another such vulnerability that you should know about. This one’s actually pretty cool; it…

Towards Trust in Emacs

Towards Trust in Emacs Introducing trust-manager , a trust management package for Emacs Created on [2026-04-15] , last updated [2026-04-15] Emacs has some serious trust issues. Up to version 30, it didn’t differentiate between trusted and untrusted files, and in effect treated all files as trusted. This implicit trust manifested in various security issues, such as the arbitrary code execution…

Hover for Help in Emacs Lisp

Hover for Help in Emacs Lisp Borrowing a helpful feature from LSP-land to enhance Emacs Lisp mode Created on [2025-02-11] , last updated [2025-02-11] Lately I’ve been working on a Binary Decision Diagrams (BDD) library for Lean 4 , which is a “programming language and theorem prover.” I’ve had some experience with similar so-called “proof assistants”, namely Agda and Coq , but I haven’t used Lean…

Emacs Arbitrary Code Execution and How to Avoid It

Emacs Arbitrary Code Execution and How to Avoid It Details and advice about a long-standing arbitrary code execution vulnerability in Emacs Created on [2024-11-27] , last updated [2025-02-25] This is a security advisory about CVE-2024-53920, an Emacs vulnerability that I (re-)discovered a few months ago. TL;DR Viewing or editing Emacs Lisp code in Emacs can run arbitrary code. The vulnerability…

Kubed is now on GNU ELPA

Kubed is now on GNU ELPA Some updates about my new Emacs package for Kubernetes Created on [2024-08-09] , last updated [2024-08-09] Kubed , my new Emacs-based Kubernetes interface, is now available from the official Emacs package archive GNU ELPA. Some brave souls have already taken Kubed for a spin beforehand, but having the package on ELPA makes it easier to install and helps with…

Composing Kubectl Commands in Style with Kubed

Composing Kubectl Commands in Style with Kubed Tight integration with the command line in my new Emacs package for Kubernetes Created on [2024-07-31] , last updated [2024-07-31] Last week I announced my new Emacs interface for Kubernetes, Kubed , on the Emacs development mailing list. So far working on Kubed has been a lot of fun, and in this post I want to highlight a feature that I find…

On Buglet-Bindings

On Buglet-Bindings Highlighting a pervasive Emacs Lisp bug Created on [2024-07-15] , last updated [2026-08-06] This post is about a class of bugs that you run into left and right in Emacs Lisp code, a sneaky pitfall that developers keep falling into, n00bs and greybeards alike: unsafe let-bindings of special variables. Say you’re writing some code that lets you (or other users) input some text…

Fixing a Twenty Six Years Old Emacs Bug

Fixing a Twenty Six Years Old Emacs Bug They got it backward those days… Created on [2024-02-10] , last updated [2024-02-11] A couple of weeks ago, an interesting bug report landed on the Emacs bug tracker: Subject: bug#68762: 30.0.50; thing-at-point for an e-mail adress stops at “.” When I use (thing-at-point ’email) and point is on an e-mail address like my.name@website.com, thing-at-point only…

Bad NEWS, Emacs

Bad NEWS, Emacs Troubles registered in Emacs 30 Created on [2023-12-10] , last updated [2023-12-14] This was an excessively critical account of a recent development in Emacs. It got far more attention than my previous writings on this blog, and I’ve taken it down because it was unkind towards involved individuals. If you really want to read this rant, you can check the Git logs of this website.…

Completion Preview in Emacs

Completion Preview in Emacs Some details about a new Emacs text completion feature Created on [2023-11-17] , last updated [2025-04-15] Earlier this week, a new Elisp library of mine, completion-preview.el , made its way to upstream Emacs master. This library provides a minor mode called Completion Preview mode. Can you guess what it does? Well, let me spell it out anyway. Completion Preview mode…

Alignment in Emacs

Alignment in Emacs Sheding some light on a decades old Emacs command Created on [2023-10-16] , last updated [2023-10-16] Suppose that you have some code that looks like this: b-> pt = BEG; b-> begv = BEG; b-> zv = BEG; b-> pt_byte = BEG_BYTE; b-> begv_byte = BEG_BYTE; b-> zv_byte = BEG_BYTE; But really, you want it to look like that: b-> pt = BEG; b-> begv = BEG; b-> zv = BEG; b-> pt_byte =…

Starting out in Amsterdam

Starting out in Amsterdam Notes from an eventful arrival Created on [2023-08-16] , last updated [2023-08-16] I finally got to Amsterdam. Of course, I’ve been here before, but this time’s different. We’ve arrived in Schiphol on Sunday morning after a tense flight. It’s not a long flight, but we were flying our dog over with us, and he was flying in a cage with the luggage. I’ve been training Dudi…

Extending Emacs's Dictionary Library

Extending Emacs’s Dictionary Library Introducing new customization options in the Emacs package dictionary.el Created on [2023-05-26] , last updated [2023-06-11] Yesterday [2023-05-26] Eli Zaretskii applied a patch that I’ve submitted to the Emacs master branch which introduces new customization options to Emacs’s dictionary.el library. dictionary.el is a library that lets Emacs query RFC2229…

Orientation in JSON documents with Emacs and Tree-sitter

Orientation in JSON documents with Emacs and Tree-sitter Adventures with the new Tree-sitter based Emacs mode for JSON Created on [2023-05-17] , last updated [2023-06-11] I often find myself opening a large JSON document, usually a sample from a larger dataset I’m analyzing, in order to figure out where in that JSON some interesting fields are buried. In most cases, I have some idea of what these…

Optimizing Project Selection in Emacs

Optimizing Project Selection in Emacs Leveraging a new Emacs customization option to streamline project selection Created on [2023-04-11] , last updated [2023-06-04] Emacs has a brand new user option for customizing the interface used for project selection, e.g. when switching from one project to another. I always considered the way Emacs handles project selection a bit awkward, so I was glad to…

Making Shell Scripts Executable Just-in-Time

Making Shell Scripts Executable Just-in-Time A different take on adding exec permissions to shell script in Emacs Created on [2023-04-08] , last updated [2023-09-27] In my work I often need to write small programs or scripts that accomplish very specific tasks. Many of these involve fetching and analyzing data from JSON-based APIs, and I tend to use shell scripts for that sorta thing. I mostly…

The Self-Healing Code Fallacy

The Self-Healing Code Fallacy Remarks about a new CI step that makes your code fix itself before its merged Created on [2023-04-05] , last updated [2023-06-04] Yesterday, a colleague of mine shared a tweet in our #random Slack channel about a new AI-powered plugin for GitLab CI that supposedly makes your code self-healing . Here’s the tweet from Min Choi: Say goodbye to manual code fixes! With…

Take on Recursion

Take on Recursion My take on a recursive Elisp function for accumulating a list while walking up an AST Created on [2023-04-01] , last updated [2023-06-04] Over at Take on Rules , Jeremy Friesen has a couple of recent posts about an Emacs command he wrote for grabbing the qualified name of the function at point in Ruby files. I don’t know much about Ruby, but the way he implemented this command…