mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -04:00
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)
This commit is contained in:
parent
ef8b205c12
commit
9581a84d10
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=155072
9 changed files with 246 additions and 41 deletions
|
@ -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}
|
||||
|
|
28
editors/xemacs-devel-mule/files/patch-cmdloop.el
Normal file
28
editors/xemacs-devel-mule/files/patch-cmdloop.el
Normal file
|
@ -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)))
|
57
editors/xemacs-devel-mule/files/patch-dynarr.c
Normal file
57
editors/xemacs-devel-mule/files/patch-dynarr.c
Normal file
|
@ -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;
|
||||
}
|
34
editors/xemacs-devel-mule/files/patch-mule-cmds.el
Normal file
34
editors/xemacs-devel-mule/files/patch-mule-cmds.el
Normal file
|
@ -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)
|
28
editors/xemacs-devel-mule/files/patch-objects-gtk.c
Normal file
28
editors/xemacs-devel-mule/files/patch-objects-gtk.c
Normal file
|
@ -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)
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
46
editors/xemacs-devel-mule/files/patch-x-win-xfree86.el
Normal file
46
editors/xemacs-devel-mule/files/patch-x-win-xfree86.el
Normal file
|
@ -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)
|
|
@ -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%%
|
||||
|
|
|
@ -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%%
|
||||
|
|
Loading…
Add table
Reference in a new issue