1. 36
  1. 4

    As someone who has dabbled enough with Emacs to “get it” but not enough to be anywhere near proficient in elisp, is it just me or is Emacs unstable?

    Well, I’ll clarify a bit. I use emacs-plus with Doom Emacs which works fine, although the compilation + setup process on a new device is something like 20 minutes once Homebrew builds it from source and installs the thing.

    Emacs daemon + emacsclient works fine but I’ve never had any luck getting the thing to actually run once on startup and work seamlessly from then on. I find myself killing the process and restarting it for reasons I don’t remember anymore so of course, this post isn’t exactly an actionable question.

    I wish Emacs had the speed/lightweight feeling of neovim but with the extensibility of the ecosystem and quirks of course. org-mode and magit are wonderful and posts like this tempt me back but it feels like getting stuck in quicksand where I end up wasting more and more time with less to show for it.

    I fully realise this may just be bad luck as a (relative) beginner of course.

    1. 13

      is it just me or is Emacs unstable?

      Vanilla Emacs, out of the box, is very stable. In my experience, it’s typically me that /can/ make it unstable (with own customisations + installing packages).

      If still keen to tweak and customise, keeping customisations under revision control is a great way to revert back to stable at any time.

      I use emacs-plus with Doom

      I’m not a Doom user myself, but have been on Emacs Plus for many years. Out the box, Emacs Plus gives a fairly vanilla experience (w/ some patches for macOS) but is also very stable.

      Doom seems to have lots of happy users and an active community who may be able to help.

      I wish Emacs had the speed/lightweight

      Vanilla Emacs, out of the box, packs a lot more than it may initially seem (and is very snappy) https://karthinks.com/software/batteries-included-with-emacs

      1. 1

        Oh, that batteries-included list is great!

      2. 4

        Hmm. I haven’t been using it as heavily, but I definitely don’t get weird instability issues unless I’m doing something like live-setting variables, adding/removing hooks, or otherwise messing with the configuration live.

        If you use LSP stuff, check out the LSP performance tips?

        1. 1

          That helps me, thanks!

        2. 1

          I’ve been using Emacs for a very long time (on and off since 2002 or so when I first found it, and pretty much exclusively for… 15? 16 years?). Last time I’ve declared .emacs bankruptcy I tried some of these fancy batteris-included things like Doom Emacs. I could never get any of them to work. Sooner or later I had to break out ye olde Emacs Lisp reference booke and have at it.

          I suspect these things work great if you don’t stray too much from what the developers/packagers had in mind. But at that point you might as well use Visual Studio or Eclipse or whatever, where you’re also pretty much stuck with what the developers had in mind, but there are more of them. Otherwise, if you don’t use Emacs Lisp, don’t really customize anything, and don’t have muscle memory issues, I think all you’re left with is you get l33t hipster points :-).

          I also stopped using emacs daemon + emacsclient a long time ago, I’ve found that SSDs largely made that redundant in terms of startup speed, and I don’t really need to close my Emacs sessions anyway so…

          1. 2

            I’ve been using emacs since 1992, and I’m both mystified and gladdened by the cool new hipster Emacs “distros”. They’re not for me, vanilla emacs works fine, but it’s great to see Emacs retain mindshare!

            As for emacsclient, I agree. It was maybe great in the age of Eight Megabytes And Constantly Swapping, but now I just spawn a new tmux window and start a new emacs in it…

            1. 4

              I’ve been using emacs since 1992, and I’m both mystified and gladdened by the cool new hipster Emacs “distros”. They’re not for me, vanilla emacs works fine, but it’s great to see Emacs retain mindshare!

              The fact is that the majority of emacs keybindings are simply not something that stands the test of time. For example, the window keybindings:

              C-x 2  Split window vertically
              C-x 3  Split window horizontally
              C-x 1  Delete all other windows

              In emacs, C-x is used for a lot of baseline commands, so there is no memorable component other than the numbers, why a user should have to remember seemingly random numbers for this sort of interface is beyond me.

              Compare with vim, where C-w is the “window” shortcut leader. Normal up, right, left, and down commands work with this to change to that window, and the commands to split the window are:

              C-w s  Split window vertically
              C-w h  Split window horizontally

              with vim, you’re given a hook – w for window, s to split, h for horizontal. There are many, many other points of pain that present themselves to a new emacs user where, while vim is painful, it provides meaningful names for each operation to allow memory recall.

              And while it can be said that emacs is designed to allow everything to be rebound, it’s hard enough to remember the commands from a new system without having them rebound.

              1. 2

                I beg to differ. C-x 2 will result in two windows, C-x 1 will result in one window, there even is C-x 0 which deletes the current window.

                The same works for frames, here the prefix is C-x 5 and then 2 for new and 0 for close.

                I find that intuitive, but admittedly I use Emacs for two decades.

                1. 2

                  Ahhhhh, frames is what I was thinking of when I dug that out, I think

                  The same works for frames, here the prefix is C-x 5 and then 2 for new and 0 for close.

                  Do you not see how this is not intuitive? C-x 5 2 is meaningless to memorize :(

                  1. 2

                    Well, there are five letters in frame… :D

                    But for real, it is completely unintuitive. which-key helps (you can end any prefix with C-h and it’ll show you a list of what each key would do), but if the key just continues the prefix then you’ll get something like +ctrl-x-5-prefix unless you explicitly bind that. Sometimes I even just run the command by name as opposed to the keybind because I’m a fast enough typist that I can do M-x split hor in about a second anyway.

              2. 1

                Oh, no doubt. I’m pretty sure that all these things work fine for someone whose mindset about the whole computing thing isn’t as old as mine, otherwise they wouldn’t have so much traction.