Project

General

Profile

Feature #744

Handle interrupts more helpfully

Added by John Abbott almost 9 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
High
Assignee:
Category:
enhancing/improving
Start date:
01 Jul 2015
Due date:
% Done:

100%

Estimated time:
2.00 h
Spent time:

Description

Currently the C5 interpreter catches CoCoA::InterruptReceived as it should, but it gives no message to the user. Add a short message to the user (in much the same way a CoCoA::ErrorInfo would cause a user to receive a message).


Related issues

Related to CoCoALib - Feature #718: Insert calls to CheckForInterruptClosed2015-05-21

Related to CoCoALib - Bug #971: CheckForInterrupt does not work in the expected wayClosed2016-11-14

History

#1 Updated by John Abbott over 8 years ago

  • Priority changed from Normal to High
  • Target version changed from CoCoA-5.1.3/4 Jan 2016 to CoCoA-5.2.0 spring 2017

JAA thinks that it is important to get this sorted out soon, so priority increased to "high" (but bumped to next version anyway).

#2 Updated by John Abbott over 8 years ago

  • Related to Feature #718: Insert calls to CheckForInterrupt added

#3 Updated by John Abbott almost 8 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10
  • Estimated time set to 2.00 h

We should try to get this done for 5.1.6!

#4 Updated by John Abbott over 7 years ago

  • Status changed from In Progress to Resolved
  • Assignee set to John Abbott
  • % Done changed from 10 to 80

I have just checked in a version of CoCoA-5 that should handle interrupts more nicely.

I have added a new handler implReportInterrupt modelled on implReportError, but which prints out a more compact message. In several (but not all) places where CoCoA::ErrorInfo is caught, I have inserted also a catch command for CoCoA::InterruptReceived, this then throws a CoCoA-5 exception (of type InterruptException) which is caught and then handled by implReportInterrupt -- see Interpreter.C:2823 in the function Interpreter::run.

Some simple tests suggest that it is probably working as hoped.

#5 Updated by John Abbott over 7 years ago

  • Related to Bug #971: CheckForInterrupt does not work in the expected way added

#6 Updated by John Abbott over 7 years ago

The GUI seems to work tolerably well too.

There is a problem with underlining some expressions, but that problem existed earlier.
An example input is 0^(-123) the underlining underlines only 0^( for some reason.
In CoCoAInterpreter only the up-arrow operator is underlined.

This is not serious enough to warrant being fixed... well, I can't be bothered anyway.

#7 Updated by Anna Maria Bigatti over 7 years ago

  • Status changed from Resolved to Closed
  • % Done changed from 80 to 100

Also available in: Atom PDF