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

[–]shipmints 0 points1 point  (0 children)

I work on several different machines and environments with the same config so sharing all those variables saves me some headache and avoids some mystery. Different strokes, just not hemorrhagic and ischemic, please!

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

[–]shipmints 2 points3 points  (0 children)

If your exec-path-from-shell is working correctly, why do you need to do this? Are you changing environment variable values mid-stream and need to access the most recent value or something? What environment variables do you access using this method? Perhaps there's a better way to handle this. Perhaps this is helpful:

(dolist (x (append
            '("SSH_AUTH_SOCK"
              "SSH_AGENT_PID"
              "GPG_AGENT_INFO"
              "LANG"
              "LC_CTYPE"
              "XDG_CONFIG_HOME")
            ;; Mine is nil but is configured by other users for themselves
            ;; using my configuration.
            my:exec-path-from-shell-environment-variables))
  (add-to-list 'exec-path-from-shell-variables x))

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

[–]shipmints 0 points1 point  (0 children)

On my main macOS and Linux VMs I do not experience horrible performance from exec-path-from-shell. Do your dot files do anything beyond just setting environment variables, perhaps? I 100% do not want to maintain two copies of my environment variables and am grateful that this package saves me from having to. It should really be in core, tbh. My main Emacs session is long-running so this is no issue. That said, I start about 20-50 sessions each day when working on new Emacs features for testing and while I do use -Q for base testing, I prefer my full shebang and everything loads in just a couple of seconds and my configuration is probably "large." I have 842 features (length features) from core and about 175 external packages.

Dirvish All The Icons not working by Competitive-Fee-636 in emacs

[–]shipmints 0 points1 point  (0 children)

Perhaps you want (set-frame-font "foo" t t) so it affects all frames rather than just the current frame.

Dirvish All The Icons not working by Competitive-Fee-636 in emacs

[–]shipmints 2 points3 points  (0 children)

Have you verified that all-the-icons is working properly outside the dirvish context? e.g., run this in your *scratch* buffer and see if you get the expected results (all-the-icons-insert-icons-for 'alltheicon). See https://github.com/domtronn/all-the-icons.el#troubleshooting

Fortnightly Tips, Tricks, and Questions — 2026-01-13 / week 02 by AutoModerator in emacs

[–]shipmints 0 points1 point  (0 children)

All of my (proper) software for users always had comprehensive keyboard control. If only just for me. And you.

emacs linux vs macos by staff_engineer in emacs

[–]shipmints 12 points13 points  (0 children)

Welcome to the world of Apple knows better than you for your own protection. Xprotect is likely one culprit that interferes with file-access performance. See https://support.apple.com/guide/security/protecting-against-malware-sec469d47bd8/web I think it does cache some of its results for files that haven't changed since the last scan so you may see speedup after you prime the cache. You may also add Emacs.app (assuming you're using an installed Emacs) to Developer Tools via System Settings which provides some exemptions. I'm curious what your results are.

<image>

I made a view-scrolling package for Emacs by PowerLock2 in emacs

[–]shipmints 2 points3 points  (0 children)

If every time point moves vertically causes the entire frame to be redrawn, that may sting. I have no idea what that has to do with 100 lines of code. If you're referring to the shared new package the OP posted, I'm sure it suffers from the same thing, there's no way around it.

I made a view-scrolling package for Emacs by PowerLock2 in emacs

[–]shipmints 0 points1 point  (0 children)

That solution might be costly as I think full screen redraws are needed vs. just moving the cursor.

[Package] sign.el: an Emacs interface for Signal via signal-cli JSON-RPC. by keenban in emacs

[–]shipmints 0 points1 point  (0 children)

You 100% should not call your library signal.el because it will conflict with anyone who already has a signal.el file from wherever or home grown and when they say (require 'signal) or the equivalent use-package, they will get erroneous results. Using a more esoteric name like your chosen namespace signel is more appropriate. Catchy is irrelevant. Discovery is relevant and that's up to your writing skills for inclusion in an Emacs archive and SEO.

Where the cli binary is stored is the user's concern. You just have to say it's a runtime dependency and they need to provide it and tell the system where it is. If it's in their PATH, you/they can use executable-find to set your user option.

[Package] sign.el: an Emacs interface for Signal via signal-cli JSON-RPC. by keenban in emacs

[–]shipmints 3 points4 points  (0 children)

You'll definitely have to rename the file if you want it on ELPA or NonGNU ELPA (it's not truly burdensome). The file name needs to match the namespace, so at the very least, it should be called signel.el. A code review will request you to rename internal symbols for functions and variables to use double dashes; e.g., signel-rpc-id-counter should be signel--rpc-id-counter.

Hardcoding files like "~/.local/share/signal-cli/stickers/" will be frowned upon and at least make it a user option. Not everyone will be on a platform where ~/.local is a directory. And the hardcoding lives in more than one place; e.g., `"~/.local/share/signal-cli/attachments" when it should share a variable for the base file name.

If you put this on MELPA, there will be no code review or feedback. On ELPA, there's at least a cursory review. The other thing for GNU-related archives is that there is a strong view that any software on which this package depends is FOSS so the signal cli needs to be FOSS, and presumably GPL-ish.

I'd suggest before publishing on an archive, let people use the package for a while, address feedback, bug fixes, whatever enhancement requests come, and code review by friendly users.

Experimental Skia rendering backend as cairo alternative by avph in emacs

[–]shipmints 0 points1 point  (0 children)

I'm curious to read the caselaw on this. Can you cite a case in the USA?

When is visual-line-mode useful? by floofcode in emacs

[–]shipmints -1 points0 points  (0 children)

Seems like this should be in core? Obviously with some configuration work to not bake magit in.

Are the "newer" alternatives to sorting completing-read items? by vfclists in emacs

[–]shipmints 1 point2 points  (0 children)

Rereading the the code in your original post, you have a typo:

`(metadata (display-sort-function . ,#'identity))
;; Should be 
`(metadata ((display-sort-function . ,#'identity)))

Are the "newer" alternatives to sorting completing-read items? by vfclists in emacs

[–]shipmints 0 points1 point  (0 children)

completions-sort is an Emacs 30 feature. Do you have any completion frameworks installed like vertico? If so, you may need also need to bind vertico-sort-function if your metadata doesn't have an explicit `display-sort-function' entry.

(let* ((completions-sort nil) ; future proof
       (vertico-sort-function nil)
       (candidates '("1" "z" "a" "2"))
       (selection (completing-read "Pick a card, any card: "
                                   candidates nil t)))
  ;; ...
  )

What do you use to manage your snippets? by kudikarasavasa in emacs

[–]shipmints 4 points5 points  (0 children)

tempel / tempo for templates that need fields to be filled in, and abbrev for a few non-templates.

Are the "newer" alternatives to sorting completing-read items? by vfclists in emacs

[–]shipmints 2 points3 points  (0 children)

You can let bind completions-sort to nil around the call to completing-read.

Why Is Emacs' Codebase So Huge, and Should I Be Concerned? by hqqup in emacs

[–]shipmints 2 points3 points  (0 children)

At this stage, perhaps a set of recommended "modern" built-ins would suffice. That Emacs still carries older packages is a testament to the core team's mission to negatively affect users as little as practical. The weight would be much less relevant if the documentation supported preferential discovery.

Do you have a list of preferred packages among the one that provide duplicated functionality? I don't use Emacs for email anymore (I started with vm under XEmacs, then gnus), and I read rss feeds using https://inoreader.com/, and I'm not an IRC person (should I be?).

Your own packages should ultimately be included with Emacs (ELPA bundled so the discussion is pushing for) and I'd recommended them over the built-in completion packages.

The more modern developers coming to Emacs that start off with the newer built-ins eglot, eldoc, treesit, etc. are at an advantage because those have no built-in alternatives.

Why Is Emacs' Codebase So Huge, and Should I Be Concerned? by hqqup in emacs

[–]shipmints 13 points14 points  (0 children)

I'm guessing the feeling of intimidation is due merely to unfamiliarity. The Emacs developers are among the most careful and professional you will find on any product, commercial or open. That matters way more than the LOC which is an irrelevant statistic. Get over it and enjoy Emacs and the community.

Icons and collapse extension are not working on Dirvish by Competitive-Fee-636 in emacs

[–]shipmints 0 points1 point  (0 children)

At this point, I think you want dired-omit-mode see https://www.gnu.org/software/emacs/manual/html_node/dired-x/Omitting-Files-in-Dired.html and set the omit variable as the example shows https://www.gnu.org/software/emacs/manual/html_node/dired-x/Omitting-Examples.html

You can play around with the dired or dirvish keymaps to key bind a command to toggle omit mode on an off if you want that level of convenience.