Problem: Long version string cannot be translated.
Solution: Build the string in init_longVersion().
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
/*
/* 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()).
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]));
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)
/* 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);
+ sizeof(__TIME__) + 3];
void
-make_version(void)
+init_longVersion(void)
{
/*
* Construct the long version string. Necessary because
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;
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 103,
/**/
102,
/**/
* 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
#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"