Tcl Source Code

View Ticket
Login
Ticket UUID: 3016135
Title: traceback using clock format with locale of he_IL
Type: Bug Created on: 2010-06-14 20:37:54
Submitter: karll Assigned to: aku
Subsystem: 06. Time Measurement Severity: Minor
Priority: 5 Medium Last modified: 2026-10-17 07:25:45
Status: Closed Closed by: nobody
Resolution: Fixed Closed on:
Version: 9.0.5, 9.1.0
Description:
clock format [clock seconds] -locale he_IL

...will result in a "extra characters after close-quote" traceback, to wit:

extra characters after close-quote
    while executing
"::msgcat::mcset he BCE "\u05dc\u05e1\u05d4"\u05e0"
    ::msgcat::mcset he CE "\u05dc\u05e4\u05e1\u05d4"\u05e0"
    ::msgcat::mcset he DATE_FORMAT "%d/..."
    (in namespace eval "::tcl::clock" script line 6)
    invoked from within
"namespace eval ::tcl::clock {
    ::msgcat::mcset he DAYS_OF_WEEK_ABBREV [list \
        "\u05d0"\
        "\u05d1"\
        "\u05d2"\
        "\u05d3..."
    (file "/usr/local/lib/tcl8.5/msgs/he.msg" line 2)

Lines 47 and 48 of the file he.msg (with a comment at the top saying created by tools/loadICU.tcl -- do not edit) have an embedded quote that causes Tcl parsing to fail.  The offending lines are:
    ::msgcat::mcset he BCE "\u05dc\u05e1\u05d4"\u05e0"
    ::msgcat::mcset he CE "\u05dc\u05e4\u05e1\u05d4"\u05e0"
User Comments:
nijtmans added on 2010-06-16 17:43:59:
Fixed in HEAD and 8.5 branch.

I didn't re-generate the message files using the latest ICU, just
manually fixed what the modified backslashify proc would
have generated. Therefore, leaving open for Kevin to
decide what to do.

serhiy.storchaka added on 2026-10-16 21:59:40:

Regression in 9.0: [a6c8a2df48] turned the escaped quote in the he.msg era names into a bare quote, so [clock format ... -locale he] fails again with "extra characters after close-quote". 8.6 is not affected. Proposed fix in branch clock-he-msg-quote, test clock-71.1.


jan.nijtmans added on 2026-10-17 06:47:04:

+1

Please go ahead


serhiy.storchaka added on 2026-10-17 07:25:45:

Merged into main in [f3d8c6e911] and into 9.0 in [313539c373].