[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