Wednesday, September 30, 2026

Now org-toggle-timestamp-overlays is Disabled

The default keybinding of org-todo is C-c C-t. Today I learned about another command with a similar keybinding (C-c C-x C-t) -- org-toggle-timestamp-overlays. Note the C-x in the middle.

When I pressed that key combination (inadvertently), all the YYYY-MM-DD timestamps in the buffer were converted to the MM/DD/YYYY format. This was unacceptable -- I needed to change them back. However undo did not revert the timestamps; it just undid the last edit. Furthermore, these undesired timestamps couldn't be edited and were impervious to org-shiftright. I was confused yet again.

I didn't even know how this happened. So I invoked view-lossage as a kind reader once suggested 1 and discovered org-toggle-timestamp-overlays.

The docstring was no help – it's self-evident that it would "Toggle the use of custom time stamp formats." Eager to clock out of my task, I didn't care to learn more. All I wanted to do was undo the effect.

I figured that since it toggles the timestamp, all I had to do was invoke it again to toggle it back. Nope. Well, a nice message appears, saying "Time stamp overlays removed." Yet the timestamps looked the same.

Undaunted, I figured I'd reload the buffer with org-mode-restart. That had no effect. To finally fix this, I deleted the buffer and revisited the file.

A command like this surely is in the same category as upcase-region, which is disabled by default. And so this is why I added (put 'org-toggle-timestamp-overlays 'disabled t) to my init file.

1 See https://ray-on-emacs.blogspot.com/2026/05/emacs-view-commands.html

Wednesday, September 16, 2026

A Niftier Way To ASCIIfy An Emacs Buffer

Web page content lately is littered with unusual Unicode characters that resemble ASCII characters. It's possible this is how an author (whether human or AI) might "sign" work.

I use a recorded keystroke macro to brute-force-edly replace such Unicode characters with their ASCII equivalents. This allows me to maintain ASCII-compatible files. For example, to replace the right single quote character having a character code of #x2019, the macro replays M-% ’ RET ' RET ! to replace all occurrences with the straight apostrophe, #x27.

I'm not trying to publish someone else's work as my own -- I do provide a reference to source whenever possible. I'm simply trying to keep my content as unadulterated as possible.

There are at least three problems with my macro:

  • If #x2019 can't be found, an exclamation mark is placed at point.
  • It fails to replace other single-quote-like Unicode characters such as #x2018 or #x2032.
  • The method is clunky and inelegant to an obscene degree.

However, I came across a function in replace.el that led me to find replace-char-fold, a very interesting custom variable.1

According to its docstring, "Non-nil means replacement commands should do character folding in matches. This means, for instance, that \\=' will match a large variety of Unicode quotes." This is exactly what I need!

Now I have Yet Another Fun Emacs Project (YAFEP), which is to create a sleek and robust ASCIIfy Lisp function. And YAFEP aligns fortuitously with this month's Emacs Carnival topic, which is Games.

What's been your experience with quoting web content?


1 For a deeper dive into character folding in Emacs, please read the info node on lax matching.

These pages on Wikipedia served as references for this article:

Tuesday, September 1, 2026

Games: The Emacs Carnival Post For September 2026

I don't play games within Emacs. Instead I enjoy learning about the many functions and modes it has. I even derived a Tip of the Day that displays help on a randomly-chosen function. I invoke it at startup; there's a non-zero probability that I'll spend 15 minutes or so exploring the function it provides.

I get the impression that I'm not the only one who enjoys Emacs this way. When I read others' postings, I see references to "customize," "configure," "init file," "rabbit hole." I'm pretty sure I also came across a few posts that contained this: "my ex-spouse made me chose between him/her and Emacs." Often, reading these posts is enjoyable in itself.

I enjoy writing and blogging, too. I started my first journal when I was 13 years old. My answer to "What book would you choose if stranded on an uninhabited island?1" would be "a blank notebook that comes with a pencil." I also enjoy interacting with the Emacs community. It's as if this "Ray on Emacs" blog provides entertainment squared. This can be expressed mathematically as E2, where E is entertainment and 2 is two.

While researching this topic, I was surprised at how many games we can choose from, even in plain vanilla. Naive folks might scoff at programmers who write games for Emacs. But they don't understand that games demonstrate Emacs' capabilities. I suspect the underlying motivation is that writing games for Emacs is fun. It's a challenge that leads to accomplishment.2

I'm looking forward to reading submissions to Emacs Carnival September 2026 and trying some games. participate is Humor not to necessary.3

1 aka "Desert Island" see Uninhabited island on Wikipedia

2 Folks in the MS-DOS USENETs would joke about writing Batch Files that could do calculus. At least I think it was a joke.

3 "Humor is not necessary to participate" (as evidenced by this post).