Tcl Source Code

View Ticket
Login
Ticket UUID: 1934200
Title: man2tcl fails with \N'xx' sequence->ParseCmd.3 fails
Type: Bug Version: obsolete: 8.5.4
Submitter: oehhar Created on: 2008-04-04 08:23:20
Subsystem: 53. Configuration and Build Tools Assigned To: mistachkin
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2008-10-07 13:41:38
Resolution: Fixed Closed By: mistachkin
    Closed on: 2008-10-06 18:45:20
Description:
on windows hlp file build, the program man2tcl.c is compiled and executed for each help file.

A sequence of \N'xx' is translated to:
text\u00yytext '
(yy: hex of xx) and should be translated to:
text \u00yy

This bug makes the help build fail on the file ParseCmd.3, which contains the sequence:
\N'34' to get a double-quote.

The position of this text is on the page of Tcl_ParseCommand, section Tcl_ParseQuotedString

A patch against 8.5.2 is attached.
User Comments: oehhar added on 2008-10-07 13:41:38:
The implementation of the \N macro is not present in 8.4.19, so no reason for a backport.
Thank you for your work.

mistachkin added on 2008-10-07 01:45:20:
The final piece is now committed to HEAD and core-8-5-branch.  I took a look at the differences between the changed files in HEAD and core-8-4-branch and they are radically different.  I don't have time to produce an appropriate patch for 8.4 right now; however, I'm happy to review any patches you submit in this area.

dkf added on 2008-10-06 16:38:41:
Only if you're feeling very energetic (and if there's going to be another release from that branch). FWIW, I've stopped committing to that branch now.

oehhar added on 2008-10-06 16:18:06:
Yes, please backport !
Anyway it is copy and paste - the concerned files are identical.

Thank you,
Harald

mistachkin added on 2008-10-06 16:09:19:
Thanks, I'll work on getting this fixed in HEAD and core-8-5-branch later today.  I wonder if this (and the other WinHelp fixes) should be backported to core-8-4-branch as well?

oehhar added on 2008-10-06 15:54:10:
patch against 86a2 head added.
File Added: man2tcl_86a2.c.patch

oehhar added on 2008-10-06 15:54:09:

File Added - 296242: man2tcl_86a2.c.patch

oehhar added on 2008-10-06 15:28:31:
Row 355: p++ of the patch was not committed. This results in additional unwanted "'"-characters in the output.

Example:
man2tcl.exe ParseCmd.3 > ParseCmd_86a2.out

ParseCmd.3 line 140:
"The first character of \fIstart\fR must be \fB\N'34'\fR. "

Translates to:
---START---
text The\ first\ character\ of\ 
font I
text start
font R
text \ must\ be\ 
font B
text \u0022
text '
font R
text .\ 
newline
---END---
The command: "\N'34'" translates to:
---START---
text \u0022
text '
---END---
and should translate to:
---START---
text \u0022
---END---

The output of the example is on the Tcl_ParseCommand-Page, section "Description", "Tcl_ParseQuotedString" in bold at the beginning of the paragraph, 2nd sentence, last character.
Copy and paste results in: "The first character of start must be "'."

mistachkin added on 2008-10-03 02:25:34:
The fix has now been committed to core-8-5-branch.

oehhar added on 2008-09-04 18:56:25:
Logged In: YES 
user_id=444601
Originator: YES

Bug stil present in release 8.5.4, patch still solves issue.

oehhar added on 2008-06-30 22:39:31:
Logged In: YES 
user_id=444601
Originator: YES

IMHO, the bug is still pending in tcl8.5.3rc1.
Row 141 in ParseCmd.3 states:
The first character of \fIstart\fR must be \fB\N'34'\fR. 
It is translated by man2tcl.exe to (Row 513):
...
font B
text \u0022text '
font R
...
and should be:
...
font B
text \u0022
font R

The patch still applies.

sf-robot added on 2008-06-28 09:20:11:
Logged In: YES 
user_id=1312539
Originator: NO

This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 14 days (the time period specified by
the administrator of this Tracker).

mistachkin added on 2008-06-13 13:04:55:
Logged In: YES 
user_id=113501
Originator: NO


This should now be fixed in HEAD.

Still needs to be backported to 8.5.

oehhar added on 2008-04-04 17:02:51:
Logged In: YES 
user_id=444601
Originator: YES

Please honor also bug reports with patches Tk 1934265 and Tk 1934272.
They appear when building Tk8.5.2. The concerned files are in the Tcl8.5.2 sources.

oehhar added on 2008-04-04 15:23:22:

File Added - 273171: man2tcl.c.patch

Attachments: