- Fix a regression in the handling of denormalized empty lists
(tcl-expand-regression.patch, tcl#cc1e91552c). OBS-URL: https://build.opensuse.org/package/show/devel:languages:tcl/tcl?expand=0&rev=113
This commit is contained in:
parent
553958db81
commit
b850dbfa83
76
tcl-expand-regression.patch
Normal file
76
tcl-expand-regression.patch
Normal file
@ -0,0 +1,76 @@
|
||||
Index: generic/tclExecute.c
|
||||
==================================================================
|
||||
--- generic/tclExecute.c
|
||||
+++ generic/tclExecute.c
|
||||
@@ -5235,12 +5235,16 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Every range of an empty list is an empty list */
|
||||
if (objc == 0) {
|
||||
- TRACE_APPEND(("\n"));
|
||||
- NEXT_INST_F(9, 0, 0);
|
||||
+ /* avoid return of not canonical list (e. g. spaces in string repr.) */
|
||||
+ if (ListObjIsCanonical(valuePtr)) {
|
||||
+ TRACE_APPEND(("\n"));
|
||||
+ NEXT_INST_F(9, 0, 0);
|
||||
+ }
|
||||
+ goto emptyList;
|
||||
}
|
||||
|
||||
/* Decode index value operands. */
|
||||
|
||||
/*
|
||||
|
||||
Index: tests/basic.test
|
||||
==================================================================
|
||||
--- tests/basic.test
|
||||
+++ tests/basic.test
|
||||
@@ -959,10 +959,16 @@
|
||||
lappend res [catch { run { {*}{error Hejsan} } } err]
|
||||
lappend res $err
|
||||
} -cleanup {
|
||||
unset res t
|
||||
} -result {0 10 1 Hejsan}
|
||||
+
|
||||
+test basic-48.24.$noComp {expansion: empty not canonical list, regression test, bug [cc1e91552c]} -constraints $constraints -setup {
|
||||
+ unset -nocomplain a
|
||||
+} -body {
|
||||
+ run {list [list {*}{ }] [list {*}[format %c 32]] [list {*}[set a { }]]}
|
||||
+} -result [lrepeat 3 {}] -cleanup {unset -nocomplain a}
|
||||
|
||||
} ;# End of noComp loop
|
||||
|
||||
test basic-49.1 {Tcl_EvalEx: verify TCL_EVAL_GLOBAL operation} testevalex {
|
||||
set ::x global
|
||||
|
||||
Index: tests/lrange.test
|
||||
==================================================================
|
||||
--- tests/lrange.test
|
||||
+++ tests/lrange.test
|
||||
@@ -105,14 +105,24 @@
|
||||
list [lrange {a b c} -1 1] [lrange {a b c} -1+0 end-1] [lrange {a b c} -2 1] [lrange {a b c} -2+0 0+1]
|
||||
} [lrepeat 4 {a b}]
|
||||
test lrange-3.6 {compiled with calculated indices, end out of range (after end)} {
|
||||
list [lrange {a b c} 1 end+1] [lrange {a b c} 1+0 2+1] [lrange {a b c} 1 end+1] [lrange {a b c} end-1 3+1]
|
||||
} [lrepeat 4 {b c}]
|
||||
+
|
||||
+test lrange-3.7a {compiled on empty not canonical list (with static and dynamic indices), regression test, bug [cc1e91552c]} {
|
||||
+ list [lrange { } 0 1] [lrange [format %c 32] 0 1] [lrange [set a { }] 0 1] \
|
||||
+ [lrange { } 0-1 end+1] [lrange [format %c 32] 0-1 end+1] [lrange $a 0-1 end+1]
|
||||
+} [lrepeat 6 {}]
|
||||
+test lrange-3.7b {not compiled on empty not canonical list (with static and dynamic indices), regression test, bug [cc1e91552c]} {
|
||||
+ set cmd lrange
|
||||
+ list [$cmd { } 0 1] [$cmd [format %c 32] 0 1] [$cmd [set a { }] 0 1] \
|
||||
+ [$cmd { } 0-1 end+1] [$cmd [format %c 32] 0-1 end+1] [$cmd $a 0-1 end+1]
|
||||
+} [lrepeat 6 {}]
|
||||
|
||||
|
||||
# cleanup
|
||||
::tcltest::cleanupTests
|
||||
return
|
||||
|
||||
# Local Variables:
|
||||
# mode: tcl
|
||||
# End:
|
||||
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 8 15:39:33 UTC 2019 - Reinhard Max <max@suse.com>
|
||||
|
||||
- Fix a regression in the handling of denormalized empty lists
|
||||
(tcl-expand-regression.patch, tcl#cc1e91552c).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 12 16:28:09 UTC 2018 - Reinhard Max <max@suse.com>
|
||||
|
||||
|
4
tcl.spec
4
tcl.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package tcl
|
||||
#
|
||||
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -41,6 +41,7 @@ Source0: ftp://ftp.tcl.tk/pub/tcl/tcl8_6/%{name}%{version}%{rrc}-src.tar.
|
||||
Source1: tcl-rpmlintrc
|
||||
Source2: baselibs.conf
|
||||
Source3: macros.tcl
|
||||
Patch0: tcl-expand-regression.patch
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: pkg-config
|
||||
BuildRequires: zlib-devel
|
||||
@ -80,6 +81,7 @@ the Tcl language itself.
|
||||
|
||||
%prep
|
||||
%setup -q -n %name%version
|
||||
%patch0
|
||||
|
||||
%build
|
||||
cd unix
|
||||
|
Loading…
Reference in New Issue
Block a user