From 2b88f63a3c78755ff19d8e535fbe93a2f16a87d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= <martin@v.loewis.de>
Date: Mon, 3 Jul 2006 10:19:49 +0000
Subject: Bug #1514693: Update turtle's heading when switching between degrees
 and radians.

---
 Lib/lib-tk/turtle.py | 7 ++++++-
 Misc/NEWS            | 5 ++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/Lib/lib-tk/turtle.py b/Lib/lib-tk/turtle.py
index cc5ffa1..90d1aa3 100644
--- a/Lib/lib-tk/turtle.py
+++ b/Lib/lib-tk/turtle.py
@@ -30,6 +30,7 @@ class RawPen:
         self._tracing = 1
         self._arrow = 0
         self._delay = 10     # default delay for drawing
+        self._angle = 0.0
         self.degrees()
         self.reset()
 
@@ -39,6 +40,10 @@ class RawPen:
         Example:
         >>> turtle.degrees()
         """
+        # Don't try to change _angle if it is 0, because
+        # _fullcircle might not be set, yet
+        if self._angle:
+            self._angle = (self._angle / self._fullcircle) * fullcircle
         self._fullcircle = fullcircle
         self._invradian = pi / (fullcircle * 0.5)
 
@@ -365,7 +370,7 @@ class RawPen:
         steps = 1+int(min(11+abs(radius)/6.0, 59.0)*frac)
         w = 1.0 * extent / steps
         w2 = 0.5 * w
-        l = 2.0 * radius * sin(w2*self._invradian) 
+        l = 2.0 * radius * sin(w2*self._invradian)
         if radius < 0:
             l, w, w2 = -l, -w, -w2
         self.left(w2)
diff --git a/Misc/NEWS b/Misc/NEWS
index 764f7e0..a5faa9b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -19,8 +19,11 @@ Core and builtins
 Library
 -------
 
+- Bug #1514693: Update turtle's heading when switching between
+  degrees and radians.
+
 - Reimplement turtle.circle using a polyline, to allow correct
-  filling of arcs. Also fixes #1514693.
+  filling of arcs.
 
 - Bug #1514703: Only setup canvas window in turtle when the canvas
   is created.
-- 
cgit v0.12

