=== modified file 'gjots2-2.3.8/lib/gui.py'
--- gjots2-2.3.8/lib/gui.py	2009-06-21 14:39:07 +0000
+++ gjots2-2.3.8/lib/gui.py	2009-06-21 15:28:30 +0000
@@ -2305,7 +2305,14 @@ class gjots_gui:
 			for name, file in self.icons.iteritems():
 				self.icons[name] = "./pixmaps/" + self.icons[name]
 
-		self.xml = gtk.glade.XML(self.gui_filename, "gjots", domain="gjots2")
+		override = {}
+		try:
+			import gtksourceview
+			override["GtkTextView"] = gtksourceview.SourceView
+			override["GtkTextBuffer"] = gtksourceview.SourceBuffer
+		except:
+			pass
+		self.xml = gtk.glade.XML(self.gui_filename, "gjots", "gjots2", override)
 		self.xml.signal_autoconnect(callbacks)
 		self.treestore = None
 		self.gjots = self.xml.get_widget("gjots")
@@ -2335,7 +2342,16 @@ class gjots_gui:
 		# do this with signals ...
 		self.current_dirty = 0
 		
-		self.textBuffer = gtk.TextBuffer()
+		try:
+			import gtksourceview
+			self.textBuffer = gtksourceview.SourceBuffer()
+			self.textBuffer.set_text = lambda *args: not not (
+				self.textBuffer.begin_not_undoable_action(),
+				apply(gtksourceview.SourceBuffer.set_text, [self.textBuffer] + list(args)),
+				self.textBuffer.end_not_undoable_action(),
+			)
+		except:
+			self.textBuffer = gtk.TextBuffer()
 		self.textView.set_buffer(self.textBuffer)
 		self.textBuffer.set_text("", 0)
 		self.textBuffer_changed_handler = self.textBuffer.connect("changed", self.on_textBuffer_changed)

