Diff for /parser3/ChangeLog between versions 1.200 and 1.210

version 1.200, 2024/10/07 02:05:18 version 1.210, 2024/12/16 02:05:13
Line 1 Line 1
   2024-12-16  moko
   
           * operators.txt: actualized for 3.5.0
   
           * src/classes/table.C: exception text fixed
   
   2024-12-15  moko
   
           * tests/: 102.html, results/102.processed: tests updated after
             $form:fields not editable again (related to feature #1254)
   
           * src/types/pa_vform.C: $form:tables/files (not $form:fields) can
             be edited (related to feature #1254)
   
           * src/types/pa_vform.C: reverted that
             $form:fields/tables/files/imap can be edited (related to feature
             #1254) for backward compatibility
   
   2024-12-14  moko
   
           * operators.txt: + array in operators.txt
   
           * tests/results/auto.p: avoid $mac execution unless on OS X
   
           * tests/388-sql.html: more OS support
   
   2024-12-13  moko
   
           * tests/388-sql.html: sql tests under OS X now fixed
   
           * tests/results/auto.p: curl test under OS X now works
   
           * tests/: 346-curl.html, 347-curl.html, results/347-curl.processed:
             no dll name under Windows, hiding
   
           * tests/: 379-curl.html, results/379-curl.processed: some curl
             versions accept "HTTP/1.0 200OK? OK" status, some not, ignore
   
           * tests/: 030.html, 212.html, 219.html, 273.html, 346-curl.html,
             389.html, results/030.processed, results/212.processed,
             results/219.processed, results/273.processed,
             results/320.processed, results/346-curl.processed,
             results/389.processed, results/auto.p: ^try-catch-filtered added
             and used
   
           * tests/: 347-curl.html, results/347-curl.processed: support for
             different error messages
   
           * src/classes/curl.C: several curl libraries supported,
             ^curl:options[ $.library[] ] resets to default
   
           * tests/: 223-curl.html, results/223-curl.processed: CONTENT_LENGTH
             removed as depends on curl version
   
           * tests/results/: 223-curl.processed, 394-curl.processed: curl
             fixed bug with \n in file names, test result updated
   
           * tests/388-sql.html: +libmysqlclient.so
   
           * etc/auto.p.in: +libmariadb
   
   2024-12-12  moko
   
           * tests/: 388-sql.html, results/429-sql.processed: test results
             updated after test changed
   
           * tests/: 388-sql.html, 428-sql.html, 429-sql.html: tests updated
             for newer MariaDB compatibility
   
           * tests/: 388-sql.html, 429-sql.html, results/388-sql.processed,
             results/429-sql.processed: key -> id for new MariaDB
             compatibility
   
           * src/types/pa_vmethod_frame.h: warning war
   
           * src/: include/pa_charset.h, main/pa_charset.C: Adopted patch from
             Yavor Doganov <yavor@gnu.org> with extra libxml2 headers
             including for Debian package
   
   2024-12-11  moko
   
           * src/: targets/apache/mod_parser3_core.C, targets/cgi/parser3.C,
             targets/isapi/parser3isapi.C, types/pa_vstatus.C:
             $status:log-filename added (related to feature #1262)
   
           * tests/: 440.html, results/440.processed: test for row is checked
             before accessing when table is modified during select (related to
             bug #1258)
   
           * src/: classes/table.C, include/pa_table.h: row should be checked
             before accessing as table can be modified during select (related
             to bug #1258)
   
           * src/types/pa_vmail.C: $mail:received tables -> elements array
             (related to feature #1226)
   
           * src/: classes/file.C, classes/image.C, classes/table.C,
             include/pa_exception.h: FIRST_ARG_MUST_NOT_BE_CODE replace with
             better messages (related to feature #1267)
   
           * tests/results/: 065.processed, 246.processed, 337.processed,
             342.processed, 352.processed, 356.processed, 364.processed,
             372.processed, 373.processed, 389.processed, 404.processed,
             406.processed, 414.processed, 430.processed, 432.processed,
             442.processed: tests updated after params.as_string error
             reporting was improved (related to feature #1267)
   
           * src/classes/reflection.C: error messages optimized (related to
             feature #1267)
   
           * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: even better
             error reporing for params.as_* (related to feature #1267)
   
           * src/: classes/file.C, classes/string.C, include/pa_exception.h:
             MODE_MUST_NOT_BE_CODE -> MODE_MUST_BE_STRING (related to feature
             #1267)
   
           * tests/results/: 246.processed, 414.processed, 432.processed:
             tests updated after params.as_string error reporting was improved
             (related to feature #1267)
   
           * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: better error
             reporing for params.as_string (implements feature #1267)
   
           * tests/: 065.html, results/065.processed: tests for file methods
             accepting file as filename added (related to feature #1265)
   
           * src/: classes/file.C, include/pa_exception.h,
             types/pa_vmethod_frame.C, types/pa_vmethod_frame.h: some file
             methods now accept file as path specification (adopted Sumo patch
             implements feature #1265)
   
           * tests/: 400.html, results/400.processed: tests for result
             optimization "locks" after first method call (related to feature
             #1266)
   
   2024-12-10  moko
   
           * src/types/: pa_method.h, pa_vmethod_frame.h: detailed
             result_optimization comments (related to feature #1266)
   
           * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: optimization:
             $result now stored in my_result, not in local variables hash
             (implements feature #1266)
   
   2024-12-09  moko
   
           * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: my.set ->
             set_my_variable in preparation for $result optimization (related
             to feature #1266)
   
           * tests/results/119.processed: newline corrected for some OS
   
           * tests/: 441.html, results/441.processed: Debian-specific test
             commented
   
           * buildall: pcre2 10.42 -> 10.44
   
   2024-12-08  moko
   
           * buildall: external links fixed
   
           * src/include/pa_version.h: 3.4.7b -> 3.5.0rc
   
           * src/include/pa_table.h: some clang versions compilation fix
   
           * configure.ac: 3.4.7b -> 3.5.0rc
   
   2024-12-07  moko
   
           * tests/: 443.html, 444.html, results/443.processed,
             results/444.processed: tests for named params (related to feature
             #1205)
   
           * src/: classes/reflection.C, types/pa_method.h: named_params
             support in reflection (related to feature #1205)
   
           * src/types/pa_vmethod_frame.h: extra_params and named params
             should be also inited in ^method[] call (related to feature
             #1205)
   
           * src/types/: pa_method.h, pa_vmethod_frame.h: named arguments
             support using @method[arg;.named_arg;.named_arg2] syntax
             (implements feature #1205)
   
           * tests/: 443.html, results/443.processed: test for *args inited
             added (related to bug #1264)
   
           * src/types/pa_vmethod_frame.h: *args are now inited even if not
             specified (fixes bug #1264)
   
           * tests/: 442.html, results/442.processed: tests for
             params.as_file_name(N) with empty file name added (related to
             feature #1121)
   
           * src/: classes/file.C, classes/hashfile.C, classes/image.C,
             classes/op.C, classes/string.C, classes/table.C, classes/xdoc.C,
             include/pa_exception.h, types/pa_vmethod_frame.h:
             params.as_file_name(N) added and used instead of
             params.as_string(1, FILE_NAME_MUST_BE_STRING) where appropriate
             (implements feature #1121)
   
           * src/: classes/file.C, classes/image.C, classes/op.C,
             classes/table.C, include/pa_exception.h: filename is everywhere
             params.as_string, unify exception and remove
             FILE_NAME_MUST_NOT_BE_CODE (related to feature #1121)
   
           * tests/: 141.html, results/141.processed: test for
             ^math:digest[...; $.hmac[$file] $.format[file] ] added (related
             to feature #1263)
   
           * src/classes/math.C: ^math:digest[...; $.hmac[$file]
             $.format[file] ] now supported (implements feature #1263)
   
   2024-12-06  moko
   
           * src/: targets/apache/mod_parser3_core.C, targets/cgi/parser3.C,
             targets/isapi/parser3isapi.C, types/pa_vstatus.C: $status:mode
             (cgi/console/mail/httpd/apache/isapi) added (related to feature
             #1262)
   
   2024-12-05  moko
   
           * src/targets/cgi/parser3.C: more correct arguments processing to
             block -fl config.file log.file logic (related to feature #1262)
   
   2024-12-04  moko
   
           * src/targets/cgi/parser3.C: now only one log location is selected
             and tried. -l - supported for stderr specification (related to
             feature #1262)
   
   2024-12-03  moko
   
           * tests/: 010.html, 415_dir/30.p, 415_dir/31.p,
             results/010.processed, results/415.processed: tests for
             $.(expression)[value], $a.(expression), ^v.(expression)[args]
             added (related to feature #1064)
   
           * src/main/compile.y: $.(expression)[value], $a.(expression),
             ^v.(expression)[args] now supported (implements feature #1064)
   
   2024-12-02  moko
   
           * src/targets/cgi/parser3.C: -l /path/to/log options added
             (implements feature #1262)
   
   2024-12-01  moko
   
           * tests/: 010.html, results/010.processed: some tests related to
             bug #1149 added
   
           * src/main/compile.y: the check pc.pos.col > 1 is not required
             because we can't be here without a '$' before. The begin == end
             check was incorrect since $[a]{b} fits this condition (fixes bug
             #1149)
   
   2024-11-29  moko
   
           * src/classes/array.C: warning war
   
   2024-11-26  moko
   
           * tests/: 441.html, results/441.processed: a bit more testing
             (related to bug #1238)
   
           * src/main/pa_exec.C: only " now quoted (related to bug #1239)
   
           * src/main/pa_exec.C: simplification arg_quote added (related to
             bug #1229)
   
   2024-11-25  moko
   
           * src/main/pa_exec.C: separated cmd_quote and exe_quote (related to
             bug #1239)
   
   2024-11-24  moko
   
           * src/main/pa_exec.C: added cmd.exe specific
   
           * tests/: 441.html, cat-windows.sh, cat.sh, results/441.processed:
             tests for ^file::exec env and args tainting tests (related to bug
             #1239)
   
           * src/main/pa_exec.C: shell_quote added (partial fix for bug #1239)
   
           * src/include/pa_config_includes.h: added recommendations for
             libxslt.a and and libexslt.a compilation under cygwin
   
           * tests/results/102.processed: $form:fields.value is now writable,
             as $form:value (related to feature #1254)
   
           * src/include/pa_config_includes.h: cigwin compilation fixes
   
   2024-11-23  moko
   
           * tests/httpd/site/run_server.sh: to simplify testing
   
           * tests/httpd/: 030.txt, 031.curl, 040.txt, ok.log, run_tests.sh,
             site/form.html: $form:files and $form:elements tests added, tests
             with curl supported (related to feature #1254)
   
           * src/: include/pa_symbols.h, main/pa_symbols.C, types/pa_vform.C,
             types/pa_vform.h: $form:elements implemented, VForm::get_element
             uses faster SYMBOLS_EQ, hashes no longer copied when using
             $form:fields/tables/files/imap and can be edited (implements
             feature #1254)
   
           * src/main/pa_http.C: pa_send added to handle partial writes (fixes
             bug #1261)
   
   2024-11-17  moko
   
           * tests/: 440.html, results/440.processed: tests for
             ^table.array[], offset restoration, iterators robust tests
             (related to bug #1258, features #1259 and #1260)
   
           * tests/: 439.html, results/439.processed: array and hash iterators
             robust tests (related to feature #1260)
   
           * src/: classes/array.C, classes/table.C, include/pa_array.h,
             include/pa_table.h: Array_robust_iterator added and used in cases
             where array can be modified during iteration (implements feature
             #1260)
   
           * src/classes/table.C: ^table.array[], ^table.array[column name],
             ^table.array{code} added (implements feature #1259)
   
   2024-11-16  moko
   
           * src/: classes/table.C, include/pa_table.h, main/pa_table.C: fixed
             table current row restoration after exception and table changes
             (fixes bug #1258)
   
   2024-11-13  moko
   
           * src/classes/table.C: minor optimization
   
           * src/main/pa_string.C: \r added to default ^string.trim chars list
             (https://www.parser.ru/forum/?id=86648)
   
   2024-11-11  moko
   
           * src/classes/classes.C: set_base commented
   
           * src/classes/: classes.C, xdoc.C: cleanup after classes.awk
             deleted
   
           * src/classes/classes.vcproj: no more classes.awk and classes.inc
   
           * src/classes/: Makefile.am, classes.awk: no more classes.awk and
             classes.inc
   
           * src/: classes/classes.C, classes/classes.awk, classes/classes.h,
             main/pa_globals.C: classes.awk is useless, preparing to delete it
   
           * src/classes/classes.h: temp fix
   
   2024-11-10  moko
   
           * src/: classes/date.C, classes/file.C, classes/image.C,
             classes/op.C, main/pa_string.C: minor optimization
   
           * src/: classes/date.C, classes/file.C, classes/image.C,
             classes/op.C, main/pa_string.C: typo fixed
   
           * src/: classes/classes.awk, classes/classes.h, classes/date.C,
             classes/file.C, classes/image.C, classes/op.C,
             main/pa_charsets.C, main/pa_string.C: singletones used to reduce
             memory allocation befor main(). Only 3 allocations in chatsets
             left (implements feature #1257)
   
           * src/targets/: apache/mod_parser3_core.C, isapi/parser3isapi.C:
             minor naming convention fix
   
           * tests/: 437.html, 438.html, httpd/ok.log, httpd/site/029.html,
             results/436.processed, results/437.processed,
             results/438.processed: tests for @unhandled_exception processing
             (related to feature #1256)
   
           * src/: main/pa_request.C, targets/apache/mod_parser3_core.C,
             targets/cgi/pa_sapi_info.h, targets/cgi/parser3.C,
             targets/isapi/parser3isapi.C: Exceptions in @unhandled_exception
             are now processed in request::core for correct logging and
             reporting (feature #1256)
   
           * src/: include/pa_sapi.h, main/pa_request.C,
             targets/apache/mod_parser3_core.C, targets/cgi/parser3.C,
             targets/isapi/parser3isapi.C: unhandled exception now called if
             exception occures during $response:download processing (related
             to bug #1255)
   
           * etc/auto.p.in: better 404 error reporting
   
   2024-11-09  moko
   
           * src/main/pa_memory.C: more detailed usage comment
   
           * src/main/pa_memory.C: usage commented
   
           * src/main/pa_memory.C: minor cleanup
   
           * src/types/: pa_varray.h, pa_vregex.h: warnings war
   
           * tests/: 436.html, httpd/029.txt, httpd/ok.log,
             httpd/site/029.html, results/436.processed: test for exception in
             $response:download[] added
   
           * src/targets/cgi/parser3.C: sync CGI mode behavior with httpd mode
             and avoid exit status 1 on die
   
           * tests/results/: 007.processed, 019.processed, 098.processed,
             103.processed, 233.processed: windows headers matter for binary
             files
   
           * tests/httpd/ok.log: tests results updated as extra headers now
             cleared on error (related to bug #1255)
   
           * src/: include/pa_sapi.h, targets/apache/mod_parser3_core.C,
             targets/cgi/pa_sapi_info.h, targets/cgi/parser3.C,
             targets/isapi/parser3isapi.C: headers buffering to avoid extra
             headers in errors, custom send_error in cgi/httpd mode to avoid
             memory allocations (fixes bug #1255)
   
   2024-11-07  moko
   
           * tests/: 264.html, results/264.processed: tests updated to test
             removal of only trailing empty arguments for backward
             compatibility (related to feature #1252)
   
           * src/classes/file.C: remove trailing empty arguments for backward
             compatibility (related to feature #1252)
   
   2024-11-05  moko
   
           * src/targets/cgi/: pa_sapi_info.h, parser3.C: avoid GPF in very
             low memory case, when static initialization failed even before
             main() start
   
   2024-11-04  moko
   
           * configure, src/include/pa_config_auto.h.in,
             src/include/pa_config_fixed.h: _locking no longer used
   
           * configure.ac: _locking no longer used (related to bug #1231)
   
           * src/main/pa_os.C: lock error fine-tuning (related to bug #1231)
   
           * src/main/pa_os.C: lock errors tuning (related to bug #1231)
   
           * src/lib/sdbm/: pa_file_io.C, pa-include/pa_file_io.h: remove
             unused
   
           * src/: lib/sdbm/pa_file_io.C, main/pa_common.C: errno should not
             be used on locking errors (related to bug #1231)
   
           * src/main/pa_os.C: GetLastError used as errno is not set (related
             to bug #1231)
   
           * src/main/pa_os.C: under windows _locking replaced with LockFileEx
             allowing shared lock to work (fixes bug #1231)
   
           * INSTALL: actualized, minor fixes
   
           * etc/auto.p.in: default LIMITS added
   
           * AUTHORS: links actualized
   
           * src/: classes/array.C, classes/bool.C, classes/classes.C,
             classes/classes.awk, classes/classes.h, classes/curl.C,
             classes/date.C, classes/double.C, classes/file.C, classes/form.C,
             classes/hash.C, classes/hashfile.C, classes/image.C,
             classes/inet.C, classes/int.C, classes/json.C, classes/mail.C,
             classes/math.C, classes/memcached.C, classes/memory.C,
             classes/op.C, classes/reflection.C, classes/regex.C,
             classes/response.C, classes/string.C, classes/table.C,
             classes/void.C, classes/xdoc.C, classes/xnode.C, classes/xnode.h,
             include/pa_array.h, include/pa_base64.h,
             include/pa_cache_managers.h, include/pa_charset.h,
             include/pa_charsets.h, include/pa_common.h,
             include/pa_config_fixed.h, include/pa_config_includes.h,
             include/pa_dictionary.h, include/pa_dir.h,
             include/pa_exception.h, include/pa_exec.h, include/pa_globals.h,
             include/pa_hash.h, include/pa_http.h, include/pa_memory.h,
             include/pa_opcode.h, include/pa_operation.h, include/pa_os.h,
             include/pa_pool.h, include/pa_random.h, include/pa_request.h,
             include/pa_request_charsets.h, include/pa_request_info.h,
             include/pa_sapi.h, include/pa_socks.h,
             include/pa_sql_connection.h, include/pa_sql_driver_manager.h,
             include/pa_stack.h, include/pa_string.h,
             include/pa_stylesheet_connection.h,
             include/pa_stylesheet_manager.h, include/pa_symbols.h,
             include/pa_table.h, include/pa_threads.h, include/pa_types.h,
             include/pa_uue.h, include/pa_xml_exception.h,
             include/pa_xml_io.h, lib/gd/gif.C, lib/gd/gif.h, lib/gd/gifio.C,
             lib/md5/pa_md5.h, lib/md5/pa_md5c.c,
             lib/memcached/pa_memcached.C, lib/memcached/pa_memcached.h,
             lib/punycode/pa_idna.c, lib/punycode/pa_idna.h,
             lib/sdbm/pa_file_io.C, lib/sdbm/pa_strings.C, lib/smtp/comms.C,
             lib/smtp/smtp.C, lib/smtp/smtp.h, main/compile.C,
             main/compile.tab.C, main/compile.y, main/compile_tools.C,
             main/compile_tools.h, main/execute.C, main/pa_base64.C,
             main/pa_cache_managers.C, main/pa_charset.C, main/pa_charsets.C,
             main/pa_common.C, main/pa_dictionary.C, main/pa_dir.C,
             main/pa_exception.C, main/pa_exec.C, main/pa_globals.C,
             main/pa_http.C, main/pa_memory.C, main/pa_os.C, main/pa_pool.C,
             main/pa_random.C, main/pa_request.C, main/pa_socks.C,
             main/pa_sql_driver_manager.C, main/pa_string.C,
             main/pa_stylesheet_connection.C, main/pa_stylesheet_manager.C,
             main/pa_symbols.C, main/pa_table.C, main/pa_threads.C,
             main/pa_uue.C, main/pa_xml_exception.C, main/pa_xml_io.C,
             main/untaint.C, sql/pa_sql_driver.h,
             targets/apache/mod_parser3.c, targets/apache/mod_parser3_core.C,
             targets/apache/pa_httpd.h, targets/cgi/parser3.C,
             targets/isapi/parser3isapi.C, types/pa_junction.h,
             types/pa_method.h, types/pa_property.h, types/pa_value.C,
             types/pa_value.h, types/pa_varray.C, types/pa_varray.h,
             types/pa_vbool.h, types/pa_vcaller_wrapper.h, types/pa_vclass.C,
             types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vconsole.h,
             types/pa_vcookie.C, types/pa_vcookie.h, types/pa_vdate.C,
             types/pa_vdate.h, types/pa_vdouble.h, types/pa_venv.C,
             types/pa_venv.h, types/pa_vfile.C, types/pa_vfile.h,
             types/pa_vform.C, types/pa_vform.h, types/pa_vhash.C,
             types/pa_vhash.h, types/pa_vhashfile.C, types/pa_vhashfile.h,
             types/pa_vimage.C, types/pa_vimage.h, types/pa_vint.h,
             types/pa_vjunction.C, types/pa_vjunction.h, types/pa_vmail.C,
             types/pa_vmail.h, types/pa_vmath.C, types/pa_vmath.h,
             types/pa_vmemcached.C, types/pa_vmemcached.h, types/pa_vmemory.h,
             types/pa_vmethod_frame.C, types/pa_vmethod_frame.h,
             types/pa_vobject.C, types/pa_vobject.h, types/pa_vregex.C,
             types/pa_vregex.h, types/pa_vrequest.C, types/pa_vrequest.h,
             types/pa_vresponse.C, types/pa_vresponse.h,
             types/pa_vstateless_class.C, types/pa_vstateless_class.h,
             types/pa_vstateless_object.h, types/pa_vstatus.C,
             types/pa_vstatus.h, types/pa_vstring.C, types/pa_vstring.h,
             types/pa_vtable.C, types/pa_vtable.h, types/pa_vvoid.C,
             types/pa_vvoid.h, types/pa_vxdoc.C, types/pa_vxdoc.h,
             types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wcontext.C,
             types/pa_wcontext.h, types/pa_wwrapper.h: Copyright year updated
   
   2024-10-28  moko
   
           * src/classes/array.C: avoid invalidate()
   
           * src/: classes/array.C, types/pa_varray.h: minor optimization for
             fused to survive in ^array::copy[$a] (related to feature #930)
   
           * src/types/pa_varray.h: minor optimization as last element is
             allways defined if present
   
           * tests/: 435.html, results/435.processed: tests for
             ^hash.set[first|last;value], ^hash.set([-+]index)[value] and same
             for array added (related to feature #1253)
   
           * src/classes/array.C: typo fixed
   
           * src/classes/: array.C, hash.C: ^hash.set[first|last;value] +
             ^hash.set([-+]index)[value], and same for array added (implements
             feature #1253)
   
           * tests/results/: 246.processed, 298.processed, 342.processed,
             389.processed, 397.processed, 430.processed, 432.processed: tests
             results update after minor exceptions texts fixes
   
   2024-10-27  moko
   
           * src/: classes/array.C, classes/hash.C, classes/math.C,
             classes/reflection.C, classes/string.C, classes/table.C,
             main/pa_string.C, types/pa_varray.h, types/pa_vfile.C,
             types/pa_vmethod_frame.h: handy as_index() added, several
             exceptions texts fixed (related to feature #930)
   
           * src/: classes/array.C, types/pa_varray.h: non-working
             $array.fields removed, ^array.delete[index] supported (related to
             feature #930)
   
           * tests/: 431.html, results/431.processed: tests updated after
             ^a.delete[3] supported
   
           * tests/: 431.html, 434.html, results/434.processed: tests for last
             element used, push/pop, exceptions during arguments processing
             and used caching (related to feature #930)
   
           * src/: classes/array.C, types/pa_varray.h: change_used added for
             better used caching and now no issues if exception occures during
             append arguments processing (related to feature #930)
   
           * src/: classes/array.C, types/pa_varray.h: ^array.push[] /
             ^array.pop[] added, last element is allways used (related to
             feature #930)
   
   2024-10-26  moko
   
           * src/: classes/array.C, include/pa_array.h, types/pa_varray.C,
             types/pa_varray.h: confirm_all_used added where possible (related
             to feature #930)
   
           * src/: classes/array.C, include/pa_array.h, types/pa_varray.h:
             small array optimizations (related to feature #930)
   
           * src/types/pa_varray.h: DEBUG_ARRAY_USED added to simplify testing
   
           * tests/: 431.html, results/431.processed: test for
             ^array.compact[undef] added
   
           * src/classes/array.C: ^array.compact[] now have optional 'undef'
             argument to also compact undefined elements (related to feature
             #930)
   
   2024-10-24  moko
   
           * src/: classes/array.C, types/pa_varray.C, types/pa_varray.h:
             VArray::hash is used rarery, no longer caching the result
   
           * tests/results/432.processed: testing removed from tests
   
   2024-10-23  moko
   
           * tests/: 431.html, results/431.processed: ^array.compact[] test
             added
   
           * src/: classes/array.C, types/pa_varray.h: ^array.compact[] added
   
           * tests/: 432.html, results/432.processed: testing ^array.at[] for
             both "solid" and "sparse" arrays
   
           * src/classes/array.C: ^array.at[] speedup for "solid" arrays
   
   2024-10-22  moko
   
           * tests/results/264.processed: spelling
   
           * src/classes/file.C: spelling
   
           * tests/: 264.html, cat-windows.sh, cat.sh, results/264.processed:
             tests updated after ^file::exec[cmd;;$array] implemented and
             empty arguments not skipped (related to feature #1252)
   
           * src/classes/file.C: ^file::exec[cmd;;$array] supported
             (implements feature #1252) bugfix: empty arguments no longer
             skipped
   
   2024-10-21  moko
   
           * tests/httpd/: 001.txt, 002.txt, 003.txt, 004.txt, 005.txt,
             007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt,
             014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt,
             021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt,
             028.txt, 030.txt, ok.log, run_tests.sh, site/httpd.p,
             site/index.html, site/test.txt: httpd tests added
   
   2024-10-20  moko
   
           * src/classes/string.C: warnings war
   
           * src/: main/pa_string.C, classes/array.C: warnings war
   
           * src/classes/json.C: warnings war
   
           * src/classes/image.C: warnings war
   
           * src/: classes/table.C, types/pa_varray.C: warnings war
   
           * src/classes/array.C: warning war
   
           * src/: classes/classes.vcproj, types/types.vcproj: vcproj: +=array
   
           * src/main/main.vcproj: warnings war
   
   2024-10-19  moko
   
           * tests/427.html: test updated after constructors renamed
   
   2024-10-18  moko
   
           * tests/: 421.html, 430.html, 431.html, 432.html, 433.html,
             results/421.processed, results/430.processed,
             results/431.processed: test updated after constructors renamed
   
           * src/classes/array.C: create -> copy, new -> create according to
             https://www.parser.ru/forum/?id=86603 discussion (related to
             feature #930)
   
   2024-10-16  moko
   
           * src/classes/json.C: $json:array[array or hash] added to provide
             more backward compatibility (implements feature #1251)
   
   2024-10-15  moko
   
           * tests/: 421.html, results/421.processed: test results updated
             after missing constuctor error check added and array is_index
             check added
   
           * src/main/execute.C: absent constructor message fixed
   
   2024-10-13  moko
   
           * src/types/pa_varray.h: ^array.$i[arg] is rare, thus checking i
             with is_index() before calling index() for better error reporting
             in method name typo (was invalid number, not method not found
             exception).
   
   2024-10-08  moko
   
           * src/types/pa_varray.C: Visual Studio compatibilty issues fixed
   
           * src/include/pa_array.h: warnings war
   
 2024-10-05  moko  2024-10-05  moko
   
         * src/classes/table.C: ^table.cells[] / ^table.cells(limit) added,          * src/classes/table.C: ^table.cells[] / ^table.cells(limit) added,

Removed from v.1.200  
changed lines
  Added in v.1.210


E-mail: