Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch tip490-msgcat-oo Excluding Merge-Ins
This is equivalent to a diff from 46bffcb3ae to 88b074811c
2018-02-15
| ||
06:45 | Eliminate some duplicate code in tclOO.c/Tcl_NewObjectInstance(). check-in: 33bdcf3e31 user: pooryorick tags: pyk-backport-to-8-6 | |
2017-12-12
| ||
12:21 | Correct argument passing (fellows on core list) Closed-Leaf check-in: 88b074811c user: oehhar tags: tip490-msgcat-oo | |
2017-12-11
| ||
23:01 | TIP490: add oo helper to msgcat that message catalogues are found within classes check-in: cf48b5b4e5 user: oehhar tags: tip490-msgcat-oo | |
2017-11-28
| ||
15:43 | Minor refactoring of TclOO object reference count booking during object creation. check-in: a2bfd20d2c user: pooryorick tags: core-8-branch | |
2017-11-27
| ||
23:30 | Eliminate some duplicate code in tclOO.c/Tcl_NewObjectInstance(). check-in: 46bffcb3ae user: pooryorick tags: core-8-branch | |
19:45 | Streamline TclOO object cleanup routines. check-in: 6f60945f3d user: pooryorick tags: core-8-branch | |
Changes to changes.
︙ | ︙ | |||
8837 8838 8839 8840 8841 8842 8843 | 2017-08-31 (bug)[2a9465] http state 100 continue handling broken (oehlmann) => http 2.8.12 2017-09-02 (bug)[0e4d88] replace command, delete trace kills namespace (porter) --- Released 8.7a1, September 8, 2017 --- http://core.tcl.tk/tcl/ for details | > > | 8837 8838 8839 8840 8841 8842 8843 8844 8845 | 2017-08-31 (bug)[2a9465] http state 100 continue handling broken (oehlmann) => http 2.8.12 2017-09-02 (bug)[0e4d88] replace command, delete trace kills namespace (porter) --- Released 8.7a1, September 8, 2017 --- http://core.tcl.tk/tcl/ for details 2017-12-11 (TIP 490) add oo support for msgcat (fellows) |
Changes to doc/msgcat.n.
︙ | ︙ | |||
46 47 48 49 50 51 52 53 54 55 56 57 58 59 | .VS "TIP 412" \fB::msgcat::mcpackagelocale subcommand\fR ?\fIlocale\fR? .sp \fB::msgcat::mcpackageconfig subcommand\fR \fIoption\fR ?\fIvalue\fR? .sp \fB::msgcat::mcforgetpackage\fR .VE "TIP 412" .BE .SH DESCRIPTION .PP The \fBmsgcat\fR package provides a set of functions that can be used to manage multi-lingual user interfaces. Text strings are defined in a .QW "message catalog" | > > | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | .VS "TIP 412" \fB::msgcat::mcpackagelocale subcommand\fR ?\fIlocale\fR? .sp \fB::msgcat::mcpackageconfig subcommand\fR \fIoption\fR ?\fIvalue\fR? .sp \fB::msgcat::mcforgetpackage\fR .VE "TIP 412" .sp \fBmixin msgcat::MessageCatalogAware\fR .BE .SH DESCRIPTION .PP The \fBmsgcat\fR package provides a set of functions that can be used to manage multi-lingual user interfaces. Text strings are defined in a .QW "message catalog" |
︙ | ︙ | |||
227 228 229 230 231 232 233 234 235 236 237 238 239 240 | Note that this routine is only called if the concerned package did not set a package locale unknown command name. .RE .TP \fB::msgcat::mcforgetpackage\fR . The calling package clears all its state within the \fBmsgcat\fR package including all settings and translations. .VE "TIP 412" .PP .SH "LOCALE SPECIFICATION" .PP The locale is specified to \fBmsgcat\fR by a locale string passed to \fB::msgcat::mclocale\fR. The locale string consists of a language code, an optional country code, and an optional | > > > > > > > > > > > > > > > > > > > > | 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 | Note that this routine is only called if the concerned package did not set a package locale unknown command name. .RE .TP \fB::msgcat::mcforgetpackage\fR . The calling package clears all its state within the \fBmsgcat\fR package including all settings and translations. .VE "TIP 412" .RE .TP .VS "TIP 490" \fBmixin msgcat::MessageCatalogAware\fR . A class within a package should include this line to make message catalog commands (mc, mcmax, mcexists) work. .PP .CS namespace eval ::foo { msgcat::mcload $dir/msgs oo::class create Foo { mixin msgcat::MessageCatalogAware method printMessage {x y} { puts [my mc "FooPrintMessage(%d,%d)" $x $y] } } } package provide foo 1.0 .CE .VE "TIP 490" .PP .SH "LOCALE SPECIFICATION" .PP The locale is specified to \fBmsgcat\fR by a locale string passed to \fB::msgcat::mclocale\fR. The locale string consists of a language code, an optional country code, and an optional |
︙ | ︙ |
Changes to library/msgcat/msgcat.tcl.
︙ | ︙ | |||
10 11 12 13 14 15 16 | # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. package require Tcl 8.5- # When the version number changes, be sure to update the pkgIndex.tcl file, # and the installation directory in the Makefiles. | | | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. package require Tcl 8.5- # When the version number changes, be sure to update the pkgIndex.tcl file, # and the installation directory in the Makefiles. package provide msgcat 1.6.2 namespace eval msgcat { namespace export mc mcexists mcload mclocale mcmax mcmset mcpreferences mcset\ mcunknown mcflset mcflmset mcloadedlocales mcforgetpackage\ mcpackageconfig mcpackagelocale # Records the list of locales to search |
︙ | ︙ | |||
1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 | } if {[string length $modifier]} { append ret _$modifier } return $ret } # Initialize the default locale proc msgcat::Init {} { global env # # set default locale, try to get from environment # | > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 | } if {[string length $modifier]} { append ret _$modifier } return $ret } # Make oo classes message catalog aware namespace eval ::msgcat { oo::class create MessageCatalogAware { forward mc ::msgcat::OOBridge ::msgcat::mc forward mcmax ::msgcat::OOBridge ::msgcat::mcmax forward mcexists ::msgcat::OOBridge ::msgcat::mcexists # Tricky point: methods are not usefully callable from outside the # class hierarchy unexport mc mcmax mcexists } } # helper function to find package namespace and evaluate mc commands within # this namespace proc ::msgcat::OOBridge {cmd args} { if {[catch { # Tricky point: [self class] needs to run in the caller set ns [namespace qualifiers [uplevel 1 {self class}]] }]} { # Not a class-defined method (so we got an error); use instance instead set ns [namespace qualifiers [uplevel 1 self]] } apply [list {cmd args} {$cmd {*}$args} $ns] $cmd {*}$args # DKF: alternative - one may give a better error trace # namespace eval ::$ns [list $cmd {*}$args] } # Initialize the default locale proc msgcat::Init {} { global env # # set default locale, try to get from environment # |
︙ | ︙ |
Changes to library/msgcat/pkgIndex.tcl.
1 | if {![package vsatisfies [package provide Tcl] 8.5-]} {return} | | | 1 2 | if {![package vsatisfies [package provide Tcl] 8.5-]} {return} package ifneeded msgcat 2.6.2 [list source [file join $dir msgcat.tcl]] |
Changes to unix/Makefile.in.
︙ | ︙ | |||
851 852 853 854 855 856 857 | @echo "Installing package http 2.8.12 as a Tcl Module"; @$(INSTALL_DATA) $(TOP_DIR)/library/http/http.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.6/http-2.8.12.tm; @echo "Installing package opt0.4 files to $(SCRIPT_INSTALL_DIR)/opt0.4/"; @for i in $(TOP_DIR)/library/opt/*.tcl ; \ do \ $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/opt0.4; \ done; | | | | 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 | @echo "Installing package http 2.8.12 as a Tcl Module"; @$(INSTALL_DATA) $(TOP_DIR)/library/http/http.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.6/http-2.8.12.tm; @echo "Installing package opt0.4 files to $(SCRIPT_INSTALL_DIR)/opt0.4/"; @for i in $(TOP_DIR)/library/opt/*.tcl ; \ do \ $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/opt0.4; \ done; @echo "Installing package msgcat 1.6.2 as a Tcl Module"; @$(INSTALL_DATA) $(TOP_DIR)/library/msgcat/msgcat.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.5/msgcat-1.6.2.tm; @echo "Installing package tcltest 2.4.1 as a Tcl Module"; @$(INSTALL_DATA) $(TOP_DIR)/library/tcltest/tcltest.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.5/tcltest-2.4.1.tm; @echo "Installing package platform 1.0.14 as a Tcl Module"; @$(INSTALL_DATA) $(TOP_DIR)/library/platform/platform.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.4/platform-1.0.14.tm; @echo "Installing package platform::shell 1.1.4 as a Tcl Module"; @$(INSTALL_DATA) $(TOP_DIR)/library/platform/shell.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.4/platform/shell-1.1.4.tm; |
︙ | ︙ |
Changes to win/Makefile.in.
︙ | ︙ | |||
660 661 662 663 664 665 666 | @echo "Installing package http 2.8.12 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/http/http.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.6/http-2.8.12.tm; @echo "Installing library opt0.4 directory"; @for j in $(ROOT_DIR)/library/opt/*.tcl; \ do \ $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/opt0.4"; \ done; | | | | 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 | @echo "Installing package http 2.8.12 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/http/http.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.6/http-2.8.12.tm; @echo "Installing library opt0.4 directory"; @for j in $(ROOT_DIR)/library/opt/*.tcl; \ do \ $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/opt0.4"; \ done; @echo "Installing package msgcat 1.6.2 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/msgcat/msgcat.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.5/msgcat-1.6.2.tm; @echo "Installing package tcltest 2.4.0 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/tcltest/tcltest.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.5/tcltest-2.4.0.tm; @echo "Installing package platform 1.0.14 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/platform/platform.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/platform-1.0.14.tm; @echo "Installing package platform::shell 1.1.4 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/platform/shell.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/platform/shell-1.1.4.tm; @echo "Installing encodings"; |
︙ | ︙ |