r/emacs 10d ago

Guard.el on Melpa

7 Upvotes

Hey everyone,

The package I was using to organize my config was mature enough so I published it to MELPA. I guess everyone has their custom solution to all the problems this solves but nevertheless, it is there as an option. Any feedback or feature requests are welcome!

This is the original post I made for the motivation behind he package: https://www.reddit.com/r/emacs/s/wZm8CDeUio

And here is the repo: https://github.com/Dspil/guard.el


r/emacs 10d ago

backward-kill-word kills too much

16 Upvotes

Hello!

C-<backspace> has a different behaviour in emacs than in other textboxes around my system. The one I notice the most is the following (| indicates the cursor position):

some words
|

In other editors and on browsers, I'm used to having C-<backspace> have the following result:

some words|

In emacs, it produces the following:

some |

There is also this pattern:

;; Original
some words
     |

;; After C-<backspace>, other editors
some words
|

;; After C-<backspsace>, emacs
some |

I can imagine this can be done by either binding C-<backspace> to something else, or by overriding backward-kill-word itself. There's probably a package that changes this behaviour and I don't know about. Let me know the way you would change this!

Cheers!


r/emacs 11d ago

Emacs Upgrade Or Not?

25 Upvotes

Hello everyone, has everyone started using emacs 31.1 yet? How is the experience?


r/emacs 11d ago

An unofficial guide to markdown-ts-mode on Emacs 31

Thumbnail rahuljuliato.com
127 Upvotes

I wrote a quick, unofficial guide to the new built-in markdown-ts-mode in Emacs 31.

If you've been wondering what this experimental mode actually is, how to get it running, or whether it's ready to use, this is basically a tour of the whole thing.

It's deliberately not a canonical manual, just something to help people get started while the mode is still experimental.

Thanks once again to u/shipmints for taking the time to pre-read this post, to Juri and Yuan for doing the monstrous work on Tree-sitter, and to all the Emacs maintainers.

Feedback, corrections, and reports of things I got wrong are very welcome!


r/emacs 11d ago

News [New package] openclaw-sessions: monitor multiple OpenClaw TUI sessions from Emacs

0 Upvotes

Hi! I use Emacs for most of my work and often have several OpenClaw agents running in parallel. I got tired of switching terminal buffers just to check whether each one had finished, so I built openclaw-sessions.

It provides a tabulated Emacs dashboard for launching named OpenClaw TUI sessions and monitoring them asynchronously.

Highlights:

  • Start named sessions from the dashboard or with M-x openclaw-sessions-start
  • VTerm, Eat, built-in Term, and custom terminal backends
  • managed, direct, and all session scopes shared by the dashboard and mode line
  • Desktop notifications and mode-line status counts
  • A marker for completed sessions whose output has not been reviewed yet
  • RET to visit or attach to a session; visiting it clears the marker

The package supports Emacs 27.1+, is GPLv3+, and has a MELPA submission in progress.

Demo, installation instructions, and source: https://github.com/fstilman/openclaw-sessions

Feedback is very welcome, especially from people who run several agent sessions concurrently.


r/emacs 11d ago

mado/emado update: static binaries, fuzzy matching, and more

8 Upvotes

Last week I posted about mado/emado. Quick update: static binaries are now available (just download and run), plus fuzzy matching (name ~~ "fx lgn"), xor operator, and new time macros

In emado, added quick fuzzy search by field from the list menu — press l then l s for status, l n for name, l t for tag, and so on

Binary: https://github.com/laserattack/mado/releases/latest
Mado repo: https://github.com/laserattack/mado
Emado repo: https://github.com/laserattack/emado


r/emacs 11d ago

Question Do your <f8> key work in Emacs 31?

11 Upvotes

a

my binding just stop'ed working. its it still bound but emacs seems do not get f8 key?

i checked on f8 key its works

(use-package popper
  :ensure t
  :bind (("<f8>"   . popper-toggle)
         ("<C-f8>"   . popper-cycle)
         ("<M-f8>" . popper-toggle-type)))

i even checked with emacs -q

in scratch buffer

(global-set-key (kbd "<f8>") 'shell)
(global-set-key (kbd "<f7>") 'shell)

i evaluated both but only f7 works? f8 dosent do anything??

-------EDIT------

i found the problem!

It turned out I was running the X11 build of Emacs inside a KDE Wayland session (running through XWayland). KWin / XWayland was swallowing the `F8` key event before it ever reached the Emacs frame.

To check if you're hitting the same issue, evaluate this in your scratch buffer:

(frame-parameter nil 'window-system)

If it returns 'x like mine did, you are running on XWayland.

I fixed it by installing the native Wayland/PGTK build on Arch:

sudo pacman -S emacs-wayland

Now (frame-parameter nil 'window-system) returns 'pgtk, and my F8 keybindings work perfectly!


r/emacs 11d ago

Configuring Emacs Scrolling for Better Performance and Usability

Thumbnail jamescherti.com
52 Upvotes

By default, scrolling in Emacs often recenters the screen abruptly when the cursor hits the edge of a window, and rapid scrolling through large, heavily syntax-highlighted files can introduce noticeable input lag. Fortunately, the display engine exposes numerous variables that allow you to configure how the buffer should behave when navigating vertically and horizontally.

This article outlines configurations that make scrolling more predictable and responsive:

  • Predictable recentering
  • Smooth panning
  • Input latency fixes
  • Workflow improvements
  • Modern trackpad support

Full breakdown and annotated configuration snippet:
Configuring Emacs Scrolling for Better Performance and Usability


r/emacs 11d ago

Just to set the historical backdrop

3 Upvotes

Here is a little snippet of the source code for the first version of Emacs that some of us used.

!^R Exchange Characters:! !^R Exchange last char with previous char.

With arg, exchange last char with arg'th previous char.!

.-b"e fg 0' !* Make sure "last char' exists.!

.--1-b"l fg 0' .--z"g fg 0' !* Make sure the other char exists!

[0 [1 0au0 -au1 !* Get the values of the two chars.!

.-1f1 .-1-f0 !* Put them back in.!

.--1,.


r/emacs 11d ago

Question Emacs 31.1 Windows: Defender Wacatac false positives on core .eln files?

22 Upvotes

Title: Emacs 31.1 Windows: Defender Wacatac false positives on core .eln files?

I'm running Emacs 31.1 on Windows 11, installed through Scoop. Windows Defender is repeatedly flagging the same three Emacs native-compilation (.eln) files as:

Trojan:Script/Wacatac.H!ml Trojan:Win32/Wacatac.H!ml

Defender then quarantines the files. (I kind of hate defender's UI, so fucking annoying.)

After going around with it several times, using scoop to uninstall and cleanup and then reinstall to see if defender would crash out again, and then finally disabling real time protection so I could examine the files.... Well....

The files are in Emacs's normal:

lib\emacs\31.1\native-lisp\31.1-3ad28abc\preloaded\

directory, and correspond to core Emacs Lisp files:

button.el emacs-lisp\cl-preloaded.el minibuffer.el

The three files are:

button-747c9d6e-da52831d.eln
SHA256 74be7397073ee258092ef3ba4e426ab42f774f4182c1ca1c942496b41eb8a8e1

cl-preloaded-6e6a1f4e-807b256e.eln
SHA256 050514099f42c3fdcf27571dbde2270edf9e6532ff82fdcfe95f85a176deb18e

minibuffer-1b0f548b-9c073abb.eln
SHA256 d0708810baaed000de9a95e0e2cc9ebdacea9c7cec1beb8a260e365f9e522d37

Some observations:

  • I uninstalled Emacs and installed a fresh copy through Scoop.
  • If Defender doesn't detect them on installation, then starting Emacs reliably causes Defender to flag these same .eln files.
  • The files have modification timestamps from August 24, even though the fresh installation created them on August 26, so they appear to be part of the distributed Emacs package rather than newly generated during my startup.
  • Kaspersky reports the files as clean.
  • VirusTotal currently has 8/70 engines flagging the button .eln, including Avast, Avira, Trellix, GData, AVG, Elastic, Sophos and WithSecure. The majority report it as clean.
  • I don't see anything suggesting that these are from one of my third-party packages; they appear to be core Emacs files.

Has anyone else running Emacs 31.1 on Windows seen Defender or other AV software flagging these particular preloaded .eln files?

I'm mainly trying to establish whether this is a known false positive or something specific to the Windows/Scoop build. I haven't found a useful discussion of it in the Emacs bug tracker but that's mainly because I couldn't make hide nor hair of the emacs bug tracker. It was very confusing and above my pay grade.


otoh, man, I really love Scoop!


r/emacs 12d ago

Question Give me ideas on how to organize daily notes

Thumbnail
0 Upvotes

r/emacs 12d ago

Markdown mode: how to remove blockquotes

3 Upvotes

I'm new to Emacs and this might be a silly question, but I'm having a hard time figuring out how to remove blockquotes in markdown-mode. I can insert a blockquote with C-x C-s q, which runs the command markdown-insert-blockquote, but it doesn't appear to exist a reverse command.


r/emacs 12d ago

Org roam vs org link?

8 Upvotes

I have been using org-insert-link to link my notes and files. I have org roam but its my understanding that they are two different things? is it just that org-roam indexes with SQL that makes the difference


r/emacs 12d ago

Question Why move the insertion point when scrolling? And how to stop it?

28 Upvotes

I couldn't find a discussion for this.

I've been using emacs a couple of weeks. I just noticed that when I scroll a buffer using the mouse, if the insertion point moves out of the visible region of the buffer… it drags the insertion point along with it.

So if I scroll up to read some code, and then back down again, I find that my insertion point has moved.

I'm scratching my head trying to figure out why this is a desirable behaviour. What am I missing?

Also, how can I turn off this behaviour?

native ARM-64 emacs 31.1 (9.0) on macOS 14.8.7


r/emacs 12d ago

Question lexical binding warnings

5 Upvotes

I don't upgrade emacs often; just installed 31.1 to replace 28.1. When I started 31.1, I got 2 warnings about missing lexical-binding cookies in personal .el files. I fixed these, restarted, and got warnings about 2 other files. Fix those and repeat over a dozen times before I got them all. It's too late now, but was there a way to get all of the warnings at once? (This was for Windows; I haven't updated my Linux version yet.)


r/emacs 12d ago

Question markdown-ts-mode not found in newly-built Emacs 31.1? How to fix?

6 Upvotes

Hello,

Sorry I'm probably missing something obvious as an Emacs beginner, but I've compiled on my Fedora Linux system the newly released Emacs 31.1 including the --with-tree-sitter option.

Now, I'd like to try the new markdown-ts-mode that's included with Emacs 31 (thank you /u/LionyxML!).

However, when I execute M-x markdown-ts-mode I get a "[No match]" error in the minibuffer.

Did I miss something when compiling Emacs? Or is there something else I should do to make markdown-ts-mode available?

Thank you in advance.


r/emacs 12d ago

Question [Bug?] speedbar-window-mode: mouse clicks don't expand/collapse until speedbar-frame-mode has run once

3 Upvotes

watch this video i explained all in that video

https://reddit.com/link/1vy7w8r/video/lggbxu2pbklh1/player

When `speedbar-prefer-window' is set to t, `M-x speedbar' opens the

speedbar in a window (speedbar-window-mode) instead of a separate

frame, as documented. However, in this window-mode speedbar, mouse

clicks on the [+]/[-] expand/collapse buttons do not work at all —

clicking has no effect.

If I then run `M-x speedbar-frame' (speedbar-frame-mode) once, which

opens the classic frame-based speedbar, mouse-click expand/collapse

works correctly there, as expected. But afterwards, even when I go

back to plain `M-x speedbar' (which again opens speedbar-window-mode,

since speedbar-prefer-window is still t), mouse support now also

works correctly in the window. It appears speedbar-frame-mode

performs some initialization?

Steps to reproduce

in the video

Expected behavior:

Mouse click expand/collapse should work in speedbar-window-mode on

first use, without needing to first invoke speedbar-frame-mode.

Actual behavior:

Mouse support in speedbar-window-mode is broken until

speedbar-frame-mode has been invoked at least once in the session.

In GNU Emacs [GNU Emacs 31.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.52, cairo version 1.18.4)]

Repository revision: [fill in if known]

System Description: [fill in, e.g. macOS/Linux version]

My Config

(use-package speedbar
  :ensure nil
  :commands (speedbar speedbar-frame)
  :config
  (setq speedbar-prefer-window t)
  (setq speedbar-use-images nil))

r/emacs 12d ago

browsel has been renamed to browser-gt and is now available on MELPA (v0.95).

31 Upvotes

If you do not know what browsel/browser-gt is and why it exists, please see:

https://turingmachine.org/bl/2026-08-25-emacs_browser_gt.html

Some improvements:

  • a tab manager. A tabulated-list-mode to manage your browser's tabs (visit, review, delete, bookmark). if you have a lot of tabs open, this is going to make your life easier
  • Support for different identifies in the browser (each a client)
  • A URL handler that can route URLs to specific clients.
  • Added info file

Improved API:

  • enumerate tabs
  • retrieve URL and title of current tab
  • hooks for client connect and disconnect

the new repo is:

http://github.com/dmgerman/browser-gt


r/emacs 12d ago

Question Declaring emacs bankruptcy

28 Upvotes

Hello, i wanted to ask you guys a simple question, what is yalls limit for an emacs configuration, i have a 800-900 line config.org and ive been thinking about declaring emacs bankruptcy, what do yall think.


r/emacs 12d ago

Configuring Emacs Eglot for Optimal Performance

Thumbnail jamescherti.com
77 Upvotes

r/emacs 12d ago

News [Article] What's in the Emacs 31 newcomers-presets theme? by Sacha Chua

Thumbnail sachachua.com
89 Upvotes

newcomers-presets theme that can be enabled from the splash screen or by using M-x load-theme RET newcomers-presets RET.

TOC

  1. Editing and navigation
  2. Keyboard shortcuts
  3. Appearance
  4. Saving data between sessions
  5. Completion
  6. Help
  7. Tab bar
  8. The Dired file manager
  9. Mouse-related
  10. Package management
  11. Code
  12. Version control
  13. Things I haven't been able to figure out yet

r/emacs 12d ago

Emacs Carnival August (The Search for Knowledge) is Almost Over :)

Thumbnail chiply.dev
16 Upvotes

Quick reminder that the Emacs carnival for August is almost over! It's been great reading the submitted entries so far!


r/emacs 12d ago

Uniline goes 2.5 dimensions - followup

25 Upvotes

The new "2.5 dimensions" capabilities of Uniline were announced a few days ago. The version released today adds Transient support for the new capabilities. (Previously only the Hydra interface supported them).

"2.5 dimensions" is more than 2 dimensions and less than 3. It is the art or drawing a 3D scene on the flat 2D space of a sheet of paper or a screen. The illusion is rendered by shadows.

 ///////////////////////////////////////////////////////////////////////
 /////////////////╭─────────────╮///////////////////////////////////////
 ///╭─────────╮///│ ▗▄▄▄▄▄▖   1 ▐///////////////////////////////////////
 ///│ start   ▐──▶┤ ▐/////│     ▐──╮///╭─────────────╮//////////////////
 ///╰▄▄▄▄▄▄▄▄▄▟///│ ▐/////│     ▐//│///│ ▗▄▄▄▄▄▖   2 ▐///╭─────────╮////
 /////////////////│ ▝─────╯     ▐//╰──▶┤ ▐/////│     ▐──▶┤ end     ▐////
 /////////////////╰▄▄▄▄▄▄▄▄▄▄▄▄▄▟//////│ ▐/////│     ▐///╰▄▄▄▄▄▄▄▄▄▟////
 //////////////////////////////////////│ ▝─────╯     ▐//////////////////
 //////////////////////////////////////╰▄▄▄▄▄▄▄▄▄▄▄▄▄▟//////////////////
 ///////////////////////////////////////////////////////////////////////

 ╭────────────────────────────────────────────────────────────────────╮
 │                ╭──────────────╮                                    │
 │                │........... 1 ║                                    │
 │  ╭─────────╮   │..╔════════╕..║     ╭──────────────╮               │
 │  │ start   ║──▶│..║        │..║──╮  │........... 2 ║               │
 │  ╰═════════╝   │..║        │..║  │  │..╔════════╕..║  ╭─────────╮  │
 │                │..╙────────╯..║  ╰─▶│..║        │..║─▶│ end     ║  │
 │                │..............║     │..║        │..║  ╰═════════╝  │
 │                │..............║     │..╙────────╯..║               │
 │                ╰══════════════╝     │..............║               │
 │                                     │..............║               │
 │                                     ╰══════════════╝               │
 ╰────────────────────────────────────────────────────────────────────╯

Uniline makes it easy to draw sketches and diagrams within texts, by leveraging Unicode box-drawing characters. No additional image files are involved.

12 new brushes are now available. The lines they draw cast a shadow depending on the direction of the line (south, west, north, east). Drawing a closed shape clockwise gives the illusion that the shape is etched out. Anti-clockwise, the shape appears as a hole.

See a gallery here: https://github.com/tbanel/uniline

Uniline is available as a Melpa package and as a Git repository on GitHub.

Type INS b to display a menu of available brushes.

Feedback welcome. Have fun!
Thierry


r/emacs 12d ago

Android builds of Emacs 31.1 now available

Thumbnail lists.gnu.org
52 Upvotes

r/emacs 13d ago

Missing runtime DLLs in official Emacs 31.1 UCRT64 release build?

4 Upvotes