# HG changeset patch # User Dan Nicolaescu # Date 1278058284 25200 # Node ID a17732ef349ed36fcd809b067243d306d7b90eda # Parent ed7496d9246745d23d66196ef9c86fb5240d35f5 Define USE_LISP_UNION_TYPE using autoconf. * configure.in (--enable-use-lisp-union-type): New flag. * src/lisp.h: Document that USE_LISP_UNION_TYPE is now enabled using autoconf. diff -r ed7496d92467 -r a17732ef349e ChangeLog --- a/ChangeLog Fri Jul 02 00:05:09 2010 -0700 +++ b/ChangeLog Fri Jul 02 01:11:24 2010 -0700 @@ -1,3 +1,7 @@ +2010-07-02 Dan Nicolaescu + + * configure.in (--enable-use-lisp-union-type): New flag. + 2010-06-30 Dan Nicolaescu Fix CFLAGS for non-GCC compilers. diff -r ed7496d92467 -r a17732ef349e configure --- a/configure Fri Jul 02 00:05:09 2010 -0700 +++ b/configure Fri Jul 02 01:11:24 2010 -0700 @@ -825,6 +825,7 @@ enable_maintainer_mode enable_locallisppath enable_checking +enable_use_lisp_union_type enable_profiling enable_autodepend enable_largefile @@ -1477,6 +1478,10 @@ only specific categories of checks. Categories are: all,yes,no. Flags are: stringbytes, stringoverrun, stringfreelist, xmallocoverrun, conslist + --enable-use-lisp-union-type + use a union for the Lisp_Object data type. This is + only useful for development for catching certain + types of bugs. --enable-profiling build emacs with profiling support. This might not work on all platforms --enable-autodepend automatically generate dependencies to .h-files. @@ -2978,6 +2983,17 @@ fi +# Check whether --enable-use-lisp-union-type was given. +if test "${enable_use_lisp_union_type+set}" = set; then : + enableval=$enable_use_lisp_union_type; if test "${enableval}" != "no"; then + +$as_echo "#define USE_LISP_UNION_TYPE 1" >>confdefs.h + +fi +fi + + + # Check whether --enable-profiling was given. if test "${enable_profiling+set}" = set; then : enableval=$enable_profiling; ac_enable_profiling="${enableval}" @@ -4290,7 +4306,7 @@ C_OPTIMIZE_SWITCH=-O2 test "x$GCC_TEST_OPTIONS" != x && CC="$CC $GCC_TEST_OPTIONS" else - C_OPTIMIZE_SWITCH=-O + C_OPTIMIZE_SWITCH=-O test "x$NON_GCC_TEST_OPTIONS" != x && CC="$CC $NON_GCC_TEST_OPTIONS" fi diff -r ed7496d92467 -r a17732ef349e configure.in --- a/configure.in Fri Jul 02 00:05:09 2010 -0700 +++ b/configure.in Fri Jul 02 01:11:24 2010 -0700 @@ -305,6 +305,16 @@ [Define this to check for errors in cons list.]) fi +AC_ARG_ENABLE(use-lisp-union-type, +[AS_HELP_STRING([--enable-use-lisp-union-type], + [use a union for the Lisp_Object data type. + This is only useful for development for catching certain types of bugs.])], +if test "${enableval}" != "no"; then + AC_DEFINE(USE_LISP_UNION_TYPE, 1, + [Define this to use a lisp union for the Lisp_Object data type.]) +fi) + + AC_ARG_ENABLE(profiling, [AS_HELP_STRING([--enable-profiling], [build emacs with profiling support. diff -r ed7496d92467 -r a17732ef349e etc/NEWS --- a/etc/NEWS Fri Jul 02 00:05:09 2010 -0700 +++ b/etc/NEWS Fri Jul 02 01:11:24 2010 -0700 @@ -47,6 +47,10 @@ also depend on Gtk+. You can disable them with --without-rsvg and --without-gconf. +** There is a new configure option --enable-use-lisp-union-type. +This is only useful for Emacs developers to debug certain types of bugs. +These is not a new feature; only the configure flag is new. + * Startup Changes in Emacs 24.1 diff -r ed7496d92467 -r a17732ef349e src/ChangeLog --- a/src/ChangeLog Fri Jul 02 00:05:09 2010 -0700 +++ b/src/ChangeLog Fri Jul 02 01:11:24 2010 -0700 @@ -1,5 +1,7 @@ 2010-07-02 Dan Nicolaescu + * lisp.h: Document that USE_LISP_UNION_TYPE is now enabled using autoconf. + Cleanup old code. * dired.c (BSD4_3): Remove all uses, redundant with BSD4_2. * syssignal.h: Remove code for Lynx, not supported anymore. diff -r ed7496d92467 -r a17732ef349e src/config.in --- a/src/config.in Fri Jul 02 00:05:09 2010 -0700 +++ b/src/config.in Fri Jul 02 01:11:24 2010 -0700 @@ -933,6 +933,9 @@ /* Define to 1 if using GTK. */ #undef USE_GTK +/* Define this to use a lisp union for the Lisp_Object data type. */ +#undef USE_LISP_UNION_TYPE + /* Define to 1 if using the Lucid X toolkit. */ #undef USE_LUCID diff -r ed7496d92467 -r a17732ef349e src/lisp.h --- a/src/lisp.h Fri Jul 02 00:05:09 2010 -0700 +++ b/src/lisp.h Fri Jul 02 01:11:24 2010 -0700 @@ -95,10 +95,9 @@ #endif #endif /* ENABLE_CHECKING */ -/* Define this to make Lisp_Object use a union type instead of the - default int. FIXME: It might be better to add a flag to configure - to do this. */ -/* #define USE_LISP_UNION_TYPE */ +/* Use the configure flag --enable-use-lisp-union-type to make + Lisp_Object use a union type instead of the default int. The flag + causes USE_LISP_UNION_TYPE to be defined. */ /***** Select the tagging scheme. *****/ /* There are basically two options that control the tagging scheme: