[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Emacs with Cocoa/GNUstep

From: Germán Arias
Subject: Re: Emacs with Cocoa/GNUstep
Date: Wed, 27 Apr 2011 18:24:43 -0600

On mié, 2011-04-27 at 20:13 +0100, David De La Harpe Golden wrote:
> Probably not a whole lot.... FWIW, I built it successfully several times 
> a few months back, and though it was not really especially useful once 
> built, it was not completely unusable either, it was working enough for 
> me to debug some pasteboard interaction issues without having access to 
> macosx.
> I'm not personally up to doing much it about it at the moment, so here 
> are some notes (Stefan: mostly same ones I passed offlist to you at the 
> time) as a braindump, some of the below is probably obsolete:

Thanks, Stefan sent me a copy of that email some days ago.

> First and foremost, DO NOT use any debian packages of GNUstep at time of 
> writing, they're obsolete and hopelessly buggy, especially on 64-bit.  I 
> wasted basically a weekend's worth of emacs-time that way, I switched to 
> an svn checkout of GNUstep installed to /usr/local/GNUstep and was up 
> and running fairly rapidly.
> GNUstep itself is fairly painless to build from source (though n.b. I am 
> used to underdocumented build scripts from hell from work, my perception 
> may be skewed), the most tricky bit was getting building the 
> gnustep-back backend right, so that I could use cairo.
> http://wiki.gnustep.org/index.php/GNUstep_Installation_Process

I'm a contributor to GNUstep project since 2 years ago. So I really
don't have problems to install it from source. In fact I have more or
less (with some additions from SVN) the latest stable release of
GNUstep. And many apps that run perfectly.

> The other build-time issue is that emacs "./configure --with-ns" doesn't 
> seem to discover the ObjC headers properly in the gnustep case - 
> specifying CPPFLAGS "fixed" that, but I suspect TRT would be to have 
> emacs' configure use "gnustep-config --objc-flags" to discover the flags 
> (or maybe just $GNUSTEP_MAKEFILES and the right part of gnustep's 
> Makefiles, but gnustep-config seems interesting 'cos it apparently works 
> much like other blah-config type tools).

./configure --with-ns works fine form me (with stable release of

> I wouldn't say it is _totally_ unusable, but neither is it at all 
> pleasant .  There are probably plenty more smaller issues that I'm 
> presently not noticing given the big ones:

I tried Emacs.app like a year ago. I don't remember exactly what
version. I tested it and worked (with problems and sometimes crashed).
But currently, when I try to launch it I get the error:

address@hidden:~/Instalados/emacs$ openapp ./nextstep/Emacs.app/
/home/german/Instalados/emacs/nextstep/Emacs.app/Emacs: Uncaught
exception NSInternalInconsistencyException, reason: NSApp's run called

> 0. Make sure the relevant gnustep daemons are running.
> I mean the gpbs / gdnc /gdomap  daemons. Not really an emacs problem, 
> and documented in the gnustep docs, just something to be aware of.
> gpbs is particularly important, as it's the GNUstep PasteBoard Server, 
> and without it, clipboard/primary/secondary just ain't gonna work.
> http://gnustep.made-it.com/BuildGuide/index.html#GNUSTEP.SERVICES
> 1. frame resizing.
> The single most major annoyance (or at least tied with repaint) is that 
> it doesn't handle being resized by the window manager, you have to 
> (set-frame-width/height) from within emacs for it to work.  I guess 
> macosx handles resizing differently.
> 2. repaint
> There are nasty repaint issues sometimes too upon partial scrolling, a 
> bit like the ones you used to see on w32 emacs under wine.  A 
> page-scroll up and down has thus far largely dispelled them when they 
> occur. Some of the colors seem way off (my yellow-on-black fringes come 
> out cyan-on-white).
> 3. toolbar/scrollbar.
> The toolbar doesn't work, and the scrollbars only work sometimes, but 
> it's not like I use either much.  The menu bar is fine.
> 4. choice of fonts and gui backend:
> Wrong choice of font can render it difficult to use too - its metric 
> computation isn't always right I guess, with one font I ended up with 
> something like a 3-pixel high minibuffer.
> Remember that GNUstep also has multiple graphics backends with different 
> font behaviours, I used the cairo backend which reputedly has slightly 
> poorer font rendering than art, but OTOH worked.
> Remember to try with "openapp Emacs -Q", because your ~/.emacs (which 
> gnustep will see) might be setting a problematic font, mine initially was.
> It sometimes makes "interesting" font choices itself, I don't know where 
> it found some sort of comic-sans alike on my system but it did.
> 5. Non-latin chars.
> Doesn't seem to do well here at all.
> 6. keyboard modifier mapping
> One thing that helped a lot was to reconfigure the gnustep-level 
> keyboard modifier mapping so that the keys in ns emacs ultimately wound 
> up similar to x11 emacs with its out-of-box defaults.
> http://www.gnustep.org/resources/documentation/Developer/Back/General/DefaultsSummary.html
> I used (with Help on Super_R because I wanted to see what it did, turns 
> out ns emacs treats it as Hyper...):
> NSGlobalDomain GSFirstControlKey Control_L
> NSGlobalDomain GSSecondControlKey Control_R
> NSGlobalDomain GSFirstAlternateKey Alt_L
> NSGlobalDomain GSSecondAlternateKey NoSymbol
> NSGlobalDomain GSFirstCommandKey Super_L
> NSGlobalDomain GSSecondCommandKey NoSymbol
> NSGlobalDomain GSFirstHelpKey Help
> NSGlobalDomain GSSecondHelpKey Super_R
> 7. [new since I passed this to Stefan]. No timers/idle???
> Timers and idle stuff mostly not running, I think. Emacs processes stuff 
> when there's input i.e. wiggle the mouse to make stuff happen ?!

reply via email to

[Prev in Thread] Current Thread [Next in Thread]