dobeep_msgs isn't printf-like: it just prints the two arguments
separated by a space in the minibuffer.  When it was introduced some
call from ewprintf were incorrectly translated and the "%s" remained.

For example, "M-g M-g abc RET" shows "Line number %s invalid".

ok?

diff bd057c8434699e3a647a884343d442828df4678e /usr/src
blob - 251e7e8185b0b897d28f26fa3bf11d4f8eb281f5
file + usr.bin/mg/basic.c
--- usr.bin/mg/basic.c
+++ usr.bin/mg/basic.c
@@ -536,7 +536,7 @@ gotoline(int f, int n)
                        return (ABORT);
                n = (int)strtonum(buf, INT_MIN, INT_MAX, &err);
                if (err)
-                       return(dobeep_msgs("Line number %s", err));
+                       return(dobeep_msgs("Line number", err));
        }
        return(setlineno(n));
 }
blob - 9ad06e49bc715c81e70573ed000e6f5c321d97a0
file + usr.bin/mg/cscope.c
--- usr.bin/mg/cscope.c
+++ usr.bin/mg/cscope.c
@@ -185,9 +185,9 @@ cscreatelist(int f, int n)
                return (FALSE);
 
        if (stat(dir, &sb) == -1)
-               return(dobeep_msgs("stat: %s", strerror(errno)));
+               return(dobeep_msgs("stat:", strerror(errno)));
        else if (S_ISDIR(sb.st_mode) == 0)
-               return(dobeep_msgs("%s: Not a directory", dir));
+               return(dobeep_msgs(dir, "Not a directory"));
 
        if (csexists("cscope-indexer") == FALSE)
                return(dobeep_msg("no such file or directory, cscope-indexer"));

Reply via email to