Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should we still recommend the mac port version for osx? #4955

Closed
aaronjensen opened this issue Feb 4, 2016 · 67 comments
Closed

Should we still recommend the mac port version for osx? #4955

aaronjensen opened this issue Feb 4, 2016 · 67 comments

Comments

@aaronjensen
Copy link
Contributor

The emacs mac port has some nice features, especially for beginners. However, at least in my experience:

  • It is significantly slower on first launch for some things (opening files, magit operations, etc).
  • It occasionally starts to exhibit significant input lag and requires a restart.
  • It also seems to crash occasionally.
  • It doesn't allow tty and gui on the same server

Switching to the standard emacs fixed all of these issues.

I installed like this, though not all options are necessary:

$ brew install emacs --with-cocoa --with-librsvg --with-gnutls --with-imagemagick

We'd lose the cool spacemacs icon, but the speed and experience are so much better, at least in my experience. Does anyone else have a similar experience and think the recommendation should be changed?

Problems with brew install emacs:

  1. dotspacemacs-fullscreen-use-non-native t has no effect. Fixed: Enable OSX non-native fullscreen on regular builds #5143
  2. Colors of powerline separators are wrong
@d12frosted
Copy link
Contributor

Yeah, I also moved from mac-port version few months ago and never wanted to return back. But I use Emacs25, which works nicely for me. Installation is pretty similar.

$ brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick

Also Emacs25 has nice new icon, which I like. Besides, it's not hard to add Spacemacs icon to regular emacs brew formulae.

@nixmaniack
Copy link
Contributor

@d12frosted so you confirm emacs25 is working fine with spacemacs without any major issues?!

@d12frosted
Copy link
Contributor

The only caveat is initial run. Somehow (and only sometimes) it doesn't want to install all packages. So I have to:

  1. rm -rf ~/.emacs.d/elpa
  2. start emacs 25
  3. wait until it installs everything it can
  4. start emacs 24
  5. wait until it install everything else
  6. start emacs 25

Using emacs25 + spacemacs for like more than two months.

@nixmaniack
Copy link
Contributor

@d12frosted I see! Thanks for letting us know. I'm gonna give it a try.

@ordnungswidrig
Copy link

I tried the brewed HEAD of emacs (reporting as emacs-25.1.50.1) today and run into this error:

Error (use-package): volatile-highlights :config: No primary method: cl-generic-generalizers, (eql etags)

another error is that SPC : does not work and gives

debugger entered--Lisp error: (wrong-type-argument listp :group)
  cdr(:group)
  (alist-get (cdr symbols) (assoc (car symbols) alist))
  (if symbols (alist-get (cdr symbols) (assoc (car symbols) alist)) (cdr alist))
  alist-get(:group nil)
  eieio--slot-override([cl-struct-cl-slot-descriptor candidates (quote ("ERROR: You must specify the `candidates' slot, either with a $
  eieio--add-new-slot([cl-struct-eieio--class helm-absolute-time-timers-class nil ([cl-struct-eieio--class helm-source-sync "Use this $
  eieio-defclass-internal(helm-absolute-time-timers-class (helm-source-sync helm-type-timers) ((candidates :initform timer-list) (allo$
  eval-buffer(#<buffer  *load*-903014> nil "/Users/billy/.emacs.d/elpa/helm-20160126.1110/helm-elisp.el" nil t)  ; Reading at buffer p$
[...]````

@aaronjensen
Copy link
Contributor Author

I definitely suggest we point to 24.5.1, not 25, yet.

@d12frosted
Copy link
Contributor

@ordnungswidrig did you wipe out elpa dir from ~/.emacs.d before running emacs25 for the first time? you can't just switch between emacs 24 and emacs 25 without recompiling packages.

In case of problems - use my 6-steps guide :D

@stormpat
Copy link
Contributor

stormpat commented Feb 5, 2016

Can confirm emacs is a lot snappier with the non osx-port. I installed 25, and had 0 issues with the install. I had to make some OSX specific tweaks (im using a scandinavian keyboard layout) but other than that 0 issues so far. Will report here if i encounter some issues.

@nixmaniack
Copy link
Contributor

I installed emacs25 non osx-port without any issues and default spacemacs config with org and magit works out of the box. Though I haven't turned on my full customizations yet, which I'm slowly getting now! Will report if any issues found.

@ordnungswidrig
Copy link

@d12frosted I tried removing the elpa dir and it failed, to download anything from the gnu elpa. Stuck with a running "gpg" process

/usr/local/bin/gpg --no-tty --status-fd 1 --yes --homedir /Users/billy/.emacs.d/elpa/gnupg --command-fd 0 --output /var/folders/p1/47jm9vq12g93ry9vf525h7vh0000gn/T/epg-output5607jsx --verify -- /var/folders/p1/47jm9vq12g93ry9vf525h7vh0000gn/T/epg-signature5607V2A -

If I kill the process and skipped anything from the repo, emacs would finally start (feeling snappier as @stormpat aready wrote) but run into issues with the native clipboard management -- effectively breaking every command that would interact with the keyboard (D, dw, x, etc.)

For reference, this was how I brewed emacs:

❯ brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick

@ntcong
Copy link
Contributor

ntcong commented Feb 7, 2016

screen shot 2016-02-07 at 21 12 48

I'm still have this problem with non osx port, is there any fix that I'm not aware of?

@aaronjensen
Copy link
Contributor Author

@ntcong I have that as well, @TheBB do you have an idea why spaceline's separators take on different colors in the non mac port of emacs?

@StreakyCobra
Copy link
Contributor

@aaronjensen SPC f e f powerline color RET 😉

@aaronjensen
Copy link
Contributor Author

@StreakyCobra Thanks.

@ntcong you can see http://irrationalrose.com/2015/05/29/workaround-for-srgb-colour-issue-for-powerline-on-os-x.html for a workaround. Alternatively, you can use the alternate separator and it won't matter as much 😄:

  (setq powerline-default-separator 'alternate)

@nixmaniack
Copy link
Contributor

@ntcong (setq ns-use-srgb-colorspace nil) fixes it for me.

@aaronjensen
Copy link
Contributor Author

@ntcong (setq ns-use-srgb-colorspace nil) fixes it for me.

Yes, but that also makes the color rendering of all of emacs wrong, so pick your poison.

@ntcong
Copy link
Contributor

ntcong commented Feb 8, 2016

yeah I think it introduces more problem that its fix.

Really I think mac-port only has some usability problems, while it works
out of the box for the features spacemacs advertise, so we can have a note
so people can pick their poison

@aaronjensen
Copy link
Contributor Author

It looks like dotspacemacs-fullscreen-use-non-native t has no effect with the brew install emacs version. That's a pretty unfortunate one. Is there a workaround?

Really I think mac-port only has some usability problems

Calling severe input lag a "usability problem" is a little too kind in my book :) I suppose if something is "unusable", that is a "usability problem" 😄

@d12frosted
Copy link
Contributor

Strange, for me setting dotspacemacs-fullscreen-use-non-native to t works in emacs 25. Just tested it. Don't forget that you also need to set dotspacemacs-fullscreen-at-startup to t and dotspacemacs-maximized-at-startup to nil.

P. S. sorry, missed that you were talking about brew install emacs. Can't check it right now, but in emacs 25 it's working :D

@aaronjensen
Copy link
Contributor Author

Ok that's good to know it's working in 25. Maybe I'll try it again some day. As it was, I ran into some issues.

@d12frosted
Copy link
Contributor

Well, I remember having some issues with brew install emacs, but I can't recall which exactly. With emacs 25 I usually encounter only one problem - package installation - some of the packages can't be installed properly only with emacs 25, so I have to switch between versions in order to finish packages installation. If someone who has better knowledge of Emacs could investigate it, that would be nice.

@aaronjensen
Copy link
Contributor Author

how do you run the two versions side-by-side? will homebrew install them both?

@aaronjensen
Copy link
Contributor Author

Also, do you not have problems w/ packages installed/built on 24 that try to run on 25? that seems like a recipe for subtle issues

@d12frosted
Copy link
Contributor

Well, actually I have installed only Emacs 25 and emacs-mac. So it's easy to switch between two version of them using brew link and brew unlink. For simplicity I implemented simple fish-function (I am fish user) for deciding which version to swap to:

function brew_swap_emacs
  set -l emacs_version (echo (emacs --version) | sed -e 's/GNU Emacs \([0-9]*\).*/\1/g')
  if test $emacs_version = "25"
    brew unlink emacs
    brew link emacs-mac
  else
    brew unlink emacs-mac
    brew link emacs
  end
end

It's easy to convert it to bash and change brew [un]link commands for your needs.

But you can also switch between emacs 25 and emacs 24 as well. There is command brew switch $FORMULA $VERSION which allow you to do it.

@d12frosted
Copy link
Contributor

Also, do you not have problems w/ packages installed/built on 24 that try to run on 25? that seems like a recipe for subtle issues

That's why I run emacs 25 at first, then it installs everything it can. Only then I run emacs 24 so it installs every package that emacs 25 fails to install. Emacs 24 is unusable actually, because most packages were built with emacs 25. So after emacs 24 done it's work - I switch back to emacs 25.

@nixmaniack
Copy link
Contributor

I'm just using this to use them side by side
25 HOME=~/emacs25 /usr/local/Cellar/emacs/HEAD/bin/emacs
24.5 /usr/local/Cellar/emacs-mac/emacs-24.5-z-mac-5.15/bin/emacs and have them conveniently aliased.

@aaronjensen
Copy link
Contributor Author

@d12frosted emacs 25 worked for me w/o the 6 step dance, so far things are working. Though the full screen thing still doesn't work. Are you on El Capitan?

@ntcong
Copy link
Contributor

ntcong commented Feb 8, 2016

Calling severe input lag a "usability problem" is a little too kind in my book :) I suppose if something is "unusable", that is a "usability problem"

I wouldn't say it's unusable, I never had problem with mac port before (I use emacs everyday), there's some minor issues but it works just fine.

So in order to switch to the non mac port, we should list the problem it will fix, and the problem it introduces, can we fix it, will it worth a switch over?

The srgb color space problem is pretty big, and it will be there in the face of our users all the time. Before emacs fixes it I'm against the move

@d12frosted
Copy link
Contributor

Haha. That's funny. On master it asks to install emacs-plus, but mentions emacs-mac at the bottom.

@bbrik
Copy link

bbrik commented Jun 3, 2016

emacs-mac has support for fonts with ligatures, emacs doesn't, but it is faster...

syl20bnr pushed a commit that referenced this issue Jun 9, 2016
So not it's recommended to install GNU emacs instead of emacs-mac as
discussed in #4955.
@vijaykiran
Copy link
Contributor

srgb is for fixing the colours - not sure if it is needed anymore though:

ref:
sellout/emacs-color-theme-solarized#103 & https://www.emacswiki.org/emacs/EmacsForMacOS#toc14

@aaronjensen
Copy link
Contributor Author

@vijaykiran that's from a much older version and doesn't apply to the problem being discussed here, which is about image colors. Modern emacs versions use ns-use-srgb-colorspace instead of a build flag, but again, that does not apply to image colors.

@vijaykiran
Copy link
Contributor

@aaronjensen Sorry - I was responding to old what is --srgb for? question.

@MagisDing
Copy link

MagisDing commented Jun 19, 2016

@d12frosted if I use

brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick

to install the latest snapshot of emacs 25, should I use brew upgrade emacs or "br reinstall emacs --HEAD" to keep it up-to-date?

@d12frosted
Copy link
Contributor

@MagisDing AFAIK, brew upgrade emacs doesn't handle --HEAD installation. So I always use full installation configuration: brew reinstall emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick. If you don't specify all options during reinstall, you'll get only what you ask :D

rockwood added a commit to rockwood/dotfiles that referenced this issue Jul 6, 2016
Switching to canonical emacs broke the powerline font. Keep an eye on:

syl20bnr/spacemacs#4955
@d12frosted
Copy link
Contributor

To be honest, brew caches some installation options. So sometimes it's safer to brew uninstall emacs[-plus] && brew install emacs[-plus] options.

@buggymcbugfix
Copy link

Have had issues installing packages with 25. Gone back to 24.5.1 and everything is ok.

@d12frosted
Copy link
Contributor

@Vimuel hey, I've seen it in #6572. Though I am not sure what might cause these problems. But just in case, could you please share how exactly you installed emacs? Also, sharing brew info emacs[-plus] could be helpful. Thanks in advance!

@buggymcbugfix
Copy link

@d12frosted According to my history I did this:
brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick

~ > brew info emacs
emacs: stable 24.5 (bottled), devel 25.0.95, HEAD
GNU Emacs text editor
https://www.gnu.org/software/emacs/
/usr/local/Cellar/emacs/24.5 (3,923 files, 110M) *
  Built from source on 2016-07-14 at 16:15:16 with: --with-cocoa --with-librsvg --with-gnutls --with-imagemagick
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/emacs.rb
==> Dependencies
Build: xz ✔, pkg-config ✔
Optional: dbus ✘, gnutls ✔, librsvg ✔, imagemagick ✔, mailutils ✘, glib ✔

@xcodebuild
Copy link
Contributor

BTW, we can install emacs-mac-port based on emacs25 with

brew tap railwaycat/emacsmacport
brew install emacs-mac --with-spacemacs-icon --HEAD

M-x emacs-version report
GNU Emacs 25.1.1 (x86_64-apple-darwin13.4.0, Carbon Version 157 AppKit 1265.21) of 2016-07-25

@edrex
Copy link
Contributor

edrex commented Jul 27, 2016

Is anyone tracking Homebrew/homebrew-core#3330? There seems to be movement toward removing the formula in favor of a "cask" which pulls down the emacsformacosx.com build.

@d12frosted
Copy link
Contributor

Hey @edrex

Thanks for the link. I wasn't aware of this movement. And can't say that I like the idea of removing Emacs formulae in favour of brew cask install emacs from emacsforosx. But then again, they can't force me to remove my own tap 😸 Gonna read discussions on this topic.

posva pushed a commit to posva/spacemacs that referenced this issue Aug 8, 2016
So not it's recommended to install GNU emacs instead of emacs-mac as
discussed in syl20bnr#4955.
@lethjakman
Copy link

I fixed the

Error (use-package): volatile-highlights :config: No primary method: cl-generic-generalizers, (eql etags)

with emacs 25 by removing the spotify layer. It may be a faulty layer that relies on it.

@yatesco
Copy link

yatesco commented Sep 19, 2016

Fancying a new yak to shave I thought I would try (thanks @d12frosted)

brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick

and a clean install of spacemacs and yep, worked a treat.

It might just be me wanting it to be, but it does seem quicker than 24.

@zxcvbn97
Copy link

I'm having the same problem as @ordnungswidrig . Is there any updates?

@d12frosted
Copy link
Contributor

Which exactly? With gpg or with elc?

On Wednesday, 21 September 2016, zxcvbn97 notifications@github.com wrote:

I'm having the same problem as @ordnungswidrig
https://github.com/ordnungswidrig . Is there any updates?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#4955 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGNNiamzbxyy6zpDFfEjcKS-Uweyk159ks5qsSn8gaJpZM4HTFTW
.

Cheers,
Boris

@rudedogg
Copy link

rudedogg commented Sep 24, 2016

@lethjakman Thanks! I had the same problem.

I was going to submit a new issue about it, but when testing on the develop branch the spotify layer works.

@d12frosted
Copy link
Contributor

Fixed with released of Spacemacs v0.200. Let us know if you still have any problems with this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests