Irreal: Remember Remember Mode?

Over at the Emacs subreddit, BBSnek writes about discovering remember mode. It’s been around for a long time. I remember using it before Org mode. Indeed, I still use Ctrl+c r to invoke org-capture because that was what I was used to with remember-mode.

Although I’m sure there are some, I can’t think of any reason to use remember-mode these days. Org mode can do everything it can and more. Org’s templates make capturing data and notes so much easier and, of course, you can bring all the other Org tools to bear on the results.

BBSnek uses it for quick notes—and it’s great for that—but Org can do that too and so much more. The truth is, I’m surprised that anyone is still using it for any other reason than inertia. Still, as usual, Emacs lets us have it our way and for those who prefer the simpler and lighter weight remember-mode, it’s there for them.

-1:-- Irreal: Remember Remember Mode? (Post Planet Emacslife)--L0--C0--2026-09-30T15:15:24.000Z

Sacha Chua: 2026-09-28 Emacs news

There's a nice long video about Org mode with plenty of tips for beginners. Also, it's the end of the month, so check out the submissions for the Emacs Carnival for September ("Games") and consider volunteering to host the next one!

Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, Mastodon #emacs, Bluesky #emacs, Hacker News, lobste.rs, programming.dev, lemmy.world, lemmy.ml, planet.emacslife.com, YouTube, the Emacs NEWS file, Emacs Calendar, and emacs-devel. Thanks to Andrés Ramírez for emacs-devel links. Do you have an Emacs-related link or announcement? Please e-mail me at sacha@sachachua.com. Thank you!

View Org source for this post

You can e-mail me at sacha@sachachua.com.

-1:-- Sacha Chua: 2026-09-28 Emacs news (Post Planet Emacslife)--L0--C0--2026-09-28T13:31:07.000Z

Sacha Chua: Oct 2 - Emacs Chat 31: Pedro A. Aranda Gutierrez

On Oct 2, we'll chat with Pedro about Org Mode, LaTeX exports and font management including alternatives and things you can and can't do depending on your choices. He'll share some tips on fallbacks and emojis, which can help a lot with presentations and documentation. We might also discuss recent patches and realistic objectives.

America/Toronto = Fri Oct 2 0600H EDT / 0500H CDT / 0400H MDT / 0300H PDT / 1000H UTC / 1200H CEST / 1300H EEST / 1530H IST / 1800H +08 / 1900H JST

View Org source for this post

You can e-mail me at sacha@sachachua.com.

-1:-- Sacha Chua: Oct 2 - Emacs Chat 31: Pedro A. Aranda Gutierrez (Post Planet Emacslife)--L0--C0--2026-09-24T23:01:46.000Z

Sacha Chua: 2026-09-21 Emacs news

I put the new typewriter mode in the Fun category, but people might actually find the constraints useful for focused writing.

Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, Mastodon #emacs, Bluesky #emacs, Hacker News, lobste.rs, programming.dev, lemmy.world, lemmy.ml, planet.emacslife.com, YouTube, the Emacs NEWS file, Emacs Calendar, and emacs-devel. Thanks to Andrés Ramírez for emacs-devel links. Do you have an Emacs-related link or announcement? Please e-mail me at sacha@sachachua.com. Thank you!

View Org source for this post

You can e-mail me at sacha@sachachua.com.

-1:-- Sacha Chua: 2026-09-21 Emacs news (Post Planet Emacslife)--L0--C0--2026-09-21T12:02:45.000Z

TAONAW - Emacs and Org Mode: Glove80 and Emacs: Re-training my Fingers

I’m still getting used to the Glove80. Writing text is doable but still painfully slow.

I mentioned I use tangent, which integrates the Glove80 layout. One thing it doesn’t have though is a practice layer for Emacs, with Emacs key chords like C-c C-z, for example.

So I called Claude for help.

I’m on the third version of this mod, adding the command names from Emacs, so that I know what the commands I’m retraining my fingers on are — because my fingers remembered these commands (and thus are now clueless), and now I need to commit them to memory again through my eyes. This here is the first post written fully with the Glove80. I’m getting there.

-1:-- TAONAW - Emacs and Org Mode: Glove80 and Emacs: Re-training my Fingers (Post Planet Emacslife)--L0--C0--2026-09-20T22:42:21.000Z

Irreal: D2 For Diagrams In Emacs

You know how people have little “eternal quests” like searching for the perfect wallet, or the perfect t-shirt, or whatever? One of mine is the perfect app for making diagrams in Emacs and Org-mode. My go to solution is Graphviz, which I always seem to end up using. It’s powerful and not too hard to use but I don’t use it enough to internalize its syntax. So I’m always on the lookout for a better way. I’ve tried a bunch of them but I always go back to Graphviz.

I just saw this video by Skybert Hacks (Torstein Krause Johansen) about using D2 for this very problem. Its syntax seems reminiscent of Graphviz but a little simpler and easier to remember. It integrates beautifully with Org-mode so it’s just perfect for writing reports, papers, notes, or blog posts.

D2 produces nice diagrams—see the Skybert Hacks’ video for some examples—and is worth trying out. I’m going to do just that the next time I need to embed some videos in one of my documents. I just saw the video so I’m not familiar with the ins and outs of the app yet but it seems worth a little effort to learn. Once I try it out, I’ll report back and let you know how it worked out.

-1:-- Irreal: D2 For Diagrams In Emacs (Post Planet Emacslife)--L0--C0--2026-09-20T15:45:50.000Z

Irreal: More From Watts On Markdown

My friend Watts Martin is back with some additional thoughts on Markdown. A year ago he wrote a post complaining about the ankle biters who claim you can’t do serious writing with Markdown. I responded positively to his post and noted that even though I’m all in on Org mode and use it for virtually everything I write—even iMessages through the wonderful emacs-everywhere—it’s not really a good solution unless you’re using Emacs (although some people like Karl Voit disagree).

These days, Martin is an Emacs user and does use Org mode a lot but he still prefers to write his documentation and prose in Markdown. The reason for that is partly that he’s used to it but also because he has tools to work with it and—at least in the case of documentation—has to worry about collaboration.

It’s hard to disagree with anything he says although, again, Karl Voit strongly disagrees with the assertion that neither is better than the other, even when considered solely as markup languages. Even Martin appears to agree that Org is the better tool when you can consider its normal environment.

As for the original question that got all this started, of course Markdown or Org mode can be used for serious writing as plenty of writers demonstrate everyday. It’s only the ankle biters—probably the same ones who claim em-dashes are used only by AIs—who say otherwise.

-1:-- Irreal: More From Watts On Markdown (Post Planet Emacslife)--L0--C0--2026-09-19T15:26:13.000Z

James Cherti: Is Emacs slow on files with very long lines? Here is how to fix it (e.g, minified JavaScript or CSS, SQL dumps, large JSON files...)

Emacs can slow down when opening files with exceptionally long lines, such as minified JavaScript or CSS, SQL dumps, or large JSON files. One solution to prevent these files from slowing down Emacs is to use the built-in global-so-long-mode (or so-long-mode). When you visit such files, this mode detects abnormally long lines and automatically disables expensive minor modes that could slow down or, in the worst cases, freeze Emacs.

Below is a configuration to improve how global-so-long-mode handles these files, balancing performance and usability.

Why so-long is still relevant

Emacs 29 introduced native optimizations, such as long-line-threshold and large-hscroll-threshold, for handling files with long lines. However, so-long-mode is still relevant because Emacs does not automatically disable built-in and third-party minor modes. In a modern configuration, so-long-minor-mode functions as a safety switch to disable resource intensive modes on a per-buffer basis.

Managing syntax highlighting

By default, so-long disables font-lock-mode entirely to maximize performance. The configuration below retains syntax highlighting but limits the decoration level:

(with-eval-after-load 'so-long
  ;; Keep syntax highlighting
  (setq so-long-minor-modes (delq 'font-lock-mode so-long-minor-modes))

  ;; Reduce the Tree-sitter decoration level
  (add-to-list 'so-long-variable-overrides '(treesit-font-lock-level . 1))

  ;; Limit font-lock to the minimum decoration level to save CPU cycles
  (add-to-list 'so-long-variable-overrides '(font-lock-maximum-decoration . 1)))

The benefit is that you maintain basic syntax highlighting, which makes code easier to read than plain text. The tradeoff is that even minimal font-lock parsing consumes CPU cycles, which can still cause minor performance degradation in massive files.

Changing the default action

By default, when so-long detects a file with abnormally long lines, its standard behavior is to replace the buffer's major mode with so-long-mode. This is undesirable if you want to edit files using their original major mode, which allows you to retain useful minor-mode behavior and tooling.

Setting so-long-action to so-long-minor-mode retains the original major mode while applying the configured so-long performance mitigations:

(setq so-long-action 'so-long-minor-mode)

Note: The trade-off is that so-long-minor-mode leaves some features active that so-long-mode would otherwise disable. If additional performance-heavy features cause latency, you must disable them explicitly by appending them to so-long-minor-modes (see below).

Extending target modes

By default, so-long primarily targets prog-mode, css-mode, sgml-mode, nxml-mode, and fundamental-mode, leaving other buffers unprotected.

Adding conf-mode and text-mode to so-long-target-modes extends this protection to structured configurations, documentation, and patch files:

;; Apply so-long to configuration and plain text files
(with-eval-after-load 'so-long
  (add-to-list 'so-long-target-modes 'text-mode)
  (add-to-list 'so-long-target-modes 'conf-mode))

In practice, generated configuration files (such as dense JSON or exported INI data), single-line log dumps treated as text, and massive diffs regularly contain long lines that can slow down the Emacs.

Managing variable overrides and display behavior

When so-long triggers, it overrides buffer-local variables to improve performance. However, some default settings degrade usability by marking buffers as read-only and allowing save-place-mode to reposition the point within long lines.

The snippet below adjusts so-long-variable-overrides to keep the buffer writable and disables save-place-alist, preventing unnecessary cursor calculations on long lines:

(with-eval-after-load 'so-long
  ;; Prevent so-long from attempting to restore the cursor position
  (add-to-list 'so-long-variable-overrides '(save-place-alist . nil))

  ;; Ensure the buffer remains writable when so-long triggers, overriding the
  ;; default behavior that locks the buffer as read-only.
  (setf (alist-get 'buffer-read-only so-long-variable-overrides nil t) nil))

Respecting line truncation and visual line movement

By default, to improve performance with long lines, so-long-mode does the following:

  • Disables truncate-lines to force soft line wrapping. This limits the display to as few logical lines as possible, reducing the rendering load for massive lines.
  • Enables line-move-visual, so that movement commands navigate by small visual lines rather than leaping across potentially thousands of characters between logical lines.

While these defaults prevent layout calculation lag on massive files, they change standard movement and display behavior. Since Emacs 29 introduced display engine optimizations for long lines, these workarounds are less strictly necessary. If you prefer so-long to respect your global preferences, you can prevent it from overriding them.

Here is how to prevent so-long from modifying them:

(with-eval-after-load 'so-long
  ;; Emacs 29+ display engine is optimized for truncated lines. Override
  ;; so-long's default which forces line wrapping.
  (setf (alist-get 'truncate-lines so-long-variable-overrides nil t) nil)

  ;; Prevent so-long from forcing line-move-visual
  (setf (alist-get 'line-move-visual so-long-variable-overrides nil t) nil))

Note: Adding the above ensures your truncate-lines and line-move-visual preferences are preserved. However, scrolling might be slower as a result.

Keeping basic UI elements

The default so-long-minor-modes includes display-line-numbers-mode. The following configuration removes it so it remains active when so-long triggers:

(with-eval-after-load 'so-long
  ;; Retain line numbers
  (setq so-long-minor-modes (delq 'display-line-numbers-mode so-long-minor-modes)))

Disabling resource-intensive minor modes

Many third-party packages can become expensive on buffers containing very long lines. This block adds commonly used minor modes to so-long-minor-modes. When so-long triggers, active modes in this list are disabled for the current buffer.

(with-eval-after-load 'so-long
  (dolist (mode '(;; Structural Editing and Parenthesis Matching
                  paredit-mode
                  enhanced-evil-paredit-mode
                  rainbow-delimiters-mode
                  smartparens-mode
                  smartparens-strict-mode

                  ;; Regex and Custom Highlighting
                  easy-escape-minor-mode
                  highlight-defined-mode
                  highlight-indent-guides-mode
                  auto-composition-mode

                  ;; Outline Scanning / Text folding
                  outline-minor-mode
                  treesit-fold-mode
                  ts-fold-mode
                  ts-fold-indicators-mode

                  ;; State & History Persistence / I/O
                  undo-fu-session-mode
                  undo-tree-mode
                  better-jumper-local-mode
                  auto-revert-mode

                  ;; Formatters & Whitespace Managers
                  aggressive-indent-mode
                  stripspace-local-mode
                  ws-butler-mode

                  ;; Linters & Language Servers
                  eglot--managed-mode
                  eldoc-mode
                  flycheck-mode
                  flymake-mode

                  ;; Spell Checkers
                  jinx-mode
                  spell-fu-mode

                  ;; UI Overlays & Margins
                  indent-bars-mode
                  highlight-numbers-mode
                  diff-hl-mode
                  git-gutter-mode
                  line-reminder-mode
                  page-break-lines-mode
                  hl-fill-column-mode))
    (add-to-list 'so-long-minor-modes mode)))

Adjusting the threshold

You can control when so-long activates by adjusting the following threshold:

;; so-long activates when a file contains a line exceeding the character count below
(setq so-long-threshold 6000)

Enable the mode globally

Finally, enable global-so-long-mode by adding the following to your Emacs configuration:

(global-so-long-mode 1)
-1:-- James Cherti: Is Emacs slow on files with very long lines? Here is how to fix it (e.g, minified JavaScript or CSS, SQL dumps, large JSON files...) (Post Planet Emacslife)--L0--C0--2026-09-17T16:17:07.000Z

Please note that planet.emacslife.com aggregates blogs, and blog authors might mention or link to nonfree things. To add a feed to this page, please e-mail the RSS or ATOM feed URL to sacha@sachachua.com . Thank you!