Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Stop segfault due to OBOE in CompileWord() calls in [dict incr] compiler. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
109b343727ff508c025f8764dc7e8b8c |
User & Date: | dgp 2013-09-19 14:22:37 |
Context
2013-09-19
| ||
14:49 | Line numbers wrong in compiled [dict get]. check-in: 7cdfebfeb6 user: dgp tags: trunk | |
14:22 | Stop segfault due to OBOE in CompileWord() calls in [dict incr] compiler. check-in: 109b343727 user: dgp tags: trunk | |
14:21 | [3606943]: Corrected description of method search order. check-in: afc9ca5c0b user: dkf tags: trunk | |
14:06 | Stop segfault due to OBOE in CompileWord() calls in [dict incr] compiler. check-in: 3a3f75ac5a user: dgp tags: core-8-5-branch | |
Changes
Changes to generic/tclCompCmds.c.
︙ | ︙ | |||
945 946 947 948 949 950 951 | return TclCompileBasic2Or3ArgCmd(interp, parsePtr, cmdPtr, envPtr); } /* * Emit the key and the code to actually do the increment. */ | | | 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 | return TclCompileBasic2Or3ArgCmd(interp, parsePtr, cmdPtr, envPtr); } /* * Emit the key and the code to actually do the increment. */ CompileWord(envPtr, keyTokenPtr, interp, 2); TclEmitInstInt4( INST_DICT_INCR_IMM, incrAmount, envPtr); TclEmitInt4( dictVarIndex, envPtr); return TCL_OK; } int TclCompileDictGetCmd( |
︙ | ︙ |
Changes to tests/dict.test.
︙ | ︙ | |||
1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 | } {bar baz} test dict-23.4 {CompileWord OBOE} { apply {n { dict set foo {*}{ } [return [incr n -[linenumber]]] val }} [linenumber] } 1 rename linenumber {} test dict-24.22 {dict map results (non-compiled)} { dict map {k v} [dict map {k v} {a 1 b 2 c 3 d 4} { list $v $k }] { return -level 0 "$k,$v" } } {a {a,1 a} b {b,2 b} c {c,3 c} d {d,4 d}} | > > > > > | 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 | } {bar baz} test dict-23.4 {CompileWord OBOE} { apply {n { dict set foo {*}{ } [return [incr n -[linenumber]]] val }} [linenumber] } 1 test dict-23.5 {CompileWord OBOE} { # segfault when buggy apply {{} {tcl::dict::incr foo \ [format bar]}} } {bar 1} rename linenumber {} test dict-24.22 {dict map results (non-compiled)} { dict map {k v} [dict map {k v} {a 1 b 2 c 3 d 4} { list $v $k }] { return -level 0 "$k,$v" } } {a {a,1 a} b {b,2 b} c {c,3 c} d {d,4 d}} |
︙ | ︙ |