execute = !execute;
continue;
}
-
- if (execute)
- execute_command(answer);
- else {
#endif
- answer = mallocstrassn(answer, real_dir_from_tilde(answer));
#ifdef ENABLE_MULTIBUFFER
- if (!ISSET(MULTIBUFFER)) {
+ if (!ISSET(MULTIBUFFER)) {
#endif
- /* If we're not inserting into a new buffer,
- * partition the filestruct so that it contains no
- * text and hence looks like a new buffer, and set
- * edittop to the top of the partition. */
- filepart = partition_filestruct(current, current_x,
+ /* If we're not inserting into a new buffer, partition
+ * the filestruct so that it contains no text and hence
+ * looks like a new buffer, and set edittop to the top
+ * of the partition. */
+ filepart = partition_filestruct(current, current_x,
current, current_x);
- edittop = fileage;
+ edittop = fileage;
#ifdef ENABLE_MULTIBUFFER
- }
+ }
#endif
+#ifndef NANO_SMALL
+ if (execute)
+ execute_command(answer);
+ else {
+#endif
+ answer = mallocstrassn(answer, real_dir_from_tilde(answer));
load_buffer(answer);
+#ifndef NANO_SMALL
+ }
+#endif
#ifdef ENABLE_MULTIBUFFER
- if (!ISSET(MULTIBUFFER))
+ if (!ISSET(MULTIBUFFER))
#endif
- {
- filestruct *top_save = fileage;
+ {
+ filestruct *top_save = fileage;
- /* If we're not inserting into a new buffer,
- * unpartition the filestruct so that it contains
- * all the text again. Note that we've replaced the
- * non-text originally in the partition with the
- * text in the inserted file. */
- unpartition_filestruct(filepart);
+ /* If we're not inserting into a new buffer, unpartition
+ * the filestruct so that it contains all the text
+ * again. Note that we've replaced the non-text
+ * originally in the partition with the text in the
+ * inserted file/executed command output. */
+ unpartition_filestruct(filepart);
- /* Renumber starting with the beginning line of the
- * old partition. */
- renumber(top_save);
+ /* Renumber starting with the beginning line of the old
+ * partition. */
+ renumber(top_save);
- /* Set edittop back to what it was before. */
- edittop = edittop_save;
- }
-#ifndef NANO_SMALL
+ /* Set edittop back to what it was before. */
+ edittop = edittop_save;
}
-#endif
#ifdef ENABLE_MULTIBUFFER
if (ISSET(MULTIBUFFER)) {