Applied SF patch #438424 by Josh Cogliati:

Python's logolike module turtle.py did not display
the turtle except when actually drawing lines.
This patch changes the turtle.py module so that
it displays the turtle at all times when tracing is
on. This is similar to the the way that logo works.
When tracing is off the turtle will not be displayed.
diff --git a/Lib/lib-tk/turtle.py b/Lib/lib-tk/turtle.py
index dde5725..d5b445a 100644
--- a/Lib/lib-tk/turtle.py
+++ b/Lib/lib-tk/turtle.py
@@ -11,6 +11,7 @@
         self._canvas = canvas
         self._items = []
         self._tracing = 1
+        self._arrow = 0
         self.degrees()
         self.reset()
 
@@ -48,9 +49,15 @@
         self._items = []
         for item in items:
             canvas.delete(item)
+        self._delete_turtle()
+        self._draw_turtle()
+
 
     def tracer(self, flag):
         self._tracing = flag
+        if not self._tracing:
+            self._delete_turtle()
+        self._draw_turtle()
 
     def forward(self, distance):
         x0, y0 = start = self._position
@@ -63,6 +70,7 @@
 
     def left(self, angle):
         self._angle = (self._angle + angle) % self._fullcircle
+        self._draw_turtle()
 
     def right(self, angle):
         self.left(-angle)
@@ -87,7 +95,7 @@
                     id = self._canvas.create_line(0, 0, 0, 0, fill=color)
                 except Tkinter.TclError:
                     raise Error, "bad color string: %s" % `color`
-                self._color = color
+                self._set_color(color)
                 return
             try:
                 r, g, b = color
@@ -103,7 +111,12 @@
         assert 0 <= b <= 1
         x = 255.0
         y = 0.5
-        self._color = "#%02x%02x%02x" % (int(r*x+y), int(g*x+y), int(b*x+y))
+        self._set_color("#%02x%02x%02x" % (int(r*x+y), int(g*x+y), int(b*x+y)))
+
+    def _set_color(self,color):
+        self._color = color
+        self._draw_turtle()
+
 
     def write(self, arg, move=0):
         x, y = start = self._position
@@ -115,6 +128,7 @@
         if move:
             x0, y0, x1, y1 = self._canvas.bbox(item)
             self._goto(x1, y1)
+        self._draw_turtle()
 
     def fill(self, flag):
         if self._filling:
@@ -205,20 +219,20 @@
         if self._filling:
             self._path.append(self._position)
         if self._drawing:
-            if self._tracing:
+            if self._tracing:                
                 dx = float(x1 - x0)
                 dy = float(y1 - y0)
                 distance = hypot(dx, dy)
                 nhops = int(distance)
                 item = self._canvas.create_line(x0, y0, x0, y0,
                                                 width=self._width,
-                                                arrow="last",
                                                 capstyle="round",
                                                 fill=self._color)
                 try:
                     for i in range(1, 1+nhops):
                         x, y = x0 + dx*i/nhops, y0 + dy*i/nhops
                         self._canvas.coords(item, x0, y0, x, y)
+                        self._draw_turtle((x,y))
                         self._canvas.update()
                         self._canvas.after(10)
                     # in case nhops==0
@@ -233,6 +247,30 @@
                                                 capstyle="round",
                                                 fill=self._color)
             self._items.append(item)
+        self._draw_turtle()
+
+    def _draw_turtle(self,position=[]):
+        if not self._tracing:
+            return
+        if position == []:
+            position = self._position
+        x,y = position
+        distance = 8
+        dx = distance * cos(self._angle*self._invradian)
+        dy = distance * sin(self._angle*self._invradian)
+        self._delete_turtle()
+        self._arrow = _canvas.create_line(x-dx,y+dy,x,y,
+                                          width=self._width,
+                                          arrow="last",
+                                          capstyle="round",
+                                          fill=self._color)
+        self._canvas.update()
+
+    def _delete_turtle(self):
+        if self._arrow != 0:
+            self._canvas.delete(self._arrow)
+        self._arrow = 0
+
 
 
 _root = None