1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-23 00:43:28 +00:00

* Remove editors/xemacs-packages from RUN_DEPENDS.

* Cleanup some portlint warnings.
* Rename option WANT_GTK to WITH_GTK
* Add build with Xaw3d - option WITH_XAW3D
* Fix regex uninterrupable loops.

PR:		ports/75920
Submitted by:	maintainer
This commit is contained in:
Sergey Matveychuk 2005-01-08 16:13:55 +00:00
parent 2e29c4f5d2
commit d00e92b2aa
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=125818
3 changed files with 517 additions and 68 deletions

View File

@ -7,11 +7,21 @@
PORTNAME= xemacs-mule
PORTVERSION= ${XEMACS_VER}
.if defined(WNN6)
.endif
PORTREVISION= 1
CATEGORIES+= editors
MASTER_SITES= ${MASTER_SITE_XEMACS}
MASTER_SITE_SUBDIR= xemacs-${XEMACS_REL}
.if defined(CANNA) && defined(FREEWNN)
PKGNAMESUFFIX+= -canna+freewnn
.elif defined(CANNA) && defined(WNN6)
PKGNAMESUFFIX+= -canna+wnn6
.elif defined(FREEWNN)
PKGNAMESUFFIX+= -freewnn
.elif defined(WNN6)
PKGNAMESUFFIX+= -wnn6
.elif defined(CANNA)
PKGNAMESUFFIX+= -canna
.endif
DISTNAME= xemacs-${XEMACS_VER}
DISTFILES= ${DISTNAME}-src${EXTRACT_SUFX} \
${DISTNAME}-elc${EXTRACT_SUFX} ${DISTNAME}-info${EXTRACT_SUFX}
@ -20,26 +30,19 @@ DIST_SUBDIR= xemacs
MAINTAINER?= anrays@gmail.com
COMMENT?= XEmacs(stable version) text editor with mule(Only the executables)
USE_GNOME= #
.include <bsd.port.pre.mk>
BUILD_DEPENDS= ${LOCALBASE}/lib/xemacs/mule-packages/pkginfo/MANIFEST.skk:${PORTSDIR}/editors/xemacs-mule-packages
RUN_DEPENDS= ${LOCALBASE}/lib/xemacs/xemacs-packages/etc/enriched.doc:${PORTSDIR}/editors/xemacs-packages \
${LOCALBASE}/lib/xemacs/mule-packages/pkginfo/MANIFEST.skk:${PORTSDIR}/editors/xemacs-mule-packages
BUILD_DEPENDS= ${LOCALBASE}/lib/xemacs/mule-packages/pkginfo/MANIFEST.mule-base:${PORTSDIR}/editors/xemacs-mule-packages
RUN_DEPENDS= ${LOCALBASE}/lib/xemacs/mule-packages/pkginfo/MANIFEST.mule-base:${PORTSDIR}/editors/xemacs-mule-packages
.if defined(PKGNAMEPREFIX)
RUN_DEPENDS+= ${LOCALBASE}/lib/xemacs-${XEMACS_VER}/lisp/x-win-xfree86.elc:${PORTSDIR}/editors/xemacs21-mule
.endif
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png \
tiff.4:${PORTSDIR}/graphics/tiff \
compface.1:${PORTSDIR}/mail/faces \
${LIB_INPUT_METHOD}
compface.1:${PORTSDIR}/mail/faces
XEMACS_MAJOR_VER?= 21
XEMACS_REL= ${XEMACS_MAJOR_VER}.4
XEMACS_VER= ${XEMACS_MAJOR_VER}.4.16
XEMACS_ARCH= ${CONFIGURE_TARGET}
XEMACS_REL= 21.4
XEMACS_VER= ${XEMACS_REL}.16
XEMACS_ARCH= ${CONFIGURE_TARGET}
USE_GETTEXT= yes
USE_XLIB= yes
@ -67,10 +70,8 @@ CONFIGURE_ARGS= --with-x11 \
--with-clash-detection \
--with-database=berkdb \
${WITH_XIM} \
${WITH_ATHENA} \
${WITH_MENUBARS} ${WITH_SCROLLBARS} ${WITH_DIALOGS} ${WITH_WIDGETS} \
${WITH_OFFIX} ${WITH_GTK} \
${WITH_INPUT_METHOD}
${WITH_MENUBARS} ${WITH_SCROLLBARS} \
${WITH_DIALOGS} ${WITH_WIDGETS}
MAKE_ARGS= prefix=${PREFIX}
ALL_TARGET= all dist
.if defined(PKGNAMEPREFIX)
@ -85,18 +86,26 @@ MAN1= xemacs.1
MAN1= ctags.1 etags.1 gnuattach.1 gnuclient.1 gnudoit.1 \
gnuserv.1 xemacs.1
.endif
.if defined(WITH_GTK)
CONFIGURE_ARGS+=--with-gtk
USE_GNOME+= gtk12
.endif
PKGDIR= ${.CURDIR}/../../editors/xemacs21-mule
PLIST_SUB= XEMACS_VER=${XEMACS_VER} XEMACS_ARCH=${XEMACS_ARCH}
.include <bsd.port.pre.mk>
# Undump and malloc do not behave on amd64 at the moment
.if ${ARCH} == "amd64"
CONFIGURE_ARGS+= --with-system-malloc --pdump
CONFIGURE_ARGS+=--with-system-malloc --pdump
.endif
pre-fetch:
.if !defined(WANT_GTK)
@${ECHO_MSG} "If you want to use GTK, please set the environment variable WANT_GTK and recompile."
.if !defined(WITH_GTK)
@${ECHO_MSG} "If you want to use GTK, please set the environment variable WITH_GTK and recompile."
.endif
.if !defined(WITHOUT_MOTIF)
.if !defined(MOTIF_STATIC)
@ -115,55 +124,50 @@ WITH_DIALOGS= --with-dialogs=athena
WITH_DIALOGS= --with-dialogs=motif
.endif
.if defined(WANT_GTK)
WITH_GTK= --with-gtk=yes
USE_GNOME+= gtk12
.endif
.if defined(PACKAGE_BUILDING)
WITH_OFFIX?= --with-offix=no
CONFIGURE_ARGS+=--with-offix=no
.endif
WITH_ATHENA?= --with-athena=xaw
WITH_MENUBARS?= --with-menubars=lucid
WITH_SCROLLBARS?=--with-scrollbars=motif
WITH_WIDGETS?= --with-widgets=motif
.endif
WITH_XIM?= --with-xim=xlib
WITH_ATHENA?= --with-athena=xaw
WITH_MENUBARS?= --with-menubars=athena
WITH_SCROLLBARS?=--with-scrollbars=athena
WITH_DIALOGS?= --with-dialogs=athena
WITH_WIDGETS?= --with-widgets=athena
.if defined(WITH_XAW3D)
CONFIGURE_ARGS+=--with-athena=3d
.else
CONFIGURE_ARGS+=--with-athena=xaw
.endif
BINNAMEEXT= -mule
.if defined(CANNA) && defined(FREEWNN)
PKGNAMESUFFIX= -canna+freewnn
WITH_INPUT_METHOD= --with-canna --with-wnn --with-wnn6=no
LIB_INPUT_METHOD= canna.1:${PORTSDIR}/japanese/Canna \
CONFIGURE_ARGS+= --with-canna --with-wnn --with-wnn6=no
LIB_DEPENDS+= canna.1:${PORTSDIR}/japanese/Canna \
wnn.0:${PORTSDIR}/japanese/FreeWnn-lib
.elif defined(CANNA) && defined(WNN6)
PKGNAMESUFFIX= -canna+wnn6
SITE_INCLUDES= ${LOCALBASE}/include/wnn6
WITH_INPUT_METHOD= --with-canna --with-wnn6
LIB_INPUT_METHOD= canna.1:${PORTSDIR}/japanese/Canna \
CONFIGURE_ARGS+= --with-canna --with-wnn6
LIB_DEPENDS+= canna.1:${PORTSDIR}/japanese/Canna \
wnn6.2:${PORTSDIR}/japanese/Wnn6-lib
.elif defined(FREEWNN)
PKGNAMESUFFIX= -freewnn
WITH_INPUT_METHOD= --with-wnn --with-canna=no --with-wnn6=no
LIB_INPUT_METHOD= wnn.0:${PORTSDIR}/japanese/FreeWnn-lib
CONFIGURE_ARGS+= --with-wnn --with-canna=no --with-wnn6=no
LIB_DEPENDS+= wnn.0:${PORTSDIR}/japanese/FreeWnn-lib
.elif defined(WNN6)
PKGNAMESUFFIX= -wnn6
SITE_INCLUDES= ${LOCALBASE}/include/wnn6
WITH_INPUT_METHOD= --with-wnn6 --with-canna=no
LIB_INPUT_METHOD= wnn6.2:${PORTSDIR}/japanese/Wnn6-lib
CONFIGURE_ARGS+= --with-wnn6 --with-canna=no
LIB_DEPENDS+= wnn6.2:${PORTSDIR}/japanese/Wnn6-lib
.elif defined(CANNA)
PKGNAMESUFFIX= -canna
WITH_INPUT_METHOD= --with-canna --with-wnn=no --with-wnn6=no
LIB_INPUT_METHOD= canna.1:${PORTSDIR}/japanese/Canna
CONFIGURE_ARGS+= --with-canna --with-wnn=no --with-wnn6=no
LIB_DEPENDS+= canna.1:${PORTSDIR}/japanese/Canna
.else
CONFIGURE_ARGS+= --with-canna=no --with-wnn=no --with-wnn6=no
.endif
SITE_INCLUDES+= ${LOCALBASE}/include
SITE_LIBRARIES+= ${LOCALBASE}/lib
WITH_INPUT_METHOD?= --with-canna=no --with-wnn=no --with-wnn6=no
# fix .so references in a few man pages
pre-configure::
@ -186,7 +190,7 @@ post-install::
${MKDIR} ${PREFIX}/lib/xemacs/site-lisp
${CHMOD} 755 ${PREFIX}/lib/xemacs/site-lisp
${RM} -f ${PREFIX}/bin/send-pr
.if defined(WANT_GTK)
.if defined(WITH_GTK)
@${ECHO_MSG} "Please be aware that GTK support is buggy. Do not report bugs to"
@${ECHO_MSG} "the maintainer."
@${ECHO_MSG} "Please also be aware that the package's name was automagically changed"

View File

@ -1,33 +1,441 @@
Index: regex.c
Index: src/regex.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/regex.c,v
retrieving revision 1.25.2.10
retrieving revision 1.25.2.9
diff -u -r1.25.2.10 -r1.25.2.9
retrieving revision 1.25.2.8
diff -u -r1.25.2.10 -r1.25.2.8
--- src/regex.c 2004/10/08 00:40:33 1.25.2.10
+++ src/regex.c 2004/09/23 03:03:43 1.25.2.9
@@ -4766,20 +4766,16 @@
+++ src/regex.c 2004/03/15 03:34:59 1.25.2.8
@@ -418,7 +418,7 @@
/* Go through the first `min (num_regs, regs->num_regs)'
registers, since that is all we initialized. */
/* Start remembering the text that is matched, for storing in a
register. Followed by one byte with the register number, in
- the range 1 to the pattern buffer's re_ngroups
+ the range 0 to one less than the pattern buffer's re_nsub
field. Then followed by one byte with the number of groups
inner to this one. (This last has to be part of the
start_memory only because we need it in the on_failure_jump
@@ -427,7 +427,7 @@
/* Stop remembering the text that is matched and store it in a
memory register. Followed by one byte with the register
- number, in the range 1 to `re_ngroups' in the
+ number, in the range 0 to one less than `re_nsub' in the
pattern buffer, and one byte with the number of inner groups,
just like `start_memory'. (We need the number of inner
groups here because we don't have any easy way of finding the
@@ -974,7 +974,6 @@
}
printf ("re_nsub: %ld\t", (long)bufp->re_nsub);
- printf ("re_ngroups: %ld\t", (long)bufp->re_ngroups);
printf ("regs_alloc: %d\t", bufp->regs_allocated);
printf ("can_be_null: %d\t", bufp->can_be_null);
printf ("newline_anchor: %d\n", bufp->newline_anchor);
@@ -984,20 +983,6 @@
printf ("syntax: %d\n", bufp->syntax);
/* Perhaps we should print the translate table? */
/* and maybe the category table? */
-
- if (bufp->external_to_internal_register)
- {
- int i;
-
- printf ("external_to_internal_register:\n");
- for (i = 0; i <= bufp->re_nsub; i++)
- {
- if (i > 0)
- printf (", ");
- printf ("%d -> %d", i, bufp->external_to_internal_register[i]);
- }
- printf ("\n");
- }
}
@@ -1708,7 +1693,6 @@
ignore the excess. */
typedef unsigned regnum_t;
-#define INIT_REG_TRANSLATE_SIZE 5
/* Macros for the compile stack. */
@@ -1892,9 +1876,7 @@
`syntax' is set to SYNTAX;
`used' is set to the length of the compiled pattern;
`fastmap_accurate' is zero;
- `re_ngroups' is the number of groups/subexpressions (including shy
- groups) in PATTERN;
- `re_nsub' is the number of non-shy groups in PATTERN;
+ `re_nsub' is the number of subexpressions in PATTERN;
`not_bol' and `not_eol' are zero;
The `fastmap' and `newline_anchor' fields are neither
@@ -1992,23 +1974,6 @@
/* Always count groups, whether or not bufp->no_sub is set. */
bufp->re_nsub = 0;
- bufp->re_ngroups = 0;
-
- if (bufp->external_to_internal_register == 0)
- {
- bufp->external_to_internal_register_size = INIT_REG_TRANSLATE_SIZE;
- RETALLOC (bufp->external_to_internal_register,
- bufp->external_to_internal_register_size,
- int);
- }
-
- {
- int i;
-
- bufp->external_to_internal_register[0] = 0;
- for (i = 1; i < bufp->external_to_internal_register_size; i++)
- bufp->external_to_internal_register[i] = (int) 0xDEADBEEF;
- }
#if !defined (emacs) && !defined (SYNTAX_TABLE)
/* Initialize the syntax table. */
@@ -2591,7 +2556,6 @@
handle_open:
{
regnum_t r;
- int shy = 0;
if (!(syntax & RE_NO_SHY_GROUPS)
&& p != pend
@@ -2602,7 +2566,7 @@
switch (c)
{
case ':': /* shy groups */
- shy = 1;
+ r = MAX_REGNUM + 1;
break;
/* All others are reserved for future constructs. */
@@ -2610,32 +2574,11 @@
FREE_STACK_RETURN (REG_BADPAT);
}
}
-
- r = ++regnum;
- bufp->re_ngroups++;
- if (!shy)
- {
- bufp->re_nsub++;
- while (bufp->external_to_internal_register_size <=
- bufp->re_nsub)
- {
- int i;
- int old_size =
- bufp->external_to_internal_register_size;
- bufp->external_to_internal_register_size += 5;
- RETALLOC (bufp->external_to_internal_register,
- bufp->external_to_internal_register_size,
- int);
- /* debugging */
- for (i = old_size;
- i < bufp->external_to_internal_register_size; i++)
- bufp->external_to_internal_register[i] =
- (int) 0xDEADBEEF;
- }
-
- bufp->external_to_internal_register[bufp->re_nsub] =
- bufp->re_ngroups;
- }
+ else
+ {
+ bufp->re_nsub++;
+ r = ++regnum;
+ }
if (COMPILE_STACK_FULL)
{
@@ -2659,10 +2602,7 @@
/* We will eventually replace the 0 with the number of
groups inner to this one. But do not push a
start_memory for groups beyond the last one we can
- represent in the compiled pattern.
- #### bad bad bad. this will fail in lots of ways, if we
- ever have to backtrack for these groups.
- */
+ represent in the compiled pattern. */
if (r <= MAX_REGNUM)
{
COMPILE_STACK_TOP.inner_group_offset
@@ -3052,23 +2992,18 @@
case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9':
{
- int reg;
+ regnum_t reg;
if (syntax & RE_NO_BK_REFS)
goto normal_char;
reg = c - '0';
- if (reg > bufp->re_nsub)
+ if (reg > regnum)
FREE_STACK_RETURN (REG_ESUBREG);
- {
- int regint = bufp->external_to_internal_register[reg];
- /* Can't back reference to a subexpression if inside it. */
- if (group_in_compile_stack (compile_stack, regint))
- {
- goto normal_char;
- }
- }
+ /* Can't back reference to a subexpression if inside of it. */
+ if (group_in_compile_stack (compile_stack, reg))
+ goto normal_char;
laststart = buf_end;
BUF_PUSH_2 (duplicate, reg);
@@ -3186,7 +3121,7 @@
isn't necessary unless we're trying to avoid calling alloca in
the search and match routines. */
{
- int num_regs = bufp->re_ngroups + 1;
+ int num_regs = bufp->re_nsub + 1;
/* Since DOUBLE_FAIL_STACK refuses to double only if the current size
is strictly greater than re_max_failures, the largest possible stack
@@ -4449,7 +4384,7 @@
/* We fill all the registers internally, independent of what we
return, for use in backreferences. The number here includes
an element for register zero. */
- int num_regs = bufp->re_ngroups + 1;
+ int num_regs = bufp->re_nsub + 1;
/* The currently active registers. */
int lowest_active_reg = NO_LOWEST_ACTIVE_REG;
@@ -4535,7 +4470,7 @@
there are groups, we include space for register 0 (the whole
pattern), even though we never use it, since it simplifies the
array indexing. We should fix this. */
- if (bufp->re_ngroups)
+ if (bufp->re_nsub)
{
regstart = REGEX_TALLOC (num_regs, re_char *);
regend = REGEX_TALLOC (num_regs, re_char *);
@@ -4711,87 +4646,80 @@
DEBUG_PRINT1 ("Accepting match.\n");
/* If caller wants register contents data back, do it. */
- {
- int num_nonshy_regs = bufp->re_nsub + 1;
- if (regs && !bufp->no_sub)
- {
- /* Have the register data arrays been allocated? */
- if (bufp->regs_allocated == REGS_UNALLOCATED)
- { /* No. So allocate them with malloc. We need one
- extra element beyond `num_regs' for the `-1' marker
- GNU code uses. */
- regs->num_regs = MAX (RE_NREGS, num_nonshy_regs + 1);
- regs->start = TALLOC (regs->num_regs, regoff_t);
- regs->end = TALLOC (regs->num_regs, regoff_t);
- if (regs->start == NULL || regs->end == NULL)
- {
- FREE_VARIABLES ();
- return -2;
- }
- bufp->regs_allocated = REGS_REALLOCATE;
- }
- else if (bufp->regs_allocated == REGS_REALLOCATE)
- { /* Yes. If we need more elements than were already
- allocated, reallocate them. If we need fewer, just
- leave it alone. */
- if (regs->num_regs < num_nonshy_regs + 1)
- {
- regs->num_regs = num_nonshy_regs + 1;
- RETALLOC (regs->start, regs->num_regs, regoff_t);
- RETALLOC (regs->end, regs->num_regs, regoff_t);
- if (regs->start == NULL || regs->end == NULL)
- {
- FREE_VARIABLES ();
- return -2;
- }
- }
- }
- else
- {
- /* The braces fend off a "empty body in an else-statement"
- warning under GCC when assert expands to nothing. */
- assert (bufp->regs_allocated == REGS_FIXED);
- }
-
- /* Convert the pointer data in `regstart' and `regend' to
- indices. Register zero has to be set differently,
- since we haven't kept track of any info for it. */
- if (regs->num_regs > 0)
- {
- regs->start[0] = pos;
- regs->end[0] = (MATCHING_IN_FIRST_STRING
- ? ((regoff_t) (d - string1))
- : ((regoff_t) (d - string2 + size1)));
- }
+ if (regs && !bufp->no_sub)
+ {
+ /* Have the register data arrays been allocated? */
+ if (bufp->regs_allocated == REGS_UNALLOCATED)
+ { /* No. So allocate them with malloc. We need one
+ extra element beyond `num_regs' for the `-1' marker
+ GNU code uses. */
+ regs->num_regs = MAX (RE_NREGS, num_regs + 1);
+ regs->start = TALLOC (regs->num_regs, regoff_t);
+ regs->end = TALLOC (regs->num_regs, regoff_t);
+ if (regs->start == NULL || regs->end == NULL)
+ {
+ FREE_VARIABLES ();
+ return -2;
+ }
+ bufp->regs_allocated = REGS_REALLOCATE;
+ }
+ else if (bufp->regs_allocated == REGS_REALLOCATE)
+ { /* Yes. If we need more elements than were already
+ allocated, reallocate them. If we need fewer, just
+ leave it alone. */
+ if (regs->num_regs < num_regs + 1)
+ {
+ regs->num_regs = num_regs + 1;
+ RETALLOC (regs->start, regs->num_regs, regoff_t);
+ RETALLOC (regs->end, regs->num_regs, regoff_t);
+ if (regs->start == NULL || regs->end == NULL)
+ {
+ FREE_VARIABLES ();
+ return -2;
+ }
+ }
+ }
+ else
+ {
+ /* These braces fend off a "empty body in an else-statement"
+ warning under GCC when assert expands to nothing. */
+ assert (bufp->regs_allocated == REGS_FIXED);
+ }
- /* Go through the first `min (num_regs, regs->num_regs)'
- registers, since that is all we initialized. */
- for (mcnt = 1;
- mcnt < MIN (num_nonshy_regs, regs->num_regs);
- mcnt++)
+ for (mcnt = 1; mcnt < MIN (num_regs, regs->num_regs); mcnt++)
{
- {
- int ireg = bufp->external_to_internal_register[mcnt];
-
+ /* Convert the pointer data in `regstart' and `regend' to
+ indices. Register zero has to be set differently,
+ since we haven't kept track of any info for it. */
+ if (regs->num_regs > 0)
+ {
+ regs->start[0] = pos;
+ regs->end[0] = (MATCHING_IN_FIRST_STRING
+ ? ((regoff_t) (d - string1))
+ : ((regoff_t) (d - string2 + size1)));
+ }
- if (REG_UNSET (regstart[ireg]) || REG_UNSET (regend[ireg]))
+ if (REG_UNSET (regstart[mcnt]) || REG_UNSET (regend[mcnt]))
regs->start[mcnt] = regs->end[mcnt] = -1;
else
{
regs->start[mcnt]
- regs->start[mcnt] = regs->end[mcnt] = -1;
- else
- {
- regs->start[mcnt]
- = (regoff_t) POINTER_TO_OFFSET (regstart[ireg]);
+ = (regoff_t) POINTER_TO_OFFSET (regstart[mcnt]);
regs->end[mcnt]
- regs->end[mcnt]
- = (regoff_t) POINTER_TO_OFFSET (regend[ireg]);
+ = (regoff_t) POINTER_TO_OFFSET (regend[mcnt]);
}
}
} /* regs && !bufp->no_sub */
- }
- }
- } /* regs && !bufp->no_sub */
- }
+ /* Go through the first `min (num_regs, regs->num_regs)'
+ registers, since that is all we initialized. */
+ for (mcnt = 1; mcnt < MIN (num_regs, regs->num_regs); mcnt++)
+ {
+ if (REG_UNSET (regstart[mcnt]) || REG_UNSET (regend[mcnt]))
+ regs->start[mcnt] = regs->end[mcnt] = -1;
+ else
+ {
+ regs->start[mcnt]
+ = (regoff_t) POINTER_TO_OFFSET (regstart[mcnt]);
+ regs->end[mcnt]
+ = (regoff_t) POINTER_TO_OFFSET (regend[mcnt]);
+ }
+ }
+ } /* regs && !bufp->no_sub */
/* If we have regs and the regs structure has more elements than
- were in the pattern, set the extra elements to -1. If we
+ were in the pattern, set the extra elements to -1. If we
(re)allocated the registers, this is the case, because we
always allocate enough to have at least one -1 at the end.
We do this even when no_sub is set because some applications
- (XEmacs) reuse register structures which may contain stale
+ (XEmacs) reuse register structures which may contain stale
information, and permit attempts to access those registers.
It would be possible to require the caller to do this, but we'd
@@ -4801,20 +4729,20 @@
for (mcnt = num_regs; mcnt < regs->num_regs; mcnt++)
regs->start[mcnt] = regs->end[mcnt] = -1;
- DEBUG_PRINT4 ("%u failure points pushed, %u popped (%u remain).\n",
- nfailure_points_pushed, nfailure_points_popped,
- nfailure_points_pushed - nfailure_points_popped);
- DEBUG_PRINT2 ("%u registers pushed.\n", num_regs_pushed);
+ DEBUG_PRINT4 ("%u failure points pushed, %u popped (%u remain).\n",
+ nfailure_points_pushed, nfailure_points_popped,
+ nfailure_points_pushed - nfailure_points_popped);
+ DEBUG_PRINT2 ("%u registers pushed.\n", num_regs_pushed);
- mcnt = d - pos - (MATCHING_IN_FIRST_STRING
+ mcnt = d - pos - (MATCHING_IN_FIRST_STRING
? string1
: string2 - size1);
- DEBUG_PRINT2 ("Returning %d from re_match_2.\n", mcnt);
+ DEBUG_PRINT2 ("Returning %d from re_match_2.\n", mcnt);
- FREE_VARIABLES ();
- return mcnt;
- }
+ FREE_VARIABLES ();
+ return mcnt;
+ }
/* Otherwise match next pattern command. */
switch (SWITCH_ENUM_CAST ((re_opcode_t) *p++))
@@ -5143,15 +5071,11 @@
/* \<digit> has been turned into a `duplicate' command which is
- followed by the numeric value of <digit> as the register number.
- (Already passed through external-to-internal-register mapping,
- so it refers to the actual group number, not the non-shy-only
- numbering used in the external world.) */
+ followed by the numeric value of <digit> as the register number. */
case duplicate:
{
REGISTER re_char *d2, *dend2;
- /* Get which register to match against. */
- int regno = *p++;
+ int regno = *p++; /* Get which register to match against. */
DEBUG_PRINT2 ("EXECUTING duplicate %d.\n", regno);
/* Can't back reference a group which we've never matched. */
@@ -6329,8 +6253,6 @@
`newline_anchor' to REG_NEWLINE being set in CFLAGS;
`fastmap' and `fastmap_accurate' to zero;
`re_nsub' to the number of subexpressions in PATTERN.
- (non-shy of course. POSIX probably doesn't know about
- shy ones, and in any case they should be invisible.)
PATTERN is the address of the pattern string.
@@ -6373,7 +6295,7 @@
if (cflags & REG_ICASE)
{
- int i;
+ unsigned i;
preg->translate = (char *) malloc (CHAR_SET_SIZE);
if (preg->translate == NULL)

View File

@ -0,0 +1,37 @@
Index: src/regex.h
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/regex.h,v
retrieving revision 1.7.2.2
retrieving revision 1.7.2.1
diff -u -r1.7.2.2 -r1.7.2.1
--- src/regex.h 2004/09/23 03:03:47 1.7.2.2
+++ src/regex.h 2001/04/16 09:24:54 1.7.2.1
@@ -358,14 +358,9 @@
when it is matched. */
RE_TRANSLATE_TYPE translate;
- /* Number of returnable groups found by the compiler. (This does
- not count shy groups.) */
+ /* Number of subexpressions found by the compiler. */
Element_count re_nsub;
- /* Total number of groups found by the compiler. (Including
- shy ones.) */
- Element_count re_ngroups;
-
/* Zero if this pattern cannot match the empty string, one else.
Well, in truth it's used only in `re_search_2', to see
whether or not we should use the fastmap, so we don't set
@@ -399,12 +394,6 @@
/* If true, an anchor at a newline matches. */
unsigned newline_anchor : 1;
-
- /* Mapping between back references and groups (may not be
- equivalent with shy groups). */
- int *external_to_internal_register;
-
- int external_to_internal_register_size;
/* [[[end pattern_buffer]]] */
};