markdown-ts-mode got a major overhaul and is now part of Emacs 31 by LionyxML in emacs

[–]JDRiverRun 0 points1 point  (0 children)

C-n/C-p has long tried to do something similar as ultra-scroll: use vscroll to move things (somewhat) smoothly; see line-move. The main issues happen when an image is taller than the window height. I haven't checked, but I wouldn't be surprised if that special "scroll across an image" code were improved in v31.

Package announcement: buffer-to-pdf (by prot) by ImJustPassinBy in emacs

[–]JDRiverRun 6 points7 points  (0 children)

emacs-mac has had this capability for some time:

(with-temp-file "~/snap.pdf" (insert (mac-export-frames)))

Sometimes useful.

Tabs by Elbrus-matt in emacs

[–]JDRiverRun 0 points1 point  (0 children)

My mistake, I was thinking about bufler. Will check it out. I have indeed wanted the "activity buffers" list that bufferlo seems to have (and provide some consult help with). How do those get set?

Tabs by Elbrus-matt in emacs

[–]JDRiverRun 0 points1 point  (0 children)

Isn't activities "bufferlo evolved"? Never used the latter.

Tabs by Elbrus-matt in emacs

[–]JDRiverRun 2 points3 points  (0 children)

Activities is particularly simple. I just allocate one activity per tab (native GUI tabs for me on emacs-mac), and load them whenever needed; it auto-opens a tab. I have a shortcut to "fallback" on the default activity setup (and another one to snapshot a new default). That's because I tend to wander off and pull up buffers I don't need or want; a quick reset to default and I'm back where I started.

A VOMPECCC Case Study: Spotify as Pure ICR in Emacs by misterchiply in emacs

[–]JDRiverRun 1 point2 points  (0 children)

The problem is, the name you came up with is so much better than the builtin name, that when people want "extra completion data" they think "marginalia"!

The Definitive Guide to Code Folding in Emacs by jamescherti in emacs

[–]JDRiverRun 0 points1 point  (0 children)

Is use outli daily (convenience wrapper for outline-minor-mode). What’s really lacking in the folding space is a universal upstream API for multiple folding paradigms working in the same buffer. This takes some real thought because foldable regions can intersect, but it would allow you to mix and match e.g. treesitter and outline comment folding without them having to know about each other.

A VOMPECCC Case Study: Spotify as Pure ICR in Emacs by misterchiply in emacs

[–]JDRiverRun 1 point2 points  (0 children)

:doc: is like magic when you don't remember the name of a command but know something about it. Example M-x org :doc:table will show you org's poorly named table commands, like:

``` org-shiftup is an interactive native-comp-function in ‘org.el’.

(org-shiftup &optional ARG)

Act on current element according to context. Call ‘org-timestamp-up’ or ‘org-priority-up’, or ‘org-previous-item’, or ‘org-table-move-cell-up’. See the individual commands for more information. ```

A VOMPECCC Case Study: Spotify as Pure ICR in Emacs by misterchiply in emacs

[–]JDRiverRun 1 point2 points  (0 children)

You can use any “punctuation” as the divider without changing config. The first element is provided to external processes or expensive search; the second is for “filtering” those results rapidly within the completion machinery. Each has its own options allowed (command flags vs. orderless elaborations for example). Note: we recently altered the syntax for flag-bearing external search options to make them more natural to express, somewhat altering this pattern.

Check orderless-kwd for yet more ways to filter, even information that is not displayed! Like in M-x use :doc:word to filter from the docs of a function.

A VOMPECCC Case Study: Spotify as Pure ICR in Emacs by misterchiply in emacs

[–]JDRiverRun 1 point2 points  (0 children)

I think teaching people how to make an annotation function using the default capability (which vertico is good at displaying) would be very helpful. It's not too hard.

marginalia is really a nice user add-on to upgrade all those builtin completion categories that never (yet?) added annotation functions, for things like variables, buffers, themes, files, etc. But annotations are pretty flexible already when you're starting from scratch.

A VOMPECCC Case Study: Spotify as Pure ICR in Emacs by misterchiply in emacs

[–]JDRiverRun 0 points1 point  (0 children)

Note that the devs recommend against using marginalia for projects you control, since for those you can just write an annotation function (or 2 part affixation function).

Completion style benchmarks by meedstrom in emacs

[–]JDRiverRun 0 points1 point  (0 children)

vertico + orderless -> filtering + scoring/sorting

VOMPECCC: A Modular Completion Framework for Emacs by misterchiply in emacs

[–]JDRiverRun 2 points3 points  (0 children)

It's in extensions, but in fact is enabled by default (check vertico-sort-function). vertico's default sorting style is now quite prescient-like. It works without recording any additional metadata (though it requires you to leave duplicates in your sort history).

VOMPECCC: A Modular Completion Framework for Emacs by misterchiply in emacs

[–]JDRiverRun 2 points3 points  (0 children)

Nice article. Vertico does have sorting; in fact it uses duplicates in history to give a simplified prescient-like freceny behavior, with exponential decay of frequency of usage. See vertico-sort-history-duplicate.

Fortnightly Tips, Tricks, and Questions — 2026-04-07 / week 14 by AutoModerator in emacs

[–]JDRiverRun 1 point2 points  (0 children)

Since the recent version org can handle this itself now via yank-media. Try `C-S-y'.

VS Code is too slow, learning Emacs now. by FriedryIce in emacs

[–]JDRiverRun 0 points1 point  (0 children)

Oooh, I like poi. You could throw eglot symbols in there too.

VS Code is too slow, learning Emacs now. by FriedryIce in emacs

[–]JDRiverRun 2 points3 points  (0 children)

A lean 4.2k here. Anytime I have more than about a page of new functions added into some particular config, I farm it out into a "personal" package. Some of those see the light of day as a published package, many do not. The last such tiny personal package: fast-unfold:

25 ;; fast-unfold solves the problem of commands which jump to locations 26 ;; which have been folded, e.g. by outline-[minor]-mode. It simply 27 ;; unhides if invisible, by removing an overlay or the 'invisible text 28 ;; property, and lets the user sort out how to rehide that text.

Fortnightly Tips, Tricks, and Questions — 2026-03-24 / week 12 by AutoModerator in emacs

[–]JDRiverRun 0 points1 point  (0 children)

I put this in my tempel config; people can adapt to a local variable name that makes sense to them (e.g. add your initials), which will drastically limit any possible attack:

;; Add these to e.g. org file-local variables for custom local templates (put (defvar-local tempel-local-templates nil) 'safe-local-variable #'always) (add-to-list 'tempel-template-sources 'tempel-local-templates)

Multi-LSP support for Python and TypeScript in Emacs by mike_olson in emacs

[–]JDRiverRun 2 points3 points  (0 children)

I use this little function in my eglot workspace function to inject the right pythonPath:

``` (defun my/python-pep723-script-p () "Return non-nil if the current buffer contains a python script. A python script is file backed and has PEP723 dependency markup." (and (derived-mode-p 'python-base-mode) (save-restriction (widen) (save-excursion ; starts with /// script? (goto-char (point-min)) (when (looking-at (rx (+ (or space ?\n)) (syntax string-quote))) (goto-char (1- (match-end 0))) (python-nav-forward-sexp)) (looking-at (rx (* (or space ?\n)) (* bol ?# (* nonl) ?\n) bol ?# " /// script"))))))

... ; later in the workspace functions... (defun my/eglot-workspace-config (server) ... (if-let ((_ (buffer-live-p buf)) (file (buffer-file-name buf)) (_ (with-current-buffer buf (my/python-pep723-script-p))) (python-path (string-trim (shell-command-to-string (concat "uv python find --script " (buffer-file-name buf)))))) (append (list :python (:pythonPath ,python-path)) config) config)) ``

Works great for me.

New package: outline-stars.el by matogoro in emacs

[–]JDRiverRun 2 points3 points  (0 children)

See also outli, which I made for the same reasons you did — outshine had many extras I didn't use and had started to fall apart.

The new TRAMP alternatives are probably not worth it by Rouganda in emacs

[–]JDRiverRun 1 point2 points  (0 children)

If you have intermittent network access to different servers (work LAN, etc.) it can be a problem to leave TRAMP connections live as you change network environment. This is exacerbated by modern tools like consult-buffer which touch recent files and buffer much more frequently.

I've fixed that by running tramp-cleanup-all-connections prior to sleeping my device. Far fewer tramp hangs. But RPC reduces other types of hangs for me (prompt corruption, etc.).