-*change.txt* For Vim version 7.0aa. Last change: 2005 May 31
+*change.txt* For Vim version 7.0aa. Last change: 2005 Jun 16
VIM REFERENCE MANUAL by Bram Moolenaar
history for expressions. When you end the command-line by typing <CR>, Vim
computes the result of the expression. If you end it with <Esc>, Vim abandons
the expression. If you do not enter an expression, Vim uses the previous
-expression (like with the "/" command). If the "= register is used for the
-"p" command, the string is split up at <NL> characters. If the string ends in
-a <NL>, it is regarded as a linewise register. {not in Vi}
+expression (like with the "/" command). The expression must evaluate to a
+string. If the result is a number it's turned into a string. A List,
+Dictionary or FuncRef results in an error message (use string() to convert).
+If the "= register is used for the "p" command, the string is split up at <NL>
+characters. If the string ends in a <NL>, it is regarded as a linewise
+register. {not in Vi}
7. Selection and drop registers "*, "+ and "~
Use these register for storing and retrieving the selected text for the GUI.
return retval;
}
#endif
+
+/*
+ * Print an error message with one or two "%s" and one or two string arguments.
+ * This is not in message.c to avoid a warning for prototypes.
+ */
+ int
+emsg3(s, a1, a2)
+ char_u *s, *a1, *a2;
+{
+ if ((emsg_off > 0 && vim_strchr(p_debug, 'm') == NULL)
+#ifdef FEAT_EVAL
+ || emsg_skip > 0
+#endif
+ )
+ return TRUE; /* no error messages at the moment */
+ vim_snprintf((char *)IObuff, IOSIZE, (char *)s, (long)a1, (long)a2);
+ return emsg(IObuff);
+}
+
+/*
+ * Print an error message with one "%ld" and one long int argument.
+ * This is not in message.c to avoid a warning for prototypes.
+ */
+ int
+emsgn(s, n)
+ char_u *s;
+ long n;
+{
+ if ((emsg_off > 0 && vim_strchr(p_debug, 'm') == NULL)
+#ifdef FEAT_EVAL
+ || emsg_skip > 0
+#endif
+ )
+ return TRUE; /* no error messages at the moment */
+ vim_snprintf((char *)IObuff, IOSIZE, (char *)s, n);
+ return emsg(IObuff);
+}
+