From 07cb53da3ad02e7e0ac62ad79ebb4e9ad76c95f6 Mon Sep 17 00:00:00 2001
From: Marko Mecina <marko.mecina@univie.ac.at>
Date: Fri, 11 Nov 2022 13:45:26 +0100
Subject: [PATCH] fix script block execution in editor for gtksourceview 3 and
 4

---
 Ccs/editor.py | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/Ccs/editor.py b/Ccs/editor.py
index 77e85eb..f95fc9b 100644
--- a/Ccs/editor.py
+++ b/Ccs/editor.py
@@ -1444,24 +1444,22 @@ class CcsEditor(Gtk.Window):
             mark = self.sourcemarks[textbuffer]
             start = textbuffer.get_iter_at_mark(mark)
         else:
-            start = textbuffer.get_start_iter()  # init
-
-        #start = textbuffer.get_iter_at_line(iter.get_line())
-        #end = textbuffer.get_end_iter()
+            start = textbuffer.get_start_iter()
+            self._set_play_mark(view, start)
+            mark = self.sourcemarks[textbuffer]
 
-        stop = start.copy()
-        bp = textbuffer.forward_iter_to_source_mark(stop, "break")  #TODO
+        # bp = textbuffer.forward_iter_to_source_mark(stop, "break")
+        bp = mark.next()  # only works if no category is given!?
 
-        if bp is False:
-            stop = textbuffer.get_end_iter()#end
+        if bp is not None:
+            stop = textbuffer.get_iter_at_mark(bp)
+        else:
+            stop = textbuffer.get_end_iter()
 
         """ dump line into console """
         line = textbuffer.get_text(start, stop, True)
         line += str('\n\n')
 
-        # self.ipython_view.text_buffer.insert_at_cursor(line, len(line))
-        # self.ipython_view._processLine()
-        #self._to_console(line, editor_read=True)
         self._to_console_via_socket(line)
 
         self._set_play_mark(view, stop)
-- 
GitLab