forked from aniani/vim
patch 7.4.2080
Problem: When using PERROR() on some systems assert_fails() does not see the error. Solution: Make PERROR() always report the error.
This commit is contained in:
@@ -521,6 +521,21 @@ emsg_not_now(void)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !defined(HAVE_STRERROR) || defined(PROTO)
|
||||||
|
/*
|
||||||
|
* Replacement for perror() that behaves more or less like emsg() was called.
|
||||||
|
* v:errmsg will be set and called_emsg will be set.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
do_perror(char *msg)
|
||||||
|
{
|
||||||
|
perror(msg);
|
||||||
|
++emsg_silent;
|
||||||
|
emsg((char_u *)msg);
|
||||||
|
--emsg_silent;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* emsg() - display an error message
|
* emsg() - display an error message
|
||||||
*
|
*
|
||||||
|
@@ -8,6 +8,7 @@ void trunc_string(char_u *s, char_u *buf, int room, int buflen);
|
|||||||
void reset_last_sourcing(void);
|
void reset_last_sourcing(void);
|
||||||
void msg_source(int attr);
|
void msg_source(int attr);
|
||||||
int emsg_not_now(void);
|
int emsg_not_now(void);
|
||||||
|
void do_perror(char *msg);
|
||||||
int emsg(char_u *s);
|
int emsg(char_u *s);
|
||||||
int emsg2(char_u *s, char_u *a1);
|
int emsg2(char_u *s, char_u *a1);
|
||||||
void emsg_invreg(int name);
|
void emsg_invreg(int name);
|
||||||
|
@@ -758,6 +758,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
2080,
|
||||||
/**/
|
/**/
|
||||||
2079,
|
2079,
|
||||||
/**/
|
/**/
|
||||||
|
@@ -1652,7 +1652,7 @@ typedef UINT32_TYPEDEF UINT32_T;
|
|||||||
#ifdef HAVE_STRERROR
|
#ifdef HAVE_STRERROR
|
||||||
# define PERROR(msg) (void)emsg3((char_u *)"%s: %s", (char_u *)msg, (char_u *)strerror(errno))
|
# define PERROR(msg) (void)emsg3((char_u *)"%s: %s", (char_u *)msg, (char_u *)strerror(errno))
|
||||||
#else
|
#else
|
||||||
# define PERROR(msg) perror(msg)
|
# define PERROR(msg) do_perror(msg)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef long linenr_T; /* line number type */
|
typedef long linenr_T; /* line number type */
|
||||||
|
Reference in New Issue
Block a user