diff --git a/anki/sched.py b/anki/sched.py index 9622b1151..3be7fb1cf 100644 --- a/anki/sched.py +++ b/anki/sched.py @@ -542,7 +542,11 @@ did = ? and queue = 3 and due <= ? limit ?""", try: delay = conf['delays'][-left] except IndexError: - delay = conf['delays'][0] + if conf['delays']: + delay = conf['delays'][0] + else: + # user deleted final step; use dummy value + delay = 1 return delay*60 def _lrnConf(self, card): diff --git a/tests/test_sched.py b/tests/test_sched.py index 20ba958e6..b19f813f0 100644 --- a/tests/test_sched.py +++ b/tests/test_sched.py @@ -1095,3 +1095,24 @@ def test_resched(): c.load() assert c.due == d.sched.today+1 assert c.ivl == +1 + +def test_norelearn(): + d = getEmptyDeck() + # add a note + f = d.newNote() + f['Front'] = u"one" + d.addNote(f) + c = f.cards()[0] + c.type = 2 + c.queue = 2 + c.due = 0 + c.factor = 2500 + c.reps = 3 + c.lapses = 1 + c.ivl = 100 + c.startTimer() + c.flush() + d.reset() + d.sched.answerCard(c, 1) + d.sched._cardConf(c)['lapse']['delays'] = [] + d.sched.answerCard(c, 1)