]> granicus.if.org Git - vim/commitdiff
patch 8.1.0103: long version string cannot be translated v8.1.0103
authorBram Moolenaar <Bram@vim.org>
Sat, 23 Jun 2018 14:12:21 +0000 (16:12 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 23 Jun 2018 14:12:21 +0000 (16:12 +0200)
Problem:    Long version string cannot be translated.
Solution:   Build the string in init_longVersion().

src/globals.h
src/main.c
src/proto/version.pro
src/version.c
src/version.h

index 875085959685b6f793283eceeb47f1541c6700f9..0bb7de5ca5e3aebc7ac0112d1ed85f5996442734 100644 (file)
@@ -1131,12 +1131,12 @@ EXTERN char_u   tolower_tab[256];       /* table for tolower() */
 EXTERN char    breakat_flags[256];     /* which characters are in 'breakat' */
 #endif
 
-/* these are in version.c */
+/* These are in version.c, call init_longVersion() before use. */
 extern char *Version;
 #if defined(HAVE_DATE_TIME) && defined(VMS) && defined(VAXC)
 extern char longVersion[];
 #else
-extern char *longVersion;
+EXTERN char *longVersion;
 #endif
 
 /*
index 66b67b826d3f907efb1de97ea675a007b5456d0b..8a598c5e86f6b7abe9ab7fbcf4e304f530e094b6 100644 (file)
@@ -940,10 +940,6 @@ common_init(mparm_T *paramp)
     /* Init the table of Normal mode commands. */
     init_normal_cmds();
 
-#if defined(HAVE_DATE_TIME) && defined(VMS) && defined(VAXC)
-    make_version();    /* Construct the long version string. */
-#endif
-
     /*
      * Allocate space for the generic buffers (needed for set_init_1() and
      * EMSG2()).
@@ -3215,6 +3211,7 @@ mainerr(
     reset_signals();           /* kill us with CTRL-C here, if you like */
 #endif
 
+    init_longVersion();
     mch_errmsg(longVersion);
     mch_errmsg("\n");
     mch_errmsg(_(main_errors[n]));
@@ -3268,6 +3265,7 @@ usage(void)
     reset_signals();           /* kill us with CTRL-C here, if you like */
 #endif
 
+    init_longVersion();
     mch_msg(longVersion);
     mch_msg(_("\n\nUsage:"));
     for (i = 0; ; ++i)
index cd44e8b88226b92a41948a83034d606119c436ab..8139772376b1359b411edc003648aa48c4f7273e 100644 (file)
@@ -1,5 +1,5 @@
 /* version.c */
-void make_version(void);
+void init_longVersion(void);
 int highest_patch(void);
 int has_patch(int n);
 void ex_version(exarg_T *eap);
index a38cdda3a36578075b204d50ea70075e94bced07..45f339bc9baa8d6ed89b60e874df86e9fb7ca6cb 100644 (file)
@@ -37,7 +37,7 @@ char  longVersion[sizeof(VIM_VERSION_LONG_DATE) + sizeof(__DATE__)
                                                      + sizeof(__TIME__) + 3];
 
     void
-make_version(void)
+init_longVersion(void)
 {
     /*
      * Construct the long version string.  Necessary because
@@ -49,8 +49,25 @@ make_version(void)
     strcat(longVersion, __TIME__);
     strcat(longVersion, ")");
 }
+
 # else
-char   *longVersion = VIM_VERSION_LONG_DATE __DATE__ " " __TIME__ ")";
+    void
+init_longVersion(void)
+{
+    char *date_time = __DATE__ " " __TIME__;
+    char *msg = _("%s (%s, compiled %s)");
+    size_t len = strlen(msg)
+               + strlen(VIM_VERSION_LONG_ONLY)
+               + strlen(VIM_VERSION_DATE_ONLY)
+               + strlen(date_time);
+
+    longVersion = (char *)alloc(len);
+    if (longVersion == NULL)
+       longVersion = VIM_VERSION_LONG;
+    else
+       vim_snprintf(longVersion, len, msg,
+                     VIM_VERSION_LONG_ONLY, VIM_VERSION_DATE_ONLY, date_time);
+}
 # endif
 #else
 char   *longVersion = VIM_VERSION_LONG;
@@ -761,6 +778,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    103,
 /**/
     102,
 /**/
@@ -1148,6 +1167,7 @@ list_version(void)
      * When adding features here, don't forget to update the list of
      * internal variables in eval.c!
      */
+    init_longVersion();
     MSG(longVersion);
 #ifdef WIN3264
 # ifdef FEAT_GUI_W32
index d3e575d95056cdde1a9171ed1008381de85d0d74..b94ab7e019a703f702bd4cc92673e41f4f681d5f 100644 (file)
@@ -36,5 +36,7 @@
 #define VIM_VERSION_NODOT      "vim81"
 #define VIM_VERSION_SHORT      "8.1"
 #define VIM_VERSION_MEDIUM     "8.1"
-#define VIM_VERSION_LONG       "VIM - Vi IMproved 8.1 (2018 May 17)"
-#define VIM_VERSION_LONG_DATE  "VIM - Vi IMproved 8.1 (2018 May 17, compiled "
+#define VIM_VERSION_LONG       "VIM - Vi IMproved 8.1 (2018 May 18)"
+#define VIM_VERSION_LONG_DATE  "VIM - Vi IMproved 8.1 (2018 May 18, compiled "
+#define VIM_VERSION_LONG_ONLY  "VIM - Vi IMproved 8.1"
+#define VIM_VERSION_DATE_ONLY  "2018 May 18"