Hello community, here is the log from the commit of package kjs for openSUSE:Factory checked in at 2014-10-07 15:58:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kjs (Old) and /work/SRC/openSUSE:Factory/.kjs.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kjs" Changes: -------- --- /work/SRC/openSUSE:Factory/kjs/kjs.changes 2014-09-12 17:03:34.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kjs.new/kjs.changes 2014-10-07 15:59:02.000000000 +0200 @@ -1,0 +2,10 @@ +Sat Oct 4 17:59:13 UTC 2014 - [email protected] + +- Update to 5.3.0 + * Implement Math.Clz32 + * U+0000 through U+001F is not allowed as char, but as escaped + unicode sequence (kde#338970) + * For more details please see: + https://www.kde.org/announcements/kde-frameworks-5.3.0.php + +------------------------------------------------------------------- Old: ---- kjs-5.2.0.tar.xz New: ---- kjs-5.3.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kjs.spec ++++++ --- /var/tmp/diff_new_pack.Zb1iqQ/_old 2014-10-07 15:59:03.000000000 +0200 +++ /var/tmp/diff_new_pack.Zb1iqQ/_new 2014-10-07 15:59:03.000000000 +0200 @@ -18,10 +18,10 @@ %define sonum 5 Name: kjs -Version: 5.2.0 +Version: 5.3.0 Release: 0 BuildRequires: cmake >= 2.8.12 -BuildRequires: extra-cmake-modules >= 1.2.0 +BuildRequires: extra-cmake-modules >= 1.3.0 BuildRequires: fdupes BuildRequires: kf5-filesystem BuildRequires: pcre-devel ++++++ kjs-5.2.0.tar.xz -> kjs-5.3.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.2.0/CMakeLists.txt new/kjs-5.3.0/CMakeLists.txt --- old/kjs-5.2.0/CMakeLists.txt 2014-09-08 01:26:17.000000000 +0200 +++ new/kjs-5.3.0/CMakeLists.txt 2014-10-03 19:56:11.000000000 +0200 @@ -3,7 +3,7 @@ project(KJS) # ECM setup -find_package(ECM 1.2.0 REQUIRED NO_MODULE) +find_package(ECM 1.3.0 REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) include(FeatureSummary) @@ -12,7 +12,7 @@ include(ECMSetupVersion) include(ECMMarkNonGuiExecutable) -set(KF5_VERSION "5.2.0") # handled by release scripts +set(KF5_VERSION "5.3.0") # handled by release scripts ecm_setup_version(${KF5_VERSION} VARIABLE_PREFIX KJS VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kjs_version.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.2.0/src/kjs/ConfigureChecks.cmake new/kjs-5.3.0/src/kjs/ConfigureChecks.cmake --- old/kjs-5.2.0/src/kjs/ConfigureChecks.cmake 2014-09-08 01:26:17.000000000 +0200 +++ new/kjs-5.3.0/src/kjs/ConfigureChecks.cmake 2014-10-03 19:56:11.000000000 +0200 @@ -59,4 +59,6 @@ check_math_expr("isinf(1.0)" HAVE_FUNC_ISINF) check_math_expr("std::isinf(1.0)" HAVE_FUNC_STD_ISINF) +check_math_expr("__builtin_clz(1)" HAVE_FUNC_BUILTIN_CLZ) + check_function_exists(_fpclass HAVE_FUNC__FPCLASS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.2.0/src/kjs/global.h.cmake new/kjs-5.3.0/src/kjs/global.h.cmake --- old/kjs-5.2.0/src/kjs/global.h.cmake 2014-09-08 01:26:17.000000000 +0200 +++ new/kjs-5.3.0/src/kjs/global.h.cmake 2014-10-03 19:56:11.000000000 +0200 @@ -114,6 +114,8 @@ #cmakedefine01 HAVE_FUNC___SIGNBIT #cmakedefine01 HAVE_FUNC_STD_SIGNBIT +#cmakedefine01 HAVE_FUNC_BUILTIN_CLZ + #cmakedefine01 HAVE_FUNC__FPCLASS #cmakedefine01 HAVE_PTHREAD_NP_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.2.0/src/kjs/jsonlexer.cpp new/kjs-5.3.0/src/kjs/jsonlexer.cpp --- old/kjs-5.2.0/src/kjs/jsonlexer.cpp 2014-09-08 01:26:17.000000000 +0200 +++ new/kjs-5.3.0/src/kjs/jsonlexer.cpp 2014-10-03 19:56:11.000000000 +0200 @@ -535,10 +535,6 @@ } UChar next = Lexer::convertUnicode(m_code[m_pos + 1].uc, m_code[m_pos + 2].uc, m_code[m_pos + 3].uc, m_code[m_pos + 4].uc); - if (next.uc <= InvalidJSONUnicode) { - *error = true; - return UChar(' '); - } *error = false; m_pos += 5; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.2.0/src/kjs/math_object.cpp new/kjs-5.3.0/src/kjs/math_object.cpp --- old/kjs-5.2.0/src/kjs/math_object.cpp 2014-09-08 01:26:17.000000000 +0200 +++ new/kjs-5.3.0/src/kjs/math_object.cpp 2014-10-03 19:56:11.000000000 +0200 @@ -80,6 +80,7 @@ hypot MathObjectImp::Hypot DontEnum|Function 0 imul MathObjectImp::Imul DontEnum|Function 2 fround MathObjectImp::FRound DontEnum|Function 1 + clz32 MathObjectImp::Clz32 DontEnum|Function 1 @end */ @@ -347,8 +348,13 @@ result = static_cast<double>(static_cast<float>(arg)); break; - - + case MathObjectImp::Clz32: + { + uint32_t n = args[0]->toUInt32(exec); + if (exec->hadException()) + return jsUndefined(); + return jsNumber(clz32(n)); + } default: result = 0.0; assert(0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.2.0/src/kjs/math_object.h new/kjs-5.3.0/src/kjs/math_object.h --- old/kjs-5.2.0/src/kjs/math_object.h 2014-09-08 01:26:17.000000000 +0200 +++ new/kjs-5.3.0/src/kjs/math_object.h 2014-10-03 19:56:11.000000000 +0200 @@ -45,7 +45,7 @@ //ES6 (draft 08.11.2013) ACosH, ASinH, ATanH, Cbrt, CosH, Exmp1, Log1p, Log10, Log2, Sign, SinH, TanH, Trunc, - Hypot, Imul, FRound + Hypot, Imul, FRound, Clz32 }; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.2.0/src/kjs/operations.h new/kjs-5.3.0/src/kjs/operations.h --- old/kjs-5.2.0/src/kjs/operations.h 2014-09-08 01:26:17.000000000 +0200 +++ new/kjs-5.3.0/src/kjs/operations.h 2014-10-03 19:56:11.000000000 +0200 @@ -87,6 +87,25 @@ inline bool isPosInf(double d); inline bool isNegInf(double d); +inline int clz32(unsigned int d) +{ +#if HAVE(FUNC_BUILTIN_CLZ) + //NOTE: __builtin_clz(0); is undefined + //buschinski: and returns 1 for me, for whatever reason + if (d == 0) + return 32; + return __builtin_clz(d); +#else + int count = 0; + while (d != 0) + { + ++count; + d >>= 1; + } + return 32 - count; +#endif +} + inline bool isNaN(double d) { #if HAVE(FUNC_STD_ISNAN) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.2.0/src/kjs/string_object.cpp new/kjs-5.3.0/src/kjs/string_object.cpp --- old/kjs-5.2.0/src/kjs/string_object.cpp 2014-09-08 01:26:17.000000000 +0200 +++ new/kjs-5.3.0/src/kjs/string_object.cpp 2014-10-03 19:56:11.000000000 +0200 @@ -185,6 +185,8 @@ toLocaleUpperCase StringProtoFunc::ToLocaleUpperCase DontEnum|Function 0 trim StringProtoFunc::Trim DontEnum|Function 0 localeCompare StringProtoFunc::LocaleCompare DontEnum|Function 1 + repeat StringProtoFunc::Repeat DontEnum|Function 1 + # # Under here: html extension, should only exist if KJS_PURE_ECMA is not defined # I guess we need to generate two hashtables in the .lut.h file, and use #ifdef @@ -841,6 +843,20 @@ return jsNumber(0); } return jsNumber(localeCompare(s, a0->toString(exec))); + case Repeat: { + double n = args[0]->toInteger(exec); + if (exec->hadException()) + return jsUndefined(); + if (n < 0 || KJS::isPosInf(n)) + return throwError(exec, RangeError); + + UString ret; + for (int i = 0; i < n; ++i) + { + ret += s; + } + return jsString(ret); + } case Trim: case TrimRight: case TrimLeft: { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.2.0/src/kjs/string_object.h new/kjs-5.3.0/src/kjs/string_object.h --- old/kjs-5.2.0/src/kjs/string_object.h 2014-09-08 01:26:17.000000000 +0200 +++ new/kjs-5.3.0/src/kjs/string_object.h 2014-10-03 19:56:11.000000000 +0200 @@ -108,7 +108,9 @@ enum { ToString, ValueOf, CharAt, CharCodeAt, Concat, IndexOf, LastIndexOf, Match, Replace, Search, Slice, Split, Substr, Substring, FromCharCode, ToLowerCase, ToUpperCase, - ToLocaleLowerCase, ToLocaleUpperCase, Trim, LocaleCompare + ToLocaleLowerCase, ToLocaleUpperCase, Trim, LocaleCompare, + // ES6 (Draft 08.11.2013 + Repeat #ifndef KJS_PURE_ECMA , Big, Small, Blink, Bold, Fixed, Italics, Strike, Sub, Sup, Fontcolor, Fontsize, Anchor, Link, TrimLeft, TrimRight -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
