diff options
| -rw-r--r-- | package/rxvt/rxvt.mk | 25 | ||||
| -rw-r--r-- | package/rxvt/rxvt_2.6.4-10.diff | 1132 | 
2 files changed, 1150 insertions, 7 deletions
diff --git a/package/rxvt/rxvt.mk b/package/rxvt/rxvt.mk index f8ae312d0..04df2caa4 100644 --- a/package/rxvt/rxvt.mk +++ b/package/rxvt/rxvt.mk @@ -20,10 +20,11 @@  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  # USA -RXVT_SOURCE:=rxvt-2.6.4.tar.bz2 -RXVT_SITE:=ftp://ftp.rxvt.org/pub/rxvt/ -RXVT_CAT:=bzcat -RXVT_DIR:=$(BUILD_DIR)/rxvt-2.6.4 +RXVT_VERSION:=2.6.4 +RXVT_SOURCE:=rxvt-$(RXVT_VERSION).tar.gz +RXVT_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/rxvt +RXVT_CAT:=zcat +RXVT_DIR:=$(BUILD_DIR)/rxvt-$(RXVT_VERSION)  RXVT_BINARY:=$(RXVT_DIR)/src/rxvt  $(DL_DIR)/$(RXVT_SOURCE): @@ -33,12 +34,13 @@ rxvt-source: $(DL_DIR)/$(RXVT_SOURCE)  $(RXVT_DIR)/.unpacked: $(DL_DIR)/$(RXVT_SOURCE)  	$(RXVT_CAT) $(DL_DIR)/$(RXVT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - -	toolchain/patch-kernel.sh $(RXVT_DIR) package/rxvt/ rxvt\*.patch +	toolchain/patch-kernel.sh $(RXVT_DIR) package/rxvt/ \*.patch  	touch $(RXVT_DIR)/.unpacked  $(RXVT_DIR)/.configured: $(RXVT_DIR)/.unpacked  	(cd $(RXVT_DIR); rm -rf config.cache; \  		$(TARGET_CONFIGURE_OPTS) \ +		rxvt_cv_ptys=GLIBC \  		./configure \  		--target=$(GNU_TARGET_NAME) \  		--host=$(GNU_TARGET_NAME) \ @@ -46,8 +48,11 @@ $(RXVT_DIR)/.configured: $(RXVT_DIR)/.unpacked  		--prefix=/usr/X11R6 \  		--mandir=/usr/man \  		--infodir=/usr/info \ -		--x-includes=$(TINYX_DIR)/exports/include \ -		--x-libraries=$(TINYX_DIR)/exports/lib \ +		--x-includes=$(STAGING_DIR)/usr/X11R6/include \ +		--x-libraries=$(STAGING_DIR)/usr/X11R6/lib \ +		--disable-resources \ +		--disable-memset \ +		--enable-xgetdefault \  	);  	touch $(RXVT_DIR)/.configured @@ -57,8 +62,14 @@ $(RXVT_BINARY): $(RXVT_DIR)/.configured  $(TARGET_DIR)/usr/X11R6/bin/rxvt: $(RXVT_BINARY)  	cp -f $(RXVT_BINARY) $(TARGET_DIR)/usr/X11R6/bin +	(cd $(TARGET_DIR)/usr/X11R6/bin; ln -fs rxvt xterm) +ifeq ($(strip $(BR2_PACKAGE_TINYX)),y)  rxvt: tinyx $(TARGET_DIR)/usr/X11R6/bin/rxvt +endif +ifeq ($(strip $(BR2_PACKAGE_XORG)),y) +rxvt: xorg $(TARGET_DIR)/usr/X11R6/bin/rxvt +endif  rxvt-clean:  	rm -f $(TARGET_DIR)/usr/X11R6/bin/rxvt diff --git a/package/rxvt/rxvt_2.6.4-10.diff b/package/rxvt/rxvt_2.6.4-10.diff new file mode 100644 index 000000000..4ace88bf4 --- /dev/null +++ b/package/rxvt/rxvt_2.6.4-10.diff @@ -0,0 +1,1132 @@ +--- rxvt-2.6.4.orig/src/graphics/Makefile.in ++++ rxvt-2.6.4/src/graphics/Makefile.in +@@ -1,6 +1,6 @@ + # test/graphics/Makefile.in	-*- Makefile -*- + # $Id: Makefile.in,v 1.3 1998/11/26 05:28:28 mason Exp $ +-@MCOMMON@ ++#@MCOMMON@ +  + srcdir =	@srcdir@ + VPATH =		@srcdir@ +--- rxvt-2.6.4.orig/src/command.h ++++ rxvt-2.6.4/src/command.h +@@ -181,7 +181,7 @@ +  + /* time factor to slow down a `jumpy' mouse */ + #define MOUSE_THRESHOLD		50 +-#define CONSOLE		"/dev/console"	/* console device */ ++#define CONSOLE		"/dev/xconsole"	/* console device */ +  + /* +  * key-strings: if only these keys were standardized <sigh> +@@ -196,20 +196,27 @@ +  + #ifdef SCROLL_ON_SHIFT + # define SCROLL_SHIFTKEY (shft) ++# define NOSCROLL_SHIFTKEY 0 + #else + # define SCROLL_SHIFTKEY 0 ++# define NOSCROLL_SHIFTKEY (shft) + #endif + #ifdef SCROLL_ON_CTRL + # define SCROLL_CTRLKEY  (ctrl) ++# define NOSCROLL_CTRLKEY 0 + #else + # define SCROLL_CTRLKEY 0 ++# define NOSCROLL_CTRLKEY (ctrl) + #endif + #ifdef SCROLL_ON_META + # define SCROLL_METAKEY  (meta) ++# define NOSCROLL_METAKEY 0 + #else + # define SCROLL_METAKEY 0 ++# define NOSCROLL_METAKEY (meta) + #endif +-#define IS_SCROLL_MOD  (SCROLL_SHIFTKEY || SCROLL_CTRLKEY || SCROLL_METAKEY) ++#define IS_SCROLL_MOD  ((SCROLL_SHIFTKEY || SCROLL_CTRLKEY || SCROLL_METAKEY) \ ++              && (!NOSCROLL_SHIFTKEY && !NOSCROLL_CTRLKEY && !NOSCROLL_METAKEY)) +  + typedef struct XCNQueue_t { +     struct XCNQueue_t *next; +--- rxvt-2.6.4.orig/src/rsizes.h ++++ rxvt-2.6.4/src/rsizes.h +@@ -0,0 +1,22 @@ ++/* ++ * If we haven't pulled in typedef's like int16_t , then do them ourself ++ */ ++ ++/* type of (normal and unsigned) basic sizes */ ++/* e.g. typedef short int16_t */ ++ ++/* e.g. typedef unsigned short u_int16_t */ ++ ++/* e.g. typedef int int32_t */ ++ ++/* e.g. typedef unsigned int u_int32_t */ ++ ++/* e.g. typedef long int64_t */ ++ ++/* e.g. typedef unsigned long u_int64_t */ ++ ++ ++/* whatever normal size corresponds to a integer pointer */ ++#define intp_t int32_t ++/* whatever normal size corresponds to a unsigned integer pointer */ ++#define u_intp_t u_int32_t +--- rxvt-2.6.4.orig/src/xdefaults.c ++++ rxvt-2.6.4/src/xdefaults.c +@@ -215,6 +215,8 @@ + #ifdef MULTICHAR_SET +     STRG(Rs_multichar_encoding, "multichar_encoding", "km", "mode", +          "multiple-character font encoding; mode = eucj | sjis | big5 | gb"), ++    BOOL(Rs_mc_hack, "mcCursor", "mcc", Opt_mc_hack, ++	"Multibyte character cursor movement"), + #endif				/* MULTICHAR_SET */ + #ifdef USE_XIM +     STRG(Rs_preeditType, "preeditType", "pt", "style", +@@ -299,10 +301,10 @@ +     fprintf(stderr, "Kanji,"); + #endif + #ifdef ZH +-    fprintf(stderr, "Chinese,"); ++    fprintf(stderr, "Chinese (Big5),"); + #endif + #ifdef ZHCN +-    fprintf(stderr, "Chinese(GB),"); ++    fprintf(stderr, "Chinese (GB),"); + #endif + #ifdef XTERM_SCROLLBAR +     fprintf(stderr, "XTerm-scrollbar,"); +@@ -760,14 +762,23 @@ +  +     for (entry = 0; entry < optList_size(); entry++) { + 	int             s; +-	char           *p; ++	char           *p, *p0; + 	const char     *kw = optList[entry].kw; +  + 	if (kw == NULL || *(optList[entry].dp) != NULL) + 	    continue;		/* previously set */ +-	if ((p = XGetDefault(display, name, kw)) != NULL +-	    || (p = XGetDefault(display, APL_SUBCLASS, kw)) != NULL +-	    || (p = XGetDefault(display, APL_CLASS, kw)) != NULL) { ++ ++#define STRCMP(x, y)		strcmp((const char *)(x), (const char *)(y)) ++	p = XGetDefault(display, name, kw); ++	p0 = XGetDefault(display, "!INVALIDPROGRAMMENAMEDONTMATCH!", kw); ++	if (p == NULL || (p0 && STRCMP(p, p0) == 0)) { ++	    p = XGetDefault(display, APL_SUBCLASS, kw); ++	    if (p == NULL || (p0 && STRCMP(p, p0) == 0)) ++		p = XGetDefault(display, APL_CLASS, kw); ++	} ++	if (p == NULL && p0) ++	    p = p0; ++	if (p) { + 	    *optList[entry].dp = p; +  + 	    if (optList_isBool(entry)) { +--- rxvt-2.6.4.orig/src/screen.c ++++ rxvt-2.6.4/src/screen.c +@@ -188,7 +188,7 @@ + 	rp[row] = MALLOC(sizeof(rend_t) * TermWin.ncol); +     } +     if (!keepr) +-	efs &= ~(RS_Uline); ++	efs &= ~(RS_Uline | RS_RVid); +     MEMSET(tp[row], ' ', width); +     for (er = rp[row]; width--;) + 	*er++ = efs; +@@ -2107,6 +2107,54 @@ + #define FONT_RBEAR(X, Y)						\ +     (X)->per_char[(Y) - (X)->min_char_or_byte2].rbearing +  ++#ifdef MULTICHAR_SET ++static int ++draw_string16(Display *display, ++	      Drawable d, ++	      GC gc, ++	      int x, ++	      int y, ++	      XChar2b *str, ++	      int len) ++{ ++    while (len > 0) { ++	XDrawString16(display, d, gc, x, y, str, 1); ++	if (str->byte1 == '\0') { ++	    x += TermWin.fwidth; ++	} ++	else { ++	    x += TermWin.fwidth * 2; ++	} ++	str++; ++	len--; ++    } ++    return 0; ++} ++ ++static int ++draw_image_string16(Display *display, ++		    Drawable d, ++		    GC gc, ++		    int x, ++		    int y, ++		    XChar2b *str, ++		    int len) ++{ ++    while (len > 0) { ++	XDrawImageString16(display, d, gc, x, y, str, 1); ++	if (str->byte1 == '\0') { ++	    x += TermWin.fwidth; ++	} ++	else { ++	    x += TermWin.fwidth * 2; ++	} ++	str++; ++	len--; ++    } ++    return 0; ++} ++#endif ++ + /* EXTPROTO */ + void + scr_refresh(int type) +@@ -2262,11 +2310,19 @@ + #ifndef NO_CURSORCOLOR + 	cc1 = *srp & (RS_fgMask | RS_bgMask); + 	if (Xdepth <= 2 || !rs[Rs_color + Color_cursor]) ++#ifdef CURSOR_COLOR_IS_RENDITION_COLOR ++	    ccol1 = GET_FGCOLOR(rstyle); ++#else + 	    ccol1 = Color_fg; ++#endif + 	else + 	    ccol1 = Color_cursor; + 	if (Xdepth <= 2 || !rs[Rs_color + Color_cursor2]) ++#ifdef CURSOR_COLOR_IS_RENDITION_COLOR ++	    ccol2 = GET_BGCOLOR(rstyle); ++#else + 	    ccol2 = Color_bg; ++#endif + 	else + 	    ccol2 = Color_cursor2; + 	*srp = SET_FGCOLOR(*srp, ccol1); +@@ -2366,9 +2422,9 @@ + 	    len = 0; + 	    buffer[len++] = stp[col]; + 	    ypixelc = Row2Pixel(row); +-	    ypixel = ypixelc + TermWin.font->ascent; ++	    ypixel = ypixelc + TermWin.fascent; + 	    xpixel = Col2Pixel(col); +-	    fontdiff = 0; ++	    fontdiff = TermWin.fontdiff; + 	    wlen = 1; +  + /* +@@ -2382,9 +2438,14 @@ + 		    if (!wbyte) { + 			wbyte = 1; + 			XSetFont(Xdisplay, TermWin.gc, TermWin.mfont->fid); +-		    fontdiff = TermWin.mprop; +-			draw_string = XDrawString16; +-			draw_image_string = XDrawImageString16; ++			fontdiff |= TermWin.mprop; ++			if (TermWin.mprop) { ++			    draw_string = draw_string16; ++			    draw_image_string = draw_image_string16; ++			} else { ++			    draw_string = XDrawString16; ++			    draw_image_string = XDrawImageString16; ++			} + 		    } + 		/* double stepping - we're in Kanji mode */ + 		    for (; ++col < TermWin.ncol;) { +@@ -2512,11 +2573,12 @@ + 	    if (!wbyte && MONO_BOLD(rend) && TermWin.boldFont != NULL) { + 		bfont = 1; + 		XSetFont(Xdisplay, TermWin.gc, TermWin.boldFont->fid); +-		fontdiff = TermWin.bprop; ++		fontdiff |= TermWin.bprop; + 		rend &= ~RS_Bold;	/* we've taken care of it */ + 	    } else if (bfont) { + 		bfont = 0; +-		XSetFont(Xdisplay, TermWin.gc, TermWin.font->fid); ++		if (!wbyte) ++		    XSetFont(Xdisplay, TermWin.gc, TermWin.font->fid); + 	    } + #endif + /* +@@ -3341,14 +3403,6 @@ +  + /* ------------------------------------------------------------------------- */ + /* +- * On some systems, the Atom typedef is 64 bits wide.  We need to have a type +- * that is exactly 32 bits wide, because a format of 64 is not allowed by +- * the X11 protocol. +- */ +-typedef CARD32  Atom32; +- +-/* ------------------------------------------------------------------------- */ +-/* +  * Respond to a request for our current selection +  * EXT: SelectionRequest +  */ +@@ -3357,7 +3411,7 @@ + selection_send(const XSelectionRequestEvent * rq) + { +     XEvent          ev; +-    Atom32          target_list[4]; ++    Atom            target_list[4]; +     Atom            target; +     static Atom     xa_targets = None; +     static Atom     xa_compound_text = None; +@@ -3382,13 +3436,12 @@ +     ev.xselection.time = rq->time; +  +     if (rq->target == xa_targets) { +-	target_list[0] = (Atom32) xa_targets; +-	target_list[1] = (Atom32) XA_STRING; +-	target_list[2] = (Atom32) xa_text; +-	target_list[3] = (Atom32) xa_compound_text; ++	target_list[0] = xa_targets; ++	target_list[1] = XA_STRING; ++	target_list[2] = xa_text; ++	target_list[3] = xa_compound_text; + 	XChangeProperty(Xdisplay, rq->requestor, rq->property, rq->target, +-			(8 * sizeof(target_list[0])), PropModeReplace, +-			(unsigned char *)target_list, ++			32, PropModeReplace, (unsigned char *)target_list, + 			(sizeof(target_list) / sizeof(target_list[0]))); + 	ev.xselection.property = rq->property; +     } else if (rq->target == XA_STRING +@@ -3503,3 +3556,26 @@ +     pos->y = Height2Pixel((screen.cur.row + 1)) + xwa.y; + } + #endif ++ ++#ifdef MULTICHAR_SET ++/* EXTPROTO */ ++int ++scr_multi1(void) ++{ ++    rend_t          rend; ++     ++    rend = screen.rend[screen.cur.row + TermWin.saveLines][screen.cur.col]; ++    return ((rend & RS_multiMask)==RS_multi1); ++} ++ ++/* EXTPROTO */ ++int ++scr_multi2(void) ++{ ++    rend_t          rend; ++     ++    if (screen.cur.col==0)  return 0; ++    rend = screen.rend[screen.cur.row + TermWin.saveLines][screen.cur.col-1]; ++    return ((rend & RS_multiMask)==RS_multi2); ++} ++#endif +--- rxvt-2.6.4.orig/src/main.c ++++ rxvt-2.6.4/src/main.c +@@ -1010,6 +1010,9 @@ +  + 	TermWin.fwidth = fw; + 	TermWin.fheight = fh; ++	TermWin.fascent = TermWin.font->ascent; ++	TermWin.fdescent = TermWin.font->descent; ++	TermWin.fontdiff = 0; +     } +  + /* check that size of boldFont is okay */ +@@ -1035,10 +1038,17 @@ + 	    int             fh, fw; +  + 	    fw = get_fontwidest(TermWin.mfont); +-	    fh = TermWin.mfont->ascent + TermWin.mfont->descent; +-	    if (fw <= TermWin.fwidth && fh <= TermWin.fheight) +-		/* WHAT TO DO!! */ ; +-	    TermWin.mprop = !(fw == TermWin.fwidth /* && fh == TermWin.fheight */ ); ++	    if (TermWin.mfont->ascent > TermWin.fascent) { ++		TermWin.fascent = TermWin.mfont->ascent; ++		TermWin.fontdiff = 1; ++	    } ++	    if (TermWin.mfont->descent > TermWin.fdescent) { ++		TermWin.fdescent = TermWin.mfont->descent; ++		TermWin.fontdiff = 1; ++	    } ++	    if (TermWin.fontdiff) ++		TermWin.fheight = TermWin.fascent + TermWin.fdescent; ++	    TermWin.mprop = (fw != TermWin.fwidth * 2); + 	} + #endif +  +@@ -1348,6 +1358,16 @@ + 	sprintf(env_term, "TERM=%s", rs[Rs_term_name]); + 	putenv(env_term); +     } else { ++	/* Debian hack: We at Debian prefer to be correct.  Therefore, we ++           use TERM=rxvt on color displays and TERM=rxvt-m (the -m stands ++           for monochrome, see terminfo(5)) on monochrome displays.  For ++           some unknown reason, the upstream maintianers don't recognize ++           the usefulness of this.  Oh well. */ ++#ifndef KANJI ++	if (Xdepth <= 2) ++	    putenv("TERM=" TERMENV "-m"); ++	else ++#endif + 	putenv("TERM=" TERMENV); +     } + } +--- rxvt-2.6.4.orig/src/grkelot.c ++++ rxvt-2.6.4/src/grkelot.c +@@ -158,9 +158,9 @@ +  + #define NUM_XLAT_TYPES	(sizeof(xlat_type) / sizeof(xlat_type[0])) +  +-static void     kstate_add_xlat(char *str); +-static void     kstate_add_switcher(char *str); +-static void     kstate_set_life(char *str); ++void     kstate_add_xlat(char *str); ++void     kstate_add_switcher(char *str); ++void     kstate_set_life(char *str); +  + /* --- Functions ------------- */ + /* INTPROTO */ +--- rxvt-2.6.4.orig/src/graphics.c ++++ rxvt-2.6.4/src/graphics.c +@@ -144,15 +144,15 @@ + 	x -= (XTextWidth(TermWin.font, data->text, data->coords[3]) >> 1); +  +     if (align & TOP_TEXT) +-	y += TermWin.font->ascent; ++	y += TermWin.fascent; +     else if (align & BOTTOM_TEXT) +-	y -= TermWin.font->descent; ++	y -= TermWin.fdescent; +  +     if (align & VCENTER_TEXT) +-	y -= TermWin.font->descent +-	     + ((TermWin.font->ascent + TermWin.font->descent) >> 1); ++	y -= TermWin.fdescent ++	     + ((TermWin.fascent + TermWin.fdescent) >> 1); +     if (align & VCAPS_CENTER_TEXT) +-	y += (TermWin.font->ascent >> 1); ++	y += (TermWin.fascent >> 1); +  +     XPMClearArea(Xdisplay, grwin->win, x, y, Width2Pixel(data->coords[3]), + 		 Height2Pixel(1), 0); +--- rxvt-2.6.4.orig/src/command.c ++++ rxvt-2.6.4/src/command.c +@@ -992,7 +992,9 @@ +     else { +     /* To avoid Segmentation Fault in C locale */ + 	setTermFontSet(); ++#ifdef MULTICHAR_SET +         if (strcmp(locale, "C")) ++#endif + 	    XRegisterIMInstantiateCallback(Xdisplay, NULL, NULL, NULL, + 					   IMInstantiateCallback, NULL); +     } +@@ -1214,11 +1216,23 @@ + 				^ !!(shft | ctrl)) ? '\b' : '\177'); + 		} else + 		    len = strlen(STRCPY(kbuf, key_backspace)); ++#ifdef MULTICHAR_SET ++		if ((Options & Opt_mc_hack) && scr_multi2()) { ++		    memmove(kbuf + len, kbuf, len); ++		    len *= 2; ++		} ++#endif + 		break; + #endif + #ifndef NO_DELETE_KEY + 	    case XK_Delete: + 		len = strlen(STRCPY(kbuf, key_delete)); ++#ifdef MULTICHAR_SET ++		if ((Options & Opt_mc_hack) && scr_multi1()) { ++		    memmove(kbuf + len, kbuf, len); ++		    len *= 2; ++		} ++#endif + 		break; + #endif + 	    case XK_Tab: +@@ -1244,13 +1258,13 @@ +  + #ifdef XK_KP_Left + 	    case XK_KP_Up:	/* \033Ox or standard */ +-	    case XK_KP_Down:	/* \033Ow or standard */ ++	    case XK_KP_Down:	/* \033Or or standard */ + 	    case XK_KP_Right:	/* \033Ov or standard */ + 	    case XK_KP_Left:	/* \033Ot or standard */ + 		if ((PrivateModes & PrivMode_aplKP) ? !shft : shft) { + 		    len = 3; + 		    STRCPY(kbuf, "\033OZ"); +-		    kbuf[2] = ("txvw"[keysym - XK_KP_Left]); ++		    kbuf[2] = ("txvr"[keysym - XK_KP_Left]); + 		    break; + 		} else + 		/* translate to std. cursor key */ +@@ -1272,6 +1286,14 @@ + 		    kbuf[2] = ("dacb"[keysym - XK_Left]); + 		} else if (PrivateModes & PrivMode_aplCUR) + 		    kbuf[1] = 'O'; ++#ifdef MULTICHAR_SET ++		if ((Options & Opt_mc_hack) && ++		    ((keysym==XK_Left && scr_multi2()) || ++		    (keysym==XK_Right && scr_multi1()))) { ++		    memmove(kbuf + len, kbuf, len); ++		    len *= 2; ++		} ++#endif + 		break; +  + #ifndef UNSHIFTED_SCROLLKEYS +@@ -1670,8 +1692,16 @@ +  + 	    cmdbuf_ptr = cmdbuf_endp = cmdbuf_base; + 	    for (count = BUFSIZ; count; count -= n, cmdbuf_endp += n) +-		if ((n = read(cmd_fd, cmdbuf_endp, count)) <= 0) ++		if ((n = read(cmd_fd, cmdbuf_endp, count)) > 0) ++		    continue; ++		else if (n == 0 || (n < 0 && errno == EAGAIN)) + 		    break; ++		else { ++#if !defined (HAVE_ATEXIT) && !defined (__sun__) ++		    clean_exit(); ++#endif ++		    exit(1);	/* bad order of events? */ ++		} + 	    if (count != BUFSIZ)	/* some characters read in */ + 		return (*cmdbuf_ptr++); + 	} +@@ -2376,7 +2406,7 @@ +     unsigned char   buf[256]; +  +     va_start(arg_ptr, fmt); +-    vsprintf(buf, fmt, arg_ptr); ++    vsnprintf(buf, sizeof(buf), fmt, arg_ptr); +     va_end(arg_ptr); +     tt_write(buf, strlen(buf)); + } +@@ -2826,6 +2856,7 @@ +     case 18:			/* report window size (chars) */ + 	tt_printf("\033[8;%d;%dt", TermWin.nrow, TermWin.ncol); + 	break; ++#if 0 /* XXX: currently disabled due to security concerns */ +     case 20:			/* report icon label */ + 	XGetIconName(Xdisplay, TermWin.parent[0], &s); + 	tt_printf("\033]L%-.200s\033\\", s ? s : ""); +@@ -2834,6 +2865,7 @@ + 	XFetchName(Xdisplay, TermWin.parent[0], &s); + 	tt_printf("\033]l%-.200s\033\\", s ? s : ""); + 	break; ++#endif +     } + } + #endif +@@ -2853,7 +2885,8 @@ +     if (ch == ';') { + 	int             n = 0; +  +-	while ((ch = cmd_getc()) != 007) { ++	while ((ch = cmd_getc()) != 007 && ++	    !(ch == 0x1b && cmd_getc() == 0x5c)) { + 	    if (ch) { + 		if (ch == '\t') + 		    ch = ' ';	/* translate '\t' to space */ +@@ -2870,7 +2903,11 @@ +      * so do it here +      */ + 	if (arg == XTerm_Menu) ++#if 0 /* XXX: currently disabled due to security concerns */ + 	    menubar_dispatch((char *)string); ++#else ++	    0; ++#endif + 	else + 	    xterm_seq(arg, (char *)string); +     } +--- rxvt-2.6.4.orig/src/rxvt.h ++++ rxvt-2.6.4/src/rxvt.h +@@ -173,9 +173,12 @@ + 		    height,	/* window height [pixels]                   */ + 		    fwidth,	/* font width [pixels]                      */ + 		    fheight,	/* font height [pixels]                     */ ++		    fascent,	/* font ascent [pixels]                     */ ++		    fdescent,	/* font descent [pixels]                    */ + 		    fprop,	/* font is proportional                     */ + 		    bprop,	/* treat bold font as proportional          */ + 		    mprop,	/* treat multichar font as proportional     */ ++		    fontdiff,	/* font size different                      */ + 		    ncol, nrow,	/* window size [characters]                 */ + 		    focus,	/* window has focus                         */ + 		    mapped,	/* window state mapped?                     */ +@@ -469,6 +472,7 @@ + #define Opt_scrollTtyOutput	(1LU<<11) + #define Opt_scrollKeypress	(1LU<<12) + #define Opt_transparent		(1LU<<13) ++#define Opt_mc_hack		(1LU<<14) + /* place holder used for parsing command-line options */ + #define Opt_Reverse		(1LU<<30) + #define Opt_Boolean		(1LU<<31) +@@ -610,6 +614,9 @@ +     Rs_preeditType, +     Rs_inputMethod, + #endif ++#ifdef MULTICHAR_SET ++    Rs_mc_hack, ++#endif + #if defined (HOTKEY_CTRL) || defined (HOTKEY_META) +     Rs_bigfont_key, +     Rs_smallfont_key, +--- rxvt-2.6.4.orig/src/feature.h ++++ rxvt-2.6.4/src/feature.h +@@ -368,6 +368,10 @@ +  */ + #define SUPPORT_BROKEN_APPS_WHICH_RELY_ON_UNDEFINED_BW_BEHAVIOUR_AS_XTERM +  ++/* Debian modification to change the cursor color to the foreground ++   color */ ++#define CURSOR_COLOR_IS_RENDITION_COLOR ++ + /* +  * List of default fonts available +  * NFONTS is the number of fonts in the list +--- rxvt-2.6.4.orig/doc/etc/rxvt.terminfo ++++ rxvt-2.6.4/doc/etc/rxvt.terminfo +@@ -13,7 +13,13 @@ + # rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM. + # Since rxvt is not really compatible with xterm, it should be configured as + # "rxvt-basic" (monochrom) and "rxvt" +-rxvt-basic|rxvt terminal base (X Window System),  ++# ++# Debian's changes: ++#   Debian has uses two termcap/terminfo entries: ++#	rxvt	for color displays ++#	rxvt-m	for monochrome displays ++#   Debian also prefers ^? for kbs (backspace). ++rxvt-m|monochrome rxvt terminal emulator (X Window System),  +         am, bce, eo, km, mir, msgr, xenl, xon,  +         cols#80, it#8, lines#24,  +         acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,  +@@ -29,7 +35,7 @@ +         ind=^J, is1=\E[?47l\E=\E[?1l,  +         is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l,  +         kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kLFT=\E[d, kNXT=\E[6$,  +-        kPRV=\E[5$, kRIT=\E[c, ka1=\EOw, ka3=\EOy, kb2=\EOu, kbs=^H,  ++        kPRV=\E[5$, kRIT=\E[c, ka1=\EOw, ka3=\EOy, kb2=\EOu, kbs=^?,  +         kc1=\EOq, kc3=\EOs, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,  +         kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kel=\E[8\^,  +         kend=\E[8~, kent=\EOM, kf0=\E[21~, kf1=\E[11~, kf10=\E[21~,  +@@ -50,4 +56,4 @@ +         colors#8, pairs#64,  +         op=\E[39;49m, setab=\E[%p1%{40}%+%dm,  +         sgr0=\E[m\017, setaf=\E[%p1%{30}%+%dm, +-        use=rxvt-basic,  ++        use=rxvt-m,  +--- rxvt-2.6.4.orig/doc/etc/rxvt.termcap ++++ rxvt-2.6.4/doc/etc/rxvt.termcap +@@ -1,5 +1,8 @@ +-#	Reconstructed via infocmp from file: /usr/share/terminfo/r/rxvt +-rxvt|rxvt terminal emulator (X Window System):\ ++# Debian's changes: ++#   Debian has uses two termcap/terminfo entries: ++#	rxvt	for color displays ++#	rxvt-m	for monochrome displays ++rxvt-m|monochrome rxvt terminal emulator (X Window System):\ + 	:am:eo:km:mi:ms:xn:xo:\ + 	:co#80:it#8:li#24:\ + 	:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ +@@ -11,9 +14,27 @@ + 	:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + 	:k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ + 	:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ +-	:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:\ +-	:kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:\ +-	:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:\ ++	:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:\ ++	:ke=\E>:kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:\ ++	:mb=\E[5m:md=\E[1m:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:\ + 	:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + 	:te=\E[?47l\E8:ti=\E7\E[?47h:ue=\E[24m:up=\E[A:us=\E[4m:\ + 	:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: ++rxvt|rxvt terminal emulator (X Window System):\ ++	:am:eo:km:mi:ms:xn:xo:\ ++	:co#80:it#8:li#24:\ ++	:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ ++	:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ ++	:RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:\ ++	:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ ++	:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ei=\E[4l:\ ++	:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\ ++	:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ ++	:k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ ++	:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ ++	:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:\ ++	:ke=\E>:kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:\ ++	:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\ ++	:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ ++	:te=\E[?47l\E8:ti=\E7\E[?47h:ue=\E[24m:up=\E[A:us=\E[4m:\ ++	:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: +--- rxvt-2.6.4.orig/doc/yodl/rxvt-resources.yo ++++ rxvt-2.6.4/doc/yodl/rxvt-resources.yo +@@ -221,7 +221,7 @@ +     dit(bf(cutchars:) em(string)) + 	The characters used as delimiters for double-click word selection.  + 	The built-in default: nl()\ +-	bf(BACKSLASH `"'&()*,;<=>?@[]{|}) ++	bf(BACKSLASH \ `"'&()*,;<=>?@[]{|}) +     dit(bf(preeditType:) em(style)) + 	bf(OverTheSpot), bf(OffTheSpot), bf(Root); + 	option bf(-pt). +--- rxvt-2.6.4.orig/doc/rxvt.tbl ++++ rxvt-2.6.4/doc/rxvt.tbl +@@ -1,4 +1,5 @@ +-.TH "1" "RXVT" "02 NOVEMBER 2001" "X Version 11" "X Tools"  ++'\" t ++.TH "RXVT" 1 "02 NOVEMBER 2001" "X Version 11" "X Tools"  + .SH "NAME"  + rxvt (ouR XVT) \- a VT102 emulator for the X window system + .PP  +@@ -17,19 +18,19 @@ + .PP  + .SH "OPTIONS"  + .PP  +-The \fBrxvt\fP options (mostly a subset of \fIxterm\fP\'s) are listed below\&. ++The \fBrxvt\fP options (mostly a subset of \fIxterm\fP's) are listed below\&. + In keeping with the smaller-is-better philosophy, options may be eliminated + or default values chosen at compile-time, so options and defaults listed + may not accurately reflect the version installed on your system\&.   +-`rxvt -h\' gives a list of major compile-time options on the usage line\&. ++\(lqrxvt -h\(rq gives a list of major compile-time options on the usage line\&. + Option descriptions may be prefixed with which compile option each is +-dependent upon\&.  e\&.g\&. `Compile \fIXIM\fP:\' requires \fIXIM\fP on the usage line\&. +-Note: `rxvt -help\' gives a list of all options compiled into your version\&. ++dependent upon\&.  e\&.g\&. \(lqCompile \fIXIM\fP:\(rq requires \fIXIM\fP on the usage line\&. ++Note: \(lqrxvt -help\(rq gives a list of all options compiled into your version\&. + .PP  + Note that \fBrxvt\fP permits the resource name to be used as a long-option + (--/++ option) so the potential command-line options are far greater than + those listed\&. +-For example: `rxvt --loginShell --color1 Orange\'\&. ++For example: \(lqrxvt --loginShell --color1 Orange\(rq\&. + .PP  + .IP "\fB-help\fP, \fB--help\fP"  + Print out a message describing available options\&. +@@ -44,7 +45,7 @@ + Turn on/off simulated reverse video; + resource \fBreverseVideo\fP\&. + .IP "\fB-ip\fP|\fB+ip\fP"  +-Turn on/off inheriting parent window\'s pixmap\&.  Alternative form ++Turn on/off inheriting parent window's pixmap\&.  Alternative form + is \fB-tr\fP; + resource \fBinheritPixmap\fP\&. + .IP "\fB-bg\fP \fIcolour\fP"  +@@ -57,7 +58,7 @@ + Compile \fIXPM\fP: Specify XPM file for the background and also + optionally specify its scaling with a geometry string\&.  Note you + may need to add quotes to avoid special shell interpretation of +-the `;\' in the command-line; ++the \(lq;\(rq in the command-line; + resource \fBbackgroundPixmap\fP\&. + .IP "\fB-cr\fP \fIcolour\fP"  + The cursor colour; +@@ -90,7 +91,7 @@ + .IP "\fB-name\fP \fIname\fP"  + Specify the application name under which resources + are to be obtained, rather than the default executable file name\&. +-Name should not contain `\&.\' or `*\' characters\&. ++Name should not contain \(lq\&.\(rq or \(lq*\(rq characters\&. + Also sets the icon and title name\&. + .IP "\fB-ls\fP|\fB+ls\fP"  + Start as a login-shell/sub-shell; +@@ -127,6 +128,9 @@ + \fBTERM\fP environment variable\&. This terminal type must exist in the + \fItermcap(5)\fP database and should have \fIli#\fP and \fIco#\fP entries; + resource \fBtermName\fP\&. ++.IP "\fB-im\fP \fImethod\fP"  ++This option specifies the input method to use; ++resource \fBinputMethod\fP\&. + .IP "\fB-e\fP \fIcommand [arguments]\fP"  + Run the command with its command-line arguments in the \fBrxvt\fP + window; also sets the window title and icon name to be the basename +@@ -160,11 +164,11 @@ + resource \fImodifier\fP\&. + .IP "\fB-xrm\fP \fIresourcestring\fP"  + No effect on rxvt\&.  Simply passes through an argument to be made +-available in the instance\'s argument list\&.  Appears in \fIWM_COMMAND\fP ++available in the instance's argument list\&.  Appears in \fIWM_COMMAND\fP + in some window managers\&. + .SH "RESOURCES (available also as long-options)"  + .PP  +-Note: `rxvt --help\' gives a list of all resources (long options) compiled ++Note: \(lqrxvt --help\(rq gives a list of all resources (long options) compiled + into your version\&. + If compiled with internal Xresources support (i\&.e\&. \fBrxvt -h\fP lists  + \fB\&.Xdefaults\fP) then \fBrxvt\fP accepts application defaults set in +@@ -185,11 +189,11 @@ + 80x24]; + option \fB-geometry\fP\&. + .IP "\fBbackground:\fP \fIcolour\fP"  +-Use the specified colour as the window\'s background colour [default ++Use the specified colour as the window's background colour [default + White]; + option \fB-bg\fP\&. + .IP "\fBforeground:\fP \fIcolour\fP"  +-Use the specified colour as the window\'s foreground colour [default ++Use the specified colour as the window's foreground colour [default + Black]; + option \fB-fg\fP\&. + .IP "\fBcolor\fP\fIn\fP\fB:\fP \fIcolour\fP"  +@@ -221,26 +225,26 @@ + option \fB+rv\fP\&. + See note in \fBCOLORS AND GRAPHICS\fP section\&. + .IP "\fBinheritPixmap:\fP \fIboolean\fP"  +-\fBTrue\fP: make the background inherit the parent windows\' pixmap, ++\fBTrue\fP: make the background inherit the parent windows' pixmap, + giving artificial transparency\&. +-\fBFalse\fP: do not inherit the parent windows\' pixmap\&. ++\fBFalse\fP: do not inherit the parent windows' pixmap\&. + .IP "\fBscrollColor:\fP \fIcolour\fP"  + Use the specified colour for the scrollbar [default #B2B2B2]\&. + .IP "\fBtroughColor:\fP \fIcolour\fP"  +-Use the specified colour for the scrollbar\'s trough area [default ++Use the specified colour for the scrollbar's trough area [default + #969696]\&.  Only relevant for normal (non XTerm/NeXT) scrollbar\&. + .IP "\fBbackgroundPixmap:\fP \fIfile[;geom]\fP"  +-Use the specified XPM file (note the `\&.xpm\' extension is optional) ++Use the specified XPM file (note the \(lq\&.xpm\(rq extension is optional) + for the background and also optionally specify its scaling with a +-geometry string \fBWxH+X+Y\fP, in which \fB"W" / "H"\fP specify the +-horizontal/vertical scale (percent) and \fB"X" / "Y"\fP locate the ++geometry string \fBWxH+X+Y\fP, in which \fB\(lqW\(rq / \(lqH\(rq\fP specify the ++horizontal/vertical scale (percent) and \fB\(lqX\(rq / \(lqY\(rq\fP locate the + image centre (percent)\&.  A scale of 0 displays the image with tiling\&. + A scale of 1 displays the image without any scaling\&.  A scale of 2 to + 9 specifies an integer number of images in that direction\&.  No image + will be magnified beyond 10 times its original size\&.  The maximum + permitted scale is 1000\&.  [default 0x0+50+50] + .IP "\fBmenu:\fP \fIfile[;tag]\fP"  +-Read in the specified menu file (note the `\&.menu\' extension is ++Read in the specified menu file (note the \(lq\&.menu\(rq extension is + optional) and also optionally specify a starting tag to find\&.  See + the reference documentation for details on the syntax for the menuBar\&. + .IP "\fBpath:\fP \fIpath\fP"  +@@ -304,8 +308,8 @@ + name; + option \fB-title\fP\&. + .IP "\fBiconName:\fP \fItext\fP"  +-Set the name used to label the window\'s icon or displayed in an icon +-manager window, it also sets the window\'s title unless it is ++Set the name used to label the window's icon or displayed in an icon ++manager window, it also sets the window's title unless it is + explicitly set; + option \fB-n\fP\&. + .IP "\fBmapAlert:\fP \fIboolean\fP"  +@@ -318,7 +322,7 @@ + \fBFalse\fP: no visual bell [default]; + option \fB+vb\fP\&. + .IP "\fBloginShell:\fP \fIboolean\fP"  +-\fBTrue\fP: start as a login shell by prepending a `-\' to \fBargv[0]\fP ++\fBTrue\fP: start as a login shell by prepending a \(lq-\(rq to \fBargv[0]\fP + of the shell; + option \fB-ls\fP\&. + \fBFalse\fP: start as a normal sub-shell [default]; +@@ -372,6 +376,9 @@ + Specifies the terminal type name to be set in the \fBTERM\fP + environment variable; + option \fB-tn\fP\&. ++.IP "\fBinputMethod:\fP \fImethod\fP"  ++Specifies the input method to use; ++option \fB-im\fP\&. + .IP "\fBmeta8:\fP \fIboolean\fP"  + \fBTrue\fP: handle Meta (Alt) + keypress to set the 8th bit\&. + \fBFalse\fP: handle Meta (Alt) + keypress as an escape prefix [default]\&. +@@ -388,7 +395,7 @@ + The characters used as delimiters for double-click word selection\&.  + The built-in default:  + .br  +-\fBBACKSLASH `"\'&()*,;<=>?@[]{|}\fP ++\fBBACKSLASH \ `"'&()*,;<=>?@[]{|}\fP + .IP "\fBpreeditType:\fP \fIstyle\fP"  + \fBOverTheSpot\fP, \fBOffTheSpot\fP, \fBRoot\fP; + option \fB-pt\fP\&. +@@ -497,7 +504,7 @@ + as a number 0-15, as a convenient shorthand to reference the colour name of + color0-color15\&. + .PP  +-Note that \fB-rv\fP (\fB"reverseVideo: True"\fP) simulates reverse video by ++Note that \fB-rv\fP (\fB\(lqreverseVideo: True\(rq\fP) simulates reverse video by + always swapping the foreground/background colours\&.  This is in contrast to + \fIxterm\fP(1) where the colours are only swapped if they have not otherwise been + specified\&. +@@ -520,6 +527,16 @@ + .IP "\fB/usr/lib/X11/rgb\&.txt\fP"  + Color names\&. + .PP  ++.SH "DEBIAN NOTES" ++.PP  ++The standard Debian \fBrxvt\fP package provides two versions of the ++\fBrxvt\fP binary: ++.IP "\fBrxvt-xterm\fP" ++This version is compiled with no XPM support.  It has been configured to ++be a smaller, more efficient xterm substitute. ++.IP "\fBrxvt-xpm\fP" ++This version is compiled with XPM and menu support. ++.PP  + .SH "SEE ALSO"  + .PP  + \fIxterm\fP(1), \fIsh\fP(1), \fIresize\fP(1), \fIX\fP(1), \fIpty\fP(4), \fItty\fP(4), +@@ -534,7 +551,7 @@ + .PP  + Cursor change support is not yet implemented\&. + .PP  +-Click-and-drag doesn\'t work with X11 mouse report overriding\&. ++Click-and-drag doesn't work with X11 mouse report overriding\&. + .PP  + Graphics support is fairly crude\&. + .PP  +--- rxvt-2.6.4.orig/doc/Makefile ++++ rxvt-2.6.4/doc/Makefile +@@ -0,0 +1,178 @@ ++# Generated automatically from Makefile.in by configure. ++# doc/Makefile.in	-*- Makefile -*- ++# $Id: Makefile.in,v 1.12.4.4 2000/04/15 08:59:44 gcw Exp $ ++ ++# autoconf/Make.common.in	 -*- Makefile -*- ++# release date (man), LSM date, version number/name, current maintainer ++DATE=02 NOVEMBER 2001 ++LSMDATE=02NOV01 ++VERSION=2.6.4 ++VERNAME=rxvt-$(VERSION)# ++MAINT=Geoff Wing# ++MAINTEMAIL=<gcw@rxvt.org># ++WEBMAINT=Oezguer Kesim# ++WEBMAINTEMAIL=<oec@rxvt.org># ++WEBPAGE=<http://www.rxvt.org/># ++FTPSITENAME=ftp.rxvt.org# ++FTPSITEDIR=/pub/rxvt# ++#------------------------------------------------------------------------- ++ ++SHELL = /bin/sh ++ ++# This variable makes it possible to move the installation root to another ++# directory. This is useful when you're creating a binary distribution ++# If empty, normal root will be used. ++# You can run eg. 'make install DESTDIR=/packages/rxvt-xx' to accomplish ++# that. ++# DESTDIR = /usr/local/X11/$(VERNAME) ++ ++# Installation target directories & other installation stuff ++prefix = /usr ++exec_prefix = ${prefix} ++binprefix = ++manprefix = ++bindir = ${exec_prefix}/bin ++mandir = ${prefix}/share/man/man1 ++manext = 1 ++ ++# Tools & program stuff ++CC = gcc ++CPP = gcc -E ++MV = /bin/mv ++RM = /bin/rm ++RMF = /bin/rm -f ++CP = /bin/cp ++SED = /bin/sed ++AWK = /usr/bin/awk ++ECHO = /bin/echo ++CMP = /usr/bin/cmp ++TBL = /usr/bin/tbl ++INSTALL = /usr/bin/install -c ++INSTALL_PROGRAM = /usr/bin/install -c -s -m 755 ++INSTALL_DATA = /usr/bin/install -c -m 644 ++ ++# Flags & libs ++# add -DBINDIR=\""$(bindir)/"\" to CPPFLAGS, if we need to spawn a program ++ ++CFLAGS = -O  ++CPPFLAGS =  -DHAVE_LIBXPM ++LDFLAGS =  ++DEFS = -DHAVE_CONFIG_H ++LIBS =  ++DINCLUDE =  ++DLIB =  ++ ++# X Include directory ++XINC =  -I/usr/X11R6/include -I/usr/include/X11 ++ ++# extra libraries needed by X on some systems, X library location ++XLIB =  -L/usr/X11R6/lib -L/usr/X11R6/lib -lXpm -lX11  ++ ++# End of common section of the Makefile ++#------------------------------------------------------------------------- ++ ++srcdir =	. ++.PATH:		. ++ ++basedir = .. ++thisdir = doc ++ ++first_rule: all ++dummy: ++ ++# ++# Distribution variables ++# ++ ++YODL_RXVT = yodl/rxvt-colours.yo yodl/rxvt-environment.yo\ ++	    yodl/rxvt-files.yo yodl/rxvt-fonts.yo yodl/rxvt-login.yo\ ++	    yodl/rxvt-mousereporting.yo yodl/rxvt-options.yo\ ++	    yodl/rxvt-resources.yo yodl/rxvt-scrollbar.yo\ ++	    yodl/rxvt-textselection.yo ++YODL_RREF = yodl/rxvtRef-csi.yo yodl/rxvtRef-definitions.yo\ ++	    yodl/rxvtRef-graphics.yo yodl/rxvtRef-keycodes.yo\ ++	    yodl/rxvtRef-menubar.yo yodl/rxvtRef-mouse.yo\ ++	    yodl/rxvtRef-privatemodes.yo yodl/rxvtRef-sequences.yo\ ++	    yodl/rxvtRef-values.yo yodl/rxvtRef-xpm.yo yodl/rxvtRef-xterm.yo ++ ++DIST_ETC  = etc/rxvt.termcap etc/rxvt.terminfo etc/XTerm.ad ++DIST_YODL = yodl/masonyodl.yo yodl/versioninfo.yo yodl/versioninfo.yo.in\ ++	    $(YODL_RXVT) yodl/rxvt.yo yodl/rxvt.yo.in $(YODL_RREF)\ ++	    yodl/rxvtRef.yo.in ++DIST_MENU = menu/menu menu/example.menu menu/rxvt.menu menu/terminal.menu\ ++	    menu/jedmenu.sl ++DIST	  = Makefile.in README.greek README.menu README.xvt BUGS FAQ TODO\ ++	    changes.txt xterm.seq LSM.in rxvt.1 rxvt.tbl rxvtRef.txt\ ++	    rxvtRef.html rxvtRef-frame.html rxvtRef-toc.html rxvt.html  ++ ++#------------------------------------------------------------------------- ++ ++all: rxvt.1 ++ ++rxvt.1: Makefile ++	@if test x$(TBL) = x; then : ; else echo "$(TBL) $(srcdir)/rxvt.tbl | grep -v '^.lf' > rxvt.1"; $(TBL) $(srcdir)/rxvt.tbl | grep -v '^.lf' > rxvt.1 ; fi ++ ++SEDREPLACE = -e 's%@RXVT_VERSION@%$(VERSION)%g;'\ ++	     -e 's%@RXVT_LSMDATE@%$(LSMDATE)%g;'\ ++	     -e 's%@RXVT_DATE@%$(DATE)%g;'\ ++	     -e 's%@RXVT_MAINTEMAIL@%$(MAINTEMAIL)%g;'\ ++	     -e 's%@RXVT_MAINT@%$(MAINT)%g;'\ ++	     -e 's%@RXVT_WEBPAGE@%$(WEBPAGE)%g;'\ ++	     -e 's%@RXVT_WEBMAINTEMAIL@%$(WEBMAINTEMAIL)%g;'\ ++	     -e 's%@RXVT_WEBMAINT@%$(WEBMAINT)%g;'\ ++	     -e 's%@RXVT_FTPSITENAME@%$(FTPSITENAME)%g;'\ ++	     -e 's%@RXVT_FTPSITEDIR@%$(FTPSITEDIR)%g;' ++ ++tags allbin: ++ ++alldoc:	$(basedir)/$(VERNAME).lsm rxvt.tbl rxvt.1 rxvt.html rxvtRef.html rxvtRef.txt ++ ++yodl/versioninfo.yo: yodl/versioninfo.yo.in ../src/version.h ++	$(SED) $(SEDREPLACE) < $(srcdir)/yodl/versioninfo.yo.in > $@ ++ ++$(basedir)/$(VERNAME).lsm: LSM.in $(srcdir)/../autoconf/Make.common.in $(srcdir)/../src/version.h ++	$(SED) $(SEDREPLACE) < $(srcdir)/LSM.in > $@ ++ ++rxvt.tbl: yodl/rxvt.yo $(YODL_RXVT) yodl/versioninfo.yo yodl/masonyodl.yo ++	yodl2man -orxvt.tbl yodl/rxvt.yo ++ ++rxvt.html: yodl/rxvt.yo $(YODL_RXVT) yodl/versioninfo.yo yodl/masonyodl.yo ++	yodl2html -o$@ yodl/rxvt.yo ++ ++rxvtRef.html: $(YODL_RREF) yodl/rxvtRef.yo yodl/masonyodl.yo ++	yodl2html -o$@ yodl/rxvtRef.yo ++ ++rxvtRef.txt: $(YODL_RREF) yodl/rxvtRef.yo yodl/masonyodl.yo ++	yodl2txt -o$@ yodl/rxvtRef.yo ++ ++clean: ++	$(RMF) rxvt.man *~ yodl/*~ ++ ++realclean: clean ++	$(RMF) tags rxvt.1 rxvt.html rxvtRef.html rxvtRef.txt ++ ++distclean: ++ ++install: ++	$(INSTALL_DATA) rxvt.1 $(DESTDIR)$(mandir)/$(manprefix)rxvt.$(manext) ++ ++uninstall: ++	-cd $(mandir); $(RMF) $(manprefix)rxvt.$(manext) ++ ++distdirs: ++	mkdir $(basedir)/../$(VERNAME)/$(thisdir) ++	mkdir $(basedir)/../$(VERNAME)/$(thisdir)/etc ++	mkdir $(basedir)/../$(VERNAME)/$(thisdir)/menu ++	mkdir $(basedir)/../$(VERNAME)/$(thisdir)/yodl ++ ++distcopy: distdepend ++	$(CP) -p $(basedir)/$(VERNAME).lsm $(basedir)/../$(VERNAME); ++	$(CP) -p $(DIST)      $(basedir)/../$(VERNAME)/$(thisdir) ++	$(CP) -p $(DIST_ETC)  $(basedir)/../$(VERNAME)/$(thisdir)/etc ++	$(CP) -p $(DIST_MENU) $(basedir)/../$(VERNAME)/$(thisdir)/menu ++	$(CP) -p $(DIST_YODL) $(basedir)/../$(VERNAME)/$(thisdir)/yodl ++ ++distdepend: alldoc ++ ++# ------------------------------------------------------------------------ ++# DO NOT DELETE: ugly dependency list follows +--- rxvt-2.6.4.orig/doc/rxvt.html ++++ rxvt-2.6.4/doc/rxvt.html +@@ -468,7 +468,7 @@ + 	with the <strong>Execute</strong> key. +     <p></p><dt><strong><strong>cutchars:</strong> <em>string</em></strong><dd> + 	The characters used as delimiters for double-click word selection.  +-	The built-in default: <br><strong>BACKSLASH `"'&()*,;<=>?@[]{|}</strong> ++	The built-in default: <br><strong>BACKSLASH \ `"'&()*,;<=>?@[]{|}</strong> +     <p></p><dt><strong><strong>preeditType:</strong> <em>style</em></strong><dd> + 	<strong>OverTheSpot</strong>, <strong>OffTheSpot</strong>, <strong>Root</strong>; + 	option <strong>-pt</strong>. +--- rxvt-2.6.4.orig/rclock/rclock.c ++++ rxvt-2.6.4/rclock/rclock.c +@@ -336,7 +336,7 @@ + 	if (*opt == 'd' && val)		display_name = val;	/* "d", "display" */ + 	else if (*opt == 'g' && val)	rs_geometry = val;	/* "g", "geometry" */ + #ifdef ICONWIN +-	else if (*opt == 'i' && val)	/* "ic", "iconic" */ ++	else if (*opt == 'i')	/* "ic", "iconic" */ + 	  { + 	     iconic_state = IconicState; + 	     i--;	/* no argument */ +@@ -1201,8 +1201,16 @@ + 		       int n = (sizeof(execPrgm) - strlen (execPrgm) - 2); + 		       if ((n > 0) && (n >= strlen (prgm))) + 			 { +-			    /* for co-occurring programs */ +-			    strcat (execPrgm, ";"); ++			   /* for co-occurring programs */ ++			   switch (execPrgm[strlen (execPrgm)-1]) ++			     { ++			     case '&': ++			     case ';': ++			       break; ++			     default: ++			       strcat (execPrgm, ";"); ++			       break; ++			     } + 			    strncat (execPrgm, prgm, n); + 			 } + 		    } +--- rxvt-2.6.4.orig/rclock/feature.h ++++ rxvt-2.6.4/rclock/feature.h +@@ -53,7 +53,7 @@ + #define MAIL + /* #define MAIL_BELL */ + /* #define MAIL_SPAWN	"xmh\ -font\ 7x14\&" */ +-/* #define MAIL_SPOOL	"/var/spool/mail/" */ ++#define MAIL_SPOOL	"/var/spool/mail/" +  + /*----------------------------------------------------------------------* +  * #define CLOCKUPDATE	30 +--- rxvt-2.6.4.orig/Makefile.in ++++ rxvt-2.6.4/Makefile.in +@@ -1,6 +1,6 @@ + # ./Makefile.in			-*- Makefile -*- + # $Id: Makefile.in,v 1.5 1999/03/29 05:31:37 mason Exp $ +-@MCOMMON@ ++#@MCOMMON@ +  + srcdir =	@srcdir@ + VPATH =		@srcdir@  | 
