rxvt_2.6.4-10.diff 37 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132
  1. --- rxvt-2.6.4.orig/src/graphics/Makefile.in
  2. +++ rxvt-2.6.4/src/graphics/Makefile.in
  3. @@ -1,6 +1,6 @@
  4. # test/graphics/Makefile.in -*- Makefile -*-
  5. # $Id: Makefile.in,v 1.3 1998/11/26 05:28:28 mason Exp $
  6. -@MCOMMON@
  7. +#@MCOMMON@
  8. srcdir = @srcdir@
  9. VPATH = @srcdir@
  10. --- rxvt-2.6.4.orig/src/command.h
  11. +++ rxvt-2.6.4/src/command.h
  12. @@ -181,7 +181,7 @@
  13. /* time factor to slow down a `jumpy' mouse */
  14. #define MOUSE_THRESHOLD 50
  15. -#define CONSOLE "/dev/console" /* console device */
  16. +#define CONSOLE "/dev/xconsole" /* console device */
  17. /*
  18. * key-strings: if only these keys were standardized <sigh>
  19. @@ -196,20 +196,27 @@
  20. #ifdef SCROLL_ON_SHIFT
  21. # define SCROLL_SHIFTKEY (shft)
  22. +# define NOSCROLL_SHIFTKEY 0
  23. #else
  24. # define SCROLL_SHIFTKEY 0
  25. +# define NOSCROLL_SHIFTKEY (shft)
  26. #endif
  27. #ifdef SCROLL_ON_CTRL
  28. # define SCROLL_CTRLKEY (ctrl)
  29. +# define NOSCROLL_CTRLKEY 0
  30. #else
  31. # define SCROLL_CTRLKEY 0
  32. +# define NOSCROLL_CTRLKEY (ctrl)
  33. #endif
  34. #ifdef SCROLL_ON_META
  35. # define SCROLL_METAKEY (meta)
  36. +# define NOSCROLL_METAKEY 0
  37. #else
  38. # define SCROLL_METAKEY 0
  39. +# define NOSCROLL_METAKEY (meta)
  40. #endif
  41. -#define IS_SCROLL_MOD (SCROLL_SHIFTKEY || SCROLL_CTRLKEY || SCROLL_METAKEY)
  42. +#define IS_SCROLL_MOD ((SCROLL_SHIFTKEY || SCROLL_CTRLKEY || SCROLL_METAKEY) \
  43. + && (!NOSCROLL_SHIFTKEY && !NOSCROLL_CTRLKEY && !NOSCROLL_METAKEY))
  44. typedef struct XCNQueue_t {
  45. struct XCNQueue_t *next;
  46. --- rxvt-2.6.4.orig/src/rsizes.h
  47. +++ rxvt-2.6.4/src/rsizes.h
  48. @@ -0,0 +1,22 @@
  49. +/*
  50. + * If we haven't pulled in typedef's like int16_t , then do them ourself
  51. + */
  52. +
  53. +/* type of (normal and unsigned) basic sizes */
  54. +/* e.g. typedef short int16_t */
  55. +
  56. +/* e.g. typedef unsigned short u_int16_t */
  57. +
  58. +/* e.g. typedef int int32_t */
  59. +
  60. +/* e.g. typedef unsigned int u_int32_t */
  61. +
  62. +/* e.g. typedef long int64_t */
  63. +
  64. +/* e.g. typedef unsigned long u_int64_t */
  65. +
  66. +
  67. +/* whatever normal size corresponds to a integer pointer */
  68. +#define intp_t int32_t
  69. +/* whatever normal size corresponds to a unsigned integer pointer */
  70. +#define u_intp_t u_int32_t
  71. --- rxvt-2.6.4.orig/src/xdefaults.c
  72. +++ rxvt-2.6.4/src/xdefaults.c
  73. @@ -215,6 +215,8 @@
  74. #ifdef MULTICHAR_SET
  75. STRG(Rs_multichar_encoding, "multichar_encoding", "km", "mode",
  76. "multiple-character font encoding; mode = eucj | sjis | big5 | gb"),
  77. + BOOL(Rs_mc_hack, "mcCursor", "mcc", Opt_mc_hack,
  78. + "Multibyte character cursor movement"),
  79. #endif /* MULTICHAR_SET */
  80. #ifdef USE_XIM
  81. STRG(Rs_preeditType, "preeditType", "pt", "style",
  82. @@ -299,10 +301,10 @@
  83. fprintf(stderr, "Kanji,");
  84. #endif
  85. #ifdef ZH
  86. - fprintf(stderr, "Chinese,");
  87. + fprintf(stderr, "Chinese (Big5),");
  88. #endif
  89. #ifdef ZHCN
  90. - fprintf(stderr, "Chinese(GB),");
  91. + fprintf(stderr, "Chinese (GB),");
  92. #endif
  93. #ifdef XTERM_SCROLLBAR
  94. fprintf(stderr, "XTerm-scrollbar,");
  95. @@ -760,14 +762,23 @@
  96. for (entry = 0; entry < optList_size(); entry++) {
  97. int s;
  98. - char *p;
  99. + char *p, *p0;
  100. const char *kw = optList[entry].kw;
  101. if (kw == NULL || *(optList[entry].dp) != NULL)
  102. continue; /* previously set */
  103. - if ((p = XGetDefault(display, name, kw)) != NULL
  104. - || (p = XGetDefault(display, APL_SUBCLASS, kw)) != NULL
  105. - || (p = XGetDefault(display, APL_CLASS, kw)) != NULL) {
  106. +
  107. +#define STRCMP(x, y) strcmp((const char *)(x), (const char *)(y))
  108. + p = XGetDefault(display, name, kw);
  109. + p0 = XGetDefault(display, "!INVALIDPROGRAMMENAMEDONTMATCH!", kw);
  110. + if (p == NULL || (p0 && STRCMP(p, p0) == 0)) {
  111. + p = XGetDefault(display, APL_SUBCLASS, kw);
  112. + if (p == NULL || (p0 && STRCMP(p, p0) == 0))
  113. + p = XGetDefault(display, APL_CLASS, kw);
  114. + }
  115. + if (p == NULL && p0)
  116. + p = p0;
  117. + if (p) {
  118. *optList[entry].dp = p;
  119. if (optList_isBool(entry)) {
  120. --- rxvt-2.6.4.orig/src/screen.c
  121. +++ rxvt-2.6.4/src/screen.c
  122. @@ -188,7 +188,7 @@
  123. rp[row] = MALLOC(sizeof(rend_t) * TermWin.ncol);
  124. }
  125. if (!keepr)
  126. - efs &= ~(RS_Uline);
  127. + efs &= ~(RS_Uline | RS_RVid);
  128. MEMSET(tp[row], ' ', width);
  129. for (er = rp[row]; width--;)
  130. *er++ = efs;
  131. @@ -2107,6 +2107,54 @@
  132. #define FONT_RBEAR(X, Y) \
  133. (X)->per_char[(Y) - (X)->min_char_or_byte2].rbearing
  134. +#ifdef MULTICHAR_SET
  135. +static int
  136. +draw_string16(Display *display,
  137. + Drawable d,
  138. + GC gc,
  139. + int x,
  140. + int y,
  141. + XChar2b *str,
  142. + int len)
  143. +{
  144. + while (len > 0) {
  145. + XDrawString16(display, d, gc, x, y, str, 1);
  146. + if (str->byte1 == '\0') {
  147. + x += TermWin.fwidth;
  148. + }
  149. + else {
  150. + x += TermWin.fwidth * 2;
  151. + }
  152. + str++;
  153. + len--;
  154. + }
  155. + return 0;
  156. +}
  157. +
  158. +static int
  159. +draw_image_string16(Display *display,
  160. + Drawable d,
  161. + GC gc,
  162. + int x,
  163. + int y,
  164. + XChar2b *str,
  165. + int len)
  166. +{
  167. + while (len > 0) {
  168. + XDrawImageString16(display, d, gc, x, y, str, 1);
  169. + if (str->byte1 == '\0') {
  170. + x += TermWin.fwidth;
  171. + }
  172. + else {
  173. + x += TermWin.fwidth * 2;
  174. + }
  175. + str++;
  176. + len--;
  177. + }
  178. + return 0;
  179. +}
  180. +#endif
  181. +
  182. /* EXTPROTO */
  183. void
  184. scr_refresh(int type)
  185. @@ -2262,11 +2310,19 @@
  186. #ifndef NO_CURSORCOLOR
  187. cc1 = *srp & (RS_fgMask | RS_bgMask);
  188. if (Xdepth <= 2 || !rs[Rs_color + Color_cursor])
  189. +#ifdef CURSOR_COLOR_IS_RENDITION_COLOR
  190. + ccol1 = GET_FGCOLOR(rstyle);
  191. +#else
  192. ccol1 = Color_fg;
  193. +#endif
  194. else
  195. ccol1 = Color_cursor;
  196. if (Xdepth <= 2 || !rs[Rs_color + Color_cursor2])
  197. +#ifdef CURSOR_COLOR_IS_RENDITION_COLOR
  198. + ccol2 = GET_BGCOLOR(rstyle);
  199. +#else
  200. ccol2 = Color_bg;
  201. +#endif
  202. else
  203. ccol2 = Color_cursor2;
  204. *srp = SET_FGCOLOR(*srp, ccol1);
  205. @@ -2366,9 +2422,9 @@
  206. len = 0;
  207. buffer[len++] = stp[col];
  208. ypixelc = Row2Pixel(row);
  209. - ypixel = ypixelc + TermWin.font->ascent;
  210. + ypixel = ypixelc + TermWin.fascent;
  211. xpixel = Col2Pixel(col);
  212. - fontdiff = 0;
  213. + fontdiff = TermWin.fontdiff;
  214. wlen = 1;
  215. /*
  216. @@ -2382,9 +2438,14 @@
  217. if (!wbyte) {
  218. wbyte = 1;
  219. XSetFont(Xdisplay, TermWin.gc, TermWin.mfont->fid);
  220. - fontdiff = TermWin.mprop;
  221. - draw_string = XDrawString16;
  222. - draw_image_string = XDrawImageString16;
  223. + fontdiff |= TermWin.mprop;
  224. + if (TermWin.mprop) {
  225. + draw_string = draw_string16;
  226. + draw_image_string = draw_image_string16;
  227. + } else {
  228. + draw_string = XDrawString16;
  229. + draw_image_string = XDrawImageString16;
  230. + }
  231. }
  232. /* double stepping - we're in Kanji mode */
  233. for (; ++col < TermWin.ncol;) {
  234. @@ -2512,11 +2573,12 @@
  235. if (!wbyte && MONO_BOLD(rend) && TermWin.boldFont != NULL) {
  236. bfont = 1;
  237. XSetFont(Xdisplay, TermWin.gc, TermWin.boldFont->fid);
  238. - fontdiff = TermWin.bprop;
  239. + fontdiff |= TermWin.bprop;
  240. rend &= ~RS_Bold; /* we've taken care of it */
  241. } else if (bfont) {
  242. bfont = 0;
  243. - XSetFont(Xdisplay, TermWin.gc, TermWin.font->fid);
  244. + if (!wbyte)
  245. + XSetFont(Xdisplay, TermWin.gc, TermWin.font->fid);
  246. }
  247. #endif
  248. /*
  249. @@ -3341,14 +3403,6 @@
  250. /* ------------------------------------------------------------------------- */
  251. /*
  252. - * On some systems, the Atom typedef is 64 bits wide. We need to have a type
  253. - * that is exactly 32 bits wide, because a format of 64 is not allowed by
  254. - * the X11 protocol.
  255. - */
  256. -typedef CARD32 Atom32;
  257. -
  258. -/* ------------------------------------------------------------------------- */
  259. -/*
  260. * Respond to a request for our current selection
  261. * EXT: SelectionRequest
  262. */
  263. @@ -3357,7 +3411,7 @@
  264. selection_send(const XSelectionRequestEvent * rq)
  265. {
  266. XEvent ev;
  267. - Atom32 target_list[4];
  268. + Atom target_list[4];
  269. Atom target;
  270. static Atom xa_targets = None;
  271. static Atom xa_compound_text = None;
  272. @@ -3382,13 +3436,12 @@
  273. ev.xselection.time = rq->time;
  274. if (rq->target == xa_targets) {
  275. - target_list[0] = (Atom32) xa_targets;
  276. - target_list[1] = (Atom32) XA_STRING;
  277. - target_list[2] = (Atom32) xa_text;
  278. - target_list[3] = (Atom32) xa_compound_text;
  279. + target_list[0] = xa_targets;
  280. + target_list[1] = XA_STRING;
  281. + target_list[2] = xa_text;
  282. + target_list[3] = xa_compound_text;
  283. XChangeProperty(Xdisplay, rq->requestor, rq->property, rq->target,
  284. - (8 * sizeof(target_list[0])), PropModeReplace,
  285. - (unsigned char *)target_list,
  286. + 32, PropModeReplace, (unsigned char *)target_list,
  287. (sizeof(target_list) / sizeof(target_list[0])));
  288. ev.xselection.property = rq->property;
  289. } else if (rq->target == XA_STRING
  290. @@ -3503,3 +3556,26 @@
  291. pos->y = Height2Pixel((screen.cur.row + 1)) + xwa.y;
  292. }
  293. #endif
  294. +
  295. +#ifdef MULTICHAR_SET
  296. +/* EXTPROTO */
  297. +int
  298. +scr_multi1(void)
  299. +{
  300. + rend_t rend;
  301. +
  302. + rend = screen.rend[screen.cur.row + TermWin.saveLines][screen.cur.col];
  303. + return ((rend & RS_multiMask)==RS_multi1);
  304. +}
  305. +
  306. +/* EXTPROTO */
  307. +int
  308. +scr_multi2(void)
  309. +{
  310. + rend_t rend;
  311. +
  312. + if (screen.cur.col==0) return 0;
  313. + rend = screen.rend[screen.cur.row + TermWin.saveLines][screen.cur.col-1];
  314. + return ((rend & RS_multiMask)==RS_multi2);
  315. +}
  316. +#endif
  317. --- rxvt-2.6.4.orig/src/main.c
  318. +++ rxvt-2.6.4/src/main.c
  319. @@ -1010,6 +1010,9 @@
  320. TermWin.fwidth = fw;
  321. TermWin.fheight = fh;
  322. + TermWin.fascent = TermWin.font->ascent;
  323. + TermWin.fdescent = TermWin.font->descent;
  324. + TermWin.fontdiff = 0;
  325. }
  326. /* check that size of boldFont is okay */
  327. @@ -1035,10 +1038,17 @@
  328. int fh, fw;
  329. fw = get_fontwidest(TermWin.mfont);
  330. - fh = TermWin.mfont->ascent + TermWin.mfont->descent;
  331. - if (fw <= TermWin.fwidth && fh <= TermWin.fheight)
  332. - /* WHAT TO DO!! */ ;
  333. - TermWin.mprop = !(fw == TermWin.fwidth /* && fh == TermWin.fheight */ );
  334. + if (TermWin.mfont->ascent > TermWin.fascent) {
  335. + TermWin.fascent = TermWin.mfont->ascent;
  336. + TermWin.fontdiff = 1;
  337. + }
  338. + if (TermWin.mfont->descent > TermWin.fdescent) {
  339. + TermWin.fdescent = TermWin.mfont->descent;
  340. + TermWin.fontdiff = 1;
  341. + }
  342. + if (TermWin.fontdiff)
  343. + TermWin.fheight = TermWin.fascent + TermWin.fdescent;
  344. + TermWin.mprop = (fw != TermWin.fwidth * 2);
  345. }
  346. #endif
  347. @@ -1348,6 +1358,16 @@
  348. sprintf(env_term, "TERM=%s", rs[Rs_term_name]);
  349. putenv(env_term);
  350. } else {
  351. + /* Debian hack: We at Debian prefer to be correct. Therefore, we
  352. + use TERM=rxvt on color displays and TERM=rxvt-m (the -m stands
  353. + for monochrome, see terminfo(5)) on monochrome displays. For
  354. + some unknown reason, the upstream maintianers don't recognize
  355. + the usefulness of this. Oh well. */
  356. +#ifndef KANJI
  357. + if (Xdepth <= 2)
  358. + putenv("TERM=" TERMENV "-m");
  359. + else
  360. +#endif
  361. putenv("TERM=" TERMENV);
  362. }
  363. }
  364. --- rxvt-2.6.4.orig/src/grkelot.c
  365. +++ rxvt-2.6.4/src/grkelot.c
  366. @@ -158,9 +158,9 @@
  367. #define NUM_XLAT_TYPES (sizeof(xlat_type) / sizeof(xlat_type[0]))
  368. -static void kstate_add_xlat(char *str);
  369. -static void kstate_add_switcher(char *str);
  370. -static void kstate_set_life(char *str);
  371. +void kstate_add_xlat(char *str);
  372. +void kstate_add_switcher(char *str);
  373. +void kstate_set_life(char *str);
  374. /* --- Functions ------------- */
  375. /* INTPROTO */
  376. --- rxvt-2.6.4.orig/src/graphics.c
  377. +++ rxvt-2.6.4/src/graphics.c
  378. @@ -144,15 +144,15 @@
  379. x -= (XTextWidth(TermWin.font, data->text, data->coords[3]) >> 1);
  380. if (align & TOP_TEXT)
  381. - y += TermWin.font->ascent;
  382. + y += TermWin.fascent;
  383. else if (align & BOTTOM_TEXT)
  384. - y -= TermWin.font->descent;
  385. + y -= TermWin.fdescent;
  386. if (align & VCENTER_TEXT)
  387. - y -= TermWin.font->descent
  388. - + ((TermWin.font->ascent + TermWin.font->descent) >> 1);
  389. + y -= TermWin.fdescent
  390. + + ((TermWin.fascent + TermWin.fdescent) >> 1);
  391. if (align & VCAPS_CENTER_TEXT)
  392. - y += (TermWin.font->ascent >> 1);
  393. + y += (TermWin.fascent >> 1);
  394. XPMClearArea(Xdisplay, grwin->win, x, y, Width2Pixel(data->coords[3]),
  395. Height2Pixel(1), 0);
  396. --- rxvt-2.6.4.orig/src/command.c
  397. +++ rxvt-2.6.4/src/command.c
  398. @@ -992,7 +992,9 @@
  399. else {
  400. /* To avoid Segmentation Fault in C locale */
  401. setTermFontSet();
  402. +#ifdef MULTICHAR_SET
  403. if (strcmp(locale, "C"))
  404. +#endif
  405. XRegisterIMInstantiateCallback(Xdisplay, NULL, NULL, NULL,
  406. IMInstantiateCallback, NULL);
  407. }
  408. @@ -1214,11 +1216,23 @@
  409. ^ !!(shft | ctrl)) ? '\b' : '\177');
  410. } else
  411. len = strlen(STRCPY(kbuf, key_backspace));
  412. +#ifdef MULTICHAR_SET
  413. + if ((Options & Opt_mc_hack) && scr_multi2()) {
  414. + memmove(kbuf + len, kbuf, len);
  415. + len *= 2;
  416. + }
  417. +#endif
  418. break;
  419. #endif
  420. #ifndef NO_DELETE_KEY
  421. case XK_Delete:
  422. len = strlen(STRCPY(kbuf, key_delete));
  423. +#ifdef MULTICHAR_SET
  424. + if ((Options & Opt_mc_hack) && scr_multi1()) {
  425. + memmove(kbuf + len, kbuf, len);
  426. + len *= 2;
  427. + }
  428. +#endif
  429. break;
  430. #endif
  431. case XK_Tab:
  432. @@ -1244,13 +1258,13 @@
  433. #ifdef XK_KP_Left
  434. case XK_KP_Up: /* \033Ox or standard */
  435. - case XK_KP_Down: /* \033Ow or standard */
  436. + case XK_KP_Down: /* \033Or or standard */
  437. case XK_KP_Right: /* \033Ov or standard */
  438. case XK_KP_Left: /* \033Ot or standard */
  439. if ((PrivateModes & PrivMode_aplKP) ? !shft : shft) {
  440. len = 3;
  441. STRCPY(kbuf, "\033OZ");
  442. - kbuf[2] = ("txvw"[keysym - XK_KP_Left]);
  443. + kbuf[2] = ("txvr"[keysym - XK_KP_Left]);
  444. break;
  445. } else
  446. /* translate to std. cursor key */
  447. @@ -1272,6 +1286,14 @@
  448. kbuf[2] = ("dacb"[keysym - XK_Left]);
  449. } else if (PrivateModes & PrivMode_aplCUR)
  450. kbuf[1] = 'O';
  451. +#ifdef MULTICHAR_SET
  452. + if ((Options & Opt_mc_hack) &&
  453. + ((keysym==XK_Left && scr_multi2()) ||
  454. + (keysym==XK_Right && scr_multi1()))) {
  455. + memmove(kbuf + len, kbuf, len);
  456. + len *= 2;
  457. + }
  458. +#endif
  459. break;
  460. #ifndef UNSHIFTED_SCROLLKEYS
  461. @@ -1670,8 +1692,16 @@
  462. cmdbuf_ptr = cmdbuf_endp = cmdbuf_base;
  463. for (count = BUFSIZ; count; count -= n, cmdbuf_endp += n)
  464. - if ((n = read(cmd_fd, cmdbuf_endp, count)) <= 0)
  465. + if ((n = read(cmd_fd, cmdbuf_endp, count)) > 0)
  466. + continue;
  467. + else if (n == 0 || (n < 0 && errno == EAGAIN))
  468. break;
  469. + else {
  470. +#if !defined (HAVE_ATEXIT) && !defined (__sun__)
  471. + clean_exit();
  472. +#endif
  473. + exit(1); /* bad order of events? */
  474. + }
  475. if (count != BUFSIZ) /* some characters read in */
  476. return (*cmdbuf_ptr++);
  477. }
  478. @@ -2376,7 +2406,7 @@
  479. unsigned char buf[256];
  480. va_start(arg_ptr, fmt);
  481. - vsprintf(buf, fmt, arg_ptr);
  482. + vsnprintf(buf, sizeof(buf), fmt, arg_ptr);
  483. va_end(arg_ptr);
  484. tt_write(buf, strlen(buf));
  485. }
  486. @@ -2826,6 +2856,7 @@
  487. case 18: /* report window size (chars) */
  488. tt_printf("\033[8;%d;%dt", TermWin.nrow, TermWin.ncol);
  489. break;
  490. +#if 0 /* XXX: currently disabled due to security concerns */
  491. case 20: /* report icon label */
  492. XGetIconName(Xdisplay, TermWin.parent[0], &s);
  493. tt_printf("\033]L%-.200s\033\\", s ? s : "");
  494. @@ -2834,6 +2865,7 @@
  495. XFetchName(Xdisplay, TermWin.parent[0], &s);
  496. tt_printf("\033]l%-.200s\033\\", s ? s : "");
  497. break;
  498. +#endif
  499. }
  500. }
  501. #endif
  502. @@ -2853,7 +2885,8 @@
  503. if (ch == ';') {
  504. int n = 0;
  505. - while ((ch = cmd_getc()) != 007) {
  506. + while ((ch = cmd_getc()) != 007 &&
  507. + !(ch == 0x1b && cmd_getc() == 0x5c)) {
  508. if (ch) {
  509. if (ch == '\t')
  510. ch = ' '; /* translate '\t' to space */
  511. @@ -2870,7 +2903,11 @@
  512. * so do it here
  513. */
  514. if (arg == XTerm_Menu)
  515. +#if 0 /* XXX: currently disabled due to security concerns */
  516. menubar_dispatch((char *)string);
  517. +#else
  518. + 0;
  519. +#endif
  520. else
  521. xterm_seq(arg, (char *)string);
  522. }
  523. --- rxvt-2.6.4.orig/src/rxvt.h
  524. +++ rxvt-2.6.4/src/rxvt.h
  525. @@ -173,9 +173,12 @@
  526. height, /* window height [pixels] */
  527. fwidth, /* font width [pixels] */
  528. fheight, /* font height [pixels] */
  529. + fascent, /* font ascent [pixels] */
  530. + fdescent, /* font descent [pixels] */
  531. fprop, /* font is proportional */
  532. bprop, /* treat bold font as proportional */
  533. mprop, /* treat multichar font as proportional */
  534. + fontdiff, /* font size different */
  535. ncol, nrow, /* window size [characters] */
  536. focus, /* window has focus */
  537. mapped, /* window state mapped? */
  538. @@ -469,6 +472,7 @@
  539. #define Opt_scrollTtyOutput (1LU<<11)
  540. #define Opt_scrollKeypress (1LU<<12)
  541. #define Opt_transparent (1LU<<13)
  542. +#define Opt_mc_hack (1LU<<14)
  543. /* place holder used for parsing command-line options */
  544. #define Opt_Reverse (1LU<<30)
  545. #define Opt_Boolean (1LU<<31)
  546. @@ -610,6 +614,9 @@
  547. Rs_preeditType,
  548. Rs_inputMethod,
  549. #endif
  550. +#ifdef MULTICHAR_SET
  551. + Rs_mc_hack,
  552. +#endif
  553. #if defined (HOTKEY_CTRL) || defined (HOTKEY_META)
  554. Rs_bigfont_key,
  555. Rs_smallfont_key,
  556. --- rxvt-2.6.4.orig/src/feature.h
  557. +++ rxvt-2.6.4/src/feature.h
  558. @@ -368,6 +368,10 @@
  559. */
  560. #define SUPPORT_BROKEN_APPS_WHICH_RELY_ON_UNDEFINED_BW_BEHAVIOUR_AS_XTERM
  561. +/* Debian modification to change the cursor color to the foreground
  562. + color */
  563. +#define CURSOR_COLOR_IS_RENDITION_COLOR
  564. +
  565. /*
  566. * List of default fonts available
  567. * NFONTS is the number of fonts in the list
  568. --- rxvt-2.6.4.orig/doc/etc/rxvt.terminfo
  569. +++ rxvt-2.6.4/doc/etc/rxvt.terminfo
  570. @@ -13,7 +13,13 @@
  571. # rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM.
  572. # Since rxvt is not really compatible with xterm, it should be configured as
  573. # "rxvt-basic" (monochrom) and "rxvt"
  574. -rxvt-basic|rxvt terminal base (X Window System),
  575. +#
  576. +# Debian's changes:
  577. +# Debian has uses two termcap/terminfo entries:
  578. +# rxvt for color displays
  579. +# rxvt-m for monochrome displays
  580. +# Debian also prefers ^? for kbs (backspace).
  581. +rxvt-m|monochrome rxvt terminal emulator (X Window System),
  582. am, bce, eo, km, mir, msgr, xenl, xon,
  583. cols#80, it#8, lines#24,
  584. acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
  585. @@ -29,7 +35,7 @@
  586. ind=^J, is1=\E[?47l\E=\E[?1l,
  587. is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l,
  588. kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kLFT=\E[d, kNXT=\E[6$,
  589. - kPRV=\E[5$, kRIT=\E[c, ka1=\EOw, ka3=\EOy, kb2=\EOu, kbs=^H,
  590. + kPRV=\E[5$, kRIT=\E[c, ka1=\EOw, ka3=\EOy, kb2=\EOu, kbs=^?,
  591. kc1=\EOq, kc3=\EOs, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
  592. kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kel=\E[8\^,
  593. kend=\E[8~, kent=\EOM, kf0=\E[21~, kf1=\E[11~, kf10=\E[21~,
  594. @@ -50,4 +56,4 @@
  595. colors#8, pairs#64,
  596. op=\E[39;49m, setab=\E[%p1%{40}%+%dm,
  597. sgr0=\E[m\017, setaf=\E[%p1%{30}%+%dm,
  598. - use=rxvt-basic,
  599. + use=rxvt-m,
  600. --- rxvt-2.6.4.orig/doc/etc/rxvt.termcap
  601. +++ rxvt-2.6.4/doc/etc/rxvt.termcap
  602. @@ -1,5 +1,8 @@
  603. -# Reconstructed via infocmp from file: /usr/share/terminfo/r/rxvt
  604. -rxvt|rxvt terminal emulator (X Window System):\
  605. +# Debian's changes:
  606. +# Debian has uses two termcap/terminfo entries:
  607. +# rxvt for color displays
  608. +# rxvt-m for monochrome displays
  609. +rxvt-m|monochrome rxvt terminal emulator (X Window System):\
  610. :am:eo:km:mi:ms:xn:xo:\
  611. :co#80:it#8:li#24:\
  612. :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
  613. @@ -11,9 +14,27 @@
  614. :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
  615. :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\
  616. :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
  617. - :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:\
  618. - :kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:\
  619. - :md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:\
  620. + :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:\
  621. + :ke=\E>:kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:\
  622. + :mb=\E[5m:md=\E[1m:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:\
  623. :se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
  624. :te=\E[?47l\E8:ti=\E7\E[?47h:ue=\E[24m:up=\E[A:us=\E[4m:\
  625. :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h:
  626. +rxvt|rxvt terminal emulator (X Window System):\
  627. + :am:eo:km:mi:ms:xn:xo:\
  628. + :co#80:it#8:li#24:\
  629. + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
  630. + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\
  631. + :RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:\
  632. + :ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\
  633. + :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ei=\E[4l:\
  634. + :ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\
  635. + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
  636. + :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\
  637. + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
  638. + :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:\
  639. + :ke=\E>:kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:\
  640. + :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\
  641. + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
  642. + :te=\E[?47l\E8:ti=\E7\E[?47h:ue=\E[24m:up=\E[A:us=\E[4m:\
  643. + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h:
  644. --- rxvt-2.6.4.orig/doc/yodl/rxvt-resources.yo
  645. +++ rxvt-2.6.4/doc/yodl/rxvt-resources.yo
  646. @@ -221,7 +221,7 @@
  647. dit(bf(cutchars:) em(string))
  648. The characters used as delimiters for double-click word selection.
  649. The built-in default: nl()\
  650. - bf(BACKSLASH `"'&()*,;<=>?@[]{|})
  651. + bf(BACKSLASH \ `"'&()*,;<=>?@[]{|})
  652. dit(bf(preeditType:) em(style))
  653. bf(OverTheSpot), bf(OffTheSpot), bf(Root);
  654. option bf(-pt).
  655. --- rxvt-2.6.4.orig/doc/rxvt.tbl
  656. +++ rxvt-2.6.4/doc/rxvt.tbl
  657. @@ -1,4 +1,5 @@
  658. -.TH "1" "RXVT" "02 NOVEMBER 2001" "X Version 11" "X Tools"
  659. +'\" t
  660. +.TH "RXVT" 1 "02 NOVEMBER 2001" "X Version 11" "X Tools"
  661. .SH "NAME"
  662. rxvt (ouR XVT) \- a VT102 emulator for the X window system
  663. .PP
  664. @@ -17,19 +18,19 @@
  665. .PP
  666. .SH "OPTIONS"
  667. .PP
  668. -The \fBrxvt\fP options (mostly a subset of \fIxterm\fP\'s) are listed below\&.
  669. +The \fBrxvt\fP options (mostly a subset of \fIxterm\fP's) are listed below\&.
  670. In keeping with the smaller-is-better philosophy, options may be eliminated
  671. or default values chosen at compile-time, so options and defaults listed
  672. may not accurately reflect the version installed on your system\&.
  673. -`rxvt -h\' gives a list of major compile-time options on the usage line\&.
  674. +\(lqrxvt -h\(rq gives a list of major compile-time options on the usage line\&.
  675. Option descriptions may be prefixed with which compile option each is
  676. -dependent upon\&. e\&.g\&. `Compile \fIXIM\fP:\' requires \fIXIM\fP on the usage line\&.
  677. -Note: `rxvt -help\' gives a list of all options compiled into your version\&.
  678. +dependent upon\&. e\&.g\&. \(lqCompile \fIXIM\fP:\(rq requires \fIXIM\fP on the usage line\&.
  679. +Note: \(lqrxvt -help\(rq gives a list of all options compiled into your version\&.
  680. .PP
  681. Note that \fBrxvt\fP permits the resource name to be used as a long-option
  682. (--/++ option) so the potential command-line options are far greater than
  683. those listed\&.
  684. -For example: `rxvt --loginShell --color1 Orange\'\&.
  685. +For example: \(lqrxvt --loginShell --color1 Orange\(rq\&.
  686. .PP
  687. .IP "\fB-help\fP, \fB--help\fP"
  688. Print out a message describing available options\&.
  689. @@ -44,7 +45,7 @@
  690. Turn on/off simulated reverse video;
  691. resource \fBreverseVideo\fP\&.
  692. .IP "\fB-ip\fP|\fB+ip\fP"
  693. -Turn on/off inheriting parent window\'s pixmap\&. Alternative form
  694. +Turn on/off inheriting parent window's pixmap\&. Alternative form
  695. is \fB-tr\fP;
  696. resource \fBinheritPixmap\fP\&.
  697. .IP "\fB-bg\fP \fIcolour\fP"
  698. @@ -57,7 +58,7 @@
  699. Compile \fIXPM\fP: Specify XPM file for the background and also
  700. optionally specify its scaling with a geometry string\&. Note you
  701. may need to add quotes to avoid special shell interpretation of
  702. -the `;\' in the command-line;
  703. +the \(lq;\(rq in the command-line;
  704. resource \fBbackgroundPixmap\fP\&.
  705. .IP "\fB-cr\fP \fIcolour\fP"
  706. The cursor colour;
  707. @@ -90,7 +91,7 @@
  708. .IP "\fB-name\fP \fIname\fP"
  709. Specify the application name under which resources
  710. are to be obtained, rather than the default executable file name\&.
  711. -Name should not contain `\&.\' or `*\' characters\&.
  712. +Name should not contain \(lq\&.\(rq or \(lq*\(rq characters\&.
  713. Also sets the icon and title name\&.
  714. .IP "\fB-ls\fP|\fB+ls\fP"
  715. Start as a login-shell/sub-shell;
  716. @@ -127,6 +128,9 @@
  717. \fBTERM\fP environment variable\&. This terminal type must exist in the
  718. \fItermcap(5)\fP database and should have \fIli#\fP and \fIco#\fP entries;
  719. resource \fBtermName\fP\&.
  720. +.IP "\fB-im\fP \fImethod\fP"
  721. +This option specifies the input method to use;
  722. +resource \fBinputMethod\fP\&.
  723. .IP "\fB-e\fP \fIcommand [arguments]\fP"
  724. Run the command with its command-line arguments in the \fBrxvt\fP
  725. window; also sets the window title and icon name to be the basename
  726. @@ -160,11 +164,11 @@
  727. resource \fImodifier\fP\&.
  728. .IP "\fB-xrm\fP \fIresourcestring\fP"
  729. No effect on rxvt\&. Simply passes through an argument to be made
  730. -available in the instance\'s argument list\&. Appears in \fIWM_COMMAND\fP
  731. +available in the instance's argument list\&. Appears in \fIWM_COMMAND\fP
  732. in some window managers\&.
  733. .SH "RESOURCES (available also as long-options)"
  734. .PP
  735. -Note: `rxvt --help\' gives a list of all resources (long options) compiled
  736. +Note: \(lqrxvt --help\(rq gives a list of all resources (long options) compiled
  737. into your version\&.
  738. If compiled with internal Xresources support (i\&.e\&. \fBrxvt -h\fP lists
  739. \fB\&.Xdefaults\fP) then \fBrxvt\fP accepts application defaults set in
  740. @@ -185,11 +189,11 @@
  741. 80x24];
  742. option \fB-geometry\fP\&.
  743. .IP "\fBbackground:\fP \fIcolour\fP"
  744. -Use the specified colour as the window\'s background colour [default
  745. +Use the specified colour as the window's background colour [default
  746. White];
  747. option \fB-bg\fP\&.
  748. .IP "\fBforeground:\fP \fIcolour\fP"
  749. -Use the specified colour as the window\'s foreground colour [default
  750. +Use the specified colour as the window's foreground colour [default
  751. Black];
  752. option \fB-fg\fP\&.
  753. .IP "\fBcolor\fP\fIn\fP\fB:\fP \fIcolour\fP"
  754. @@ -221,26 +225,26 @@
  755. option \fB+rv\fP\&.
  756. See note in \fBCOLORS AND GRAPHICS\fP section\&.
  757. .IP "\fBinheritPixmap:\fP \fIboolean\fP"
  758. -\fBTrue\fP: make the background inherit the parent windows\' pixmap,
  759. +\fBTrue\fP: make the background inherit the parent windows' pixmap,
  760. giving artificial transparency\&.
  761. -\fBFalse\fP: do not inherit the parent windows\' pixmap\&.
  762. +\fBFalse\fP: do not inherit the parent windows' pixmap\&.
  763. .IP "\fBscrollColor:\fP \fIcolour\fP"
  764. Use the specified colour for the scrollbar [default #B2B2B2]\&.
  765. .IP "\fBtroughColor:\fP \fIcolour\fP"
  766. -Use the specified colour for the scrollbar\'s trough area [default
  767. +Use the specified colour for the scrollbar's trough area [default
  768. #969696]\&. Only relevant for normal (non XTerm/NeXT) scrollbar\&.
  769. .IP "\fBbackgroundPixmap:\fP \fIfile[;geom]\fP"
  770. -Use the specified XPM file (note the `\&.xpm\' extension is optional)
  771. +Use the specified XPM file (note the \(lq\&.xpm\(rq extension is optional)
  772. for the background and also optionally specify its scaling with a
  773. -geometry string \fBWxH+X+Y\fP, in which \fB"W" / "H"\fP specify the
  774. -horizontal/vertical scale (percent) and \fB"X" / "Y"\fP locate the
  775. +geometry string \fBWxH+X+Y\fP, in which \fB\(lqW\(rq / \(lqH\(rq\fP specify the
  776. +horizontal/vertical scale (percent) and \fB\(lqX\(rq / \(lqY\(rq\fP locate the
  777. image centre (percent)\&. A scale of 0 displays the image with tiling\&.
  778. A scale of 1 displays the image without any scaling\&. A scale of 2 to
  779. 9 specifies an integer number of images in that direction\&. No image
  780. will be magnified beyond 10 times its original size\&. The maximum
  781. permitted scale is 1000\&. [default 0x0+50+50]
  782. .IP "\fBmenu:\fP \fIfile[;tag]\fP"
  783. -Read in the specified menu file (note the `\&.menu\' extension is
  784. +Read in the specified menu file (note the \(lq\&.menu\(rq extension is
  785. optional) and also optionally specify a starting tag to find\&. See
  786. the reference documentation for details on the syntax for the menuBar\&.
  787. .IP "\fBpath:\fP \fIpath\fP"
  788. @@ -304,8 +308,8 @@
  789. name;
  790. option \fB-title\fP\&.
  791. .IP "\fBiconName:\fP \fItext\fP"
  792. -Set the name used to label the window\'s icon or displayed in an icon
  793. -manager window, it also sets the window\'s title unless it is
  794. +Set the name used to label the window's icon or displayed in an icon
  795. +manager window, it also sets the window's title unless it is
  796. explicitly set;
  797. option \fB-n\fP\&.
  798. .IP "\fBmapAlert:\fP \fIboolean\fP"
  799. @@ -318,7 +322,7 @@
  800. \fBFalse\fP: no visual bell [default];
  801. option \fB+vb\fP\&.
  802. .IP "\fBloginShell:\fP \fIboolean\fP"
  803. -\fBTrue\fP: start as a login shell by prepending a `-\' to \fBargv[0]\fP
  804. +\fBTrue\fP: start as a login shell by prepending a \(lq-\(rq to \fBargv[0]\fP
  805. of the shell;
  806. option \fB-ls\fP\&.
  807. \fBFalse\fP: start as a normal sub-shell [default];
  808. @@ -372,6 +376,9 @@
  809. Specifies the terminal type name to be set in the \fBTERM\fP
  810. environment variable;
  811. option \fB-tn\fP\&.
  812. +.IP "\fBinputMethod:\fP \fImethod\fP"
  813. +Specifies the input method to use;
  814. +option \fB-im\fP\&.
  815. .IP "\fBmeta8:\fP \fIboolean\fP"
  816. \fBTrue\fP: handle Meta (Alt) + keypress to set the 8th bit\&.
  817. \fBFalse\fP: handle Meta (Alt) + keypress as an escape prefix [default]\&.
  818. @@ -388,7 +395,7 @@
  819. The characters used as delimiters for double-click word selection\&.
  820. The built-in default:
  821. .br
  822. -\fBBACKSLASH `"\'&()*,;<=>?@[]{|}\fP
  823. +\fBBACKSLASH \ `"'&()*,;<=>?@[]{|}\fP
  824. .IP "\fBpreeditType:\fP \fIstyle\fP"
  825. \fBOverTheSpot\fP, \fBOffTheSpot\fP, \fBRoot\fP;
  826. option \fB-pt\fP\&.
  827. @@ -497,7 +504,7 @@
  828. as a number 0-15, as a convenient shorthand to reference the colour name of
  829. color0-color15\&.
  830. .PP
  831. -Note that \fB-rv\fP (\fB"reverseVideo: True"\fP) simulates reverse video by
  832. +Note that \fB-rv\fP (\fB\(lqreverseVideo: True\(rq\fP) simulates reverse video by
  833. always swapping the foreground/background colours\&. This is in contrast to
  834. \fIxterm\fP(1) where the colours are only swapped if they have not otherwise been
  835. specified\&.
  836. @@ -520,6 +527,16 @@
  837. .IP "\fB/usr/lib/X11/rgb\&.txt\fP"
  838. Color names\&.
  839. .PP
  840. +.SH "DEBIAN NOTES"
  841. +.PP
  842. +The standard Debian \fBrxvt\fP package provides two versions of the
  843. +\fBrxvt\fP binary:
  844. +.IP "\fBrxvt-xterm\fP"
  845. +This version is compiled with no XPM support. It has been configured to
  846. +be a smaller, more efficient xterm substitute.
  847. +.IP "\fBrxvt-xpm\fP"
  848. +This version is compiled with XPM and menu support.
  849. +.PP
  850. .SH "SEE ALSO"
  851. .PP
  852. \fIxterm\fP(1), \fIsh\fP(1), \fIresize\fP(1), \fIX\fP(1), \fIpty\fP(4), \fItty\fP(4),
  853. @@ -534,7 +551,7 @@
  854. .PP
  855. Cursor change support is not yet implemented\&.
  856. .PP
  857. -Click-and-drag doesn\'t work with X11 mouse report overriding\&.
  858. +Click-and-drag doesn't work with X11 mouse report overriding\&.
  859. .PP
  860. Graphics support is fairly crude\&.
  861. .PP
  862. --- rxvt-2.6.4.orig/doc/Makefile
  863. +++ rxvt-2.6.4/doc/Makefile
  864. @@ -0,0 +1,178 @@
  865. +# Generated automatically from Makefile.in by configure.
  866. +# doc/Makefile.in -*- Makefile -*-
  867. +# $Id: Makefile.in,v 1.12.4.4 2000/04/15 08:59:44 gcw Exp $
  868. +
  869. +# autoconf/Make.common.in -*- Makefile -*-
  870. +# release date (man), LSM date, version number/name, current maintainer
  871. +DATE=02 NOVEMBER 2001
  872. +LSMDATE=02NOV01
  873. +VERSION=2.6.4
  874. +VERNAME=rxvt-$(VERSION)#
  875. +MAINT=Geoff Wing#
  876. +MAINTEMAIL=<gcw@rxvt.org>#
  877. +WEBMAINT=Oezguer Kesim#
  878. +WEBMAINTEMAIL=<oec@rxvt.org>#
  879. +WEBPAGE=<http://www.rxvt.org/>#
  880. +FTPSITENAME=ftp.rxvt.org#
  881. +FTPSITEDIR=/pub/rxvt#
  882. +#-------------------------------------------------------------------------
  883. +
  884. +SHELL = /bin/sh
  885. +
  886. +# This variable makes it possible to move the installation root to another
  887. +# directory. This is useful when you're creating a binary distribution
  888. +# If empty, normal root will be used.
  889. +# You can run eg. 'make install DESTDIR=/packages/rxvt-xx' to accomplish
  890. +# that.
  891. +# DESTDIR = /usr/local/X11/$(VERNAME)
  892. +
  893. +# Installation target directories & other installation stuff
  894. +prefix = /usr
  895. +exec_prefix = ${prefix}
  896. +binprefix =
  897. +manprefix =
  898. +bindir = ${exec_prefix}/bin
  899. +mandir = ${prefix}/share/man/man1
  900. +manext = 1
  901. +
  902. +# Tools & program stuff
  903. +CC = gcc
  904. +CPP = gcc -E
  905. +MV = /bin/mv
  906. +RM = /bin/rm
  907. +RMF = /bin/rm -f
  908. +CP = /bin/cp
  909. +SED = /bin/sed
  910. +AWK = /usr/bin/awk
  911. +ECHO = /bin/echo
  912. +CMP = /usr/bin/cmp
  913. +TBL = /usr/bin/tbl
  914. +INSTALL = /usr/bin/install -c
  915. +INSTALL_PROGRAM = /usr/bin/install -c -s -m 755
  916. +INSTALL_DATA = /usr/bin/install -c -m 644
  917. +
  918. +# Flags & libs
  919. +# add -DBINDIR=\""$(bindir)/"\" to CPPFLAGS, if we need to spawn a program
  920. +
  921. +CFLAGS = -O
  922. +CPPFLAGS = -DHAVE_LIBXPM
  923. +LDFLAGS =
  924. +DEFS = -DHAVE_CONFIG_H
  925. +LIBS =
  926. +DINCLUDE =
  927. +DLIB =
  928. +
  929. +# X Include directory
  930. +XINC = -I/usr/X11R6/include -I/usr/include/X11
  931. +
  932. +# extra libraries needed by X on some systems, X library location
  933. +XLIB = -L/usr/X11R6/lib -L/usr/X11R6/lib -lXpm -lX11
  934. +
  935. +# End of common section of the Makefile
  936. +#-------------------------------------------------------------------------
  937. +
  938. +srcdir = .
  939. +.PATH: .
  940. +
  941. +basedir = ..
  942. +thisdir = doc
  943. +
  944. +first_rule: all
  945. +dummy:
  946. +
  947. +#
  948. +# Distribution variables
  949. +#
  950. +
  951. +YODL_RXVT = yodl/rxvt-colours.yo yodl/rxvt-environment.yo\
  952. + yodl/rxvt-files.yo yodl/rxvt-fonts.yo yodl/rxvt-login.yo\
  953. + yodl/rxvt-mousereporting.yo yodl/rxvt-options.yo\
  954. + yodl/rxvt-resources.yo yodl/rxvt-scrollbar.yo\
  955. + yodl/rxvt-textselection.yo
  956. +YODL_RREF = yodl/rxvtRef-csi.yo yodl/rxvtRef-definitions.yo\
  957. + yodl/rxvtRef-graphics.yo yodl/rxvtRef-keycodes.yo\
  958. + yodl/rxvtRef-menubar.yo yodl/rxvtRef-mouse.yo\
  959. + yodl/rxvtRef-privatemodes.yo yodl/rxvtRef-sequences.yo\
  960. + yodl/rxvtRef-values.yo yodl/rxvtRef-xpm.yo yodl/rxvtRef-xterm.yo
  961. +
  962. +DIST_ETC = etc/rxvt.termcap etc/rxvt.terminfo etc/XTerm.ad
  963. +DIST_YODL = yodl/masonyodl.yo yodl/versioninfo.yo yodl/versioninfo.yo.in\
  964. + $(YODL_RXVT) yodl/rxvt.yo yodl/rxvt.yo.in $(YODL_RREF)\
  965. + yodl/rxvtRef.yo.in
  966. +DIST_MENU = menu/menu menu/example.menu menu/rxvt.menu menu/terminal.menu\
  967. + menu/jedmenu.sl
  968. +DIST = Makefile.in README.greek README.menu README.xvt BUGS FAQ TODO\
  969. + changes.txt xterm.seq LSM.in rxvt.1 rxvt.tbl rxvtRef.txt\
  970. + rxvtRef.html rxvtRef-frame.html rxvtRef-toc.html rxvt.html
  971. +
  972. +#-------------------------------------------------------------------------
  973. +
  974. +all: rxvt.1
  975. +
  976. +rxvt.1: Makefile
  977. + @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
  978. +
  979. +SEDREPLACE = -e 's%@RXVT_VERSION@%$(VERSION)%g;'\
  980. + -e 's%@RXVT_LSMDATE@%$(LSMDATE)%g;'\
  981. + -e 's%@RXVT_DATE@%$(DATE)%g;'\
  982. + -e 's%@RXVT_MAINTEMAIL@%$(MAINTEMAIL)%g;'\
  983. + -e 's%@RXVT_MAINT@%$(MAINT)%g;'\
  984. + -e 's%@RXVT_WEBPAGE@%$(WEBPAGE)%g;'\
  985. + -e 's%@RXVT_WEBMAINTEMAIL@%$(WEBMAINTEMAIL)%g;'\
  986. + -e 's%@RXVT_WEBMAINT@%$(WEBMAINT)%g;'\
  987. + -e 's%@RXVT_FTPSITENAME@%$(FTPSITENAME)%g;'\
  988. + -e 's%@RXVT_FTPSITEDIR@%$(FTPSITEDIR)%g;'
  989. +
  990. +tags allbin:
  991. +
  992. +alldoc: $(basedir)/$(VERNAME).lsm rxvt.tbl rxvt.1 rxvt.html rxvtRef.html rxvtRef.txt
  993. +
  994. +yodl/versioninfo.yo: yodl/versioninfo.yo.in ../src/version.h
  995. + $(SED) $(SEDREPLACE) < $(srcdir)/yodl/versioninfo.yo.in > $@
  996. +
  997. +$(basedir)/$(VERNAME).lsm: LSM.in $(srcdir)/../autoconf/Make.common.in $(srcdir)/../src/version.h
  998. + $(SED) $(SEDREPLACE) < $(srcdir)/LSM.in > $@
  999. +
  1000. +rxvt.tbl: yodl/rxvt.yo $(YODL_RXVT) yodl/versioninfo.yo yodl/masonyodl.yo
  1001. + yodl2man -orxvt.tbl yodl/rxvt.yo
  1002. +
  1003. +rxvt.html: yodl/rxvt.yo $(YODL_RXVT) yodl/versioninfo.yo yodl/masonyodl.yo
  1004. + yodl2html -o$@ yodl/rxvt.yo
  1005. +
  1006. +rxvtRef.html: $(YODL_RREF) yodl/rxvtRef.yo yodl/masonyodl.yo
  1007. + yodl2html -o$@ yodl/rxvtRef.yo
  1008. +
  1009. +rxvtRef.txt: $(YODL_RREF) yodl/rxvtRef.yo yodl/masonyodl.yo
  1010. + yodl2txt -o$@ yodl/rxvtRef.yo
  1011. +
  1012. +clean:
  1013. + $(RMF) rxvt.man *~ yodl/*~
  1014. +
  1015. +realclean: clean
  1016. + $(RMF) tags rxvt.1 rxvt.html rxvtRef.html rxvtRef.txt
  1017. +
  1018. +distclean:
  1019. +
  1020. +install:
  1021. + $(INSTALL_DATA) rxvt.1 $(DESTDIR)$(mandir)/$(manprefix)rxvt.$(manext)
  1022. +
  1023. +uninstall:
  1024. + -cd $(mandir); $(RMF) $(manprefix)rxvt.$(manext)
  1025. +
  1026. +distdirs:
  1027. + mkdir $(basedir)/../$(VERNAME)/$(thisdir)
  1028. + mkdir $(basedir)/../$(VERNAME)/$(thisdir)/etc
  1029. + mkdir $(basedir)/../$(VERNAME)/$(thisdir)/menu
  1030. + mkdir $(basedir)/../$(VERNAME)/$(thisdir)/yodl
  1031. +
  1032. +distcopy: distdepend
  1033. + $(CP) -p $(basedir)/$(VERNAME).lsm $(basedir)/../$(VERNAME);
  1034. + $(CP) -p $(DIST) $(basedir)/../$(VERNAME)/$(thisdir)
  1035. + $(CP) -p $(DIST_ETC) $(basedir)/../$(VERNAME)/$(thisdir)/etc
  1036. + $(CP) -p $(DIST_MENU) $(basedir)/../$(VERNAME)/$(thisdir)/menu
  1037. + $(CP) -p $(DIST_YODL) $(basedir)/../$(VERNAME)/$(thisdir)/yodl
  1038. +
  1039. +distdepend: alldoc
  1040. +
  1041. +# ------------------------------------------------------------------------
  1042. +# DO NOT DELETE: ugly dependency list follows
  1043. --- rxvt-2.6.4.orig/doc/rxvt.html
  1044. +++ rxvt-2.6.4/doc/rxvt.html
  1045. @@ -468,7 +468,7 @@
  1046. with the <strong>Execute</strong> key.
  1047. <p></p><dt><strong><strong>cutchars:</strong> <em>string</em></strong><dd>
  1048. The characters used as delimiters for double-click word selection.
  1049. - The built-in default: <br><strong>BACKSLASH `"'&amp;()*,;&lt;=&gt;?@[]{|}</strong>
  1050. + The built-in default: <br><strong>BACKSLASH \ `"'&amp;()*,;&lt;=&gt;?@[]{|}</strong>
  1051. <p></p><dt><strong><strong>preeditType:</strong> <em>style</em></strong><dd>
  1052. <strong>OverTheSpot</strong>, <strong>OffTheSpot</strong>, <strong>Root</strong>;
  1053. option <strong>-pt</strong>.
  1054. --- rxvt-2.6.4.orig/rclock/rclock.c
  1055. +++ rxvt-2.6.4/rclock/rclock.c
  1056. @@ -336,7 +336,7 @@
  1057. if (*opt == 'd' && val) display_name = val; /* "d", "display" */
  1058. else if (*opt == 'g' && val) rs_geometry = val; /* "g", "geometry" */
  1059. #ifdef ICONWIN
  1060. - else if (*opt == 'i' && val) /* "ic", "iconic" */
  1061. + else if (*opt == 'i') /* "ic", "iconic" */
  1062. {
  1063. iconic_state = IconicState;
  1064. i--; /* no argument */
  1065. @@ -1201,8 +1201,16 @@
  1066. int n = (sizeof(execPrgm) - strlen (execPrgm) - 2);
  1067. if ((n > 0) && (n >= strlen (prgm)))
  1068. {
  1069. - /* for co-occurring programs */
  1070. - strcat (execPrgm, ";");
  1071. + /* for co-occurring programs */
  1072. + switch (execPrgm[strlen (execPrgm)-1])
  1073. + {
  1074. + case '&':
  1075. + case ';':
  1076. + break;
  1077. + default:
  1078. + strcat (execPrgm, ";");
  1079. + break;
  1080. + }
  1081. strncat (execPrgm, prgm, n);
  1082. }
  1083. }
  1084. --- rxvt-2.6.4.orig/rclock/feature.h
  1085. +++ rxvt-2.6.4/rclock/feature.h
  1086. @@ -53,7 +53,7 @@
  1087. #define MAIL
  1088. /* #define MAIL_BELL */
  1089. /* #define MAIL_SPAWN "xmh\ -font\ 7x14\&" */
  1090. -/* #define MAIL_SPOOL "/var/spool/mail/" */
  1091. +#define MAIL_SPOOL "/var/spool/mail/"
  1092. /*----------------------------------------------------------------------*
  1093. * #define CLOCKUPDATE 30
  1094. --- rxvt-2.6.4.orig/Makefile.in
  1095. +++ rxvt-2.6.4/Makefile.in
  1096. @@ -1,6 +1,6 @@
  1097. # ./Makefile.in -*- Makefile -*-
  1098. # $Id: Makefile.in,v 1.5 1999/03/29 05:31:37 mason Exp $
  1099. -@MCOMMON@
  1100. +#@MCOMMON@
  1101. srcdir = @srcdir@
  1102. VPATH = @srcdir@