From e3739090376cece1aad1e7c21fce9d4e61774fc7 Mon Sep 17 00:00:00 2001 From: Chris Allegretta Date: Fri, 29 Mar 2002 15:06:05 +0000 Subject: [PATCH] - files.c:do_insertfile() - Handle cancel from ExtCmd properly (David Benbennick) git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1154 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 2 ++ files.c | 24 ++++++++++++++---------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index bce56a36..021d7fac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -13,6 +13,8 @@ CVS code - - Stat full_path, not path (Steven Kneizys). open_pipe() - I18nize the pipe error (DLR). + do_insertfile() + - Handle cancel from ExtCmd properly (David Benbennick). read_file() - Abort if we read a file of 0 lines (num_lines == 0), fixes BUG #70. - Reverse tests to stop segfault on editing a new file of 0 diff --git a/files.c b/files.c index b94838da..0df7b24d 100644 --- a/files.c +++ b/files.c @@ -472,6 +472,19 @@ int do_insertfile(int loading_file) } #endif +#ifndef NANO_SMALL + if (i == NANO_EXTCMD_KEY) { + int ts; + ts = statusq(1, extcmd_list, "", _("Command to execute ")); + if (ts == -1 || answer == NULL || !strcmp(answer,"")) { + statusbar(_("Cancelled")); + UNSET(KEEP_CUTBUFFER); + display_main_list(); + return 0; + } + } +#endif + #ifdef ENABLE_MULTIBUFFER if (loading_file) { @@ -485,16 +498,7 @@ int do_insertfile(int loading_file) #ifndef NANO_SMALL if (i == NANO_EXTCMD_KEY) { - i = statusq(1, extcmd_list, "", _("Command to execute ")); - if (i == -1) { - statusbar(_("Cancelled")); - UNSET(KEEP_CUTBUFFER); - display_main_list(); - return 0; - } - if (answer != NULL) { - i = open_pipe(answer); - } + i = open_pipe(answer); } else #endif /* NANO_SMALL */