[OS X Emacs] Upgrade GNU Emacs 23.0.60 to Emacs.app 9.0-rc3

Peter Dyballa Peter_Dyballa at Web.DE
Sat Dec 8 18:22:03 EST 2007


Hello!

When trying to build Emacs.app from the recent GNU Emacs 23.0.60 code  
a few glitches happen, so for example a few patches were rejected:

	Makefile.in:   ns-emacs(.texi) could not be inserted because nxml- 
mode entered the scene

	configure.in:  AC_PREREQ(2.61)dnl not commented because of changed  
next line
		       EMACS_ARG_Y([ns]... not inserted because of dbus

	src/Makefile:  .SUFFIXES: .m and .m.o rule problems because of  
DBUS_CFLAGS
		       #ifdef GNUSTEP not inserted because of DBUS_LIBS

	src/font.c:    ASET (scratch_font_spec, FONT_REGISTRY_INDEX,  
Qiso10646_1); not necessary?
		       syms_of_nsfont (); already there

	src/fontset.c: ASET (font_spec, j, AREF (font_spec, j)); not necessary?
		       family = Fdowncase (family); already deleted ?
		       registry = Fdowncase (registry); already deleted

	src/xfaces.c:  return lookup_face (f, attrs); already there


However I cannot check whether the code can be compiled, because  
compilation ends with:

	xdisp.c: In function ‘handle_auto_composed_prop’:
	xdisp.c:4591: error: ‘enable_font_backend’ undeclared (first use in  
this function)
	xdisp.c:4591: error: (Each undeclared identifier is reported only once
	xdisp.c:4591: error: for each function it appears in.)

The reason is from

	#ifdef HAVE_WINDOW_SYSTEM
	#ifdef USE_FONT_BACKEND
	#include "font.h"
	#endif	/* USE_FONT_BACKEND */
	#endif	/* HAVE_WINDOW_SYSTEM */

and src/config.h, somehow. Of course src/xdisp.c has

	#include <config.h>

and src/config.h has

	/* If we're using NeXTstep, define some consequences. */
	#ifdef HAVE_NS
	#define HAVE_WINDOW_SYSTEM
	#define MULTI_KBOARD
	#define HAVE_MOUSE
	#ifdef GNUSTEP
	#define CANNOT_DUMP
	#endif
	/* PENDING: These are used for the Carbon port only. */
	/* #undef MAC_OS */
	/* #undef MAC_OSX */
	#endif

so obviously HAVE_NS does not gets set. Because configure.in is newer  
than configure ... So a 'autoreconf -fvi' is needed – removes  
additions to src/config.in! And for this purpose it's good to have  
'AC_PREREQ(2.61)dnl' commented out in configure.in in case one is not  
proud user of autoconf 2.61! Now HAVE_NS is defined as 1 and src/ 
config.h has:

	/* Likewise if we're using the Carbon or NeXTStep APIs on Mac OS X.  
*/ 955
	#ifdef HAVE_CARBON || defined(HAVE_NS)
	#define HAVE_WINDOW_SYSTEM
	#define HAVE_MOUSE
	#endif
	#ifdef HAVE_NS
	#define MULTI_KBOARD
	#endif

and also USE_FONT_BACKEND is defined as 1. But still the same error!  
Changing the line

	#ifdef HAVE_CARBON || defined(HAVE_NS)

to

	#if defined(HAVE_CARBON) || defined(HAVE_NS)

in scr/config.h lets xdisp.c compile ...

So it's obvious that line #274 of emacs-23.0.0_NS-9.0rc3.patch needs  
a patch!


In the end no success:

	cc-vars.el:158:1:Warning: !! The file uses old-style backquotes !!
	This functionality has been obsolete for more than 10 years already
	and will be removed soon.  See (elisp)Backquote in the manual.
	Wrote .../emacs-23.0.0_NS-9.0rc3/lisp/progmodes/cc-vars.elc
	Compiling .../emacs-23.0.0_NS-9.0rc3/lisp/./abbrev.el
	
	In toplevel form:
	abbrev.el:735:4:Error: Lisp nesting exceeds `max-lisp-eval-depth'
	make[2]: *** [compile] Error 1
	make[1]: *** [bootstrap-build] Error 2
	make: *** [bootstrap] Error 2
	+ status=2
	+ '[' -f src/epaths.h-orig ']'
	+ mv src/epaths.h-orig src/epaths.h

Producing the X client went fine. So I change '$MAKE bootstrap' a  
simple '$MAKE' – and now it succeeds! Emacs.app even runs in Terminal  
and xterm! But when launching it as 'Aqua client' it fails:

	Font `LucidaSans-Typewriter' is not defined

even when launched with -Q. The X client, when compiled with enabled  
font backend, crashes within a minute or two before the first frame  
is created.


--
Greetings

   Pete

Let's face it; we don't want a free market economy either.
		– James Farley, president, Coca-Cola Export Corp., 1959



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://email.esm.psu.edu/pipermail/macosx-emacs/attachments/20071209/679b7279/attachment.html>


More information about the MacOSX-Emacs mailing list