This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-04-06
Channels
- # announcements (33)
- # babashka (13)
- # babashka-sci-dev (23)
- # beginners (94)
- # calva (105)
- # cider (37)
- # circleci (1)
- # clj-kondo (45)
- # cljs-dev (59)
- # cljsrn (2)
- # clojure (145)
- # clojure-czech (1)
- # clojure-europe (19)
- # clojure-nl (18)
- # clojure-norway (13)
- # clojure-portugal (1)
- # clojure-uk (5)
- # clojurescript (19)
- # community-development (2)
- # conjure (3)
- # copenhagen-clojurians (1)
- # core-async (34)
- # data-science (6)
- # datomic (25)
- # emacs (43)
- # fulcro (19)
- # graalvm (7)
- # graalvm-mobile (12)
- # graphql (10)
- # honeysql (3)
- # hyperfiddle (3)
- # improve-getting-started (2)
- # interop (20)
- # kaocha (3)
- # lsp (16)
- # meander (7)
- # off-topic (22)
- # other-languages (14)
- # portal (15)
- # releases (1)
- # rewrite-clj (2)
- # ring (1)
- # shadow-cljs (119)
- # spacemacs (19)
- # sql (65)
- # testing (4)
- # tools-deps (11)
- # xtdb (29)
What version of emacs do you suggest running? I see emacs 28.1 was just released. It seems like i'm on GNU emacs 29.0.5 but it has been acting really unstable recently (crashing, slow startups, etc..). Would it be better to use the more stable release on 28.1 with a fresh install? Ubuntu's software manager is showing me i can install version 1:26.3+1-1ubuntu2 which i'm assuming is version 26 so ill have to go elsewhere.
you should use 28.1 if don't want breaking changes all the time, it should be pretty fast enough
basically the main key features regarding performance is: • 27 introduced native json parsing, quite important for lsp users • 28 introduced native compilation which improves emacs speed overall
how do you update version 29? I should have kept notes on how i installed it.
I use NixOS so I use https://github.com/nix-community/emacs-overlay, you can use Nix too via MacOS
I second Eric's suggestion. I've been using Emacs 29 for a few months. My primary workstation is a Mac, installed it using brew formula emacs-plus@29
.
It is quite stable, except some minor things that were deprecated long ago, things like cl
- they are getting slowly removed or modified, now without warnings. I think it's time, since many of them were obsolete since v24
ill try using the snaps from https://snapcraft.io/emacs.
@U0DJ4T5U1 I use this on Ubuntu https://github.com/mpenet/emax/blob/master/install-emacs.sh
I'm take a look, thanks a lot!!
just to confirm, it works with current master, I just recompiled:
GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.30, cairo version 1.16.0) of 2022-04-07
https://launchpad.net/~ubuntu-elisp/+archive/ubuntu/ppa provides nightly builds of Emacs (which is given the version 29.0.50)
Add the PPA and apt install emacs-snapshot
Most nightly builds are pretty stable, so I tend to install it and not update (unless there are issues)
Recommend removing the emacs
and emacs-common
packages and use the snapshot equivalents
Snapshot package will point the emacs command to emacs-snapshot when installed
I'd only recommend the Emacs Snap package as a last resort, they take up a lot of space, install multiple copies and have several access constraints
It's really weird that the default (snaps) isn't stable or ideal. is it just transition pains?
that seems to have worked flawlessly btw john, ty again. ... Edit: i obviously meant "flawlessly" not lawlessness. Wow.
I've used the Ubuntu Emacs PPA when ever the Ubuntu release didnt have a version of Emacs I wanted. There have been a surprising number of Emacs releases since the last Ubuntu LTS version was released and it seems the packaging in Debian hasnt kept up. The latest intermediate Ubuntu release includes Emacs 27.1, as does the next Ubuntu release in a few weeks. Emacs 28.1 wasnt released soon enough to be included in the new LTS and so I expect Emacs 28.x to appear as part of the 22.10 Ubuntu release. So for now, I'm using a nightly build via the emacs-snapshot package, which seems to work very well with Spacemacs.
On Linux, I’ve been running Emacs 28 from source for about half a year. To update simply, git pull
, make
and sudo make install
. I was surprised by how simple that was, and I appreciated avoiding the indirection and packaging. Finding the right branch to track was quite simple too.
Emacs source: http://savannah.gnu.org/projects/emacs/
Now that Emacs 28 is out, I guess getting prebuilt binaries should be easier.
What binding do others typically use to copy sexps? I was surprised that smartparens has a sp-copy-sexp
function but it has no binding.
Oh, I've tried that several times but when I do it first time, I get 'The mark is not set now, so there is no region'.
I did something just, although I forget what, which enabled me to use M-w
fine,
you create a region. put your point somewhere, hit C-[space]
and move to the end of your selection. the sexp navigations work great here
Oh right, you have to create the region. I was hoping you wouldn't need to do that like with sp-copy-sexp
- I know it's only a few keystrokes...
Oh, that's a package isn't it?
I've installed that before - I was surprised I'd need a separate package to do what I consider such a simple and basic thing, but perhaps it was the right thing to do!
If you just need to copy sexps it's overkill, but like I said it works with a lot of stuff (quoted values, comments, various semantic things depending on the mode)
Oh yeah, expand-region
+ M-w
work well! Cheers all!
Expand region is good, but there is also the builtin mark-sexp
bound to C-M-SPC or C-M-@.
Ooh, that sounds faster! Cheers
Does anyone have a small elisp helper that turns leiningen type deps to deps.edn type (and maybe vice-versa), i.e.,
[org.clojure/clojurescript "1.11.4"] -> org.clojure/clojurescript "1.11.4" {:mvn/version "1.11.4"}
I can probably spend a few minutes to write one, but maybe someone has done that already. Would you be so kind to share? Thanks.
Not lisp, but there is a Clojure project that converts Lein deps to Clojure CLI deps. It may provide some ideas https://github.com/hagmonk/depify
you are right I also wanted this for a while so here:
(defun lein-deps-to-deps (beg end)
(interactive "r")
(save-excursion
(goto-char beg)
(while (re-search-forward
"\\[\\(.+?\\)\\s-\"\\(.+?\\)\"\\]"
nil
t)
(replace-match
"\\1 {:mvn/version \\2}"))))
I forgot to use end
(defun lein-deps-to-deps (beg end)
(interactive "r")
(let ((end (save-excursion
(goto-char end)
(point-marker))))
(save-excursion
(goto-char beg)
(while (re-search-forward
"\\[\\(.+?\\)\\s-\"\\(.+?\\)\"\\]"
end
t)
(replace-match
"\\1 {:mvn/version \\2}")))))