From: <no...@so...> - 2002-03-27 18:19:45
|
Bugs item #219181, was opened at 2000-10-26 02:02 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=110894&aid=219181&group_id=10894 Category: 43. Parsing and Eval Group: = 8.4a2 Status: Closed Resolution: Fixed Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: miguel sofer (msofer) Summary: [break] at level #0: No error message Initial Comment: OriginalBugID: 2136 Bug Version: 8.1 SubmitDate: '1999-06-03' LastModified: '1999-08-14' Severity: MED Status: Assigned Submitter: techsupp ChangedBy: hobbs OS: Other Machine: NA FixedDate: '2000-10-25' ClosedDate: '2000-10-25' Name: Don Porter ReproducibleScript: # FILE: test.tcl puts stderr [info patchlevel] break ObservedBehavior: $ tclsh8.0 test.tcl 8.0.5 invoked "break" outside of a loop while executing "# FILE: test.tcl puts stderr [info patchlevel] break " (file "test.tcl" line 1) $ tclsh8.1 test.tcl 8.1.0 DesiredBehavior: Ideally, consistent error messages between 8.0.x and 8.1.x Tcl releases. At a minimum, there should be some error message reported by Tcl 8.1.x. Verified in 8.2.0. Returns an empty line. -- 08/14/1999 hobbs ---------------------------------------------------------------------- >Comment By: miguel sofer (msofer) Date: 2002-03-27 15:19 Message: Logged In: YES user_id=148712 Yes, but ... In 8.3 the function Tcl_EvalEx is in tclParse.c; in order to apply this fix I'd have to choose among 1. move all evaluation functions to tclBasic.c, as in 8.4 2. promote "static void ProcessUnexpectedResult" to "void TclProcessUnexpectedResult" in tclBasic.c 3. duplicate ProcessUnexpectedResult in tclParse.c For such a long-standing bug (since 8.1), I thought it wasn't worth it. I'll reconsider 2 or 3 if poked ... ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2002-03-27 14:47 Message: Logged In: YES user_id=80530 Can a corresponding patch work for core-8-3-1-branch ? ---------------------------------------------------------------------- Comment By: miguel sofer (msofer) Date: 2002-03-27 11:36 Message: Logged In: YES user_id=148712 Patch committed. ---------------------------------------------------------------------- Comment By: miguel sofer (msofer) Date: 2002-03-27 11:30 Message: Logged In: YES user_id=148712 The direct evaluation path (Tcl_EvalEx) was missing the "ProcessUnexpectedResult at level 0" code. The enclosed patch fixes this. ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2001-03-02 14:43 Message: Logged In: YES user_id=80530 Miguel, Sorry to assign this directly to you, but SF won't let me assign it to "None" as I want. ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2001-03-02 14:41 Message: Logged In: YES user_id=80530 Dropping ownership of this bug so a maintainer can pick it up. ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2001-02-26 19:55 Message: Logged In: YES user_id=80530 See also #219384 ---------------------------------------------------------------------- Comment By: Donal K. Fellows (dkf) Date: 2001-02-26 08:44 Message: Logged In: YES user_id=79902 Hmm. The problem is not that the [break] isn't having an effect, but rather that no error message is being generated. See the following session: $ cat test.tcl # FILE: test.tcl puts stderr [info patchlevel] break puts stderr "FELL THROUGH" $ tclsh8.3 test.tcl 8.3.2 $ tclsh8.0 test.tcl 8.0.4 invoked "break" outside of a loop while executing "# FILE: test.tcl puts stderr [info patchlevel] break puts stderr "FELL THROUGH" " (file "test.tcl" line 1) $ tclsh8.3 % source test.tcl 8.3.2 invoked "break" outside of a loop Note first that neither 8.0.4 or 8.3.2 fell through to the rest of the script, so the break itself must have worked. Second, note that there is an extra blank line generated after the printing of the patchlevel under 8.3.2, so something is coming of the break. It looks to me like this is actually either a problem with Tcl_EvalFile or with the default error handler in 8.3.2, and this problem is not exercised when running interactively... ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2000-11-29 14:23 Message: Re-opened. Described bug is still present in both 8.3.2 and 8.4a2. ---------------------------------------------------------------------- Comment By: Donal K. Fellows (dkf) Date: 2000-11-13 10:25 Message: Not sure when this got fixed, but it works identically in 8.0.4 and 8.3.2, so I'm closing this one. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=110894&aid=219181&group_id=10894 |