in do_insertfile(), if we're in view mode, as we can be if multibuffer

mode is on, don't mark the file as modified (and remove the code that
does this in execute_command()); also, if we execute a command in a new
buffer, move back to the beginning of the first line of the buffer
afterwards, for consistency


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3785 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
This commit is contained in:
David Lawrence Ramsey 2006-07-13 03:06:36 +00:00
parent 49172cad95
commit 9a145d906f
3 changed files with 25 additions and 8 deletions

View File

@ -77,6 +77,12 @@ CVS code -
string. Also, return the stripped path instead of modifying
path. (DLR)
- files.c:
do_insertfile()
- If we're in view mode, as we can be if multibuffer mode is on,
don't mark the file as modified. (DLR)
- If we execute a command in a new buffer, move back to the
beginning of the first line of the buffer afterwards, for
consistency. (DLR)
get_full_path()
- Don't return NULL when the current directory doesn't exist, as
we can still recover from that. (DLR, found by Mike Frysinger)
@ -93,6 +99,10 @@ CVS code -
- nano.h:
- Remove the manual disabling of color support if regex.h isn't
found, as configure.ac now handles that. (DLR)
- text.c:
execute_command()
- Remove the marking of the file as modified, as do_insertfile()
handles that. (DLR)
- winio.c:
display_string()
- Properly handle buf[start_index]'s being a null terminator.

View File

@ -811,8 +811,18 @@ void do_insertfile(
/* Save the command's output in the current buffer. */
execute_command(answer);
} else {
#ifdef ENABLE_MULTIBUFFER
if (ISSET(MULTIBUFFER)) {
/* Move back to the beginning of the first line of
* the buffer. */
openfile->current = openfile->fileage;
openfile->current_x = 0;
openfile->placewewant = 0;
}
#endif
} else {
#endif /* !NANO_TINY */
/* Make sure the path to the file specified in answer is
* tilde-expanded. */
answer = mallocstrassn(answer,
@ -861,8 +871,10 @@ void do_insertfile(
/* Restore the old place we want. */
openfile->placewewant = pww_save;
/* Mark the file as modified. */
set_modified();
/* Mark the file as modified, unless we're here in view
* mode, which we can be if multibuffer mode is on. */
if (!ISSET(VIEW_MODE))
set_modified();
/* Update the screen. */
edit_refresh();

View File

@ -497,11 +497,6 @@ bool execute_command(const char *command)
read_file(f, "stdin");
/* If multibuffer mode is on, we could be here in view mode. If so,
* don't set the modification flag. */
if (!ISSET(VIEW_MODE))
set_modified();
if (wait(NULL) == -1)
nperror("wait");