Live data from Hacker News

Lem: Emacs-like editor written in Common Lisp

lem-project.github.io

41–50 of 62 posts

Re: Lem: Emacs-like editor written in Common Lisp

#41
post #13
post #7

Earlier quoted context omitted.

Emacs can run external processes asynchronously. It is true that Emacs locks up while updating packages but it is actually not while downloading or unpacking them! It locks up while byte-compiling them. :)

Maybe it can but it sometimes doesn't. I remember I looked into a lockup I was experiencing (this was a few years a ago so I forget the mode). Turns out emacs was writing to disk every so often and this was noticeably causing stutters in the main thread.

You are correct, my emacs locks up constantly. Mostly due to linting and syntax highlighting, but also with the emacs terminal.

It really depends on the package, but too many fundamental packages are still operating in the main event loop.

Re: Lem: Emacs-like editor written in Common Lisp

#42

Earlier quoted context omitted.

He is japanese and I met him in the european lisp symposium. He doesn't speak english at all and he mostly uses automatic translation, any english weird thing or strange sentence can be probably attributed to that. He was very nice

I see, that explains it. Apologies for jumping to conclusions.

Hahaha I've seen some pretty nutty maintainers so can't blame you! That being said I can vouch for the guy, he's extremely nice and responsive.

Re: Lem: Emacs-like editor written in Common Lisp

#43

Earlier quoted context omitted.

Especially with the native compilation in newer versions. Wow! That was a night and day difference. Before, I tolerated it. Now, I very rarely wait for anything.

I love Emacs and it has been my number one tool for a long time. It is definitely more efficient with native compilation but there are still some issues. For example, get a large code base and obtain all occurrences of an expression in the whole code base. Every IDE is going to stutter on this but Emacs will pretty much lock up until this completes.

Have you tried any plugins using ripgrep? Searching for expressions in Neovim is pretty much instant using fzf-lua or any-jump, the latter is based on the emacs package https://github.com/jacktasia/dumb-jump

Re: Lem: Emacs-like editor written in Common Lisp

#44
post #3

Has anyone used this? I was just thinking the other day that it would be nice to have an emacs-like editor written in such a way that it made performance and parallelism easier, especially around multithreading. A real killer feature would be some kind of emacs-lisp compatibility layer so that you could load existing third-party emacs modules, but I imagine the complexity of that is so off the charts that it would be…

Emacs is pretty snappy these days, what kind of performance problems are you seeing with it?

Huh?

I (used to) use it almost exclusively with eglot lsp to python language server (Jedi I think). I run emacsfoacosx 29.2 and now .3. And I’ve used it since 1996 on emacs 18 on a b/w sun workstation.

But most recently on the last 2020 intel MacBook Pro.

The cursor moving speed through a source file is atrocious. Maybe 3 - 4 lines per second vertical and similarly horizontal.

The shell just freezes on long lines and forget about font lock for multi MB json.

All of these tasks would be hard a decade ago but now aren’t even table stakes.

It just /feels/ sluggish.

I reluctantly just gave up. It was fast way back then but I think workloads have changed. I tried zed for a bit but have now reluctantly gone to pycharm CE. If you accept the different windowing metaphor and add bindings for C-a and C-e and friends (some are standard) it’s not bad. And never sluggish (same hardware).

I love emacs but for my outlandish workload of python programming and wrangling multi MB text output it just doesn’t perform.

I speculate it isn’t straight line speed but threading that is hurting perceived latency.

Re: Lem: Emacs-like editor written in Common Lisp

#46

Has anyone used this? I was just thinking the other day that it would be nice to have an emacs-like editor written in such a way that it made performance and parallelism easier, especially around multithreading. A real killer feature would be some kind of emacs-lisp compatibility layer so that you could load existing third-party emacs modules, but I imagine the complexity of that is so off the charts that it would be…

It's quality and making rapid progress.

I've been using (GNU) emacs on and off for, uh, 30+ years. And it's close enough that it mostly feels right. But many things my fingers and eyes are used to are different enough to be jarring that I'd have to re-learn some things.

Still, I just fired it up and started editing Rust code and -- unlike GNU Emacs -- it came with a pretty much working LSP auto completion setup out of the box. It's not RustRover level fantastic, but it's good enough to do work. And a lot just works out of the box that has to be configured and set up manually for GNU Emacs. E.g. it comes with a project explorer like Emacs projectile, already all set up.

I just wish I could make it bring up the M-x line on the bottom like GNU emacs, instead of in the middle of the screen?

EDIT: nevermind, found it:

  (setf lem-core::*default-prompt-gravity* :bottom-display)
  (setf lem/prompt-window::*prompt-completion-window-gravity* :horizontally-above-window)
  (setf lem/prompt-window::*fill-width* t)

Re: Lem: Emacs-like editor written in Common Lisp

#47
It's odd to describe this as "emacs-like". It is an emacs. While most people mean "GNU Emacs" (or in the past XEmacs) when talking about emacs, emacs is really a family of editors, with many variations over the years. Including ones written purely in lisp, like lem is.

Re: Lem: Emacs-like editor written in Common Lisp

#48
post #42

Earlier quoted context omitted.

I see, that explains it. Apologies for jumping to conclusions.

Hahaha I've seen some pretty nutty maintainers so can't blame you! That being said I can vouch for the guy, he's extremely nice and responsive.

Re: terrible maintainers, I'm reminded of "Fox" who maintains (maintained?) TTRSS (Tiny Tiny RSS) dude is atrocious. Makes Linus and jwz and Theo De Raadt look like saints.

Re: Lem: Emacs-like editor written in Common Lisp

#49
post #18

Earlier quoted context omitted.

Yeah it's much better than it used to be for sure. I recently dumped doom-emacs and went through the process of setting things up from scratch, and mostly performance is pretty good. I think that it still struggles a bit when I have many (>100) buffers open, largely I think because of anything that has to do window management winding up iterating over every buffer, and it turns out a lot of things (both internal and…

Yeah, it's better to use one emacs per project, and have less buffers open at a time. Not just the snappiness but a lot of the (out of the box, no special modes) keyboard buffer navigation stuff doesn't scale to hundreds of buffers. Maybe if I had better file naming conventions, but I tend to have a main.go in each cmd and sometimes even in pkg. I also rarely learn new modes/packages, as they aren't in on the VMs and…

My day job is in a fairly large codebase so I often wind up with tons of buffers open just from jumping around following definitions. I’ve taken to just opening ibuffer every once in a while and nuking everything

Re: Lem: Emacs-like editor written in Common Lisp

#50

Has anyone used this? I was just thinking the other day that it would be nice to have an emacs-like editor written in such a way that it made performance and parallelism easier, especially around multithreading. A real killer feature would be some kind of emacs-lisp compatibility layer so that you could load existing third-party emacs modules, but I imagine the complexity of that is so off the charts that it would be…

>Has anyone used this? I have, it's awesome. There are some rough edges and some niceties/third party packages from emacs that I missed, so I ended up going back, but lem is very promising.

Does it have multiple cursors like https://github.com/magnars/multiple-cursors.el ? I consider it as a mandatory feature.
Post reply on HN