Skip Navigation
InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)FF
Posts
27
Comments
16
Joined
3 yr. ago
Emacs @lemmy.ml
4ffy @lemmy.ml
batsov.com Using use-package the right way

I recently wrote that Emacs startup time doesn’t matter and I got quite a lot of heat for it. I totally stand by everything I said there, but I acknowledge that different people have different use-cases and perspectives when it comes to this.

Using use-package the right way
  • Cool small features in Emacs 30 that I really like:

    • If you have ever tried to create a custom modeline, you may have discovered that right-aligning elements was a massive pain. Emacs 30 adds a new modeline element mode-line-format-right-align which makes all subsequent elements in mode-line-format right-aligned.
    • When Emacs prompts you about recovering an auto-save file, you can now press = to show a diff between the buffer and auto-save. No more guessing whether you had done anything important.
    • E in dired opens a file with the default program for that file type (via xdg-open or OS equivalent).
  • Emacs @lemmy.ml
    4ffy @lemmy.ml

    Featuring a significantly faster (~8x) JSON parser, native compilation enabled by default, and the official release of the Android port.

    Abridged Announcement:

    Version 30.1 of Emacs, the extensible text editor, should now be available from your nearest GNU mirror:

    https://ftpmirror.gnu.org/emacs/emacs-30.1.tar.xz

    https://ftpmirror.gnu.org/emacs/emacs-30.1.tar.gz

    For a summary of changes in Emacs 30, see the etc/NEWS file in the tarball; you can view it from Emacs by typing 'C-h n', or by clicking Help->Emacs News from the menu bar.

    You can also browse NEWS online using this URL:

    https://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS?h=emacs-30

    Windows binaries can be found at https://ftp.gnu.org/gnu/emacs/windows/emacs-30

  • Emacs 30 is a more low-key release compared to heavy hitting features like native compilation in 28 and Tree-sitter in 29. Probably the headline change is replacing the libjansson based JSON parser with a homegrown one that is several times (~8x) faster, which will significantly benefit features like LSP. This will also mark the official release of the Android port, as well as the usual scattershot of improvements across the board. The NEWS file has the full changelog.

  • Emacs @lemmy.ml
    4ffy @lemmy.ml

    The first release candidate for Emacs 30.1, the extensible text editor, is now available at:

    https://alpha.gnu.org/gnu/emacs/pretest/emacs-30.1-rc1.tar.xz

    Please give it as much testing as you can. If no problems are reported, this will become Emacs 30.1 this Sunday.

  • I found that sound was completely broken in MAME, in the extremely loud kind of way. Not a fun experience. I'd like to look into it more so that I can file a bug report, but I don't yet know where the blame lies.

    Every other program that I use seems to work fine so far.

  • Rust @programming.dev
    4ffy @lemmy.ml
    Emacs @lemmy.ml
    4ffy @lemmy.ml
    Golang @programming.dev
    4ffy @lemmy.ml

    What's in an (Alias) Name?

    Rust @programming.dev
    4ffy @lemmy.ml

    Changes to impl Trait in Rust 2024

    Emacs @lemmy.ml
    4ffy @lemmy.ml

    I am excited and relieved to finally announce the release of Magit version 4.0, consisting of 1077 commits, since the last release three years ago. The release notes can be found here.

    Emacs @lemmy.ml
    4ffy @lemmy.ml
    Emacs @lemmy.ml
    4ffy @lemmy.ml
  • The reason that Doom is so portable goes beyond Linux and is an artefact of its development. id developed Doom on NeXTSTEP (i.e. Unix) machines and obviously targeted DOS. This is pretty unique among DOS games at the time and required id to write as much code as possible in a platform agnostic way. This means that the main engine does not care about where it is running and the usual DOS hacks are contained to DOS-specific files. In order to port Doom to a new platform, ideally one only needs to rewrite the system-specific implementation files for video, sound, filesystem access, etc., and this mostly holds true today. (These files are prefixed with i_ in the Doom source).

    The Linux port is just one of many versions developed at the time. I don't believe that it was commercially released; it was more of a portability test. The reason that the Linux version was chosen for the source release over the DOS version was because it didn't rely on the proprietary DMX sound library that the DOS port used.

  • Emacs @lemmy.ml
    4ffy @lemmy.ml
    karthinks.com The Emacs Window Management Almanac

    Window management in Emacs gets a bad rap. Some of this is deserved, but mostly this is a consequence of combining a very flexible and granular layout system with rather coarse controls. This leaves the door open to creating and using tools for handling windows that employ and provide better metapho...

    Emacs @lemmy.ml
    4ffy @lemmy.ml

    This release brings a host of user-facing refinements to an already stable base, as well as some impressive new features. There is a lot to cover, so take your time reading these notes.

    Special thanks to Jean-Philippe Gagné Guay for the numerous refinements to parts of the code base. Some of these are not directly visible to users, but are critical regardless. In the interest of brevity, I will not be covering the most technical parts here. I mention Jean-Philippe’s contributions at the outset for this reason. Though the Git commit log is there for interested parties to study things further.

    Emacs @lemmy.ml
    4ffy @lemmy.ml

    Emacs 29.3 released

    cross-posted from: https://lemm.ee/post/27699104

    From the NEWS file: Emacs 29.3 is an emergency bugfix release intended to fix several security vulnerabilities described below.

    • Arbitrary Lisp code is no longer evaluated as part of turning on Org mode. This is for security reasons, to avoid evaluating malicious Lisp code.
    • New buffer-local variable 'untrusted-content'. When this is non-nil, Lisp programs should treat buffer contents with extra caution.
    • Gnus now treats inline MIME contents as untrusted. To get back previous insecure behavior, 'untrusted-content' should be reset to nil in the buffer.
    • LaTeX preview is now by default disabled for email attachments. To get back previous insecure behavior, set the variable 'org--latex-preview-when-risky' to a non-nil value.
    • Org mode now considers contents of remote files to be untrusted. Remote files are recognized by calling 'file-remote-p'.
    Emacs @lemmy.ml
    4ffy @lemmy.ml
    Emacs @lemmy.ml
    4ffy @lemmy.ml
    Luanti community @lemmy.ml
    4ffy @lemmy.ml

    Minetest Blog - Early Winter in Minetest

    blog.minetest.net October to January in Minetest (16)

    Improvements are made to graphics, the Lua API, and the user interface. We present the winners of the 2023 Game Jam along with other cool mods. A new core developer joins the team, and we look forward to FOSDEM 2024!

    October to January in Minetest (16)

    Improvements are made to graphics, the Lua API, and the user interface. We present the winners of the 2023 Game Jam along with other cool mods. A new core developer joins the team, and we look forward to FOSDEM 2024!

  • I don't think that's a good idea. Pretty much all interaction with Emacs is mediated through keybinds. There is no distinction between shortcuts and fundamental behavior. Even ordinary typing is done by having each character on your keyboard bound to self-insert-command. Perhaps there is some way to nuke the global keymap, but then you're left with literally nothing. Besides, this would not prevent various modes from adding their own keys anyway.

    You should consider whether Emacs keybinds are actually in the way enough to be bothersome. You can also keymap-global-unset (or keymap-unset) individual bindings that you find problematic. I'd also consider delving into the Spacemacs code to see how they implement their "vi only mode."

  • Luanti community @lemmy.ml
    4ffy @lemmy.ml

    August and September - Early Autumn in Minetest

    A menu rework and God rays are among the improvements on the road to the 5.8.0 release.

    Emacs @lemmy.ml
    4ffy @lemmy.ml

    Emacs 29.1.90 pretest is available

    This is the first pretest for what will become the 29.2 release of Emacs, which is primarily a bugfix release.

    Emacs @lemmy.ml
    4ffy @lemmy.ml

    EmacsConf 2023 - List of Upcoming Talks

  • Emacs's regular clipboard is the "kill ring" which also allows you to retrieve any previously cut/copied text. It also has "registers" where you can store and retrieve snippets of text, which can be considered clipboards when used for this purpose. Registers can be referenced by any character you can type on your keyboard, including control characters like ^D.

    This totals... a lot of clipboards.

  • I think that this is above all else the reason that I use Arch. Arch Linux makes creating packages trivial, basically just wrapping build instructions into a shell script template. Arch handles the rest. The build systems for deb or rpm packages don't come close, and good luck rolling your own flatpak.

    This allows me to use pacman for everything outside of my home directory. Pacman is practically the central feature of my computer, and it's wonderful. I'm sure those Nix people can relate, though I guess my method is a bit less robust.

  • Emacs @lemmy.ml
    4ffy @lemmy.ml

    Mastering Emacs: Let's Write a Tree-Sitter Major Mode

    www.masteringemacs.org Let's Write a Tree-Sitter Major Mode

    Creating a standard programming major mode presents significant challenges, with the intricate tasks of establishing proper indentation and font highlighting being among the two hardest things to get right. It's painstaking work, and it'll quickly descend into a brawl between the font lock engine an...

    Let's Write a Tree-Sitter Major Mode
  • Xremap, despite the name, supports both X and Wayland, and can be used to move modifier keys around. Configuration is done with YAML but is otherwise pretty easy. I personally use it for full Emacs keybind emulation.

  • This might be the first time I've ever seen something productive happen in the Phoronix forums. I love that place. Go to any topic with more than about a dozen posts and it's almost guaranteed to be a flame war. Genuinely one of the funniest places on the Internet.

    Check out this one. It took like three posts!

  • I have done almost the opposite: moving as much configuration as I can into use-package statements, even for built-in features like dired. You can (use-package feature-name) or even (use-package emacs) in order to customize the basics. use-package just provides much better organization than any schema that I have ever been able to come up with on my own.

  • r/cth was originally a subreddit for the podcast Chapo Trap House, but it eventually bloomed into a general-purpose leftist space. IIRC, the sub was around 160k members at its peak and had a distinct posting culture.

    It was quarantined by Reddit for violent speech after calling for the death of slave owners and later banned for no particular reason at the same time as r/the_donald, presumably as a "both sides" sort of thing.

  • Hexbear is an instance formed mostly by former r/chapotraphouse users after that sub was banned from Reddit a few years ago. Hexbear used to run on a custom fork of Lemmy so that the community could add extra features that they wanted (like custom emoji) but it was recently ported back to mainline Lemmy after merging or reimplementing as many changes as possible.

    Currently, Hexbear does not have federation enabled, and there is discussion about who to federate with or even whether to federate at all. The community is very active and self-sufficient and some members prefer the isolation.

    Content-wise, it's a leftist-focused instance. Some shitposts, some serious posts, and a lot of inside jokes.

  • I've been using Devil for a little while now. The right control key is pretty far from the home row on my keyboard, so the usual touch typing motions are inconvenient. I feel like Devil, which I have mapped to semicolon, lets me reclaim some of that.

    I have caps lock as control as well, so that gives me control access on both sides of the home row. The two sides behave a bit differently since caps lock is an actual modifier, but that hasn't been an issue for me.

  • This is the main reason that one should learn to read PKGBUILDs. Any AUR helper like Yay or Paru should give the option. Just make sure that the package downloads from an official source and contains only the necessary build and install instructions.

    But I agree. Some people treat the AUR as just another repository, when it most definitely is not.