SMOLNET PORTAL home about changes
isupport line-by-line undo in text mode - gramscii - A simple editor for ASCII box-and-arrow charts	Err	bitreich.org	70
1Log	/scm/gramscii/log.gph	bitreich.org	70
1Files	/scm/gramscii/files.gph	bitreich.org	70
1Refs	/scm/gramscii/refs.gph	bitreich.org	70
1Tags	/scm/gramscii/tag	bitreich.org	70
1README	/scm/gramscii/file/README.md.gph	bitreich.org	70
1LICENSE	/scm/gramscii/file/COPYING.gph	bitreich.org	70
i---	Err	bitreich.org	70
1commit 7f6e62f77bca73e49dfa260ff7ac75770d1363c8	/scm/gramscii/commit/7f6e62f77bca73e49dfa260ff7ac75770d1363c8.gph	bitreich.org	70
1parent f3100ddd486d6f39b0c97c9c492bb6020bf3caf1	/scm/gramscii/commit/f3100ddd486d6f39b0c97c9c492bb6020bf3caf1.gph	bitreich.org	70
hAuthor: KatolaZ <katolaz@freaknet.org>	URL:mailto:katolaz@freaknet.org	bitreich.org	70
iDate:   Wed, 31 Jul 2019 11:49:06 +0100	Err	bitreich.org	70
i	Err	bitreich.org	70
isupport line-by-line undo in text mode	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M draw.c                              |       7 +++++++	Err	bitreich.org	70
i  M gramscii.1                          |       6 +++---	Err	bitreich.org	70
i  M gramscii.h                          |       5 +++--	Err	bitreich.org	70
i  M lineset.c                           |       5 +++++	Err	bitreich.org	70
i	Err	bitreich.org	70
i4 files changed, 18 insertions(+), 5 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/draw.c b/draw.c	/scm/gramscii/file/draw.c.gph	bitreich.org	70
i@@ -77,10 +77,13 @@ void get_text(FILE *fc){	Err	bitreich.org	70
i         int orig_x = x;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         redraw();	Err	bitreich.org	70
i+        copy_lines_to_ring(y, y, PRV_STATE);	Err	bitreich.org	70
i         while((c=fgetc(fc))!=EOF && c != 27){	Err	bitreich.org	70
i                 if(c=='\n'){	Err	bitreich.org	70
i                         set_cur(BG);	Err	bitreich.org	70
i+                        copy_lines_to_ring(y,y, NEW_STATE);	Err	bitreich.org	70
i                         y += 1;	Err	bitreich.org	70
i+                        copy_lines_to_ring(y, y, PRV_STATE);	Err	bitreich.org	70
i                         x = orig_x;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i                 else {	Err	bitreich.org	70
i@@ -95,6 +98,8 @@ void get_text(FILE *fc){	Err	bitreich.org	70
i                 status_bar();	Err	bitreich.org	70
i                 show_cursor();	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i+        if (modified)	Err	bitreich.org	70
i+                copy_lines_to_ring(y, y, NEW_STATE);	Err	bitreich.org	70
i         mode=MOVE;	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -245,6 +250,7 @@ update_arrow:	Err	bitreich.org	70
i                 show_cursor();	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         if (c == 'a' || c == '\n'){	Err	bitreich.org	70
i+                invalidate_undo();	Err	bitreich.org	70
i                 draw_arrow(orig_x, orig_y, arrow, arrow_len, FIX);	Err	bitreich.org	70
i                 modified = 1;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i@@ -278,6 +284,7 @@ void erase(FILE *fc){	Err	bitreich.org	70
i         int orig_x = x, orig_y = y;	Err	bitreich.org	70
i         status_bar();	Err	bitreich.org	70
i         show_cursor();	Err	bitreich.org	70
i+        invalidate_undo();	Err	bitreich.org	70
i         while((c=fgetc(fc))!=EOF && c!=27 && c!= 'x' && c != '\n'){	Err	bitreich.org	70
i                 if (!move_around(c, fc)) continue;	Err	bitreich.org	70
i                 check_bound();	Err	bitreich.org	70
1diff --git a/gramscii.1 b/gramscii.1	/scm/gramscii/file/gramscii.1.gph	bitreich.org	70
i@@ -534,10 +534,10 @@ gramscii currently manages only a fixed screen of the same size of the	Err	bitreich.org	70
i screen where it starts from. This will be changed in a future release to	Err	bitreich.org	70
i support scrolling and "virtual" screens of any (reasonable) size.	Err	bitreich.org	70
i .PP	Err	bitreich.org	70
i-gramscii currently does	Err	bitreich.org	70
i+Undo commands are only available in box, visual (cut, fill), and text	Err	bitreich.org	70
i+mode, and for copy/paste operations. gramscii currently does	Err	bitreich.org	70
i .B not	Err	bitreich.org	70
i-support "undo" commands for arrow, text, and erase mode. This will be	Err	bitreich.org	70
i-added soon.	Err	bitreich.org	70
i+support undo commands for arrow and erase mode. This will be fixed soon.	Err	bitreich.org	70
i .SH AUTHORS	Err	bitreich.org	70
i gramscii is written and maintained by Vincenzo "KatolaZ" Nicosia	Err	bitreich.org	70
i <katolaz@freaknet.org>. You can use, copy, modify, and redistribute	Err	bitreich.org	70
1diff --git a/gramscii.h b/gramscii.h	/scm/gramscii/file/gramscii.h.gph	bitreich.org	70
i@@ -149,6 +149,8 @@ void get_arrow(FILE *fc);	Err	bitreich.org	70
i void erase(FILE *fc);	Err	bitreich.org	70
i void visual_box(FILE *fc);	Err	bitreich.org	70
i void paste();	Err	bitreich.org	70
i+void undo_change();	Err	bitreich.org	70
i+void redo_change();	Err	bitreich.org	70
i 	Err	bitreich.org	70
i /** file-related functions **/	Err	bitreich.org	70
i void write_file(FILE *fc);	Err	bitreich.org	70
i@@ -165,7 +167,6 @@ void ensure_num_lines(lineset_t *ls, int n);	Err	bitreich.org	70
i void yank_region(int x1, int y1, int x2, int y2);	Err	bitreich.org	70
i void paste_region(int x1, int y1);	Err	bitreich.org	70
i void copy_lines_to_ring(int y1, int y2, int which);	Err	bitreich.org	70
i-void undo_change();	Err	bitreich.org	70
i-void redo_change();	Err	bitreich.org	70
i+void invalidate_undo();	Err	bitreich.org	70
i 	Err	bitreich.org	70
i #endif	Err	bitreich.org	70
1diff --git a/lineset.c b/lineset.c	/scm/gramscii/file/lineset.c.gph	bitreich.org	70
i@@ -171,3 +171,8 @@ void copy_lines_to_ring(int y1, int y2, int which){	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i #endif        	Err	bitreich.org	70
i }	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+void invalidate_undo(){	Err	bitreich.org	70
i+        if (undo_lst > undo_cur)	Err	bitreich.org	70
i+                undo_lst = undo_cur;	Err	bitreich.org	70
i+}	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/gramscii/commit/7f6e62f77bca7...
Content-Typetext/plain; charset=utf-8