aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoranray <anray@FreeBSD.org>2006-02-02 21:28:42 +0800
committeranray <anray@FreeBSD.org>2006-02-02 21:28:42 +0800
commitc535eab3006dd2dd00715437302d6ba54b34aaae (patch)
tree87d3af866f1f8a742edece0e0606a273ad63d683
parent2181aa862bd787b16a07d25200654ed1afd5addb (diff)
downloadfreebsd-ports-gnome-c535eab3006dd2dd00715437302d6ba54b34aaae.tar.gz
freebsd-ports-gnome-c535eab3006dd2dd00715437302d6ba54b34aaae.tar.zst
freebsd-ports-gnome-c535eab3006dd2dd00715437302d6ba54b34aaae.zip
1.Integrate some bugfixes from upstream cvs:
* Increase MAX_FONT_COUNT from 5000 to INT_MAX. Applies to both the X and GTK platforms. * Improve Russian C-x processing. * More mule-ization and fix related crashes. * Call set-current-locale (the wrapper for setlocale(3)) before checking the current locale, because the C code doesn't. * Initialise the hardware-specific mapping from raw keycodes to the US key layout. 2.Fix pkg-plist. Reported by: pointyhat(kris) (2)
-rw-r--r--editors/xemacs-devel-mule/Makefile2
-rw-r--r--editors/xemacs-devel-mule/files/patch-cmdloop.el28
-rw-r--r--editors/xemacs-devel-mule/files/patch-dynarr.c57
-rw-r--r--editors/xemacs-devel-mule/files/patch-mule-cmds.el34
-rw-r--r--editors/xemacs-devel-mule/files/patch-objects-gtk.c28
-rw-r--r--editors/xemacs-devel-mule/files/patch-objects-x.c42
-rw-r--r--editors/xemacs-devel-mule/files/patch-x-win-xfree86.el46
-rw-r--r--editors/xemacs-devel-mule/pkg-plist36
-rw-r--r--editors/xemacs-devel-mule/pkg-plist.arch-dep14
9 files changed, 246 insertions, 41 deletions
diff --git a/editors/xemacs-devel-mule/Makefile b/editors/xemacs-devel-mule/Makefile
index e3bd54a9b0e8..a5999e04132f 100644
--- a/editors/xemacs-devel-mule/Makefile
+++ b/editors/xemacs-devel-mule/Makefile
@@ -7,7 +7,7 @@
PORTNAME= xemacs-devel-mule
PORTVERSION= ${XEMACS_VER:S/-/./}
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES+= editors
MASTER_SITES= ${MASTER_SITE_XEMACS}
MASTER_SITE_SUBDIR= xemacs-${XEMACS_REL}
diff --git a/editors/xemacs-devel-mule/files/patch-cmdloop.el b/editors/xemacs-devel-mule/files/patch-cmdloop.el
new file mode 100644
index 000000000000..f14ddb4627f4
--- /dev/null
+++ b/editors/xemacs-devel-mule/files/patch-cmdloop.el
@@ -0,0 +1,28 @@
+Index: cmdloop.el
+===================================================================
+RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/cmdloop.el,v
+retrieving revision 1.18
+retrieving revision 1.19
+diff -u -r1.18 -r1.19
+--- lisp/cmdloop.el 2005/06/26 18:04:49 1.18
++++ lisp/cmdloop.el 2006/01/08 20:00:43 1.19
+@@ -579,7 +579,8 @@
+ (setq char (aref translated 0)))))
+ (cond ((null char))
+ ((not (characterp char))
+- (setq unread-command-events (list char)
++ ;; XEmacs change; event instead of char.
++ (setq unread-command-events (list event)
+ done t))
+ ; ((/= (logand char ?\M-\^@) 0)
+ ; ;; Turn a meta-character into a character with the 0200 bit set.
+@@ -598,7 +599,8 @@
+ ((and (not first) (eq char ?\C-m))
+ (setq done t))
+ ((not first)
+- (setq unread-command-events (list char)
++ ;; XEmacs change; event instead of char.
++ (setq unread-command-events (list event)
+ done t))
+ (t (setq code (char-to-int char)
+ done t)))
diff --git a/editors/xemacs-devel-mule/files/patch-dynarr.c b/editors/xemacs-devel-mule/files/patch-dynarr.c
new file mode 100644
index 000000000000..5957624348d6
--- /dev/null
+++ b/editors/xemacs-devel-mule/files/patch-dynarr.c
@@ -0,0 +1,57 @@
+Index: src/dynarr.c
+===================================================================
+RCS file: /pack/xemacscvs/XEmacs/xemacs/src/dynarr.c,v
+retrieving revision 1.13
+retrieving revision 1.14
+diff -u -r1.13 -r1.14
+--- src/dynarr.c 2005/11/25 01:41:59 1.13
++++ src/dynarr.c 2006/01/20 17:59:50 1.14
+@@ -129,16 +129,17 @@
+ static int Dynarr_min_size = 8;
+
+ static void
+-Dynarr_realloc (Dynarr *dy, Bytecount new_size)
++Dynarr_realloc (Dynarr *dy, int new_size)
+ {
+ if (DUMPEDP (dy->base))
+ {
+ void *new_base = malloc (new_size);
+- memcpy (new_base, dy->base, dy->max > new_size ? dy->max : new_size);
++ memcpy (new_base, dy->base,
++ (dy->max < new_size ? dy->max : new_size) * dy->elsize);
+ dy->base = new_base;
+ }
+ else
+- dy->base = xrealloc (dy->base, new_size);
++ dy->base = xrealloc (dy->base, new_size * dy->elsize);
+ }
+
+ void *
+@@ -158,13 +159,13 @@
+ Dynarr);
+
+ static void
+-Dynarr_lisp_realloc (Dynarr *dy, Elemcount new_size)
++Dynarr_lisp_realloc (Dynarr *dy, int new_size)
+ {
+ void *new_base = alloc_lrecord_array (dy->elsize, new_size, dy->lisp_imp);
+ void *old_base = dy->base;
+ if (dy->base)
+ memcpy (new_base, dy->base,
+- (dy->max > new_size ? dy->max : new_size) * dy->elsize);
++ (dy->max < new_size ? dy->max : new_size) * dy->elsize);
+ dy->base = new_base;
+ if (old_base)
+ mc_free (old_base);
+@@ -205,9 +206,9 @@
+ if (dy->lisp_imp)
+ Dynarr_lisp_realloc (dy, newsize);
+ else
+- Dynarr_realloc (dy, newsize*dy->elsize);
++ Dynarr_realloc (dy, newsize);
+ #else /* not NEW_GC */
+- Dynarr_realloc (dy, newsize*dy->elsize);
++ Dynarr_realloc (dy, newsize);
+ #endif /* not NEW_GC */
+ dy->max = newsize;
+ }
diff --git a/editors/xemacs-devel-mule/files/patch-mule-cmds.el b/editors/xemacs-devel-mule/files/patch-mule-cmds.el
new file mode 100644
index 000000000000..47bd632ef594
--- /dev/null
+++ b/editors/xemacs-devel-mule/files/patch-mule-cmds.el
@@ -0,0 +1,34 @@
+Index: lisp/mule/mule-cmds.el
+===================================================================
+RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/mule/mule-cmds.el,v
+retrieving revision 1.26
+retrieving revision 1.27
+diff -u -r1.26 -r1.27
+--- lisp/mule/mule-cmds.el 2005/12/17 19:47:00 1.26
++++ lisp/mule/mule-cmds.el 2005/12/24 21:59:21 1.27
+@@ -1341,12 +1341,19 @@
+ ;; locale but we should still use the right code page, etc.
+ (declare-fboundp (mswindows-set-current-locale userdef)))
+ ;; Unix:
+- (let ((locstring (current-locale)))
+- ;; assume C lib locale and LANG env var are set correctly. use
+- ;; them to find the langenv.
+- (setq langenv
+- (and locstring (get-language-environment-from-locale
+- locstring)))))
++ (let (locstring)
++ ;; Init the POSIX locale from the environment--this calls the C
++ ;; library's setlocale(3).
++ (set-current-locale "")
++ ;; Can't let locstring be the result of (set-current-locale "")
++ ;; because that can return a more detailed string than we know how
++ ;; to handle.
++ (setq locstring (current-locale)
++ ;; assume C lib locale and LANG env var are set correctly.
++ ;; use them to find the langenv.
++ langenv
++ (and locstring (get-language-environment-from-locale
++ locstring)))))
+ ;; All systems:
+ (unless langenv (setq langenv "English"))
+ (setq current-language-environment langenv)
diff --git a/editors/xemacs-devel-mule/files/patch-objects-gtk.c b/editors/xemacs-devel-mule/files/patch-objects-gtk.c
new file mode 100644
index 000000000000..ed9b96938bc4
--- /dev/null
+++ b/editors/xemacs-devel-mule/files/patch-objects-gtk.c
@@ -0,0 +1,28 @@
+Index: src/objects-gtk.c
+===================================================================
+RCS file: /pack/xemacscvs/XEmacs/xemacs/src/objects-gtk.c,v
+retrieving revision 1.16
+retrieving revision 1.17
+diff -u -r1.16 -r1.17
+--- src/objects-gtk.c 2005/01/28 02:58:51 1.16
++++ src/objects-gtk.c 2005/12/24 17:33:34 1.17
+@@ -485,8 +485,7 @@
+ /* X Specific stuff */
+ #include <X11/Xatom.h>
+
+-/* Unbounded, for sufficiently small values of infinity... */
+-#define MAX_FONT_COUNT 5000
++#define MAX_FONT_COUNT INT_MAX
+
+ #ifdef MULE
+ /* find a font spec that matches font spec FONT and also matches
+@@ -536,9 +535,6 @@
+ return result;
+ }
+ #endif /* MULE */
+-
+-/* Unbounded, for sufficiently small values of infinity... */
+-#define MAX_FONT_COUNT 5000
+
+ static int
+ valid_font_name_p (Display *dpy, char *name)
diff --git a/editors/xemacs-devel-mule/files/patch-objects-x.c b/editors/xemacs-devel-mule/files/patch-objects-x.c
index cd671e854b92..25e5b3b4acd3 100644
--- a/editors/xemacs-devel-mule/files/patch-objects-x.c
+++ b/editors/xemacs-devel-mule/files/patch-objects-x.c
@@ -1,12 +1,34 @@
-Index: objects-x.c
+Index: src/objects-x.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/objects-x.c,v
retrieving revision 1.30
-retrieving revision 1.31
-diff -u -r1.30 -r1.31
+retrieving revision 1.36
+diff -u -r1.30 -r1.36
--- src/objects-x.c 2005/11/26 18:25:03 1.30
-+++ src/objects-x.c 2005/12/20 22:01:52 1.31
-@@ -1175,7 +1175,7 @@
++++ src/objects-x.c 2006/01/20 17:50:46 1.36
+@@ -693,8 +693,9 @@
+ return result;
+ }
+
+-/* Unbounded, for sufficiently small values of infinity... */
+-#define MAX_FONT_COUNT 5000
++/* XListFonts doesn't allocate memory unconditionally based on this. (For
++ XFree86 in 2005, at least. */
++#define MAX_FONT_COUNT INT_MAX
+
+ static Extbyte *
+ truename_via_XListFonts (Display *dpy, Extbyte *font_name)
+@@ -807,7 +808,8 @@
+ FcChar8 *res = FcNameUnparse (FONT_INSTANCE_X_XFTFONT (f)->pattern);
+ if (res)
+ {
+- FONT_INSTANCE_TRUENAME (f) = make_string (res, strlen (res));
++ FONT_INSTANCE_TRUENAME (f) =
++ build_ext_string (res, Qxft_font_name_encoding);
+ free (res);
+ return FONT_INSTANCE_TRUENAME (f);
+ }
+@@ -1175,7 +1177,7 @@
Extbyte **names;
int count = 0;
const Extbyte *patternext;
@@ -15,3 +37,13 @@ diff -u -r1.30 -r1.31
int i;
/* #### with Xft need to handle second stage here -- sjt
+@@ -1441,7 +1443,8 @@
+ if (x_font_spec_matches_charset (XDEVICE (device), charset,
+ intname, Qnil, 0, -1, 0))
+ {
+- result = make_string (intname, intlen);
++ result = build_ext_string ((const Extbyte *) intname,
++ Qx_font_name_encoding);
+ break;
+ }
+ }
diff --git a/editors/xemacs-devel-mule/files/patch-x-win-xfree86.el b/editors/xemacs-devel-mule/files/patch-x-win-xfree86.el
new file mode 100644
index 000000000000..9c40cdd7e33d
--- /dev/null
+++ b/editors/xemacs-devel-mule/files/patch-x-win-xfree86.el
@@ -0,0 +1,46 @@
+Index: lisp/x-win-xfree86.el
+===================================================================
+RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/x-win-xfree86.el,v
+retrieving revision 1.5
+retrieving revision 1.6
+diff -u -r1.5 -r1.6
+--- lisp/x-win-xfree86.el 2001/05/04 22:42:19 1.5
++++ lisp/x-win-xfree86.el 2005/12/24 19:53:53 1.6
+@@ -46,6 +46,37 @@
+
+ ;;;###autoload
+ (defun x-win-init-xfree86 ()
++
++ ;; We know this keyboard is an XFree86 keyboard. As such, we can predict
++ ;; what key scan codes will correspond to the keys on US keyboard layout,
++ ;; and we can use that information to fall back to the US layout when
++ ;; looking up commands that would otherwise fail. (Cf. the hard-coding of
++ ;; this information in /usr/X11R6/lib/X11/xkb/keycodes/xfree86 )
++ ;;
++ ;; These settings for x-us-keymap-first-keycode and
++ ;; x-us-keymap-description were determined with
++ ;;
++ ;; setxkbmap us
++ ;; xmodmap -pke > keyboard-description.txt
++ ;;
++ ;; "8" is the key code of the first line, x-us-keymap-description is
++ ;; taken from the column describing the bindings.
++
++ (setq x-us-keymap-first-keycode 8
++ x-us-keymap-description
++ [nil nil [?1 ?!] [?2 ?@] [?3 ?\#] [?4 ?$] [?5 ?%] [?6 ?^] [?7 ?&]
++ [?8 ?*] [?9 ?\(] [?0 ?\)] [?- ?_] [?= ?+] nil ?\t [?q ?Q]
++ [?w ?W] [?e ?E] [?r ?R] [?t ?T] [?y ?Y] [?u ?U] [?i ?I] [?o ?O]
++ [?p ?P] [?\[ ?{] [?\] ?}] nil nil [?a ?A] [?s ?S] [?d ?D]
++ [?f ?F] [?g ?G] [?h ?H] [?j ?J] [?k ?K] [?l ?L] [?\; ?:]
++ [?\' ?\"] [?\` ?~] nil [?\\ ?|] [?z ?Z] [?x ?X] [?c ?C]
++ [?v ?V] [?b ?B] [?n ?N] [?m ?M] [?\, ?<] [?\. ?>] [?/ ?\?]
++ nil ?* nil ?\ nil nil nil nil nil nil nil nil nil nil nil
++ nil nil ?7 ?8 ?9 ?- ?4 ?5 ?6 ?+ ?1 ?2 ?3 ?0 ?\. nil nil
++ [?< ?>] nil nil nil nil nil nil nil nil nil nil nil nil
++ nil nil nil nil nil ?/ nil nil nil nil nil nil nil nil
++ nil nil nil nil nil ?=])
++
+ (loop for (key sane-key) in
+ '((f13 f1)
+ (f14 f2)
diff --git a/editors/xemacs-devel-mule/pkg-plist b/editors/xemacs-devel-mule/pkg-plist
index 366c0cf737f6..ed4a027040a9 100644
--- a/editors/xemacs-devel-mule/pkg-plist
+++ b/editors/xemacs-devel-mule/pkg-plist
@@ -1,31 +1,3 @@
-@exec mkdir -p %D/lib/xemacs/site-packages/etc
-@dirrmtry lib/xemacs/site-packages/etc
-@exec mkdir -p %D/lib/xemacs/site-packages/info
-@dirrmtry lib/xemacs/site-packages/info
-@exec mkdir -p %D/lib/xemacs/site-packages/man
-@dirrmtry lib/xemacs/site-packages/man
-@exec mkdir -p %D/lib/xemacs/site-packages/pkginfo
-@dirrmtry lib/xemacs/site-packages/pkginfo
-@dirrmtry lib/xemacs/site-packages
-@exec mkdir -p %D/lib/xemacs/mule-packages/etc
-@dirrmtry lib/xemacs/mule-packages/etc
-@exec mkdir -p %D/lib/xemacs/mule-packages/info
-@dirrmtry lib/xemacs/mule-packages/info
-@exec mkdir -p %D/lib/xemacs/mule-packages/man
-@dirrmtry lib/xemacs/mule-packages/man
-@exec mkdir -p %D/lib/xemacs/mule-packages/pkginfo
-@dirrmtry lib/xemacs/mule-packages/pkginfo
-@dirrmtry lib/xemacs/mule-packages
-@exec mkdir -p %D/lib/xemacs/xemacs-packages/etc
-@dirrmtry lib/xemacs/xemacs-packages/etc
-@exec mkdir -p %D/lib/xemacs/xemacs-packages/info
-@dirrmtry lib/xemacs/xemacs-packages/info
-@exec mkdir -p %D/lib/xemacs/xemacs-packages/man
-@dirrmtry lib/xemacs/xemacs-packages/man
-@exec mkdir -p %D/lib/xemacs/xemacs-packages/pkginfo
-@dirrmtry lib/xemacs/xemacs-packages/pkginfo
-@dirrmtry lib/xemacs/xemacs-packages
-@exec mkdir -p /var/run/emacs/lock ; chmod 1777 /var/run/emacs/lock
bin/b2m
bin/ctags
bin/ellcc
@@ -37,6 +9,7 @@ bin/ootags
bin/rcs-checkin
bin/xemacs
bin/xemacs-%%XEMACS_VER%%
+@exec mkdir -p %D/lib/xemacs/site-lisp ; chmod 755 %D/lib/xemacs/site-lisp
lib/xemacs-%%XEMACS_VER%%/etc/COPYING
lib/xemacs-%%XEMACS_VER%%/etc/ChangeLog
lib/xemacs-%%XEMACS_VER%%/etc/ETAGS.EBNF
@@ -1480,8 +1453,6 @@ lib/xemacs-%%XEMACS_VER%%/lisp/x-win-xfree86.elc
@dirrm lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/include/s
@dirrm lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/include/m
@dirrm lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/include
-@dirrm lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/modules
-@dirrm lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%
@dirrm lib/xemacs-%%XEMACS_VER%%/etc/unicode/unicode-consortium
@dirrm lib/xemacs-%%XEMACS_VER%%/etc/unicode/other
@dirrm lib/xemacs-%%XEMACS_VER%%/etc/unicode/mule-ucs
@@ -1497,4 +1468,9 @@ lib/xemacs-%%XEMACS_VER%%/lisp/x-win-xfree86.elc
@dirrm lib/xemacs-%%XEMACS_VER%%/etc/custom/example-themes
@dirrm lib/xemacs-%%XEMACS_VER%%/etc/custom
@dirrm lib/xemacs-%%XEMACS_VER%%/etc
+@dirrmtry lib/xemacs/site-modules
+@dirrmtry lib/xemacs/site-lisp
+@dirrmtry lib/xemacs
+@dirrmtry lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/modules
+@dirrmtry lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%
@dirrmtry lib/xemacs-%%XEMACS_VER%%
diff --git a/editors/xemacs-devel-mule/pkg-plist.arch-dep b/editors/xemacs-devel-mule/pkg-plist.arch-dep
index 415715bbd435..4a240f7aa89b 100644
--- a/editors/xemacs-devel-mule/pkg-plist.arch-dep
+++ b/editors/xemacs-devel-mule/pkg-plist.arch-dep
@@ -403,13 +403,17 @@ lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/sorted-doc
lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/vcdiff
lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/wakeup
lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/yow
+@dirrm lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/include/s
+@dirrm lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/include/m
+@dirrm lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/include
@exec ln -sf ja %D/lib/xemacs/mule-packages/etc/app-defaults/ja_JP.eucJP
@unexec rm -f %D/lib/xemacs/mule-packages/etc/app-defaults/ja_JP.eucJP
@dirrmtry lib/xemacs/mule-packages/etc/app-defaults
@dirrmtry lib/xemacs/mule-packages/etc
@dirrmtry lib/xemacs/mule-packages
-@dirrm lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/include/s
-@dirrm lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/include/m
-@dirrm lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/include
-@dirrm lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/modules
-@dirrm lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%
+@dirrmtry lib/xemacs/site-lisp
+@dirrmtry lib/xemacs/site-modules
+@dirrmtry lib/xemacs
+@dirrmtry lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%/modules
+@dirrmtry lib/xemacs-%%XEMACS_VER%%/%%XEMACS_ARCH%%
+@dirrmtry lib/xemacs-%%XEMACS_VER%%