ref: 0ab9d55cd241a2d311b265c841031156278cb930
parent: c7c03b58d38c1be91e1bee9f3cb22eddee3a46aa
author: Ali Gholami Rudi <ali@rudi.ir>
date: Thu Apr 18 12:57:59 EDT 2013
ren: add .ls and \n(.L
--- a/reg.c
+++ b/reg.c
@@ -25,6 +25,7 @@
REG('.', 'i'), REG('.', 'j'), REG('.', 'l'),+ REG('.', 'L'), REG('.', 's'), REG('.', 'u'), REG('.', 'v'),@@ -31,6 +32,7 @@
REG(0, 'f'),
REG(0, 'i'),
REG(0, 'l'),
+ REG(0, 'L'),
REG(0, 'n'),
REG(0, 's'),
REG(0, 'v'),
--- a/ren.c
+++ b/ren.c
@@ -248,9 +248,13 @@
}
if (els_pos)
ren_sp(els_pos);
- if (!ren_traps(prev_d, n_d, 0))
- ren_pagelimit(0);
n_a = els_pos;
+ if (!ren_traps(prev_d, n_d, 0)) {+ if (n_L > n_v && (cdiv || n_d < n_p))
+ down(n_L - n_v);
+ else
+ ren_pagelimit(0);
+ }
}
}
--- a/tr.c
+++ b/tr.c
@@ -21,6 +21,13 @@
n_v = vs;
}
+static void tr_ls(char **args)
+{+ int ls = args[1] ? eval(args[1], n_L, 'v') : n_L0;
+ n_L0 = n_L;
+ n_L = ls;
+}
+
static void tr_pl(char **args)
{if (args[1])
@@ -469,6 +476,7 @@
{"ig", tr_ig}, {"in", tr_in}, {"ll", tr_ll},+ {"ls", tr_ls}, {"mk", tr_mk}, {"na", tr_na}, {"ne", tr_ne},--- a/xroff.h
+++ b/xroff.h
@@ -197,6 +197,7 @@
#define n_i (*nreg(REG('.', 'i'))) #define n_j (*nreg(REG('.', 'j'))) #define n_l (*nreg(REG('.', 'l')))+#define n_L (*nreg(REG('.', 'L'))) #define n_n (*nreg(REG('.', 'n'))) #define n_o (*nreg(REG('.', 'o'))) #define n_p (*nreg(REG('.', 'p')))@@ -212,6 +213,7 @@
#define n_f0 (*nreg(REG(0, 'f'))) /* last .f */
#define n_i0 (*nreg(REG(0, 'i'))) /* last .i */
#define n_l0 (*nreg(REG(0, 'l'))) /* last .l */
+#define n_L0 (*nreg(REG(0, 'L'))) /* last .L */
#define n_mk (*nreg(REG(0, 'm'))) /* .mk internal register */
#define n_na (*nreg(REG(0, 'n'))) /* .na mode */
#define n_ns (*nreg(REG(0, 'N'))) /* .ns mode */
--
⑨