commit-mailutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Mailutils branch, master, updated. release-2.2-699-g17930dd


From: Sergey Poznyakoff
Subject: [SCM] GNU Mailutils branch, master, updated. release-2.2-699-g17930dd
Date: Sun, 03 May 2015 18:23:01 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Mailutils".

http://git.savannah.gnu.org/cgit/mailutils.git/commit/?id=17930dd7cacf60c375408a26154301934a17609e

The branch, master has been updated
       via  17930dd7cacf60c375408a26154301934a17609e (commit)
      from  131ddb25a51862bb31fe5fd7a1111896fbb20c58 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 17930dd7cacf60c375408a26154301934a17609e
Author: Sergey Poznyakoff <address@hidden>
Date:   Sun May 3 20:48:53 2015 +0300

    mail: honor columns/screen variables
    
    * mail/util.c (util_command_list): Use util_screen_columns instead of
    util_getcols.
    (util_getcols): Don't use COLUMNS.
    (util_getlines): Don't use LINES.
    * mail/mail.c: Don't force COLUMNS and LINES (they are normally not
    exported, so setting them will cause util_getcols and util_getlines
    to return wrong results).
    Set variable "columns" from envvar COLUMNS, if set to a numeric value.
    Set variable "screen" from envvar LINES, if set to a numeric value.
    * mail/from.c (format_headline): Use util_screen_columns instead of
    util_getcols.
    * mail/mailvar.c (mailvar_print,mail_variable): Likewise.
    * mail/print.c (mail_print_msg): Likewise.

-----------------------------------------------------------------------

Summary of changes:
 mail/from.c     |    2 +-
 mail/mail.c     |   21 +++++++++++++--------
 mail/mailline.c |    4 ++--
 mail/mailvar.c  |    4 ++--
 mail/print.c    |    2 +-
 mail/util.c     |   25 +++++--------------------
 6 files changed, 24 insertions(+), 34 deletions(-)

diff --git a/mail/from.c b/mail/from.c
index 66ae362..3a0fbd4 100644
--- a/mail/from.c
+++ b/mail/from.c
@@ -78,7 +78,7 @@ format_pad (size_t n)
 static void
 format_headline (struct header_segm *seg, msgset_t *mspec, mu_message_t msg)
 {
-  int screen_cols = util_getcols () - 2;
+  int screen_cols = util_screen_columns () - 2;
   int out_cols = 0;
   struct header_call_args args;
 
diff --git a/mail/mail.c b/mail/mail.c
index 7784ec4..2d50917 100644
--- a/mail/mail.c
+++ b/mail/mail.c
@@ -376,10 +376,7 @@ main (int argc, char **argv)
 
   /* set up the default environment */
   if (!getenv ("HOME"))
-    {
-      char *p = util_get_homedir ();
-      setenv ("HOME", p, 0);
-    }
+    setenv ("HOME", util_get_homedir (), 0);
 
   /* Set up the default environment */
   setenv ("DEAD", util_fullpath ("~/dead.letter"), 0);
@@ -390,14 +387,22 @@ main (int argc, char **argv)
   setenv ("PAGER", "more", 0);
   setenv ("SHELL", "sh", 0);
   setenv ("VISUAL", "vi", 0);
-  setenv ("COLUMNS", "80", 0);
-  setenv ("LINES", "24", 0);
 
   /* set defaults for execution */
   for (i = 0; i < sizeof (default_setup)/sizeof (default_setup[0]); i++)
     util_do_command ("%s", default_setup[i]);
-  util_do_command ("set screen=%d", util_getlines ());
-  util_do_command ("set columns=%d", util_getcols ());
+
+  p = getenv ("LINES");
+  if (p && p[strspn (p, "0123456789")] == 0)
+    util_do_command ("set screen=%s", p);
+  else
+    util_do_command ("set screen=%d", util_getlines ());
+  
+  p = getenv ("COLUMNS");
+  if (p && p[strspn (p, "0123456789")] == 0)
+    util_do_command ("set columns=%s", p);
+  else
+    util_do_command ("set columns=%d", util_getcols ());
   
   /* Set the default mailer to sendmail.  */
   mailvar_set ("sendmail",
diff --git a/mail/mailline.c b/mail/mailline.c
index 9b1a194..502453c 100644
--- a/mail/mailline.c
+++ b/mail/mailline.c
@@ -39,8 +39,8 @@ sig_handler (int signo)
       break;
 #if defined (SIGWINCH)
     case SIGWINCH:
-      util_do_command ("set screen=%d", util_getlines());
-      util_do_command ("set columns=%d", util_getcols());
+      util_do_command ("set screen=%d", util_getlines ());
+      util_do_command ("set columns=%d", util_getcols ());
       page_invalidate (1);
       break;
 #endif
diff --git a/mail/mailvar.c b/mail/mailvar.c
index a74e721..3d1b178 100644
--- a/mail/mailvar.c
+++ b/mail/mailvar.c
@@ -749,7 +749,7 @@ mailvar_print (int set)
   clos.out = open_pager (count);
   clos.prettyprint = mailvar_get (NULL, "variable-pretty-print",
                                  mailvar_type_boolean, 0) == 0;
-  clos.width = util_getcols ();
+  clos.width = util_screen_columns ();
 
   mu_list_foreach (varlist, mailvar_printer, &clos);
   mu_list_destroy (&varlist);
@@ -845,7 +845,7 @@ int
 mail_variable (int argc, char **argv)
 {
   int pagelines = util_get_crt ();
-  int width = util_getcols ();
+  int width = util_screen_columns ();
   mu_stream_t out = open_pager (pagelines + 1);
   
   if (argc == 1)
diff --git a/mail/print.c b/mail/print.c
index 5d77515..ad2c7f5 100644
--- a/mail/print.c
+++ b/mail/print.c
@@ -45,7 +45,7 @@ mail_print_msg (msgset_t *mspec, mu_message_t mesg, void 
*data)
     {
       if (pagelines)
        {
-         size_t col = (size_t)util_getcols ();
+         size_t col = (size_t) util_screen_columns ();
          if (col)
            {
              size_t size = 0;
diff --git a/mail/util.c b/mail/util.c
index 6c028e8..098deb8 100644
--- a/mail/util.c
+++ b/mail/util.c
@@ -311,7 +311,7 @@ util_command_list (void *table, size_t nmemb, size_t size)
 {
   int i;
   char *p;
-  int cols = util_getcols ();
+  int cols = util_screen_columns ();
   int pos;
   
   for (p = table, i = 0; i < nmemb; i++, p += size)
@@ -349,16 +349,9 @@ int
 util_getcols (void)
 {
   struct winsize ws;
-
   ws.ws_col = ws.ws_row = 0;
-  if ((ioctl(1, TIOCGWINSZ, (char *) &ws) < 0) || ws.ws_row == 0)
-    {
-      const char *columns = getenv ("COLUMNS");
-      if (columns)
-       ws.ws_col = strtol (columns, NULL, 10);
-    }
-
-  /* FIXME: Should we exit()/abort() if col <= 0 ?  */
+  if ((ioctl(1, TIOCGWINSZ, (char *) &ws) < 0) || ws.ws_col == 0)
+    return 80;  /* FIXME: Should we exit()/abort() if col <= 0 ?  */
   return ws.ws_col;
 }
 
@@ -370,17 +363,9 @@ int
 util_getlines (void)
 {
   struct winsize ws;
-
   ws.ws_col = ws.ws_row = 0;
-  if ((ioctl(1, TIOCGWINSZ, (char *) &ws) < 0) || ws.ws_row == 0)
-    {
-      const char *lines = getenv ("LINES");
-      if (lines)
-       ws.ws_row = strtol (lines, NULL, 10);
-    }
-
-  /* FIXME: Should we exit()/abort() if row <= 0 ?  */
-
+  if ((ioctl(1, TIOCGWINSZ, (char *) &ws) < 0) || ws.ws_row <= 2)
+    ws.ws_row = 24;  /* FIXME: Should we exit()/abort() if row <= 2 ?  */
   /* Reserve at least 2 line for the prompt.  */
   return ws.ws_row - 2;
 }


hooks/post-receive
-- 
GNU Mailutils



reply via email to

[Prev in Thread] Current Thread [Next in Thread]