tex: write before ! or make if autowrite is set - neatvi - [fork] simple vi-type editor with UTF-8 support
(HTM) git clone git://src.adamsgaard.dk/neatvi
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
---
(DIR) commit ebe8300559aa61f5a7c2f8933f96e04cb13eace1
(DIR) parent 7c82b9f9d2c4c6196b90f7679d255d903e639ccc
(HTM) Author: Ali Gholami Rudi <ali@rudi.ir>
Date: Fri, 5 Jun 2015 20:40:40 +0430
ex: write before ! or make if autowrite is set
Diffstat:
M ex.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
---
(DIR) diff --git a/ex.c b/ex.c
t@@ -166,13 +166,14 @@ static int ex_region(char *loc, int *beg, int *end)
static int ec_write(char *ec);
-static int ex_modifiedbuffer(void)
+static int ex_modifiedbuffer(char *msg)
{
if (!lbuf_modified(xb))
return 0;
if (xaw && xpath[0])
return ec_write("w");
- ex_show("buffer modified\n");
+ if (msg)
+ ex_show(msg);
return 1;
}
t@@ -181,7 +182,7 @@ static int ec_quit(char *ec)
char cmd[EXLEN];
ex_cmd(ec, cmd);
if (!strchr(cmd, '!'))
- if (ex_modifiedbuffer())
+ if (ex_modifiedbuffer("buffer modified\n"))
return 1;
xquit = 1;
return 0;
t@@ -195,7 +196,7 @@ static int ec_edit(char *ec)
ex_cmd(ec, cmd);
ex_arg(ec, arg);
if (!strchr(cmd, '!'))
- if (ex_modifiedbuffer())
+ if (ex_modifiedbuffer("buffer modified\n"))
return 1;
if (!arg[0] || !strcmp(arg, "%") || !strcmp(xpath, arg)) {
strcpy(arg, xpath);
t@@ -499,6 +500,7 @@ static int ec_substitute(char *ec)
static int ec_exec(char *ec)
{
char cmd[EXLEN];
+ ex_modifiedbuffer(NULL);
return cmd_exec(ex_cmd(ec, cmd));
}
t@@ -506,6 +508,7 @@ static int ec_make(char *ec)
{
char cmd[EXLEN];
char make[EXLEN];
+ ex_modifiedbuffer(NULL);
sprintf(make, "make %s", ex_cmd(ec, cmd));
return cmd_exec(make);
}