summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Januszewski <spock@gentoo.org>2004-07-13 18:04:13 +0000
committerMichael Januszewski <spock@gentoo.org>2004-07-13 18:04:13 +0000
commit9eceae5345786fb5e86ff4802ad78535d896546c (patch)
tree4535a6fed66e61d8d60bcc8b9f55b21f18dda152 /x11-terms/aterm/files
parentClosing #56849. (Manifest recommit) (diff)
downloadgentoo-2-9eceae5345786fb5e86ff4802ad78535d896546c.tar.gz
gentoo-2-9eceae5345786fb5e86ff4802ad78535d896546c.tar.bz2
gentoo-2-9eceae5345786fb5e86ff4802ad78535d896546c.zip
Fixed savelines patch for CJK users.
Diffstat (limited to 'x11-terms/aterm/files')
-rw-r--r--x11-terms/aterm/files/aterm-0.4.2-ja-savelines.patch130
1 files changed, 130 insertions, 0 deletions
diff --git a/x11-terms/aterm/files/aterm-0.4.2-ja-savelines.patch b/x11-terms/aterm/files/aterm-0.4.2-ja-savelines.patch
new file mode 100644
index 000000000000..53fae0f0377a
--- /dev/null
+++ b/x11-terms/aterm/files/aterm-0.4.2-ja-savelines.patch
@@ -0,0 +1,130 @@
+diff -Naur aterm-0.4.2-ja/src/main.c aterm-0.4.2-ja-savelines/src/main.c
+--- aterm-0.4.2-ja/src/main.c 2004-07-13 19:53:44.000000000 +0200
++++ aterm-0.4.2-ja-savelines/src/main.c 2004-07-13 19:51:04.000000000 +0200
+@@ -1589,6 +1589,7 @@
+ int saved_argc = argc;
+ char **saved_argv = (char **)MALLOC((argc + 1) * sizeof(char *));
+
++ int t;
+
+ PixColors = &(PixColorsFocused[0]);
+
+@@ -1768,16 +1769,27 @@
+ rs_title = rs_name;
+ if (!rs_iconName)
+ rs_iconName = rs_title;
+- if (!rs_minBufferWidth || (TermWin.min_bcol = atoi(rs_minBufferWidth)) < 0)
+- TermWin.min_bcol = 1;
+- if (!rs_saveLines || (TermWin.saveLines = atoi(rs_saveLines)) < 0)
+- TermWin.saveLines = SAVELINES;
++ if (!rs_minBufferWidth || (t = atoi(rs_minBufferWidth)) < 0)
++ TermWin.min_bcol = 1;
++ else
++ TermWin.min_bcol = t;
++
++ if (!rs_saveLines || (t = atoi(rs_saveLines)) < 0)
++ TermWin.saveLines = SAVELINES;
++ else
++ TermWin.saveLines = t;
++
++ if (!rs_borderWidth || (t = atoi(rs_borderWidth)) < 0)
++ TermWin.borderWidth = BORDERWIDTH;
++ else
++ TermWin.borderWidth = t;
++
+ #ifdef USE_LINESPACE
+- if (!rs_lineSpace || (TermWin.lineSpace = atoi(rs_lineSpace)) < 0)
++ if (!rs_lineSpace || (t = atoi(rs_lineSpace)) < 0)
+ TermWin.lineSpace = LINESPACE;
++ else
++ TermWin.lineSpace = t;
+ #endif
+- if (!rs_borderWidth || (TermWin.borderWidth = atoi(rs_borderWidth)) < 0)
+- TermWin.borderWidth = BORDERWIDTH;
+
+ /* no point having a scrollbar without having any scrollback! */
+ if (!TermWin.saveLines)
+diff -Naur aterm-0.4.2-ja/src/rxvt.h aterm-0.4.2-ja-savelines/src/rxvt.h
+--- aterm-0.4.2-ja/src/rxvt.h 2004-07-13 19:53:44.000000000 +0200
++++ aterm-0.4.2-ja-savelines/src/rxvt.h 2004-07-13 19:45:41.000000000 +0200
+@@ -259,7 +259,7 @@
+
+
+ typedef struct {
+- R_int16_t width, /* window width [pixels] */
++ R_u_int16_t width, /* window width [pixels] */
+ height, /* window height [pixels] */
+ fwidth, /* font width [pixels] */
+ fheight, /* font height [pixels] */
+diff -Naur aterm-0.4.2-ja/src/screen.c aterm-0.4.2-ja-savelines/src/screen.c
+--- aterm-0.4.2-ja/src/screen.c 2004-07-13 19:53:44.000000000 +0200
++++ aterm-0.4.2-ja-savelines/src/screen.c 2004-07-13 19:45:41.000000000 +0200
+@@ -239,12 +239,13 @@
+
+ if (TermWin.bcol == prev_bcol && TermWin.nrow == prev_nrow)
+ return;
+-
++#if 0
+ #ifdef DEBUG_STRICT
+ assert(TermWin.saveLines >= 0);
+ #else /* drive with your eyes closed */
+ MAX_IT(TermWin.saveLines, 0);
+ #endif
++#endif
+
+ total_rows = TermWin.nrow + TermWin.saveLines;
+ prev_total_rows = prev_nrow + TermWin.saveLines;
+@@ -754,7 +755,10 @@
+ return 0;
+
+ if ((count > 0) && (row1 == 0) && (current_screen == PRIMARY)) {
+- TermWin.nscrolled += count;
++ if (TermWin.saveLines - TermWin.nscrolled < count)
++ TermWin.nscrolled += TermWin.saveLines - TermWin.nscrolled;
++ else
++ TermWin.nscrolled += count;
+ MIN_IT(TermWin.nscrolled, TermWin.saveLines);
+ } else if (!spec)
+ row1 += TermWin.saveLines;
+@@ -1868,15 +1872,17 @@
+ int
+ scr_move_to(int y, int len)
+ {
+- int start;
++ int start, t;
+
+ start = TermWin.view_start;
+- TermWin.view_start = ((len - y) * (TermWin.nrow - 1 + TermWin.nscrolled)
++ t = ((len - y) * (TermWin.nrow - 1 + TermWin.nscrolled)
+ / (len)) - (TermWin.nrow - 1);
+- D_SCREEN((stderr, "scr_move_to(%d, %d) view_start:%d", y, len, TermWin.view_start));
++ D_SCREEN((stderr, "scr_move_to(%d, %d) view_start:%d", y, len, t));
+
+- MAX_IT(TermWin.view_start, 0);
+- MIN_IT(TermWin.view_start, TermWin.nscrolled);
++ MAX_IT(t, 0);
++ MIN_IT(t, TermWin.nscrolled);
++
++ TermWin.view_start = t;
+
+ if (Gr_Displayed())
+ Gr_scroll(0);
+@@ -1899,8 +1905,16 @@
+ start = TermWin.view_start;
+ MAX_IT(nlines, 1);
+ MIN_IT(nlines, TermWin.nrow);
+- TermWin.view_start += (nlines * dirn);
+- MAX_IT(TermWin.view_start, 0);
++
++ if ((dirn == -1 && TermWin.view_start < nlines))
++ TermWin.view_start = 0;
++ else
++ TermWin.view_start += (nlines * dirn);
++
++ if (dirn == 1 && start > TermWin.view_start)
++ TermWin.view_start = TermWin.nscrolled;
++
++// MAX_IT(TermWin.view_start, 0);
+ MIN_IT(TermWin.view_start, TermWin.nscrolled);
+
+ if (Gr_Displayed())