From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?ISO-8859-1?Q?Germ=E1n?= Arias Newsgroups: gmane.emacs.devel Subject: Re: Emacs with Cocoa/GNUstep Date: Wed, 27 Apr 2011 18:24:43 -0600 Message-ID: <1303950283.5611.10.camel@german-desktop> References: <1303864750.11832.3.camel@german-desktop> <4DB86AEF.7060809@harpegolden.net> Reply-To: german@xelalug.org NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: dough.gmane.org 1303950298 2846 80.91.229.12 (28 Apr 2011 00:24:58 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 28 Apr 2011 00:24:58 +0000 (UTC) Cc: Emacs To: David De La Harpe Golden Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Apr 28 02:24:54 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QFF2L-0000yI-Gg for ged-emacs-devel@m.gmane.org; Thu, 28 Apr 2011 02:24:53 +0200 Original-Received: from localhost ([::1]:41200 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QFF2K-0005bE-PA for ged-emacs-devel@m.gmane.org; Wed, 27 Apr 2011 20:24:52 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:50951) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QFF2H-0005b9-DP for emacs-devel@gnu.org; Wed, 27 Apr 2011 20:24:50 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QFF2G-0001N8-48 for emacs-devel@gnu.org; Wed, 27 Apr 2011 20:24:49 -0400 Original-Received: from mail-yi0-f41.google.com ([209.85.218.41]:42562) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QFF2F-0001N2-Vd for emacs-devel@gnu.org; Wed, 27 Apr 2011 20:24:48 -0400 Original-Received: by yib18 with SMTP id 18so975770yib.0 for ; Wed, 27 Apr 2011 17:24:47 -0700 (PDT) Original-Received: by 10.150.116.18 with SMTP id o18mr2612745ybc.436.1303950287373; Wed, 27 Apr 2011 17:24:47 -0700 (PDT) Original-Received: from [192.168.1.5] ([190.149.96.30]) by mx.google.com with ESMTPS id t16sm693213ybe.4.2011.04.27.17.24.45 (version=SSLv3 cipher=OTHER); Wed, 27 Apr 2011 17:24:46 -0700 (PDT) In-Reply-To: <4DB86AEF.7060809@harpegolden.net> X-Mailer: Evolution 2.22.2 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 209.85.218.41 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:138861 Archived-At: 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 GNUstep). > > 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: german@german-desktop:~/Instalados/emacs$ openapp ./nextstep/Emacs.app/ /home/german/Instalados/emacs/nextstep/Emacs.app/Emacs: Uncaught exception NSInternalInconsistencyException, reason: NSApp's run called recursively > > 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 ?! >