else if (func == DO_RIGHT)
do_right();
else if (func == DO_ENTER)
- do_enter();
+ do_enter(FALSE);
else if (func == DO_EXIT)
do_exit();
else if (func == DO_FIRST_LINE)
void do_undo(void);
void do_redo(void);
#endif
-void do_enter(void);
+void do_enter(bool undoing);
#ifndef NANO_TINY
RETSIGTYPE cancel_command(int signal);
bool execute_command(const char *command);
case ENTER:
undidmsg = _("line break");
do_gotolinecolumn(u->lineno, u->begin+1, FALSE, FALSE, FALSE, FALSE);
- do_enter();
+ do_enter(TRUE);
break;
case SPLIT:
undidmsg = _("line wrap");
#endif /* !NANO_TINY */
/* Someone hits Enter *gasp!* */
-void do_enter(void)
+void do_enter(bool undoing)
{
filestruct *newnode = make_new_node(openfile->current);
size_t extra = 0;
assert(openfile->current != NULL && openfile->current->data != NULL);
#ifndef NANO_TINY
- update_undo(ENTER);
+ if (!undoing)
+ add_undo(ENTER);
/* Do auto-indenting, like the neolithic Turbo Pascal editor. */