diff options
author | anray <anray@FreeBSD.org> | 2006-02-02 21:28:42 +0800 |
---|---|---|
committer | anray <anray@FreeBSD.org> | 2006-02-02 21:28:42 +0800 |
commit | c535eab3006dd2dd00715437302d6ba54b34aaae (patch) | |
tree | 87d3af866f1f8a742edece0e0606a273ad63d683 | |
parent | 2181aa862bd787b16a07d25200654ed1afd5addb (diff) | |
download | freebsd-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/Makefile | 2 | ||||
-rw-r--r-- | editors/xemacs-devel-mule/files/patch-cmdloop.el | 28 | ||||
-rw-r--r-- | editors/xemacs-devel-mule/files/patch-dynarr.c | 57 | ||||
-rw-r--r-- | editors/xemacs-devel-mule/files/patch-mule-cmds.el | 34 | ||||
-rw-r--r-- | editors/xemacs-devel-mule/files/patch-objects-gtk.c | 28 | ||||
-rw-r--r-- | editors/xemacs-devel-mule/files/patch-objects-x.c | 42 | ||||
-rw-r--r-- | editors/xemacs-devel-mule/files/patch-x-win-xfree86.el | 46 | ||||
-rw-r--r-- | editors/xemacs-devel-mule/pkg-plist | 36 | ||||
-rw-r--r-- | editors/xemacs-devel-mule/pkg-plist.arch-dep | 14 |
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%% |