This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-07-04
Channels
- # announcements (6)
- # babashka (5)
- # beginners (57)
- # biff (6)
- # business (32)
- # clj-together (1)
- # clojars (10)
- # clojure (56)
- # clojure-europe (76)
- # clojure-nl (4)
- # clojure-norway (40)
- # clojure-serbia (1)
- # clojure-spec (5)
- # clojure-uk (10)
- # clojurescript (3)
- # cursive (12)
- # data-science (1)
- # datascript (4)
- # datomic (35)
- # docs (4)
- # emacs (28)
- # events (5)
- # hyperfiddle (9)
- # matrix (1)
- # off-topic (28)
- # practicalli (4)
- # re-frame (14)
- # shadow-cljs (2)
- # testing (5)
Are packages a good medium to deliver a shell (or bb, w/e) script? For instance, for package grizzl I see:
$ ls ~/.emacs.d/elpa/grizzl-20160818.737
grizzl-autoloads.el grizzl-pkg.el grizzl.el grizzl.elc
It seems that I could sneak a .sh in my package?Unrelated question, can you reproduce this error?
> (shell-command-to-string "lein version")
"Error: Could not find or load main class true'\nCaused by: java.lang.ClassNotFoundException: true'\n"
I used misc lein versions and no profilesI debug this stuff by: running in a terminal, then running in eshell. Eshell uses the same exec path as emacs I believe
hmmm... above is an eshell, below is an inferior shell
both emit the same for java -version
both have $SHELL=zsh but only the inferior shell reads my .zshrc
could be a good lead but I don't recall my dotfiles doing something funny in this area (plus, an eshell without dotfiles should be cleaner than one with)
It doesn't make a difference... I can point to a very precise executable like this one (obtained just now via curl
) and will get the same error
I’d make some little script that echoes it’s arguments back to you. Maybe you’ve set some variable for eMacs to inject something
ok, will keep debugging tomorrow
could you generously confirm (shell-command-to-string "lein version")
works for you?
Debugged.
Normal iterm or inferior shell:
LEIN_JVM_OPTS=-Dmranderson.internal.no-parallelism=true
eshell:
LEIN_JVM_OPTS=true'
I guess that the nested =
trips Eshell.
...My declaration is export LEIN_JVM_OPTS="-Dmranderson.internal.no-parallelism=true"
, double quotes and all. IIRC there was an even better syntax
I'm relatively new to running emacs on Linux. I've been happily running in a terminal. https://clojurians.slack.com/archives/C099W16KZ/p1688415543657749 had me exploring running emacs under X Windows. I am wondering what Linux folks typically do here. I assumed terminal... but maybe I am missing out on some benefits of using X Windows?
If the question can be translated to macOS "Emacs on iTerm vs. Emacs as a standalone GUI app", the difference is quite absimal... Probably the basics are more flexibility with keyboard shortcuts, less hassle with "true color", and misc OS integration / UI affordances
I got in the habit of running Emacs in the terminal because I found the font support and rendering of the X Windows version to be very poor--much worse than the font rendering in my terminal emulator. (This was many years ago now, so I have to assume things have improved.) I use Macs today but I still run Emacs in the terminal. I'm not familiar with eldev. I've never encountered an Emacs package that flat-out won't run in text mode (of course, certain functionality is unavailable, like viewing images in buffers).
I run emacs on linux, typically the gui version when running locally and the terminal version when running remotely over ssh, but I also use emacsclient sometimes in ways that can end up mixing and matching that. never heard of eldev before, if I got control characters like that in the terminal my first assumption would be the the terminal got hosed somehow
I guess the main reason I use gui emacs is it tends to look nicer, doesn't relay on characters for line drawing etc, can open pdfs and images etc
I've been running Emacs on Linux for years, also using the graphical backends. Recently it also became possible to run Emacs using pure GTK in Wayland, and that's what I do.
Mainly doing so makes fonts (and the interface) look a little nicer
Thanks folks for sharing, much appreciated! https://github.com/doublep/eldev/ is new to me too. It is a tool @U051BLM8F uses on his emacs projects to run elisp tests, compile (and maybe lint?), and also during dev, run emacs with a package in isolation (this was the feature I ran into trouble with). Seems like a useful idea/tool to me.
+1 for GUI Emacs. Imho if all you run in the terminal is Emacs, then the X version only has advantages. Mainly you have more keybindings available, can display SVGs and images and have different fonts etc. I only use terminal Emacs if I don't use tramp but ssh into a machine for some reason.
I never understood running Emacs in terminal. Why, if you can instead run the terminal inside Emacs? And have nicer fonts, colors, child-frames, pdf-tools, etc. etc.

1. The fonts historically have not been nicer (can only use fonts in non-standard formats, no/bad antialiasing). 2. If you prefer a tiling workflow child-frames are a bug, not a feature. 3. The killer feature for me: easy remote pairing with zero-friction handoff between pairs in a shared tmux. Bonus: each pair gets to use the fonts they prefer, at the size they prefer. You avoid the (often-significant) CPU and bandwidth overhead of screen sharing, with no worries about compression artifacts making small type hard to read (a constant problem with Slack huddles for me; Zoom is not as bad, but still not as crisp as locally-rendered fonts in my terminal).
> I never understood running Emacs in terminal. Why, if you can instead run the terminal inside Emacs? And have nicer fonts, colors, child-frames, pdf-tools, etc. etc.
One reason: the person doing so doesn't know any better!
@U060QM7AA thanks for the insights on the benefits of terminal mode.