--- a/components/emacs/README Wed Dec 18 10:04:53 2013 -0800
+++ b/components/emacs/README Wed Dec 18 15:13:15 2013 -0700
@@ -22,7 +22,7 @@
#
NAME: emacs
-VERSION: 23.4
+VERSION: 24.3
DESCRIPTION: GNU Emacs editor
LICENSE: GPLv3
BUGTRAQ: solaris/utility/emacs
@@ -36,40 +36,92 @@
- We patch the following changes to the emacs sources:
- sysmalloc.patch
- Use the system malloc instead of the built in one.
-
- dldump.patch
- Use the native Solaris dldump() function (emacs/src/unexsol.c)
- to produce the dumped emacs, rather than the generic ELF
- code (emacs-xxx/src/unexelf.c).
-
- xft.patch
- Patch configure script to provide necessary missing
- libraries for the GTK version of emacs.
-
- eval_file_local_var.patch
- When the Emacs user option `enable-local-variables' is set to
- `:safe' (the default value is t), Emacs should automatically refuse
- to evaluate `eval' forms in file-local variable sections. See:
-
- http://www.openwall.com/lists/oss-security/2012/08/13/1
- http://www.openwall.com/lists/oss-security/2012/08/13/2
+ face_for_font.patch
+ xdisp.c has a call to face_for_font(), a function that is
+ only present when window system support is included, which is
+ not the case for emacs-nox. This patch ifdefs the offending
+ call away.
find.patch
The rgrep function uses the GNU-specific -path option to the
find command. Change the default value for the find-program
variable in grep.el to use GNU find.
- tty_startup_hang.patch
- Emacs 23.x has a latent bug that causes it to run the X11 input
- select code even when running without a window system via the
- -nw option. This worked because a variable in libglib.so used
- to be zero, but in newer versions of libglib.so it is not. The
- result is that 'emacs -nw' hangs on startup and has to be killed
- from another shell. This is fixed in eamcs 24.2. See:
+ gtkutil.patch
+ This fixes a bug in emacs 24.3 in which a message like the
+ following is emitted to stderr on startup if emacs was started
+ with a specified geometry:
+
+ (emacs:4090): Gtk-WARNING **: gtk_window_parse_geometry() called
+ on a window with no visible children; the window should be set up
+ before gtk_window_parse_geometry() is called.
+
+ This was fixed upstream:
+
+ https://bugzilla.redhat.com/show_bug.cgi?id=929353
+ http://bzr.savannah.gnu.org/lh/emacs/trunk/revision/111078
+
+- The emacs distribution used to have a subdirectory, src/s, which
+ contained per-platform header files. We would apply the following
+ patches:
+
+ sol2-6.h: Enable the use of the native Solaris dldump()
- http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9754
+ --- sol2-6.h.~1~ 2011-10-17 19:20:46.000000000 -0600
+ +++ sol2-6.h 2013-09-23 13:34:26.683033182 -0600
+ @@ -2,10 +2,17 @@
+
+ #include "sol2-5.h"
+
+ -#if 0 /* dldump does not handle all the extensions used by GNU ld. */
+ +/*
+ + * Use the Solaris dldump() function to dump emacs, instead of
+ + * the generic unexelf code.
+ + *
+ + * If you encounter a problem using dldump(), please consider sending
+ + * a message to the OpenSolaris tools-linking mailing list:
+ + * http://mail.opensolaris.org/mailman/listinfo/tools-linking
+ + */
+ +
+ #undef UNEXEC
+ #define UNEXEC unexsol.o
+ -#endif
+
+ /* arch-tag: 71ea3857-89dc-4395-9623-77964e6ed3ca
+ (do not change this comment) */
+
+ sol2-5.h: Use the system malloc instead of the GNU malloc:
+
+ --- sol2-5.h.~1~ 2011-10-17 19:20:46.000000000 -0600
+ +++ sol2-5.h 2013-09-23 13:34:26.732656398 -0600
+ @@ -17,6 +17,7 @@
+ /* This is not always necessary. Turned off at present for testers to
+ identify any problems with gmalloc more accurately. */
+ /* #define SYSTEM_MALLOC */
+ +#define SYSTEM_MALLOC
+
+ /* There have problems reported with mmap at least on Solaris 2.6
+ and 2.7. For simplicity, let's not use mmap for anything >= 2.5.
+
+ These are both handled by default by the configure process, and in fact,
+ comments from the header file appear to have been carried over. With every
+ update, we must verify that these settings stick and remain enabled.
+
+ System Malloc:
+ The information output at the end of the configure step verifies this:
+
+ Configured for `x86_64-pc-solaris2.12'.
+ ...
+ Should Emacs use the GNU version of malloc? no
+ (The GNU allocators don't work with this system configuration.)
+
+ dldump:
+ One could examine the configure script looking for the setting
+ "UNEXEC_OBJ=unexsol.o", but it seems easier/better to simply examine
+ the final executable:
+
+ % pvs -nos emacs | grep dldump
+ emacs - libc.so.1 (SUNW_1.22): dldump;
- Emacs can be built as either 32-bit or 64-bit, depending on the target
machine. The benefit of a 64-bit emacs is that the size of the files it
@@ -98,17 +150,34 @@
versions are quite stable from release to release, so this isn't a large
burden.
+- In the past, we built emacs with gcc. The Makefile contained:
+
+ # This code is built with gcc. The primary reason for this is that the
+ # configure script has problems using a non-GNU cpp. I am not aware of
+ # any reason Sun Studio could not be made to work, but simply made a
+ # cost/benefit decision not to pursue it at this time
+ COMPILER = gcc
+
+ With emacs 24.3, I removed this, and find that studio now builds
+ emacs without issue. This is something that should be reverified
+ with each update.
+
+- Remember to update resolve.deps when updating to a new version,
+ as dependencies can change. Instructions are on the Userland website.
+
- We deliver the following packages:
gnu-emacs - Everything you need to run emacs, except the
emacs binaries.
- gnu-emacs-gtk - Binaries for the X11 version using the GTK toolkit.
+ gnu-emacs-gtk - Binary for the X11 version using the GTK toolkit.
- gnu-emacs-no-x11 - Pure tty emacs binaries, built without
- any X11 linkage. Ideal for headless server systems.
+ gnu-emacs-no-x11 - Pure tty emacs binary, built without
+ any X11 linkage or other extra support (i.e. D-bus). This
+ is the most basic emacs possible, ideal for headless server
+ systems.
- gnu-emacs-x11 - Binaries for the X11 version using the Athena
+ gnu-emacs-x11 - Binary for the X11 version using the Athena
widget (Xaw) toolkit.
gnu-emacs-lisp - The compressed LISP files for which compiled