44 Followers
9 Following
76 Posts

planning ahead for this year's FennelConf; if you have been using #fennel recently and having fun with it, consider giving a presentation!

our presentations at FennelConf don't have to be
professional and meticulously rehearsed; we value enthusiasm over polish, so you can demo whatever you have been having fun with recently

https://lists.sr.ht/~technomancy/fennel/%3C87seevgl3d.fsf@asthra%3E

tentatively looking at the 27th of December

2025-10-20 Emacs news :: Sacha Chua

2025-10-13 Emacs news :: Sacha Chua

2025-08-18 Emacs news :: Sacha Chua

Show me your #emacs keybindings that you put into existing global submaps that you feel are intuitive.

Here are some of mine:

Under C-x v (for VC stuff):
("C-x v t" . git-gutter-mode)
("C-x v s" . git-gutter:stage-hunk)
("C-x v n" . git-gutter:next-hunk)
("C-x v p" . git-gutter:previous-hunk)
("C-x v T" . git-timemachine)
("C-x v R" . browse-at-remote)

Under M-g for error navigation:
("M-g M-l" . flymake-show-buffer-diagnostics)

In the C-x map to complement C-x u:
("C-x C-u" . vundo)

And a better use for C-x C-o (overriding delete-blank-lines):
("C-x C-o" . browse-url-at-point)

Technically these are reserved or taken spots but I like these bindings enough to make an exception for them.

In a previous toot thread we've been talking about ways to launch processes from Emacs in a way that lets them survive Emacs exiting, crashing or restarting via M-x restart-emacs.

The best way I've found so far:

;;; with separate cmd and args:
(call-process command nil 0 args)

;;; or let the shell parse the command:
(call-process-shell-command command nil 0)

The key is the 0 as the third argument, this causes Emacs to discard the output and not wait for the process.

I use it like this for my EXWM command launcher function:

(defun my-exwm-run (command)
(interactive (list (read-shell-command "$ ")))
(call-process-shell-command command nil 0))

Previously I used start-process-shell-command and nohup but that accumulated defunct processes when using M-x restart-emacs. The call-process-shell-command with the 0 arg doesn't seem to have that problem and it doesn't need nohup. This is a bit counter intuitive because call-process is supposed to be for synchronous processes. Not sure if make-process (the async primitive) can do this the same way.

If somebody is familiar with how/why exactly this works I'd love to hear your thoughts.

#emacs #exwm

Here is a small #zsh config snippet I use to enter #tmux copy-mode and scroll up when sitting at the zsh prompt. It's a zsh binding rather than tmux because I only want this at the prompt. The behavior maps nicely to what M-v does in #emacs.

tmuxup(){tmux copy-mode -u}
zle -N tmuxup
bindkey '^[v' tmuxup

I also have this tmux binding to make C-g break out of copy-mode to help maintain the Emacs feel:

bind-key -T copy-mode C-g send -X cancel

mastodon.el users who are running it against mastodon.social: Do you ever get slow replies or timeouts or images not loading? I've been seeing a bunch of those lately even when normal webui access works. I wonder if it might be some kind of rate limiting issue? Currently it's speedy but yesterday it was struggling quite a bit.

Next time it happens I will try to enable url-debug to see if I can see anything in that. Other debugging ideas are welcome too!

(Posting this from a different instance that I use for my #emacs related toots)

#mastodonel

Hello everyone. I wanted to send out a donation link for those that wish to help cover the cost of maintaining emacs.social. https://ko-fi.com/runlevelrobot

I have also posted it in the "About" part of our page. Any little bit will help. :) Thank ya'll for being such an awesome community thus far. I hope it continues to grow.

xref-project-history.el:
Per-project xref history tracking
#emacs
xref-project-history

Per-project xref-history-storage for Emacs

Codeberg.org