Tcl Source Code

View Ticket
Login
Ticket UUID: 1026493
Title: [interp alias] and [rename]: confusing error messages
Type: Bug Version: None
Submitter: msofer Created on: 2004-09-11 22:08:54
Subsystem: 20. [interp] Assigned To: msofer
Priority: 9 Immediate Severity:
Status: Closed Last Modified: 2004-11-01 04:05:57
Resolution: Fixed Closed By: dgp
    Closed on: 2004-10-31 21:05:57
Description:
% interp alias {} a {} b
a
% rename a c
% rename c b
cannot define or rename alias "a": would create a loop

This is related to Bug #707104, and the confusion
between tokens and command names.
User Comments: dgp added on 2004-11-01 04:05:57:
Logged In: YES 
user_id=80530

if there's any doubt, then skip it.
Just wanted to be sure it was considered.

msofer added on 2004-10-31 03:32:13:

File Added - 107063: 1026493-8.4.patch

Logged In: YES 
user_id=148712

Not sure about backporting: the fix of [Bug 707104] in HEAD
changes the behaviour of aliases, and requires doc changes
too. IMHO, not to be done in the stable branch.

OTOH, a partial fix of the error message only is feasible
(patch attached, not committed). But it does require
changing tests interp-17.4-5. Isn't such a thing a no-no for
the stable branch? 

As this particular bug is relatively harmless ... your call.

dgp added on 2004-10-27 00:44:21:
Logged In: YES 
user_id=80530

consider a backport for 8.4.8

msofer added on 2004-09-15 00:47:13:
Logged In: YES 
user_id=148712

Patch to 707104 committed, this is fixed.

msofer added on 2004-09-12 09:06:45:
Logged In: YES 
user_id=148712

This bug is fixed by the patch 707104.patch2 attached to bug
707104.

msofer added on 2004-09-12 05:27:27:
Logged In: YES 
user_id=148712

It is relatively simple to make it so that the error message
becomes
  cannot define or rename alias to "b": would create a loop
by replacing 'aliasPtr->name' with
'Tcl_GetCommandName(cmdInterp, cmd)' in two error messages
in the function TclPreventAliasLoop().

It seems rather more involved to obtain
  cannot define or rename alias "c": would create a loop

Attachments: