i’m trying to try out clojure-ts-mode but it is marked incompatible with my current setup as it requires emacs 30. I’m using brew with emacs-mac and seeing
brew upgrade emacs-mac
Warning: railwaycat/emacsmacport/emacs-mac emacs-29.1-mac-10.0 already installed
which is annoying. Does anyone know if i’m missing something to jump to emacs 30? Seems it came out in feb so i’m a bit surprisedHmm, that's strange. I would have assumed with native compilation enabled everything would be faster.
I didn't bother to try Emacs-plus myself, as the standard build was fine for me, and the only difference between the two were a handful of compilation options.
Nice! Also Emacs Plus throw some wierd error paired with Prelude Emacs.
Emacs-Plus is slower on my MBP M3, compared to EmacsForOsx
What is emacs-mac ? No results on brew.sh. If its https://bitbucket.org/mituharu/emacs-mac/src/master/ then its only Emacs 29 packages so far it seems I have always used https://github.com/d12frosted/homebrew-emacs-plusfor MacOS and it always worked very well. Edit: I guess its https://github.com/railwaycat/homebrew-emacsmacport and you have the latest release of it. Seems that project also stopped at 29.x (nearly two years ago)
emacs-mac is a native mac fork of emacs
There is an issue about upgrading to emacs 30 if you are attached to emacs-mac (although they give a lot of caveats https://github.com/railwaycat/homebrew-emacsmacport/issues/390
the microsoft github repo is just the brew packaging, emacs-mac upstream has commits in 2025 fwiw
Ah, the first link I found was the upstream and the second was the tap that in the original post. Emacs plus has always been up to date and very stable for me for quite some time. I didnt miss any Mac specific features.
emacs-mac is really nice as it has smooth scrolling, trackpad integration (e.g hard click to lookup word in inline dictionary) and other macOS niceties
but it tends to lag a few months behind upstream emacs 🤷♂️
and normally it’s not super important to upgrade. but i guess tree-sitter is 30+? or perhaps natively in there after 30?
There were noticable changes to Treesitter in Emacs 30 which I assume clojure-ts-mode has now adopted. To use Emacs 29 I guess you would have to try an earlier version of clojure-ts-mode (but I assume that is not what is preferred)
@dpsutton You have several options:
• Install emacs-mac from HEAD, not the latest tagged release, e.g. brew install emacs-mac --with-native-compilation --HEAD . This will install Emacs 30.
• I personally switched to emacs-plus (https://github.com/d12frosted/homebrew-emacs-plus). It is a more "pure" Emacs distro. Most of the stuff I liked emacs-mac for is already in the upstream or not very important to me (e.g. swiping between buffers, or window expose mode).
eMacs plus sounds just what I need. I like smooth scrolling and don’t care about trackpad gestures. Thanks!
Do you use ligature fonts like Fira Code?
They are nice but not required. I think Fira code with ligatures is my current but I don’t think it is something I would lament losing
Emacs-plus supports ligatures just fine, but you would need to explicitly install ligature package for them to work. I have this in my init.el now:
(use-package ligature :ensure t :demand t
:config
(ligature-set-ligatures
'prog-mode '("www" "**" "***" "/*" "/**" "*/" "::"
":::" ":=" "!!" "!=" "!==" "-}" "---" "----" "-->" "->" "->>"
"-<" "-<<" "-~" "#{" "#[" "##" "###" "####" "#(" "#?" "#_"
"#_(" ".-" ".=" ".." "..." "?=" "??" ";;"
"/=" "/==" "/>" "//" "///" "&&" "||" "||=" "|=" "|>" "^=" "$>"
"++" "+++" "+>" "=:=" "==" "===" "==>" "=>" "=>>" "<="
"=<<" "=/=" ">-" ">=" ">=>" ">>" ">>-" ">>=" ">>>" "<*"
"<*>" "<|" "<|>" "<$" "<$>" "<!--" "<-" "<--" "<->" "<+"
"<+>" "<=" "<==" "<=>" "<=<" "<>" "<<" "<<-" "<<=" "<<<"
"<~" "<~~" "</" "</>" "~@" "~-" "~>" "~~" "~~>" "%%"))
(add-hook 'prog-mode-hook 'ligature-mode)
)
On the plus (hehe) side, as you can observe, you specify all desired ligatures explicitly, which means you can drop the annoying ones. For example, Fira has a ligature for [:, so any time I write something like [:foo] in Clojure, it used to be rendered all skewed.
Oh weird. I haven’t noticed that one the
OK, now I'm not sure it was [: , but there certainly are a few annoying ones that break when writing Clojure.
https://emacsformacosx.com/ I switched from the brew-based versions to this not too long ago. I found I had to jump through annoying hoops to do things like have a basic Finder icon and this one is better integrated with the OS and easy to install. I haven't yet upgraded to emacs 30 even though it offers a build for it - might test it out today.
I'm not sure that build has native compilation yet, and that one is pretty huge to me.
it does, I use straight.el extensively
I was incorrect, I was confusing byte compilation and native comp
Does straight.el require native compilation? I'm not sure I see the connection
Ah
https://github.com/jimeh/emacs-builds/releases/tag/Emacs-30.1 I just installed this build quite seamlessly - going to see if it works better than my previous build.
I think this one is based on mituharu fork too, like emacs-mac.
Just install the Emacs from emacsforosx, it is 30.1 and it works really fast!
In case anyone's wondering why clojure-ts-mode requires Emacs 30 - Tree-sitter support in Emacs 29 was somewhat buggy I decided not to inflict the potential issues on anyone. That's always the problem with major technological shifts - the beginnings are quite bumpy. We've discovered a few problems in Emacs 30 as well, but nothing very painful.