URI: 
       tAdd temporary fix for undo - ledit - Text editor (WIP)
  HTML git clone git://lumidify.org/ledit.git (fast, but not encrypted)
  HTML git clone https://lumidify.org/git/ledit.git (encrypted, but very slow)
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 85e429f9ffab1451104d5aa92fd4adc40d84865a
   DIR parent a99499a1ee2ecbbe8dcf1c64561bbc64c2dd4779
  HTML Author: lumidify <nobody@lumidify.org>
       Date:   Mon,  9 May 2022 11:26:18 +0200
       
       Add temporary fix for undo
       
       I will need to change the undo implementation at some point to
       use soft and hard fences instead of the current weirdness with
       group and mode_group, but that will have to wait for now.
       
       Diffstat:
         M undo.c                              |      15 +++++++++++++++
       
       1 file changed, 15 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/undo.c b/undo.c
       t@@ -123,6 +123,17 @@ push_undo(
                        txtbuf_copy(e->text, text);
                else
                        e->text = txtbuf_dup(text);
       +        /*
       +        printf("START UNDO STACK\n");
       +        for (size_t i = 0; i < undo->len; i++) {
       +                undo_elem *e = &undo->stack[i];
       +                printf(
       +                    "type %d, mode %d, group %d, mode_group %d, text '%.*s'\n",
       +                    e->type, e->mode, e->group, e->mode_group, (int)e->text->len, e->text->text
       +                );
       +        }
       +        printf("END UNDO STACK\n");
       +        */
        }
        
        void
       t@@ -221,6 +232,8 @@ ledit_undo(undo_stack *undo, ledit_mode mode, void *callback_data,
                *cur_line_ret = cur_line;
                *cur_index_ret = cur_index;
                *min_line_ret = min_line;
       +        if (mode == NORMAL || mode == VISUAL)
       +                undo_change_mode_group(undo);
                return UNDO_NORMAL;
        }
        
       t@@ -289,6 +302,8 @@ ledit_redo(undo_stack *undo, ledit_mode mode, void *callback_data,
                if (undo->cur > 0)
                        undo->cur--;
                *min_line_ret = min_line;
       +        if (mode == NORMAL || mode == VISUAL)
       +                undo_change_mode_group(undo);
                return UNDO_NORMAL;
        }