+++ /dev/null
-diff -ur tf-50b3/src/globals.h tfmod/src/globals.h
---- tf-50b3/src/globals.h Tue Jan 6 01:11:04 2004
-+++ tfmod/src/globals.h Mon Jan 5 23:28:48 2004
-@@ -209,6 +209,7 @@
- #define sockmload getintvar(VAR_sockmload)
- #define status_fields getstdvar(VAR_stat_fields)
- #define status_pad getstdvar(VAR_stat_pad)
-+#define status_height getintvar(VAR_stat_height)
- #define sub getintvar(VAR_sub)
- #define tabsize getintvar(VAR_tabsize)
- #define telopt getintvar(VAR_telopt)
-diff -ur tf-50b3/src/output.c tfmod/src/output.c
---- tf-50b3/src/output.c Tue Jan 6 01:11:04 2004
-+++ tfmod/src/output.c Tue Jan 6 00:27:03 2004
-@@ -15,6 +15,8 @@
- * Handles all screen-related phenomena.
- *****************************************************************/
-
-+#define MAX_STATUS_HEIGHT 5
-+
- #define TERM_vt100 1
- #define TERM_vt220 2
- #define TERM_ansi 3
-@@ -392,15 +394,15 @@
- lines = ((str = getvar("LINES"))) ? atoi(str) : 0;
- columns = ((str = getvar("COLUMNS"))) ? atoi(str) : 0;
- if (lines <= 0 || columns <= 0) get_window_size();
-- ystatus = lines - isize;
-+ ystatus = lines - isize - (status_height-1);
- top_margin = 1;
- bottom_margin = lines;
-
- prompt = fgprompt();
-
- init_term();
-- Stringninit(status_line, columns);
-- check_charattrs(status_line, columns, 0, __FILE__, __LINE__);
-+ Stringninit(status_line, columns*MAX_STATUS_HEIGHT);
-+ check_charattrs(status_line, columns*MAX_STATUS_HEIGHT, 0, __FILE__, __LINE__);
- ch_hiliteattr();
- ch_alert_attr();
- redraw();
-@@ -657,7 +659,7 @@
- } else {
- prompt = fgprompt();
- if (isize > lines - 3) set_var_by_id(VAR_isize, lines - 3);
-- ystatus = lines - isize;
-+ ystatus = lines - isize - (status_height - 1);
- #if 0
- outcount = ystatus - 1;
- #endif
-@@ -668,7 +670,7 @@
- }
- update_status_line();
- ix = iendx = oy = 1;
-- iy = iendy = istarty = ystatus + 1;
-+ iy = iendy = istarty = ystatus + status_height;
- ipos();
- #endif
- }
-@@ -1282,8 +1284,8 @@
- }
-
- if (width > columns) {
-- eprintf("status_fields: status width (%d) is wider than screen (%d)",
-- width, columns);
-+// eprintf("status_fields: status width (%d) is wider than screen (%d)",
-+// width, columns);
- }
-
- /* update new fields */
-@@ -1374,21 +1376,21 @@
- {
- int column;
- if (field->column >= 0)
-- return (field->column > columns) ? columns : field->column;
-+ return (field->column > columns*status_height) ? columns*status_height : field->column;
- column = field->column +
-- ((status_left + status_right > columns) ?
-- status_left + status_right : columns);
-- return (column > columns) ? columns : column;
-+ ((status_left + status_right > columns*status_height) ?
-+ status_left + status_right : columns*status_height);
-+ return (column > columns*status_height) ? columns*status_height : column;
- }
-
- static int status_width(StatusField *field, int start)
- {
- int width;
-- if (start >= columns) return 0;
-- width = (field->width == 0) ? columns - status_right - status_left :
-+ if (start >= columns*status_height) return 0;
-+ width = (field->width == 0) ? columns*status_height - status_right - status_left :
- (field->width > 0) ? field->width : -field->width;
-- if (width > columns - start)
-- width = columns - start;
-+ if (width > columns*status_height - start)
-+ width = columns*status_height - start;
- if (width < 0)
- width = 0;
- return width;
-@@ -1548,7 +1550,7 @@
- }
- if (internal >= 0 && field->internal != internal) continue;
- column = status_field_column(field);
-- if (column >= columns) /* doesn't fit, nor will any later fields */
-+ if (column >= columns*status_height) /* doesn't fit, nor will any later fields */
- break;
- count++;
- width = format_status_field(field);
-@@ -1589,12 +1591,12 @@
- for (node = status_field_list->head; node; node = node->next) {
- field = (StatusField*)node->datum;
-
-- if ((column = status_field_column(field)) >= columns)
-+ if ((column = status_field_column(field)) >= columns*status_height)
- break;
- width = format_status_field(field);
- }
-
-- for (column += width; column < columns; column++) {
-+ for (column += width; column < columns*status_height; column++) {
- status_line->data[column] = true_status_pad;
- status_line->charattrs[column] = status_attr;
- }
-@@ -1602,23 +1604,33 @@
-
- int display_status_line(void)
- {
-+ int i;
- if (screen_mode < 1) return 0;
-
- if (!alert_len) {
- /* no overlap with alert */
-- xy(1, ystatus);
-- hwrite(status_line, 0, columns, 0);
-+ for (i=0;i<status_height;i++) {
-+ xy(1, ystatus+i);
-+ hwrite(status_line, (columns*i), columns, 0);
-+ }
- } else {
- /* overlap with alert (this could happen in ch_status_attr()) */
-- if (alert_pos > 0) {
-- xy(1, ystatus);
-- hwrite(status_line, 0, alert_pos, 0);
-- }
-- if (alert_pos + alert_len < columns) {
-- xy(alert_pos + alert_len + 1, ystatus);
-- hwrite(status_line, alert_pos + alert_len,
-- columns - (alert_pos + alert_len), 0);
-+ for (i=0;i<status_height;i++) {
-+ if (!i) {
-+ if (alert_pos > 0) {
-+ xy(1, ystatus);
-+ hwrite(status_line, 0, alert_pos, 0);
-+ }
-+ if (alert_pos + alert_len < columns) {
-+ xy(alert_pos + alert_len + 1, ystatus);
-+ hwrite(status_line, alert_pos + alert_len,
-+ columns - (alert_pos + alert_len), 0);
-+ }
-+ } else {
-+ xy(1, ystatus+i);
-+ hwrite(status_line, (columns*i), columns, 0);
- }
-+ }
- }
-
- bufflush();
-@@ -1710,11 +1722,12 @@
- int ch_visual(void)
- {
- static int old_isize = 0;
-+ static int old_height = 0;
- int need_redraw;
-
-- if (status_line->len < columns)
-- Stringnadd(status_line, '?', columns - status_line->len);
-- Stringtrunc(status_line, columns);
-+ if (status_line->len < columns*status_height)
-+ Stringnadd(status_line, '?', columns*status_height - status_line->len);
-+ Stringtrunc(status_line, columns*status_height);
-
- if (screen_mode < 0) { /* e.g., called by init_variables() */
- need_redraw = 0;
-@@ -1728,6 +1741,11 @@
- #ifdef SCREEN
- } else if (isize != old_isize) { /* %isize changed */
- need_redraw = 1;
-+ } else if (status_height != old_height) { /* %status_height changed */
-+ if (status_height > MAX_STATUS_HEIGHT) {
-+ set_var_by_id(VAR_stat_height, MAX_STATUS_HEIGHT);
-+ }
-+ need_redraw = 1;
- } else { /* SIGWINCH */
- /* Set ystatus to the top of the area fix_screen() must erase. */
- /* ystatus = 1; */
-@@ -1742,6 +1760,7 @@
- transmit_window_size();
- }
- old_isize = isize;
-+ old_height = status_height;
- return 1;
- }
-
-@@ -1810,9 +1829,9 @@
- static void clear_input_window(void)
- {
- /* only called in visual mode */
-- clear_lines(ystatus + 1, lines);
-+ clear_lines(ystatus + status_height, lines);
- ix = iendx = 1;
-- iy = iendy = istarty = ystatus + 1;
-+ iy = iendy = istarty = ystatus + status_height;
- ipos();
- }
-
-@@ -1830,14 +1849,14 @@
- static void scroll_input(int n)
- {
- if (n > isize) {
-- clear_lines(ystatus + 1, lines);
-- iendy = ystatus + 1;
-+ clear_lines(ystatus + status_height, lines);
-+ iendy = ystatus + status_height;
- } else if (delete_line) {
-- xy(1, ystatus + 1);
-+ xy(1, ystatus + status_height);
- for (iendy = lines + 1; iendy > lines - n + 1; iendy--)
- tp(delete_line);
- } else if (has_scroll_region) {
-- setscroll(ystatus + 1, lines);
-+ setscroll(ystatus + status_height, lines);
- xy(1, lines);
- crnl(n); /* DON'T: cy += n; */
- iendy = lines - n + 1;
-@@ -1986,7 +2005,7 @@
- iendx = ix = 1;
- } else if (scroll && !clearfull) {
- scroll_input(1);
-- if (istarty > ystatus + 1) istarty--;
-+ if (istarty > ystatus + status_height) istarty--;
- } else {
- clear_input_window();
- }
-@@ -2176,7 +2195,7 @@
- ioutall(place - (ix - 1) - (iy - lines - 1) * Wrap);
- iy = lines;
- ipos();
-- } else if ((iy < ystatus + 1) || (iy > lines)) {
-+ } else if ((iy < ystatus + status_height) || (iy > lines)) {
- logical_refresh();
- } else {
- ipos();
-diff -ur tf-50b3/src/varlist.h tfmod/src/varlist.h
---- tf-50b3/src/varlist.h Tue Jan 6 01:11:05 2004
-+++ tfmod/src/varlist.h Mon Jan 5 23:35:36 2004
-@@ -114,6 +114,7 @@
- varflag(VAR_sockmload, "sockmload", FALSE, NULL)
- varstr (VAR_stat_attr, "status_attr", NULL, ch_status_attr)
- varstr (VAR_stat_fields,"status_fields",NULL, ch_status_fields)
-+varint (VAR_stat_height,"status_height",1, ch_visual)
- varstr (VAR_stat_pad, "status_pad", "_", update_status_line)
- varstr (VAR_stint_clock,"status_int_clock",NULL, ch_status_int)
- varstr (VAR_stint_more, "status_int_more",NULL, ch_status_int)
+++ /dev/null
-/set isize=2
-/set lwgo=0
-/set status_pad=
-/set uciekl=**
-;---------------
-/set skd=*
-/set kkd=Cwhite
-/set szm=*
-/set kzm=Cwhite
-/set saw=***
-/set kaw=Cwhite
-/set sbm=-
-/set kbm=Cwhite
-/set exits=n ne se
-/set specowanie=S+
-
-/set pad=
-/set sgrupapad=This is a test
-/set status_height=2
-
-/def -i status_set=\
- /eval /set padwidth=$[expr(columns()-79)]%;\
- /eval /set grupawidth=$[expr(columns())]%;\
- /set status_fields=\
- 'k' skd:1:%{kkd} :1 \
- 'z' szm:1:%{kzm} :1 \
- saw:3:%{kaw} :1 \
- specowanie:3:BCcyan :1 \
- 'asd':9:BCcyan :1 \
- uciekl:2:BCred :1 \
- exits:46:BCwhite \
- sbm:1:%{kbm} \
- pad:%{padwidth} \
- @clock:5 \
- sgrupapad:%{grupawidth} \
-
-/def -hRESIZE hook_screen_resized=\
- /eval /set padwidth=$[expr(columns()-79)]%;\
- /eval /set grupawidth=$[expr(columns())]%;\
- /status_edit pad:%{padwidth}
-
-/status_set
+++ /dev/null
-diff -ur tf-50b5/src/globals.h tf-50b5-patch/src/globals.h
---- tf-50b5/src/globals.h Wed Jul 21 02:19:41 2004
-+++ tf-50b5-patch/src/globals.h Wed Jul 28 00:21:15 2004
-@@ -223,6 +223,7 @@
- #define status_attr getattrvar(VAR_stat_attr)
- #define status_fields getstdvar(VAR_stat_fields)
- #define status_pad getstdvar(VAR_stat_pad)
-+#define status_height getintvar(VAR_stat_height)
- #define sub getintvar(VAR_sub)
- #define tabsize getintvar(VAR_tabsize)
- #define telopt getintvar(VAR_telopt)
-diff -ur tf-50b5/src/main.c tf-50b5-patch/src/main.c
---- tf-50b5/src/main.c Fri Jul 16 23:13:51 2004
-+++ tf-50b5-patch/src/main.c Wed Jul 28 00:21:15 2004
-@@ -49,7 +49,7 @@
- #endif
- "TinyFugue version 5.0 beta 5";
-
--const char mods[] = "";
-+const char mods[] = "With multistatus line written by Someone [Minor changes by Karol Lassak (ingwar@ingwar.eu.org)]";
-
- const char copyright[] =
- "Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2003, 2004 Ken Keys (hawkeye@tcp.com)";
-diff -ur tf-50b5/src/output.c tf-50b5-patch/src/output.c
---- tf-50b5/src/output.c Tue Jul 27 03:02:34 2004
-+++ tf-50b5-patch/src/output.c Wed Jul 28 00:21:15 2004
-@@ -15,6 +15,8 @@
- * Handles all screen-related phenomena.
- *****************************************************************/
-
-+#define MAX_STATUS_HEIGHT 5
-+
- #define TERM_vt100 1
- #define TERM_vt220 2
- #define TERM_ansi 3
-@@ -388,15 +390,15 @@
- lines = ((str = getvar("LINES"))) ? atoi(str) : 0;
- columns = ((str = getvar("COLUMNS"))) ? atoi(str) : 0;
- if (lines <= 0 || columns <= 0) get_window_size();
-- ystatus = lines - isize;
-+ ystatus = lines - isize - (status_height - 1);
- top_margin = 1;
- bottom_margin = lines;
-
- prompt = fgprompt();
-
- init_term();
-- Stringninit(status_line, columns);
-- check_charattrs(status_line, columns, 0, __FILE__, __LINE__);
-+ Stringninit(status_line, columns * MAX_STATUS_HEIGHT);
-+ check_charattrs(status_line, columns * MAX_STATUS_HEIGHT, 0, __FILE__, __LINE__);
- ch_attr(&special_var[VAR_hiliteattr]);
- ch_attr(&special_var[VAR_alert_attr]);
- ch_attr(&special_var[VAR_stat_attr]);
-@@ -686,7 +688,7 @@
- } else {
- prompt = fgprompt();
- if (isize > lines - 3) set_var_by_id(VAR_isize, lines - 3);
-- ystatus = lines - isize;
-+ ystatus = lines - isize - (status_height - 1);
- #if 0
- outcount = ystatus - 1;
- #endif
-@@ -697,7 +699,7 @@
- }
- update_status_line(NULL);
- ix = iendx = oy = 1;
-- iy = iendy = istarty = ystatus + 1;
-+ iy = iendy = istarty = ystatus + status_height;
- ipos();
- #endif
- }
-@@ -1314,9 +1316,9 @@
- inlist(field, status_field_list, status_field_list->tail);
- }
-
-- if (width > columns) {
-- eprintf("status_fields: status width (%d) is wider than screen (%d)",
-- width, columns);
-+ if (width > columns * status_height) {
-+ eprintf("status_fields: status width (%d) is wider than screen * status height (%d * %d)",
-+ width, columns, status_height);
- }
-
- /* update new fields */
-@@ -1408,21 +1410,21 @@
- {
- int column;
- if (field->column >= 0)
-- return (field->column > columns) ? columns : field->column;
-+ return (field->column > columns * status_height) ? columns * status_height : field->column;
- column = field->column +
-- ((status_left + status_right > columns) ?
-- status_left + status_right : columns);
-- return (column > columns) ? columns : column;
-+ ((status_left + status_right > columns * status_height) ?
-+ status_left + status_right : columns * status_height);
-+ return (column > columns * status_height) ? columns * status_height : column;
- }
-
- static int status_width(StatusField *field, int start)
- {
- int width;
-- if (start >= columns) return 0;
-- width = (field->width == 0) ? columns - status_right - status_left :
-+ if (start >= columns * status_height) return 0;
-+ width = (field->width == 0) ? columns * status_height - status_right - status_left :
- (field->width > 0) ? field->width : -field->width;
-- if (width > columns - start)
-- width = columns - start;
-+ if (width > columns * status_height - start)
-+ width = columns * status_height - start;
- if (width < 0)
- width = 0;
- return width;
-@@ -1580,8 +1582,8 @@
- continue;
- }
- if (internal >= 0 && field->internal != internal) continue;
-- column = status_field_column(field);
-- if (column >= columns) /* doesn't fit, nor will any later fields */
-+ column = status_field_column(field);
-+ if (column >= columns * status_height) /* doesn't fit, nor will any later fields */
- break;
- count++;
- width = format_status_field(field);
-@@ -1590,17 +1592,17 @@
- column >= alert_pos + alert_len)
- {
- /* no overlap with alert */
-- xy(column + 1, ystatus);
-+ xy((column + 1) % columns, ystatus + (column / columns));
- hwrite(CS(status_line), column, width, 0);
- } else {
- if (column < alert_pos) {
- /* field starts left of alert */
-- xy(column + 1, ystatus);
-+ xy((column + 1) % columns, ystatus + (column / columns));
- hwrite(CS(status_line), column, alert_pos - column, 0);
- }
- if (column + width >= alert_pos) {
- /* field ends right of alert */
-- xy(alert_pos + alert_len + 1, ystatus);
-+ xy((alert_pos + alert_len + 1) % columns, ystatus + (column / columns));
- hwrite(CS(status_line), alert_pos + alert_len,
- column + width - (alert_pos + alert_len), 0);
- }
-@@ -1622,12 +1624,12 @@
- for (node = status_field_list->head; node; node = node->next) {
- field = (StatusField*)node->datum;
-
-- if ((column = status_field_column(field)) >= columns)
-+ if ((column = status_field_column(field)) >= columns * status_height)
- break;
- width = format_status_field(field);
- }
-
-- for (column += width; column < columns; column++) {
-+ for (column += width; column < columns * status_height; column++) {
- status_line->data[column] = true_status_pad;
- status_line->charattrs[column] = status_attr;
- }
-@@ -1635,23 +1637,33 @@
-
- int display_status_line(void)
- {
-+ int i;
- if (screen_mode < 1) return 0;
-
- if (!alert_len) {
- /* no overlap with alert */
-- xy(1, ystatus);
-- hwrite(CS(status_line), 0, columns, 0);
-+ for (i = 0; i < status_height; i++) {
-+ xy(1, ystatus + i);
-+ hwrite(CS(status_line), (columns * i), columns, 0);
-+ }
- } else {
- /* overlap with alert (this could happen in ch_status_attr()) */
-- if (alert_pos > 0) {
-- xy(1, ystatus);
-- hwrite(CS(status_line), 0, alert_pos, 0);
-- }
-- if (alert_pos + alert_len < columns) {
-- xy(alert_pos + alert_len + 1, ystatus);
-- hwrite(CS(status_line), alert_pos + alert_len,
-- columns - (alert_pos + alert_len), 0);
-- }
-+ for (i = 0; i < status_height; i++) {
-+ if (!i) {
-+ if (alert_pos > 0) {
-+ xy(1, ystatus);
-+ hwrite(CS(status_line), 0, alert_pos, 0);
-+ }
-+ if (alert_pos + alert_len < columns) {
-+ xy(alert_pos + alert_len + 1, ystatus);
-+ hwrite(CS(status_line), alert_pos + alert_len,
-+ columns - (alert_pos + alert_len), 0);
-+ }
-+ } else {
-+ xy(1, ystatus + i);
-+ hwrite(CS(status_line), (columns * i), columns, 0);
-+ }
-+ }
- }
-
- bufflush();
-@@ -1744,9 +1756,9 @@
- {
- int need_redraw;
-
-- if (status_line->len < columns)
-- Stringnadd(status_line, '?', columns - status_line->len);
-- Stringtrunc(status_line, columns);
-+ if (status_line->len < columns * status_height)
-+ Stringnadd(status_line, '?', columns * status_height - status_line->len);
-+ Stringtrunc(status_line, columns * status_height);
-
- if (screen_mode < 0) { /* e.g., called by init_variables() */
- need_redraw = 0;
-@@ -1760,6 +1772,11 @@
- #ifdef SCREEN
- } else if (var == &special_var[VAR_isize]) { /* %isize changed */
- need_redraw = 1;
-+ } else if (var == &special_var[VAR_stat_height]) { /* %status_height changed */
-+ if (status_height > MAX_STATUS_HEIGHT) {
-+ set_var_by_id(VAR_stat_height, MAX_STATUS_HEIGHT);
-+ }
-+ need_redraw = 1;
- } else { /* SIGWINCH */
- /* Set ystatus to the top of the area fix_screen() must erase. */
- /* ystatus = 1; */
-@@ -1853,9 +1870,9 @@
- static void clear_input_window(void)
- {
- /* only called in visual mode */
-- clear_lines(ystatus + 1, lines);
-+ clear_lines(ystatus + status_height, lines);
- ix = iendx = 1;
-- iy = iendy = istarty = ystatus + 1;
-+ iy = iendy = istarty = ystatus + status_height;
- ipos();
- }
-
-@@ -1873,14 +1890,14 @@
- static void scroll_input(int n)
- {
- if (n > isize) {
-- clear_lines(ystatus + 1, lines);
-- iendy = ystatus + 1;
-+ clear_lines(ystatus + status_height, lines);
-+ iendy = ystatus + status_height;
- } else if (delete_line) {
-- xy(1, ystatus + 1);
-+ xy(1, ystatus + status_height);
- for (iendy = lines + 1; iendy > lines - n + 1; iendy--)
- tp(delete_line);
- } else if (has_scroll_region) {
-- setscroll(ystatus + 1, lines);
-+ setscroll(ystatus + status_height, lines);
- xy(1, lines);
- crnl(n); /* DON'T: cy += n; */
- iendy = lines - n + 1;
-@@ -2039,7 +2056,7 @@
- }
- } else if (scroll && !clearfull) {
- scroll_input(1);
-- if (istarty > ystatus + 1) istarty--;
-+ if (istarty > ystatus + status_height) istarty--;
- } else {
- clear_input_window();
- }
-@@ -2273,7 +2290,7 @@
- ioutall(place - (ix - 1) - (iy - lines - 1) * Wrap);
- iy = lines;
- ipos();
-- } else if ((iy < ystatus + 1) || (iy > lines)) {
-+ } else if ((iy < ystatus + status_height) || (iy > lines)) {
- logical_refresh();
- } else {
- ipos();
-diff -ur tf-50b5/src/varlist.h tf-50b5-patch/src/varlist.h
---- tf-50b5/src/varlist.h Mon Jul 26 10:30:56 2004
-+++ tf-50b5-patch/src/varlist.h Wed Jul 28 00:21:15 2004
-@@ -128,6 +128,7 @@
- varstr (VAR_sprefix, "sprefix", NULL, NULL)
- varstr (VAR_stat_attr, "status_attr", NULL, ch_status_attr)
- varstr (VAR_stat_fields,"status_fields",NULL, ch_status_fields)
-+varint (VAR_stat_height,"status_height",1, ch_visual)
- varstr (VAR_stat_pad, "status_pad", "_", update_status_line)
- varstr (VAR_stint_clock,"status_int_clock",NULL, ch_status_int)
- varstr (VAR_stint_more, "status_int_more",NULL, ch_status_int)
+++ /dev/null
-diff -ur tf-50b6/src/globals.h tf-50b6-patch/src/globals.h
---- tf-50b6/src/globals.h Wed Jul 21 02:19:41 2004
-+++ tf-50b6-patch/src/globals.h Thu Aug 5 14:27:52 2004
-@@ -223,6 +223,7 @@
- #define status_attr getattrvar(VAR_stat_attr)
- #define status_fields getstdvar(VAR_stat_fields)
- #define status_pad getstdvar(VAR_stat_pad)
-+#define status_height getintvar(VAR_stat_height)
- #define sub getintvar(VAR_sub)
- #define tabsize getintvar(VAR_tabsize)
- #define telopt getintvar(VAR_telopt)
-diff -ur tf-50b6/src/main.c tf-50b6-patch/src/main.c
---- tf-50b6/src/main.c Thu Jul 29 19:37:19 2004
-+++ tf-50b6-patch/src/main.c Thu Aug 5 14:27:52 2004
-@@ -49,7 +49,7 @@
- #endif
- "TinyFugue version 5.0 beta 6";
-
--const char mods[] = "";
-+const char mods[] = "With multistatus line written by Someone [Minor changes by Karol Lassak (ingwar@ingwar.eu.org)]";
-
- const char copyright[] =
- "Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2003, 2004 Ken Keys (hawkeye@tcp.com)";
-Only in tf-50b6-patch/src: main.c.orig
-diff -ur tf-50b6/src/output.c tf-50b6-patch/src/output.c
---- tf-50b6/src/output.c Fri Jul 30 21:21:02 2004
-+++ tf-50b6-patch/src/output.c Thu Aug 5 14:27:53 2004
-@@ -15,6 +15,8 @@
- * Handles all screen-related phenomena.
- *****************************************************************/
-
-+#define MAX_STATUS_HEIGHT 5
-+
- #define TERM_vt100 1
- #define TERM_vt220 2
- #define TERM_ansi 3
-@@ -388,7 +390,7 @@
- lines = ((str = getvar("LINES"))) ? atoi(str) : 0;
- columns = ((str = getvar("COLUMNS"))) ? atoi(str) : 0;
- if (lines <= 0 || columns <= 0) get_window_size();
-- ystatus = lines - isize;
-+ ystatus = lines - isize - (status_height - 1);
- top_margin = 1;
- bottom_margin = lines;
-
-@@ -396,8 +398,8 @@
- old_ix = -1;
-
- init_term();
-- Stringninit(status_line, columns);
-- check_charattrs(status_line, columns, 0, __FILE__, __LINE__);
-+ Stringninit(status_line, columns * MAX_STATUS_HEIGHT);
-+ check_charattrs(status_line, columns * MAX_STATUS_HEIGHT, 0, __FILE__, __LINE__);
- ch_attr(&special_var[VAR_hiliteattr]);
- ch_attr(&special_var[VAR_alert_attr]);
- ch_attr(&special_var[VAR_stat_attr]);
-@@ -688,7 +690,7 @@
- } else {
- prompt = fgprompt();
- if (isize > lines - 3) set_var_by_id(VAR_isize, lines - 3);
-- ystatus = lines - isize;
-+ ystatus = lines - isize - (status_height - 1);
- #if 0
- outcount = ystatus - 1;
- #endif
-@@ -699,7 +701,7 @@
- }
- update_status_line(NULL);
- ix = iendx = oy = 1;
-- iy = iendy = istarty = ystatus + 1;
-+ iy = iendy = istarty = ystatus + status_height;
- ipos();
- #endif
- }
-@@ -1317,9 +1319,9 @@
- inlist(field, status_field_list, status_field_list->tail);
- }
-
-- if (width > columns) {
-- eprintf("status_fields: status width (%d) is wider than screen (%d)",
-- width, columns);
-+ if (width > columns * status_height) {
-+ eprintf("status_fields: status width (%d) is wider than screen * status height (%d * %d)",
-+ width, columns, status_height);
- }
-
- /* update new fields */
-@@ -1411,21 +1413,21 @@
- {
- int column;
- if (field->column >= 0)
-- return (field->column > columns) ? columns : field->column;
-+ return (field->column > columns * status_height) ? columns * status_height : field->column;
- column = field->column +
-- ((status_left + status_right > columns) ?
-- status_left + status_right : columns);
-- return (column > columns) ? columns : column;
-+ ((status_left + status_right > columns * status_height) ?
-+ status_left + status_right : columns * status_height);
-+ return (column > columns * status_height) ? columns * status_height : column;
- }
-
- static int status_width(StatusField *field, int start)
- {
- int width;
-- if (start >= columns) return 0;
-- width = (field->width == 0) ? columns - status_right - status_left :
-+ if (start >= columns * status_height) return 0;
-+ width = (field->width == 0) ? columns * status_height - status_right - status_left :
- (field->width > 0) ? field->width : -field->width;
-- if (width > columns - start)
-- width = columns - start;
-+ if (width > columns * status_height - start)
-+ width = columns * status_height - start;
- if (width < 0)
- width = 0;
- return width;
-@@ -1583,8 +1585,8 @@
- continue;
- }
- if (internal >= 0 && field->internal != internal) continue;
-- column = status_field_column(field);
-- if (column >= columns) /* doesn't fit, nor will any later fields */
-+ column = status_field_column(field);
-+ if (column >= columns * status_height) /* doesn't fit, nor will any later fields */
- break;
- count++;
- width = format_status_field(field);
-@@ -1593,17 +1595,17 @@
- column >= alert_pos + alert_len)
- {
- /* no overlap with alert */
-- xy(column + 1, ystatus);
-+ xy((column + 1) % columns, ystatus + (column / columns));
- hwrite(CS(status_line), column, width, 0);
- } else {
- if (column < alert_pos) {
- /* field starts left of alert */
-- xy(column + 1, ystatus);
-+ xy((column + 1) % columns, ystatus + (column / columns));
- hwrite(CS(status_line), column, alert_pos - column, 0);
- }
- if (column + width >= alert_pos) {
- /* field ends right of alert */
-- xy(alert_pos + alert_len + 1, ystatus);
-+ xy((alert_pos + alert_len + 1) % columns, ystatus + (column / columns));
- hwrite(CS(status_line), alert_pos + alert_len,
- column + width - (alert_pos + alert_len), 0);
- }
-@@ -1625,12 +1627,12 @@
- for (node = status_field_list->head; node; node = node->next) {
- field = (StatusField*)node->datum;
-
-- if ((column = status_field_column(field)) >= columns)
-+ if ((column = status_field_column(field)) >= columns * status_height)
- break;
- width = format_status_field(field);
- }
-
-- for (column += width; column < columns; column++) {
-+ for (column += width; column < columns * status_height; column++) {
- status_line->data[column] = true_status_pad;
- status_line->charattrs[column] = status_attr;
- }
-@@ -1638,23 +1640,33 @@
-
- int display_status_line(void)
- {
-+ int i;
- if (screen_mode < 1) return 0;
-
- if (!alert_len) {
- /* no overlap with alert */
-- xy(1, ystatus);
-- hwrite(CS(status_line), 0, columns, 0);
-+ for (i = 0; i < status_height; i++) {
-+ xy(1, ystatus + i);
-+ hwrite(CS(status_line), (columns * i), columns, 0);
-+ }
- } else {
- /* overlap with alert (this could happen in ch_status_attr()) */
-- if (alert_pos > 0) {
-- xy(1, ystatus);
-- hwrite(CS(status_line), 0, alert_pos, 0);
-- }
-- if (alert_pos + alert_len < columns) {
-- xy(alert_pos + alert_len + 1, ystatus);
-- hwrite(CS(status_line), alert_pos + alert_len,
-- columns - (alert_pos + alert_len), 0);
-- }
-+ for (i = 0; i < status_height; i++) {
-+ if (!i) {
-+ if (alert_pos > 0) {
-+ xy(1, ystatus);
-+ hwrite(CS(status_line), 0, alert_pos, 0);
-+ }
-+ if (alert_pos + alert_len < columns) {
-+ xy(alert_pos + alert_len + 1, ystatus);
-+ hwrite(CS(status_line), alert_pos + alert_len,
-+ columns - (alert_pos + alert_len), 0);
-+ }
-+ } else {
-+ xy(1, ystatus + i);
-+ hwrite(CS(status_line), (columns * i), columns, 0);
-+ }
-+ }
- }
-
- bufflush();
-@@ -1747,9 +1759,9 @@
- {
- int need_redraw;
-
-- if (status_line->len < columns)
-- Stringnadd(status_line, '?', columns - status_line->len);
-- Stringtrunc(status_line, columns);
-+ if (status_line->len < columns * status_height)
-+ Stringnadd(status_line, '?', columns * status_height - status_line->len);
-+ Stringtrunc(status_line, columns * status_height);
-
- if (screen_mode < 0) { /* e.g., called by init_variables() */
- need_redraw = 0;
-@@ -1763,6 +1775,11 @@
- #ifdef SCREEN
- } else if (var == &special_var[VAR_isize]) { /* %isize changed */
- need_redraw = 1;
-+ } else if (var == &special_var[VAR_stat_height]) { /* %status_height changed */
-+ if (status_height > MAX_STATUS_HEIGHT) {
-+ set_var_by_id(VAR_stat_height, MAX_STATUS_HEIGHT);
-+ }
-+ need_redraw = 1;
- } else { /* SIGWINCH */
- /* Set ystatus to the top of the area fix_screen() must erase. */
- /* ystatus = 1; */
-@@ -1858,9 +1875,9 @@
- static void clear_input_window(void)
- {
- /* only called in visual mode */
-- clear_lines(ystatus + 1, lines);
-+ clear_lines(ystatus + status_height, lines);
- ix = iendx = 1;
-- iy = iendy = istarty = ystatus + 1;
-+ iy = iendy = istarty = ystatus + status_height;
- ipos();
- }
-
-@@ -1878,14 +1895,14 @@
- static void scroll_input(int n)
- {
- if (n > isize) {
-- clear_lines(ystatus + 1, lines);
-- iendy = ystatus + 1;
-+ clear_lines(ystatus + status_height, lines);
-+ iendy = ystatus + status_height;
- } else if (delete_line) {
-- xy(1, ystatus + 1);
-+ xy(1, ystatus + status_height);
- for (iendy = lines + 1; iendy > lines - n + 1; iendy--)
- tp(delete_line);
- } else if (has_scroll_region) {
-- setscroll(ystatus + 1, lines);
-+ setscroll(ystatus + status_height, lines);
- xy(1, lines);
- crnl(n); /* DON'T: cy += n; */
- iendy = lines - n + 1;
-@@ -2049,7 +2066,7 @@
- }
- } else if (scroll && !clearfull) {
- scroll_input(1);
-- if (istarty > ystatus + 1) istarty--;
-+ if (istarty > ystatus + status_height) istarty--;
- } else {
- clear_input_window();
- }
-@@ -2292,7 +2309,7 @@
- ioutall(place - (ix - 1) - (iy - lines - 1) * Wrap);
- iy = lines;
- ipos();
-- } else if ((iy < ystatus + 1) || (iy > lines)) {
-+ } else if ((iy < ystatus + status_height) || (iy > lines)) {
- logical_refresh();
- } else {
- ipos();
-Only in tf-50b6-patch/src: output.c.orig
-diff -ur tf-50b6/src/varlist.h tf-50b6-patch/src/varlist.h
---- tf-50b6/src/varlist.h Mon Jul 26 10:30:56 2004
-+++ tf-50b6-patch/src/varlist.h Thu Aug 5 14:27:53 2004
-@@ -128,6 +128,7 @@
- varstr (VAR_sprefix, "sprefix", NULL, NULL)
- varstr (VAR_stat_attr, "status_attr", NULL, ch_status_attr)
- varstr (VAR_stat_fields,"status_fields",NULL, ch_status_fields)
-+varint (VAR_stat_height,"status_height",1, ch_visual)
- varstr (VAR_stat_pad, "status_pad", "_", update_status_line)
- varstr (VAR_stint_clock,"status_int_clock",NULL, ch_status_int)
- varstr (VAR_stint_more, "status_int_more",NULL, ch_status_int)
+++ /dev/null
-diff -urN tf-40s1-org/tf-lib/complete.tf tf-40s1/tf-lib/complete.tf
---- tf-40s1-org/tf-lib/complete.tf Sat Mar 6 23:43:27 1999
-+++ tf-40s1/tf-lib/complete.tf Wed Jul 31 11:40:34 2002
-@@ -7,7 +7,7 @@
- ;; To use: /load this file, and optionally store a list of words in
- ;; %{completion_list}. For example, add this to your ~/.tfrc file:
- ;;
--;; /load complete.tf
-+;; /load completion.tf
- ;; /set completion_list=Hawkeye TinyFugue ftp.tcp.com
- ;;
- ;; Completion keys:
-@@ -35,7 +35,7 @@
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
--/loaded __TFLIB__/complete.tf
-+/loaded __TFLIB__/completion.tf
-
- /require lisp.tf
-
-diff -urN tf-40s1-org/tf-lib/filexfer.tf tf-40s1/tf-lib/filexfer.tf
---- tf-40s1-org/tf-lib/filexfer.tf Sat Mar 6 23:43:27 1999
-+++ tf-40s1/tf-lib/filexfer.tf Wed Jul 31 11:42:00 2002
-@@ -1,7 +1,7 @@
- ;;;; File transfer macros
- ;; see "/help /putfile" and "/help /getfile".
-
--/loaded __TFLIB__/filexfer.tf
-+/loaded __TFLIB__/file-xfer.tf
-
- /def -i putfile = /putfile_MUCK %*
-
-diff -urN tf-40s1-org/tf-lib/finger.tf tf-40s1/tf-lib/finger.tf
---- tf-40s1-org/tf-lib/finger.tf Sat Mar 6 23:43:27 1999
-+++ tf-40s1/tf-lib/finger.tf Wed Jul 31 11:45:43 2002
-@@ -6,7 +6,7 @@
-
- ; This is more complicated than it needs to be, just to make it act nicely.
-
--; The empty WORLD hooks override normal hooks (like those in world-q.tf)
-+; The empty WORLD hooks override normal hooks (like those in worldqueue.tf)
- ; that we don't want during finger.
-
- /def -i finger = \
-diff -urN tf-40s1-org/tf-lib/kb-bash.tf tf-40s1/tf-lib/kb-bash.tf
---- tf-40s1-org/tf-lib/kb-bash.tf Sat Mar 6 23:43:27 1999
-+++ tf-40s1/tf-lib/kb-bash.tf Wed Jul 31 11:40:55 2002
-@@ -1,9 +1,9 @@
- ;;;; Bash-like keyboard bindings
-
--/loaded __TFLIB__/kb-bash.tf
-+/loaded __TFLIB__/bind-bash.tf
-
- /require kbfunc.tf
--/require complete.tf
-+/require completion.tf
-
- ;; The commented-out lines are either unimplemented, already defined,
- ;; or conflict with pre-existing bindings.
-diff -urN tf-40s1-org/tf-lib/kb-emacs.tf tf-40s1/tf-lib/kb-emacs.tf
---- tf-40s1-org/tf-lib/kb-emacs.tf Sat Mar 6 23:43:27 1999
-+++ tf-40s1/tf-lib/kb-emacs.tf Wed Jul 31 11:39:22 2002
-@@ -1,6 +1,6 @@
- ;;;; emacs style keybindings for TinyFugue
-
--/loaded __TFLIB__/kb-emacs.tf
-+/loaded __TFLIB__/bind-emacs.tf
-
- /def -i -b"^a" = /dokey_home
- /def -i -b"^b" = /dokey_left
-diff -urN tf-40s1-org/tf-lib/psh.tf tf-40s1/tf-lib/psh.tf
---- tf-40s1-org/tf-lib/psh.tf Sat Mar 6 23:43:27 1999
-+++ tf-40s1/tf-lib/psh.tf Wed Jul 31 11:43:11 2002
-@@ -4,7 +4,7 @@
- ;; bug: barfs on suspend (^Z) because SHELL is really a child of /bin/sh,
- ;; which doesn't have job control. Workaround: don't ^Z during /psh.
-
--/loaded __TFLIB__/psh.tf
-+/loaded __TFLIB__/pref-shell.tf
-
- /def -i psh = \
- /if ( ({#} > 0) & (SHELL !~ "") & (SHELL !~ "/bin/sh") ) \
-diff -urN tf-40s1-org/tf-lib/spc-page.tf tf-40s1/tf-lib/spc-page.tf
---- tf-40s1-org/tf-lib/spc-page.tf Sat Mar 6 23:43:27 1999
-+++ tf-40s1/tf-lib/spc-page.tf Wed Jul 31 11:44:09 2002
-@@ -4,7 +4,7 @@
- ;; I personally don't like it, but you might if you can't get the hang of
- ;; pressing TAB. To enable space-page, just load this file.
-
--/loaded __TFLIB__/spc-page.tf
-+/loaded __TFLIB__/space_page.tf
-
- /def -i pager = \
- /purge -ib" "%; \
-diff -urN tf-40s1-org/tf-lib/spedwalk.tf tf-40s1/tf-lib/spedwalk.tf
---- tf-40s1-org/tf-lib/spedwalk.tf Sat Mar 6 23:43:27 1999
-+++ tf-40s1/tf-lib/spedwalk.tf Wed Jul 31 11:36:38 2002
-@@ -9,7 +9,7 @@
- ;;;; enabled, typing "ne3ses" will send "n", "e", "s", "s", "s", "e", "s".
-
-
--/loaded __TFLIB__/spedwalk.tf
-+/loaded __TFLIB__/speedwalk.tf
-
- /eval \
- /def -i speedwalk = \
-diff -urN tf-40s1-org/tf-lib/stack-q.tf tf-40s1/tf-lib/stack-q.tf
---- tf-40s1-org/tf-lib/stack-q.tf Sat Mar 6 23:43:27 1999
-+++ tf-40s1/tf-lib/stack-q.tf Wed Jul 31 11:45:03 2002
-@@ -2,7 +2,7 @@
- ;;;; Lets you keep stacks and queues of words. /pop and /dequeue give their
- ;;;; results via /echo; use $(/pop) and $(/dequeue) to capture their results.
-
--/loaded __TFLIB__/stack-q.tf
-+/loaded __TFLIB__/stack-queue.tf
-
- /require lisp.tf
-
-diff -urN tf-40s1-org/tf-lib/tf-help tf-40s1/tf-lib/tf-help
---- tf-40s1-org/tf-lib/tf-help Sat Mar 6 23:43:27 1999
-+++ tf-40s1/tf-lib/tf-help Wed Jul 31 11:46:04 2002
-@@ -1147,7 +1147,7 @@
-
- Usage:
-
-- \e[1m/REQUIRE\e[22;0m filexfer.tf
-+ \e[1m/REQUIRE\e[22;0m file-xfer.tf
-
- \e[1m/GETFILE_MUCK\e[22;0m <\e[4mfile\e[24m> [<\e[4mremote-file\e[24m>]
- \e[1m/GETFILE_LP\e[22;0m <\e[4mfile\e[24m> [<\e[4mremote-file\e[24m>]
-@@ -2333,7 +2333,7 @@
-
- Usage:
-
-- \e[1m/REQUIRE\e[22;0m filexfer.tf
-+ \e[1m/REQUIRE\e[22;0m file-xfer.tf
-
- \e[1m/PUTFILE_MUCK\e[22;0m <\e[4mfile\e[24m> [<\e[4mremote-file\e[24m>]
- \e[1m/PUTFILE_LP\e[22;0m <\e[4mfile\e[24m> [<\e[4mremote-file\e[24m>]
-@@ -3938,12 +3938,12 @@
-
- Usage:
-
-- \e[1m/REQUIRE\e[22;0m complete.tf
-+ \e[1m/REQUIRE\e[22;0m completion.tf
-
- \e[1m/complete\e[22;0m
- ____________________________________________________________________________
-
-- Loading complete.tf will define the following keybindings:
-+ Loading completion.tf will define the following keybindings:
-
- ESC TAB
- complete from context, input \e[1mhistory\e[22;0m, or \e[1m%{completion_list}\e[22;0m.
-@@ -3969,7 +3969,7 @@
- in which you can store a list of any words you want to be able to complete.
-
- You can also define your own types of completion. See the
-- \e[1m%{TFLIBDIR}\e[22;0m/complete.tf file for more information.
-+ \e[1m%{TFLIBDIR}\e[22;0m/completion.tf file for more information.
-
- See: \e[1m/bind\e[22;0m, \e[1mtfrc\e[22;0m
-
-@@ -5356,8 +5356,8 @@
-
- Other key bindings
- #kbstack.tf
--#kb-bash.tf
--#kb-emacs.tf
-+#bind-bash.tf
-+#bind-emacs.tf
- #kbregion.tf
- #cut
- #paste
-@@ -5368,9 +5368,9 @@
- Some additional keyboard operations can be defined by \e[1m/load\e[22;0ming these library
- files:
-
-- kb-bash.tf
-+ bind-bash.tf
- keybindings like those in bash
-- kb-emacs.tf
-+ bind-emacs.tf
- keybindings like those in emacs
- kbregion.tf
- cut-and-paste operations
-@@ -6406,7 +6406,7 @@
-
- You can switch between \e[1mforeground\e[22;0m \e[1msockets\e[22;0m with the \e[1m/fg\e[22;0m command; the next
- \e[1msocket\e[22;0m and previous \e[1msocket\e[22;0m keys, which default to ESC-b and ESC-f, and can
-- be modified with \e[1m/bind\e[22;0m; and, when the file world-q.tf is loaded, with the
-+ be modified with \e[1m/bind\e[22;0m; and, when the file worldqueue.tf is loaded, with the
- ESC-w keybinding.
-
- If the \e[1m%{quitdone}\e[22;0m flag is on, and you disconnect from all worlds (either
-@@ -7905,13 +7905,13 @@
- alias.tf
- \e[1m/alias\e[22;0m, etc: create commands without '/'.
- at.tf \e[1m/at\e[22;0m: execute commands at a specified time.
-- complete.tf
-+ completion.tf
- Automagic word completion.
-- filexfer.tf
-+ file-xfer.tf
- \e[1m/putfile\e[22;0m, \e[1m/getfile\e[22;0m: transfer files to/from a mud.
-- kb-bash.tf
-+ bind-bash.tf
- Keybindings similar to those in bash.
-- kb-emacs.tf
-+ bind-emacs.tf
- Keybindings similar to those in emacs.
- kb-os2.tf
- Extra default key bindings for OS/2 keyboards.
-@@ -7920,14 +7920,14 @@
- kbfunc.tf
- Macros used by kbbind.tf.
- map.tf Mapping commands (like tintin).
-- psh.tf \e[1m/psh\e[22;0m: like \e[1m/sh\e[22;0m, but uses your favorite shell.
-+ pref-shell.tf \e[1m/psh\e[22;0m: like \e[1m/sh\e[22;0m, but uses your favorite shell.
- \e[1mquoter.tf\e[22;0m
- Various quoting \e[1mmacros\e[22;0m.
- rwho.tf
- Remote WHO from a mudwho server.
- spc-page.tf
- Old-style SPACE key scrolling at \e[1m--More--\e[22;0m prompt.
-- spedwalk.tf
-+ speedwalk.tf
- Single character movement (like tintin).
- spell.tf
- Spelling checker.
-@@ -7938,7 +7938,7 @@
- tr.tf \e[1m/tr\e[22;0m: character translation
- watch.tf
- \e[1m/watch\e[22;0m: Watch for a particular player.
-- world-q.tf
-+ worldqueue.tf
- Keep track of active worlds.
-
- There are also other files, not listed here.
-diff -urN tf-40s1-org/tf-lib/tf-help.idx tf-40s1/tf-lib/tf-help.idx
---- tf-40s1-org/tf-lib/tf-help.idx Sat Mar 6 23:43:27 1999
-+++ tf-40s1/tf-lib/tf-help.idx Wed Jul 31 11:38:58 2002
-@@ -595,8 +595,8 @@
- 220365&kbbind.tf
- 220376&keybindings
- 228022#kbstack.tf
--228034#kb-bash.tf
--228046#kb-emacs.tf
-+228034#bind-bash.tf
-+228046#bind-emacs.tf
- 228059#kbregion.tf
- 228072#cut
- 228077#paste
-diff -urN tf-40s1-org/tf-lib/tintin.tf tf-40s1/tf-lib/tintin.tf
---- tf-40s1-org/tf-lib/tintin.tf Sat Mar 6 23:43:27 1999
-+++ tf-40s1/tf-lib/tintin.tf Wed Jul 31 11:37:03 2002
-@@ -10,7 +10,7 @@
- ;;; Some useful stuff is stored in other files.
- /require tick.tf
- /require alias.tf
--/require spedwalk.tf
-+/require speedwalk.tf
- /require map.tf
-
- /def -i action = /trig %*
-@@ -69,7 +69,7 @@
- /echo $${world_name}: %%*%;\
- /endif
-
--;speedwalk (see spedwalk.tf)
-+;speedwalk (see speedwalk.tf)
- /def -i split = /isize %{1-3}%; /visual on
- ;subs (see /substitute)
- ;substitute (see /substitute)
-diff -urN tf-40s1-org/tf-lib/world-q.tf tf-40s1/tf-lib/world-q.tf
---- tf-40s1-org/tf-lib/world-q.tf Sat Mar 6 23:43:27 1999
-+++ tf-40s1/tf-lib/world-q.tf Wed Jul 31 11:46:16 2002
-@@ -10,9 +10,9 @@
- ;;; empty, ``ESC w'' will switch you to the last world you visited that is
- ;;; still connected.
-
--/loaded __TFLIB__/world-q.tf
-+/loaded __TFLIB__/worldqueue.tf
-
--/require stack-q.tf
-+/require stack-queue.tf
- /require lisp.tf
-
- /if (active_worlds =~ "") /set active_worlds=%; /endif
-diff -urN tf-40s1-org/unix/unix.mak tf-40s1/unix/unix.mak
---- tf-40s1-org/unix/unix.mak Sat Mar 6 23:43:28 1999
-+++ tf-40s1/unix/unix.mak Wed Jul 31 11:49:17 2002
-@@ -98,20 +98,6 @@
- if [ -n "$$old" ]; then \
- echo "## WARNING: Obsolete files found in $(LIBDIR): $$old"; \
- fi
-- @echo '## Creating links so old library names still work...'
--# @# note: ln -sf isn't portable.
-- @cd $(LIBDIR); \
-- rm -f bind-bash.tf; ln -s kb-bash.tf bind-bash.tf; \
-- rm -f bind-emacs.tf; ln -s kb-emacs.tf bind-emacs.tf; \
-- rm -f completion.tf; ln -s complete.tf completion.tf; \
-- rm -f factorial.tf; ln -s factoral.tf factorial.tf; \
-- rm -f file-xfer.tf; ln -s filexfer.tf file-xfer.tf; \
-- rm -f local.tf.sample; ln -s local-eg.tf local.tf.sample; \
-- rm -f pref-shell.tf; ln -s psh.tf pref-shell.tf; \
-- rm -f space_page.tf; ln -s spc-page.tf space_page.tf; \
-- rm -f speedwalk.tf; ln -s spedwalk.tf speedwalk.tf; \
-- rm -f stack_queue.tf; ln -s stack-q.tf stack_queue.tf; \
-- rm -f worldqueue.tf; ln -s world-q.tf worldqueue.tf;
-
- makehelp: makehelp.c
- $(CC) $(CFLAGS) -o makehelp makehelp.c