mx_termcap_init(): fix: no auto_right_margin except with library support..
authorSteffen Nurpmeso <steffen@sdaoden.eu>
Tue, 12 Jan 2021 16:06:47 +0000 (17:06 +0100)
committerSteffen Nurpmeso <steffen@sdaoden.eu>
Tue, 12 Jan 2021 18:03:25 +0000 (19:03 +0100)
In 79fee7e46da86fa0a1829fc09849070f2cae6e03 (termcap care for
auto_right_margin/eat_newline_glitch (Jörg Schilling)..,
2018-11-19) we started looking out for "!am || xenl".

However, when build without library support this effectively
always sets free the full terminal width since *termcap* cannot
"not include" a boolean!  Therefore stop using "am" unless we do
have full terminal support, and only lookup xenl
eat_newline_glitch otherwise.

nail.1
src/mx/termcap.c

diff --git a/nail.1 b/nail.1
index aca74f66821dfb48d40faaa6769916ba5281c1ea..eeb0a19d69a3201b950bb08a2812c0b2ca5103f4 100644 (file)
--- a/nail.1
+++ b/nail.1
@@ -12853,11 +12853,16 @@ and/or
 .Lb libtermcap
 capabilities (see
 .Sx "On terminal control and line editor" ,
-escape commas with reverse solidus) to be used to overwrite or define
-entries.
+escape commas with reverse solidus
+.Ql \e )
+to be used to overwrite or define entries.
 .Sy Note
 this variable will only be queried once at program startup and can
 thus only be specified in resource files or on the command line.
+It will always be inspected, regardless of whether
+.Va features
+denotes termcap/terminfo library support via
+.Ql ,+termcap, .
 .
 .Pp
 String capabilities form
@@ -12904,6 +12909,7 @@ boolean which indicates if the right margin needs special treatment; the
 .Cd xenl
 capability is related, for more see
 .Ev COLUMNS .
+This capability is only used when backed by library support.
 .
 .It Cd clear Ns \0or Cd cl
 .Cd clear_screen :
@@ -12993,6 +12999,9 @@ boolean which indicates whether a newline written in the last column of an
 .Cd auto_right_margin
 indicating terminal is ignored.
 With it the full terminal width is available even on autowrap terminals.
+This will be inspected even without
+.Ql ,+termcap,
+.Va features .
 .El
 .
 .Pp
index 431a88584c10b50562d5be9f7c4320ea8a0de44c..1ad3171521187dbc0ea85e5e0b01fd243a7afc1e 100644 (file)
@@ -679,7 +679,10 @@ mx_termcap_init(void){
 #endif
 
    /* TODO We do not handle !mx_TERMCAP_QUERY_sam in this software! */
-   if(!mx_termcap_query(mx_TERMCAP_QUERY_am, &tv) ||
+   if(
+#ifdef mx_HAVE_TERMCAP
+      !mx_termcap_query(mx_TERMCAP_QUERY_am, &tv) ||
+#endif
          mx_termcap_query(mx_TERMCAP_QUERY_xenl, &tv)){
       n_psonce |= n_PSO_TERMCAP_FULLWIDTH;
 
This page took 0.075254 seconds and 4 git commands to generate.