Diff for /parser3/ChangeLog between versions 1.92 and 1.120

version 1.92, 2013/10/29 16:21:27 version 1.120, 2019/09/09 02:05:34
Line 1 Line 1
   2019-09-06  moko
   
           * tests/388-sql.html: mysql compat
   
           * src/: classes/hash.C, classes/string.C, classes/table.C,
             classes/void.C, include/pa_common.h, main/pa_common.C: cleanup:
             sql_ variables declaration moved to pa_common.h
   
   2019-01-15  moko
   
           * src/classes/curl.C: ^curl:info[] - OrderedHashString used, items
             logically sorted
   
   2018-12-27  moko
   
           * src/include/pa_config_includes.h: warning war:
             -Wdeprecated-register added for C++ 17
   
   2018-10-15  moko
   
           * configure.ac: FreeBSD 11.2 can be build with ./configure
             --with-gc=/usr/local/lib/ --with-pcre=/usr/local/
             --with-xml=/usr/local/
   
   2018-09-24  moko
   
           * tests/: 396.html, 396.tiff, results/396.processed: test for
             ^image::measure[] now supports tiff added (related to feature
             #1188)
   
           * src/classes/image.C: ^image::measure[] now supports tiff
             (implements feature #1188)
   
   2018-09-20  moko
   
           * tests/: 395.bmp, 395.html, results/395.processed: test for bmp
             files measure added (related to ticket #1188)
   
           * src/classes/image.C: measure of bmp files implemented (related to
             ticket #1188)
   
   2018-09-18  moko
   
           * tests/: 394-curl.html, results/394-curl.processed,
             results/auto.p: test for bug #1187 (max_file_size check for head
             requests) added
   
   2018-08-24  moko
   
           * src/classes/curl.C: CURLOPT_NOBODY value used to check if
             response content-length check is required (fixes bug #1187)
   
   2018-05-11  moko
   
           * tests/: 157.html, results/157.processed: test for ^file:copy[..;
             $.append(bool) ] option added (related to feature #919)
   
           * src/classes/file.C: ^file:copy[..; $.append(bool) ] option added
             from misha@ patch (implements feature #919)
   
   2018-03-22  moko
   
           * src/main/pa_request.C: $response:download[ $.file[file.namef] ]
             worked rather slow (about 1mb/sec) with 10kb buffer, replaced it
             with 128kb buffer.  Now works at least 12 times faster. :) May be
             Windows-only problem.
   
           * src/lib/cord/cord.vcproj: Profile * complete cleanup (VS 2003
             build fix)
   
   2018-02-03  moko
   
           * src/main/execute.C: removes irrelevant lines from exception stack
             trace when exceptions occurs in assigment (fixes bug #1165)
   
           * tests/: 393.html, results/393.processed: test for behavour after
             "Property can not be created, already exists field with that
             name" exception removed (related to feature #1183)
   
           * src/types/pa_vclass.C: "Property can not be created, already
             exists field with that name" exception removed (implements
             feature #1183)
   
   2018-01-19  moko
   
           * src/classes/string.C: whitespace
   
           * src/classes/string.C: whitespace
   
           * tests/: 392.html, results/392.processed: test for
             ^regex::create[$regex] added (related to feature #1135)
   
           * src/: classes/regex.C, types/pa_vregex.C, types/pa_vregex.h:
             ^regex::create[$regex] added (implements feature #1135)
   
           * src/types/: pa_vclass.C, pa_vclass.h: CLASS_GETTER_UNPROTECTED
             commented define added (related to feature #1157)
   
   2018-01-17  moko
   
           * buildall: gc 7.6.0 -> 7.6.2 (related to feature #1136)
   
   2018-01-15  moko
   
           * tests/: 390.html, results/390.processed: real path replaced by
             stub
   
           * tests/: 391.html, results/391.processed: test for feature #1181
             (XML_PARSE_HUGE exception) added
   
   2018-01-11  moko
   
           * bin/auto.p.dist.in: sqlite3 -> libsqlite3
   
           * src/classes/xdoc.C: xmlReadMemory/xmlReadFile now used with
             XML_PARSE_HUGE option passed by default (implements feature
             #1181)
   
           * src/classes/string.C: whitespace
   
   2017-12-10  moko
   
           * tests/: 389.html, 390.html, results/389.processed,
             results/390.processed: image code coverage tests added (related
             to feature #1125)
   
   2017-12-08  moko
   
           * tests/: 346-curl.html, 388-sql.html, 389.html,
             results/346-curl.processed, results/388-sql.processed,
             results/389.processed: more code coverage tests
   
           * tests/: 264.html, results/264.processed: code coverage for
             ^file::exec[]
   
   2017-12-07  moko
   
           * tests/: 174.html, 388-sql.html, 389.html,
             results/388-sql.processed, results/389.processed,
             results/174.processed: more coverage tests
   
           * src/classes/math.C: exception text actualized
   
   2017-12-06  moko
   
           * tests/388-sql.html: $SQL can be here
   
           * tests/results/auto.p: $SQL not required here
   
           * tests/: 388-sql.html, 389.html, Makefile,
             results/388-sql.processed, results/389.processed, results/auto.p:
             code coverage tests for sql (using sqlite) and int/double/bool
             added (related to feature #1125)
   
           * src/: classes/classes.vcproj, lib/cord/cord.vcproj,
             lib/json/json.vcproj, lib/md5/md5.vcproj,
             lib/memcached/memcached.vcproj, lib/punycode/punycode.vcproj,
             lib/sdbm/sdbm.vcproj, lib/smtp/smtp.vcproj, main/main.vcproj,
             targets/apache/ApacheModuleParser3Core.vcproj,
             targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj,
             types/types.vcproj: gc\include no longer required
   
           * src/lib/: cord/cord.vcproj, gd/gd.vcproj: gc\include no longer
             required
   
           * src/: classes/Makefile.am, classes/table.C,
             include/pa_config_includes.h, include/pa_string.h,
             lib/cord/Makefile.am, lib/cord/cordbscs.c, lib/cord/cordxtra.c,
             lib/gd/Makefile.am, lib/json/Makefile.am, lib/sdbm/Makefile.am,
             lib/smtp/Makefile.am, main/Makefile.am, main/untaint.C,
             targets/apache/Makefile.am, targets/cgi/Makefile.am,
             types/Makefile.am: to be sure that our version of gc.h/cord.h is
             used, we now include it directly
   
   2017-12-04  moko
   
           * src/lib/: gd/gd.vcproj, md5/md5.vcproj,
             memcached/memcached.vcproj, punycode/punycode.vcproj,
             sdbm/sdbm.vcproj, smtp/smtp.vcproj: includes unified, gc added
             where required
   
           * src/: classes/memory.C, include/pa_config_includes.h: GC_DEBUG
             now can be used to trace memory allocations
   
           * src/: classes/table.C, include/pa_config_includes.h,
             include/pa_memory.h, lib/cord/cordbscs.c, lib/cord/cordxtra.c,
             main/pa_globals.C: PA_DEBUG_DISABLE_GC works again, pa_gc_*
             method removes, libcord also can work without libgc
   
           * src/classes/json.C: pa_gc_malloc_atomic should not be used
   
   2017-11-29  moko
   
           * src/classes/curl.C: no exception if some of ^curl:info[] elements
             are not present (related to feature #1173)
   
           * tests/346-curl.html: test updated to test curl content-length bug
             (related to feature #1173)
   
           * tests/results/346-curl.processed: more test for content-length
             curl bug (related to feature #1173)
   
           * tests/results/346-curl.processed: test results updated after
             #1173 implemented
   
   2017-11-28  moko
   
           * src/classes/curl.C: another libcurl Content-length bug walkaround
             (related to feature #1173)
   
   2017-11-27  moko
   
           * src/: classes/curl.C, lib/curl/curl.h: ^curl:options
             $.http_version[version string] added (implements feature #1173),
             CURLOPT_POSTFIELDSIZE is set to 0 now only for old versions,
             where $post(true) bug existed.
   
   2017-11-18  moko
   
           * src/include/pa_memory.h: warning war (related to feature #1170)
   
           * src/include/pa_pool.h: RedHat 7.3 compatibility fixed (related to
             feature #1170)
   
   2017-11-17  moko
   
           * src/include/pa_memory.h: CHECK_DELETE_USAGE define added as
             std::basic_stringstream used in ^table.csv-string[] is compatible
             with delete usage check only under Debian 9 (related to feature
             #1170)
   
   2017-11-16  moko
   
           * src/: classes/curl.C, classes/hash.C, classes/json.C,
             classes/table.C, classes/xdoc.C, include/pa_config_includes.h,
             include/pa_hash.h, include/pa_memory.h, include/pa_pool.h,
             main/pa_charset.C, main/pa_memory.C, main/pa_xml_io.C,
             sql/pa_sql_driver.h, types/pa_value.h, types/pa_vmemcached.C,
             types/pa_vxdoc.h: regular new/delete no longer used in our code,
             stubs defend from accidental use (implements feature #1170)
   
   2017-06-24  moko
   
           * configure.ac: minor fix: thanks to alx@
   
   2017-05-29  moko
   
           * src/types/pa_vmail.C: mail headers are now correctly truncated -
             MAX_CHARS_IN_HEADER_LINE value fixed, mail_header_utf8_substring
             added to avoid cutting of UTF-8 chars (fixed bug #123)
   
           * src/main/untaint.C: as in case of <space>=?UTF-8?Q?= space is
             ignored, =?UTF-8?Q?= should start in case of leading space
             (related to bug #123)
   
           * buildall: echo -n -> printf for OS X. :)
   
   2017-05-25  moko
   
           * tests/: 288.html, results/288.processed: test updated afted
             setting $o.prop without setter exception removed (related to
             feature #1157)
   
           * src/types/pa_vclass.C: no more "this property has no setter
             method" when setting $o.prop without setter (implements feature
             #1157)
   
           * buildall: echo \c -> echo -n for FreeBSD
   
           * configure, configure.ac, src/include/pa_config_auto.h.in,
             src/types/pa_vdouble.h: isfinite now checked in configure
   
           * compile, config.guess, config.sub, depcomp, install-sh, missing:
             upgraded to automake 1.15
   
   2017-05-23  moko
   
           * src/types/pa_vdouble.h: finite returned where isfinite not
             defined
   
   2017-05-22  moko
   
           * buildall: gc-7.6.0 USE_LIBC_PRIVATES allready defined warning war
   
           * buildall: extern CFLAGS setting support
   
           * src/types/pa_vdouble.h: warning war: finine() -> isfinite() 4OSX
   
           * buildall: http -> https
   
           * buildall: gc-7.2f -> gc-7.6.0
   
   2017-05-20  moko
   
           * buildall: https, pcre, xml, xslt updated to current versions
             (related to feature #1136)
   
   2017-05-19  moko
   
           * tests/097.html: after parser.ru moved to https
   
   2017-05-17  moko
   
           * tests/results/: 175.processed, 372.processed: tests resuls
             updated after lintian spelling typos fixed (related to bug #1156)
   
           * src/: classes/file.C, classes/hash.C, classes/reflection.C,
             classes/string.C, classes/table.C, main/pa_charset.C,
             main/pa_common.C, main/pa_http.C, types/pa_vimage.h,
             types/pa_vmail.C, types/pa_vxdoc.h: fixed spelling typos from
             lintian reported by Sergey B Kirpichev (fixes bug #1156)
   
           * tests/results/096.processed: +XMP
   
           * tests/: 096.html, 096_dir/188.jpg: ^image::measure[] $.exif(true)
             $.xmp(true) options tested (test for feature #1154)
   
           * src/classes/image.C: ^image:measure[] options $.exif(false)
             $.xmp(false) $.xmp-charset[UTF-8] implemened. exif no longer
             fetched by default! (implements feature #1154)
   
   2017-05-16  moko
   
           * tests/: 256.html, results/256.processed: ^json:string[$image] now
             allowed (related to feature #1154)
   
           * src/: classes/image.C, types/pa_vimage.C, types/pa_vimage.h:
             initial XMP implementation - without options and transcode
             (related to feature #1154)
   
   2017-05-12  moko
   
           * src/: classes/image.C, types/pa_vimage.C, types/pa_vimage.h:
             image: exif moved to ffields, skipped in ^image.html[] where
             iterators now used (preparation for feature #1154)
   
   2017-05-05  moko
   
           * tests/: 387.html, 387_dir/A.p, 387_dir/B.p,
             results/387.processed: test for circular class inheritance check
             added (related to bug #1150)
   
           * src/types/pa_vstateless_class.C: circular class inheritance check
             added (fixes endless add_derived bug #1150)
   
   2017-05-04  moko
   
           * tests/: 386.html, results/386.processed: test for
             $table.value(number) added (related to feature #1152)
   
           * src/types/pa_vtable.C: table put_element: column value must be
             string  - > column value must be string compatible to allow
             $t.value(1) (implements feature #1152)
   
   2017-05-03  moko
   
           * src/main/pa_request.C: $use[$method] is not possible, reverting
             (related to feature #1151)
   
           * tests/: 386.html, 386.p, results/386.processed: $use[$method] is
             not possible, removing test (related to feature #1151)
   
           * src/: main/pa_request.C, types/pa_vstateless_class.h:
             get_element_method added and used to allow $use[$method] and
             $autouse[$method] (implements feature 1151)
   
           * tests/: 386.html, 386.p, results/386.processed: test for @use in
             variable added (related to feature #1151)
   
           * tests/results/226.processed: actualized after ^try-catch used
   
           * tests/: 226.html, 385.html, results/385.processed: test for
             @autouse in variable added
   
           * configure.ac, src/include/pa_version.h: 3.4.5 -> 3.4.6b
   
   2017-02-27  moko
   
           * configure.ac, src/include/pa_version.h: 3.4.5rc -> 3.4.5
   
   2017-02-20  moko
   
           * operators.txt: actualization + beauty
   
   2017-02-16  moko
   
           * tests/: 384.html, results/384.processed: test for
             ^reflection:mixin[; $.name[] ] option added (related to feature
             #1089)
   
           * tests/: 384.html, results/384.processed: test for
             ^reflection:mixin[] added (related to feature #1089)
   
           * src/types/pa_value.h: warning war: virtual ~Value() added
   
   2017-02-15  moko
   
           * src/include/pa_hash.h: compilation without HASH_CODE_CACHING
             fixed
   
           * tests/: 320.html, results/320.processed: $.reverse(true/false)
             test added (related to feature #1069)
   
           * src/: classes/reflection.C, types/pa_vstateless_class.h:
             compilation without HASH_ORDER fixed
   
           * src/: classes/reflection.C, include/pa_hash.h:
             $.reverse(true/false) added to ^reflection:methods[] (related to
             feature #1069)
   
   2017-02-14  moko
   
           * tests/: 152.html, results/152.processed: test for $._default hash
             added (related to bug #1131)
   
           * tests/: 277.html, results/277.processed: test for hash with only
             $._default is now defined (related to bug #1131)
   
           * src/types/pa_vhash.h: hash with only $._default is now defined
             (fixed bug #1131)
   
   2017-02-13  moko
   
           * tests/cat-windows.sh: cat-windows added (cygwin required)
   
           * tests/: 171.html, 264.html, 286.html, 370.html,
             results/320.processed, results/375.processed, results/auto.p:
             cat-windows.sh support added
   
           * tests/375.html: Windows support
   
           * tests/270.html: documented
   
           * tests/: 270.html, run_parser.cmd: bugfix: PATH_INFO has slashes
             (not backslashes) even under Windows (broke test 270)
   
   2017-02-12  moko
   
           * tests/: descript.ion, todo.txt: cleanup
   
   2017-02-09  moko
   
           * tests/: 253.html, 255.html, 275.html, 347-curl.html,
             run_tests.cmd: Windows compatibility
   
           * tests/make_tests.cmd: removed as test can't be passed - TZ is set
             incorrectly (GMT) if parser is called from cygwin
   
   2017-02-08  moko
   
           * operators.txt: actualization 15% completed
   
           * operators.txt: cp1251 -> utf-8
   
           * NEWS, README: minor update
   
           * src/include/pa_config_includes.h: warning war continues
   
           * src/: include/pa_config_includes.h, include/pa_memory.h,
             targets/apache/mod_parser3_core.C, targets/cgi/parser3.C,
             targets/isapi/parser3isapi.C, types/pa_vdouble.h: warning war:
             gcc 6.x issues fixed
   
           * src/: 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_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_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_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/apache/pa_threads.C,
             targets/cgi/pa_threads.C, targets/cgi/parser3.C,
             targets/isapi/pa_threads.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_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:
             2015->2017
   
   2017-02-07  moko
   
           * configure.ac, src/include/pa_version.h: 3.4.5b -> 3.4.5rc
   
   2017-02-06  moko
   
           * src/main/pa_common.C: minor fixes, whitespace
   
           * src/: classes/curl.C, classes/file.C, classes/image.C,
             include/pa_common.h, include/pa_dir.h, main/pa_common.C,
             main/pa_dir.C, main/pa_exec.C: wchar filenames API under Windows
             now used (implements feature #1081)
   
           * src/: types/pa_vcookie.C, main/pa_charset.C: cleanup
   
   2017-02-01  moko
   
           * src/include/pa_request.h: cleanup
   
   2017-01-30  moko
   
           * src/main/pa_request.C: file_lock_wait_limit -> lock_wait_timeout
   
   2017-01-29  moko
   
           * tests/: 383.html, results/383.processed: test for
             ^reflection:stack[] added (related to feature #1052)
   
           * src/classes/reflection.C: else added
   
           * src/: include/pa_os.h, main/pa_os.C, main/pa_request.C:
             $.max_file_lock_wait added (implements feature #1128)
   
   2017-01-28  moko
   
           * tests/: 379-curl.html, results/379-curl.processed: curl empty
             body and other cases tests added (related to featue #1014)
   
           * src/classes/curl.C: bug if response is empty fixed (related to
             feature #1014)
   
   2017-01-27  moko
   
           * src/: classes/json.C, classes/reflection.C, include/pa_request.h,
             main/execute.C, types/pa_vmethod_frame.h: ^reflection:stack[]
             added (implements feature #1052)
   
   2017-01-25  moko
   
           * tests/: 382.html, results/382.processed: @GET_DEFAULT returning
             method test added
   
   2017-01-23  moko
   
           * src/classes/reflection.C: optimization: options->get replaced by
             hash iterator
   
           * tests/: 381.html, results/381.processed: now -> fixed date
   
           * src/main/pa_request.C: warning war
   
           * src/targets/cgi/parser3.vcproj: Stack size increased from 2Mb to
             5Mb (fixes bug #1058)
   
           * src/classes/curl.C: warning war
   
           * tests/: 381.html, results/381.processed: tests for ^json:string
             $.one-line(true) option added (related to feature #1124)
   
           * src/: classes/json.C, types/pa_value.h: $json-string
             $.one-line(true|false) options is now supported (implements
             feature #1124)
   
           * tests/: 380.html, results/380.processed: test for modified
             $.max_file_size added (related to bug #1014)
   
           * tests/: 379.html, results/auto.p: tests for rewritten http file
             load added (related to bug #1014)
   
           * src/: classes/curl.C, include/pa_common.h, include/pa_http.h,
             main/pa_common.C, main/pa_http.C: check_file_size added and used
             in curl / file load from disk and http, http file load rewritten
             (related to bug #1014)
   
   2017-01-18  moko
   
           * tests/: 378.html, results/378.processed: tests for ^result[]
             added (related to feature #66)
   
           * src/: classes/op.C, include/pa_request.h: ^return[] can't be
             Method::CO_WITHOUT_FRAME as frame still added in expression
             (related to feature #66)
   
   2017-01-17  moko
   
           * tests/: 377.html, results/377.processed: test for different
             combinations of breaks in body and delimiter (related to bug
             #1077)
   
           * tests/: 376.html, results/376.processed: many ^break[] tests
             added (related to bug #1077)
   
           * src/types/pa_vmethod_frame.C: "break is not allowed in expression
             passed to native method" exception added to avoid bugs due to
             WRITE_EXPR_RESULT skipped and native methods execution continues
             after ^break[] (related to bug #1077)
   
   2017-01-14  moko
   
           * tests/: 330.html, results/330.processed: test results updated
             after ^break[] bugs where fixed (related to bug #1077)
   
           * tests/: 329.html, results/329.processed: test results updated
             after ^break[] bugs where fixed (related to bug #1077)
   
           * tests/results/320.processed: ^return[] added
   
   2017-01-13  moko
   
           * src/: classes/hash.C, classes/hashfile.C, classes/op.C,
             classes/table.C, include/pa_request.h, main/execute.C,
             main/pa_request.C, targets/cgi/parser3.C,
             types/pa_vmethod_frame.C: Request::SKIP_INTERRUPTED,
             Request::SKIP_RETURN added and implemented, Request::SKIP_* now
             checked after each possible process/execute call (fixes bug
             #1077)
   
   2016-12-29  moko
   
           * src/main/pa_common.C: warning war
   
           * src/: classes/math.C, include/pa_random.h, include/pa_request.h,
             include/pa_types.h, main/pa_request.C, main/pa_string.C:
             pa_file_size_limit added, ^math:random fixed for upper limit and
             limits more then 0x7FFFFFFF, limits now declared in pa_types.h
             (related to feature #1014)
   
           * src/: classes/curl.C, classes/file.C, include/pa_common.h,
             main/pa_common.C, main/pa_dir.C, main/pa_exec.C: stat -> pa_stat
             (related to feature #1014)
   
   2016-12-28  moko
   
           * src/: classes/file.C, main/pa_request.C, main/pa_string.C: VS2003
             warning war
   
   2016-12-26  moko
   
           * tests/: 341.html, results/341.processed: test for
             ^table.hash[id;;$.type[string]] added (related to feature #1057)
   
           * src/classes/table.C: ^table.hash[id;;$.type[string]] support fix
             (related to feature #1057)
   
           * src/types/pa_vdate.C: warning war continues...
   
           * src/: classes/date.C, classes/image.C, classes/table.C,
             include/pa_config_includes.h, types/pa_vfile.C: warning war
   
           * src/lib/gd/gifio.C: warning war / cleanup
   
           * src/lib/json/pa_json.C: warning war
   
           * src/classes/hash.C: warning war
   
           * src/types/pa_vfile.C: warning war
   
           * src/: classes/hash.C, include/pa_common.h, types/pa_vcookie.C:
             -Wall warning war continues
   
           * configure.ac: --with-build-warnings actualized
   
   2016-12-25  moko
   
           * src/main/pa_exec.C: -wAll warning war
   
           * src/: types/pa_vform.C, types/pa_vrequest.C, main/pa_common.C:
             -wAll warning war
   
           * src/: include/pa_common.h, include/pa_sapi.h,
             types/pa_junction.h, types/pa_method.h, types/pa_value.h,
             types/pa_vdate.C, types/pa_vstateless_class.h, types/pa_vxdoc.h:
             -wAll warning war
   
   2016-12-23  moko
   
           * src/lib/ltdl/Makefile.am: extra dist added
   
           * tests/results/344.processed: test result updated after $file.text
             prefetched in ^hash::create[$file] (related to feature #1075)
   
           * src/types/: pa_vfile.C, pa_vfile.h: $file.text prefetched in
             ^hash::create[$file] (related to feature #1075)
   
   2016-12-22  moko
   
           * src/: classes/file.C, include/pa_common.h, main/pa_common.C,
             main/pa_request.C, main/pa_stylesheet_connection.C,
             types/pa_vfile.C: file_stat now return 64-bit size (implements
             #1014 under 32-bit unix versions)
   
   2016-12-21  moko
   
           * tests/: 375.html, results/375.processed: test for exec returning
             stated file added (related to feature #1119)
   
           * src/classes/file.C: load should not return file with null body
             (fixes bug #1119)
   
   2016-12-14  moko
   
           * tests/: 374.html, results/374.processed: test for $method.name
             added (related to feature #1117) plus method returning junction
             test
   
   2016-12-13  moko
   
           * src/: include/pa_symbols.h, main/pa_symbols.C,
             types/pa_vjunction.C, types/pa_vjunction.h: $method.name added
             (implements feature #1117)
   
           * src/: types/pa_vform.C, include/pa_request_info.h: now only GET,
             HEAD and TRACE can't have body (implements feature #1116)
   
   2016-12-09  moko
   
           * tests/: 373.html, results/373.processed: tests for
             ^reflection:tainting added (related to feature #1098)
   
           * src/classes/reflection.C: ^reflection:tainting arguments order
             change (related to feature #1098)
   
   2016-12-06  moko
   
           * src/: classes/reflection.C, include/pa_string.h,
             main/pa_string.C: ^reflection:tainting[$string] added (implements
             feature #1098)
   
   2016-12-05  moko
   
           * src/types/pa_vdouble.h: negative zero (-0) now converted to 0
             (fixes bug #1114)
   
   2016-12-04  moko
   
           * tests/: 206.html, results/206.processed: negative zero (0/-1)
             check added
   
   2016-12-03  moko
   
           * tests/: 346-curl.html, results/346-curl.processed: test modified
             to test value.as_hash() usage
   
           * src/classes/curl.C: value.as_hash() used for correct hash
             processing
   
           * src/classes/reflection.C: exceptions texts fixes
   
   2016-12-02  moko
   
           * tests/: 372.html, results/372.processed: tests for
             ^reflection:create[ $.class[name] $.constructor[name]
             $.arguments[ $.1[param1] $.2[param2] ... ] ] added (related to
             feature #1094)
   
           * src/types/pa_vmethod_frame.h: comment added: params should be
             declared outside of *_FRAME_ACTION as MethodParams destructor
             will be called in ~VNativeMethodFrame
   
           * src/classes/reflection.C: ^reflection:create[ $.arguments[ ... ]
             ] minor fix
   
           * src/: classes/reflection.C, types/pa_value.C, types/pa_value.h,
             types/pa_vmethod_frame.C: ^reflection:create[ $.class[name]
             $.constructor[name] $.arguments[ $.1[param1] $.2[param2] ... ] ]
             now supported (implements feature #1094) value::as_hash added
             (and should be used everywhere)
   
           * src/classes/reflection.C: cleanup
   
   2016-12-01  moko
   
           * tests/: 356.html, results/356.processed: test for method
             junctions class name added to the resulting hash added (related
             to feature #1068)
   
           * src/classes/reflection.C: for method junctions class name added
             to the resulting hash (related to feature #1068)
   
   2016-11-30  moko
   
           * src/types/: pa_vhashfile.C, pa_vhashfile.h: file_name included in
             exception (related to bug #1113)
   
           * src/types/pa_vhashfile.C: whitespace
   
           * src/main/pa_os.C: errno now returned as it should (fixes bug
             #1113)
   
           * tests/results/: 175.processed, 192.processed, 224.processed,
             229.processed, 239.processed, 244.processed, 246.processed,
             314.processed, 352.processed: tests results updated after method
             call exceptions improved as method now keeps its name
   
           * src/: classes/reflection.C, main/execute.C, types/pa_value.C,
             types/pa_vmethod_frame.h: method call exceptions improved as
             method now keeps its name
   
           * tests/: 224.html, 239.html, results/224.processed,
             results/239.processed: tests and tests results updated after
             Request::construct exception changed
   
           * src/: classes/reflection.C, main/execute.C: Request::construct
             exception optimized
   
           * tests/: 371.html, results/371.processed: test for
             WWrapper.get_element call in $.name.key[value] code added
             (related to feature #1091)
   
           * src/types/pa_wwrapper.h: WWrapper.get_element returned, as used
             in $.name.key[value] code (related to feature #1091)
   
   2016-11-29  moko
   
           * src/classes/op.C: VS warning war
   
           * src/types/: pa_vmethod_frame.h, pa_wcontext.h: VS warning war:
             C4239: nonstandard extension used : 'return' : conversion from
             'Value' to 'Value &' (related to feature #1020)
   
           * src/: main/execute.C, types/pa_vmethod_frame.h,
             types/pa_wcontext.h: VS warning war: C4239: nonstandard extension
             used : 'return' : conversion from 'Value' to 'Value &' (related
             to feature #1020)
   
           * src/main/execute.C: VS warning war
   
           * src/targets/cgi/parser3.C: VS compatibility fix
   
           * src/include/pa_request.h: VS warning war
   
           * tests/: 370.html, results/370.processed: test for ^file::exec[
             ... $.stdin[$binary_file] ] added (related to bug #1044)
   
           * src/: classes/file.C, classes/mail.C, include/pa_exec.h,
             include/pa_string.h, main/pa_exec.C: pa_exec now supports
             $.stdin[$binary_file] (fixes bug #1044)
   
   2016-11-28  moko
   
           * src/main/pa_exec.C: whitespace
   
           * src/main/pa_request.C: whitespace
   
           * tests/: 369.html, results/369.processed: test for
             $response:status usage added (related to feature #1099)
   
           * src/targets/cgi/parser3.C: HTTP response code used as exit status
             if < 100 (implements feature #1099)
   
           * src/targets/cgi/parser3.C: whitespace
   
           * src/targets/cgi/parser3.C: whitespace
   
           * tests/: 368.html, results/368.processed: test updated after
             ^reflection:filename[$method] added (related to feature #1053)
   
           * src/: classes/op.C, classes/reflection.C, include/pa_request.h,
             main/compile.y, main/execute.C, main/pa_request.C,
             types/pa_vclass.h: filename -> filespec,
             ^reflection:filename[$method] added (related to feature #1053)
   
   2016-11-27  moko
   
           * tests/: 368.html, results/368.processed: test for
             reflection:filename[$class or object] added (related to feature
             #1053)
   
           * src/: classes/reflection.C, main/compile.y, types/pa_vclass.h,
             types/pa_vstateless_class.h: ^reflection:filename[$class or
             object] added (implements feature #1053)
   
   2016-11-26  moko
   
           * src/: include/pa_request_info.h,
             targets/apache/mod_parser3_core.C, targets/cgi/parser3.C:
             remove_absolute_uri -> strip_absolute_uri
   
   2016-11-25  moko
   
           * src/: include/pa_request_info.h,
             targets/apache/mod_parser3_core.C, targets/cgi/parser3.C:
             request_info.remove_absolute_uri added to remove possible
             http://site.name/ from $request:uri (implements feature #1112)
   
   2016-11-24  moko
   
           * tests/: 367-curl.html, results/367-curl.processed: test for
             previous request headers clearing after redirect added (related
             to bug #1109)
   
           * src/: classes/curl.C, include/pa_array.h, include/pa_http.h:
             response headers from previous requests are now cleared, only
             last request headers are collected (fixes bug #1109)
   
           * tests/results/: 266.processed, 321.processed, 356.processed:
             tests results updated as method name now added to the resulting
             hash for new syntax only (Imp1 compatimility fixed, related to
             feature #1068)
   
           * src/classes/reflection.C: method name now added to the resulting
             hash for new syntax only (Imp1 compatimility fixed, related to
             feature #1068)
   
           * tests/results/366.processed: test for native and parser
             implementation of ^use[] logic (related to feature #1074)
   
           * tests/: 366.html, 366_dir/test-duplicate.p, 366_dir/test.p: test
             for native and parser implementation of ^use[] logic (related to
             feature #1074)
   
   2016-11-23  moko
   
           * src/: classes/op.C, include/pa_request.h, main/compile.y,
             main/pa_request.C: @USE file now implemented as ^use[file;
             $.origin[origin_file] ] (implements feature #1074)
   
   2016-11-21  moko
   
           * tests/: 365.html, results/365.processed: test for $caller bugs in
             3.4.4 and $caller.method now tested (related to feature #1110)
   
           * tests/: 364.html, results/364.processed: $caller usage in
             different contexts now tested (related to feature #1110)
   
           * src/types/types.vcproj: +pa_vcaller_wrapper.h
   
           * src/types/Makefile.am: pa_vcaller_wrapper.h added
   
           * src/: include/pa_symbols.h, main/pa_symbols.C, types/pa_method.h,
             types/pa_vcaller_wrapper.h, types/pa_vmethod_frame.C,
             types/pa_vmethod_frame.h:  redesign: VCallerWrapper added and
             used (implements feature #1110)
   
   2016-11-20  moko
   
           * src/types/pa_vdouble.h: whitespace
   
   2016-11-11  moko
   
           * tests/: 363.html, results/363.processed: more tests for feature
             #1091 (how parser methods work in expression context)
   
           * src/: include/pa_request.h, types/pa_vmethod_frame.h: in
             expressions strings are now written as strings, not values by
             write_as_string (related to feature #1091)
   
           * src/classes/op.C: to make more correct behavour in expression
             context
   
   2016-11-07  moko
   
           * tests/: 362.html, results/362.processed: test for
             xsltParseStylesheetDoc caching as xsl modification after it added
             (related to bug #1108)
   
           * src/: classes/xdoc.C, types/pa_vxdoc.h: xsltParseStylesheetDoc
             result now cached as xdoc is modified after it (fixes bug #1108)
   
   2016-11-06  moko
   
           * src/types/pa_vxdoc.h: whitespace
   
   2016-11-05  moko
   
           * src/types/pa_vmethod_frame.h: cleanup
   
   2016-11-03  moko
   
           * tests/results/244.processed: more correct exception after method
             frames separation
   
           * src/types/pa_vmethod_frame.h: minor optimizaion
   
           * src/types/pa_method.h: optimization: params_count added
   
           * src/: classes/json.C, classes/op.C, classes/reflection.C,
             include/pa_request.h, main/execute.C, main/pa_request.C,
             types/pa_value.C, types/pa_vmethod_frame.C,
             types/pa_vmethod_frame.h, types/pa_vobject.C: Optimization:
             VMethodFrame now divided into VNativeMethodFrame,
             VParserMethodFrame, VLocalParserMethodFrame; METHOD_FRAME_ACTION,
             EXPRESSION_FRAME_ACTION, CONSTRUCTOR_FRAME_ACTION defines added
             and used (related to feature #1104)
   
   2016-11-02  moko
   
           * src/: classes/bool.C, classes/curl.C, classes/date.C,
             classes/double.C, classes/file.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/op.C, classes/reflection.C,
             classes/regex.C, classes/string.C, classes/table.C,
             classes/xdoc.C, classes/xnode.C, include/pa_request.h,
             main/execute.C: cleanup: r.write_pass_lang, r.write_no_lang ->
             r.write (implements feature #1091)
   
           * src/main/execute.C: cleanup (related to feature #1104)
   
           * src/: include/pa_request.h, main/execute.C,
             types/pa_vmethod_frame.h, types/pa_wcontext.h: VExpressionFrame
             added, in_expression removed (implements feature #1104)
   
   2016-10-31  moko
   
           * src/types/pa_value.C: whitespace
   
   2016-10-28  moko
   
           * tests/results/244.processed: updated after error reporting fixed
             in pa_wcontext.C
   
           * src/types/pa_wcontext.C: error reporting fixed
   
           * src/types/pa_wcontext.h: whitespace
   
           * src/classes/image.C: not fully readed entries are no longer
             processed (fixes bug #1106)
   
   2016-10-26  moko
   
           * src/classes/image.C: whitespace
   
           * src/: include/pa_request.h, include/pa_string.h, main/untaint.C,
             types/pa_vmail.C, types/pa_vmethod_frame.h, types/pa_wcontext.h,
             types/pa_wwrapper.h: optimization: L_PASS_APPENDED removed as no
             longer required (related to feature #1091)
   
           * tests/results/: 264.processed, 350.processed: test results update
             reverted (whitespace optimization) after write_no_lang removed :)
             (related to feature #1091)
   
           * src/: classes/file.C, classes/hash.C, classes/op.C,
             classes/string.C, classes/table.C, classes/void.C,
             classes/xdoc.C, include/pa_request.h, main/pa_xml_io.C,
             types/pa_vmail.C: Temp_lang removed, write_no_lang now almost
             equal write_pass_lang (related to feature #1091)
   
           * tests/results/: 264.processed, 350.processed: test results
             updated (whitespace optimization) after write_assign_lang removed
             (related to feature #1091)
   
           * tests/: 361.html, results/361.processed: test for non-string
             ^untaint added (related to feature #1091)
   
           * src/: classes/curl.C, classes/date.C, classes/file.C,
             classes/hash.C, classes/op.C, classes/string.C,
             include/pa_request.h, main/execute.C: optimization:
             write_assign_lang removed as not required (first part of feature
             #1091 implementation)
   
   2016-10-12  moko
   
           * tests/: 360.html, results/360.processed: more test code (related
             to feature #1104)
   
           * src/: classes/op.C, classes/reflection.C, include/pa_opcode.h,
             include/pa_request.h, main/compile.y, main/execute.C: opcode
             OP_PREPARE_TO_EXPRESSION removed as not required, optimized
             WContext is next task (implements feature #1104)
   
           * src/types/pa_method.h: more detailed comment for CO_WITHOUT_FRAME
             / CO_WITHOUT_WCONTEXT
   
           * tests/: 360.html, results/360.processed: test for in expression
             state (related to feature #1104)
   
   2016-10-11  moko
   
           * src/main/execute.C: compilation without OPTIMIZE_CALL fixed
   
           * src/classes/op.C: default value removed from initializer
   
           * src/types/pa_vmemcached.C: FreeBSD 11 warning war
   
           * src/types/pa_vmethod_frame.h: FreeBSD 11 warning war
   
   2016-10-10  moko
   
           * tests/results/auto.p: test updated adter $RECOURSION_LIMIT,
             $LOOP_LIMIT  -> $LIMITS[ $.max_recoursion, $.max_loop ] (related
             to feature #42)
   
           * src/main/pa_request.C: $RECOURSION_LIMIT, $LOOP_LIMIT  ->
             $LIMITS[ $.max_recoursion, $.max_loop ] (related to feature #42)
   
   2016-10-08  moko
   
           * src/classes/double.C: whitespace
   
   2016-10-07  moko
   
           * src/types/pa_vmethod_frame.h: reorder
   
   2016-10-06  moko
   
           * src/classes/date.C: typo
   
           * src/types/pa_vmethod_frame.h: whitespace + cleanup
   
           * src/: classes/hash.C, classes/hashfile.C, classes/json.C,
             classes/op.C, classes/reflection.C, types/pa_vmethod_frame.C,
             types/pa_vmethod_frame.h: params.get now returns Value&, not
             Value*
   
           * src/types/pa_vmethod_frame.C: params.get should return Value&.
   
           * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: get_as
             removed; first as_* code rewrite
   
   2016-10-05  moko
   
           * src/include/pa_request.h: whitespace
   
           * tests/: 359.html, results/359.processed: test for VCodeFrame and
             intercept_string added (related to feature #1097)
   
           * src/: classes/image.C, classes/op.C, classes/table.C,
             include/pa_request.h, main/execute.C, types/pa_vmethod_frame.C:
             optimization: intercept_string removed (implements feature #1097)
   
           * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: whitespace
   
           * src/types/: pa_vcode_frame.h, pa_wwrapper.h: get_element removed
             from VCodeFrame and WWrapper as not required
   
   2016-10-04  moko
   
           * src/: classes/curl.C, classes/date.C, classes/double.C,
             classes/file.C, classes/hash.C, classes/image.C, classes/inet.C,
             classes/int.C, classes/json.C, classes/op.C,
             classes/reflection.C, classes/string.C, classes/table.C,
             include/pa_request.h, main/execute.C, types/pa_vmethod_frame.C:
             proces_to_value -> process after StringOrValue removed (related
             to feature #1020)
   
           * src/classes/form.C: whitespace
   
           * src/main/execute.C: VALUE__GET_BASE_CLASS added to opcode_names
   
           * tests/: 357.html, 358.html, results/357.processed,
             results/358.processed, results/auto.p: test for @conf
             $RECOURSION_LIMIT and $LOOP_LIMIT added (related to feature #42)
   
   2016-10-03  moko
   
           * src/: classes/op.C, include/pa_request.h, main/pa_request.C,
             types/pa_vtable.C: @conf $RECOURSION_LIMIT and $LOOP_LIMIT now
             supported (implements feature #42)
   
           * src/types/pa_vregex.h: no reason for VRegex to be
             is_evaluated_expr
   
           * src/classes/curl.C: CURL_OPT(CURL_INT, SSLVERSION) added
             (implements feature #1095)
   
   2016-10-01  moko
   
           * src/classes/reflection.C: $.overwrite in ^reflection:mixin is now
             false by default (related to feature #1089)
   
   2016-09-30  moko
   
           * src/types/pa_wcontext.h: cleanup
   
   2016-09-29  moko
   
           * src/main/execute.C: whitespace
   
           * src/include/pa_request.h: whitespace
   
           * src/: classes/hash.C, classes/hashfile.C, classes/json.C,
             classes/op.C, classes/table.C, include/pa_request.h,
             main/execute.C, main/pa_request.C, types/pa_vmethod_frame.h,
             types/pa_vobject.C, types/pa_wcontext.h: optimization:
             StringOrValue removed as it just slows down and adds complexity
             (implements feature #1020)
   
   2016-09-28  moko
   
           * tests/: 356.html, results/266.processed, results/321.processed,
             results/356.processed: tests updated after name was added to
             method_info hash, test for ^reflection:method_info[junction]
             added (related to feature #1068)
   
           * src/classes/reflection.C: ^reflection:method_info[junction] now
             supported, method name added to the resulting hash (implements
             feature #1068)
   
           * tests/: 276.html, results/276.processed: more tests for
             ^reflection:delete[]
   
           * src/classes/reflection.C: fixed bug then ^reflection:delete
             didn't work on class and could damage native objects (like file)
   
   2016-09-26  moko
   
           * tests/: 345.html, 346-curl.html, 347-curl.html, 348.html,
             results/345.processed, results/346-curl.processed,
             results/347-curl.processed, results/348.processed: numbers added
             to simplify diff analysis
   
           * tests/: 352.html, results/352.processed: test result updated as
             method name used
   
           * src/classes/reflection.C: method name used
   
           * src/types/: pa_method.h, pa_vstateless_class.C: method now keeps
             its name
   
           * src/types/pa_method.h: whitespace
   
           * src/classes/reflection.C: both method and field with one name can
             exist.
   
           * src/classes/reflection.C: ^reflection:mixin added (implements
             feature #1089)
   
           * tests/: 355.html, results/355.processed: property appears in
             derived class if added in base test added
   
           * src/types/pa_vstateless_class.h: get_method declaration +
             whitespace
   
           * tests/: 354.html, results/354.processed: nice test from method
             and property with one name in class added
   
   2016-09-23  moko
   
           * src/classes/reflection.C: ^reflection:method usage documented
   
   2016-09-22  moko
   
           * src/: classes/classes.vcproj, types/types.vcproj: we need RTTI as
             we use 'dynamic_cast' on polymorphic type 'Value'. Without it
             compile warning and GPF occures on VS2003 (related to feature
             #1087)
   
           * tests/: 350.html, results/350.processed: test added for
             $.encloser[] support in ^table::create (related to feature #11)
   
           * src/classes/table.C: another minor fix (related to feature #11)
   
   2016-09-21  moko
   
           * src/include/pa_config_fixed.h: vs2015 compilation fixes
   
           * src/: classes/curl.C, classes/file.C, classes/hash.C,
             classes/json.C, classes/string.C, classes/table.C,
             classes/xdoc.C, include/pa_charsets.h, main/pa_charsets.C,
             main/pa_common.C, main/pa_http.C, main/pa_request.C,
             main/pa_sql_driver_manager.C, types/pa_vfile.C, types/pa_vmail.C,
             types/pa_vrequest.C, types/pa_vresponse.C: charsets ->
             pa_charsets, vs2015 warning war
   
           * src/classes/table.C: vs2015 warning war
   
           * src/types/pa_vdate.C: vs2015 warning war
   
           * src/main/: pa_common.C, pa_globals.C: vs2015 compilation fixes
   
           * src/targets/cgi/parser3.vcproj: wsock32 -> ws2_32.lib (winsock 1
             -> winsock 2) for vs2015 compatibility (getaddrinfo functions)
   
           * src/main/pa_common.C: vs2015 compilation fixes
   
           * src/: include/pa_common.h, lib/smtp/smtp.C, main/pa_common.C:
             vs2015 compilation fixes
   
           * src/main/pa_charset.C: vs2015 warning war
   
           * src/: classes/file.C, types/pa_wwrapper.h: vs2015 warning war
   
           * src/main/pa_charset.C: vs2015 warning war
   
           * src/types/: pa_wcontext.h, pa_vmethod_frame.h: vs2015 warning war
   
           * src/types/pa_vdate.C: vs2015 compilation fix
   
           * src/: include/pa_memory.h, main/pa_memory.C: VS2015 warning war
   
           * src/: lib/json/pa_json.C, classes/mail.C, classes/string.C:
             VS2015 compilation fixes
   
           * src/classes/table.C: minor fix (related to feature #11)
   
           * tests/results/282.processed: no longer skipping extra enclosers
             (related to feature #11)
   
           * src/classes/table.C: minor fix + no longer skipping extra
             enclosers (related to feature #11)
   
           * src/classes/table.C: minor optimization (related to feature #11)
   
           * src/classes/table.C: minor fix and optimization (related to
             feature #11)
   
   2016-09-20  moko
   
           * tests/: 353.html, results/353.processed: test for
             PC.cclass->is_vars_local() check in one_big_piece in ^process[]
             added (related to bug #1090)
   
           * src/main/compile.y: PC.cclass->is_vars_local() check added for
             one_big_piece (fixes bug #1090)
   
           * tests/: 229.html, results/229.processed: code coverage tests
   
           * src/classes/op.C: bugfix: no more GPF if ^process[$context] (no
             body) was called
   
           * src/classes/op.C: whitespace
   
           * tests/: 323.html, results/323.processed: test for code junction
             should not be returned by ^reflection:class, ^reflection:base
   
           * src/classes/reflection.C: bugfix: code junction should not be
             returned by ^reflection:class, ^reflection:base
   
           * tests/: 323.html, 352.html, results/352.processed: no more
             exception for ^reflection:method[class;no-such-method] (related
             to feature #1087)
   
           * src/classes/reflection.C:
             ^reflection:method[class;no-such-method] : exception -> void
             (related to feature #1087)
   
           * src/include/pa_request.h: request::write_value added to allow
             write value without convertion (related to issue #1091)
   
   2016-09-19  moko
   
           * src/main/pa_random.C: windows build fix
   
           * src/types/pa_vhash.h: warning war
   
   2016-09-14  moko
   
           * tests/: 352.html, 552.html, results/352.processed,
             results/552.processed: test for ^reflection:method[] extension
             added (related to feature #1087)
   
           * tests/: 552.html, results/552.processed: test for
             ^reflection:method[] extension added (related to feature #1087)
   
           * src/classes/reflection.C: compatibility issue fixed, VClass
             dynamic_cast check added (related to feature #1087)
   
           * tests/: 351.html, results/351.processed: test for @auto[]
             inheritance bug diring ^process[] added (related to bug #1088)
   
           * src/: classes/op.C, main/pa_request.C,
             types/pa_vstateless_class.C: set_method now checks for @auto[] to
             disable it inheritance during ^process (fixes bug #1088)
   
           * src/classes/reflection.C: ^reflection:method[$class:method;$self]
             added (implements feature #1087)
   
   2016-09-13  moko
   
           * tests/: 349.html, results/auto.p: test for objects prototyping
             added and $OBJECT-PROTOTYPE(false) is used for old tests (related
             to feature #1086)
   
           * src/: main/pa_request.C, types/pa_vclass.C, types/pa_vclass.h,
             types/pa_vobject.C: objects now are not class instances, but have
             class as prototype, can be overridden by $OBJECT-PROTOTYPE(false)
             in @conf (implements feature #1086)
   
   2016-09-08  moko
   
           * src/: classes/file.C, classes/mail.C, classes/string.C,
             classes/table.C, main/pa_http.C, main/pa_string.C,
             include/pa_string.h: cleanup: string::split limit argument
             removed as no longer required, pos_after no longer reference
             (related to feature #11)
   
           * src/classes/table.C, tests/results/348.processed: now exception
             is rised when invalid option is passed to ^table::create[]
   
           * tests/: 282.cfg, 282.html, results/282.processed: more code
             coverage tests
   
           * tests/: 348.html, results/348.processed: code coverage tests
             added
   
           * tests/: 348.html, results/348.processed: generic ^table::create[]
             tests
   
           * tests/: 035.html, results/035.processed, results/272.processed:
             tests updated after $.encloser[] support for ^table::create
             implementation (related to feature #11)
   
           * src/classes/table.C: $.encloser[] support for ^table::create
             finally added (implements feature #11)
   
   2016-09-07  moko
   
           * src/include/pa_string.h: added StringSplitHelper as friend
             (related to feature #11)
   
           * src/include/pa_string.h: body and langs now protected, not
             private to allow inheritance (related to feature #11)
   
           * src/classes/table.C: lsplit optimized before cloning for
             ^table::create with $.encloser[] (related to feature #11)
   
           * src/classes/table.C: optimizaion: TableControlChars.separators
             added and used (related to feature #11)
   
           * src/classes/table.C: spelling:
   
             TableSeparators -> TableControlChars column -> separator
             separators -> control_chars
   
   2016-09-06  moko
   
           * src/main/pa_string.C: whitespace
   
           * src/main/pa_string.C: whitespace
   
   2016-09-01  moko
   
           * tests/: 347-curl.html, results/347-curl.processed: to make tests
             results OS-independent
   
           * src/: include/pa_http.h, main/pa_http.C: typo bugfix for clang
             compiler (related to feature #1042)
   
   2016-08-15  moko
   
           * src/include/pa_string.h: whitespace
   
           * src/classes/table.C: whitespace
   
   2016-08-05  moko
   
           * tests/: 344.html, results/344.processed: test for
             ^hash::create[$file] added (related to feature #1075)
   
           * src/types/: pa_vfile.h, pa_vmail.C: ^hash::create[$file] now
             supported (implements feature #1075)
   
   2016-08-04  moko
   
           * tests/: 341.html, results/341.processed: more code coverage tests
   
           * tests/: 346-curl.html, results/346-curl.processed: more code
             coverage tests for curl
   
           * tests/: 346-curl.html, results/346-curl.processed: more code
             coverage tests for curl
   
           * tests/: 223-curl.html, 223.html, results/223-curl.processed,
             results/223.processed: code coverage tests: $.form[ $.table[] ]
             test added
   
           * tests/: 223-curl.html, results/223-curl.processed: more code
             coverage tests for curl
   
   2016-08-03  moko
   
           * src/classes/curl.C: dlink(curl_library) now called not once, but
             until it will be loaded, allowing to find existing library.
   
           * tests/: 346-curl.html, 347-curl.html, results/346-curl.processed,
             results/347-curl.processed: more code coverage tests for curl
   
           * tests/: 339-curl.html, 339.html, 346-curl.html, Makefile,
             results/339-curl.processed, results/346-curl.processed: curl
             functionality tests
   
   2016-08-02  moko
   
           * tests/: 339.html, results/339.processed: test for tables in
             ^file:load[] and ^curl:load[] (commented) added (related to
             feature #1042)
   
           * tests/: 345.html, results/345.processed: code coverage tests for
             file class
   
           * tests/: 344.html, results/344.processed: code coverage tests
   
           * tests/: 344.html, results/344.processed: mdate removed from
             output
   
           * src/classes/file.C: minor bugfix: is_text should be taked from
             fcontent.is_text_mode() if not set (related to feature #1061)
   
           * tests/: 344.html, results/344.processed: more tests
   
           * tests/: 343.html, 344.html, results/343.processed,
             results/344.processed: tests for ^file::create[ $.from-charset
             and $.to-charset ] (related to feature #1061)
   
           * src/: classes/file.C, types/pa_vfile.C, types/pa_vfile.h:
             aset_text_mode argument optimized
   
           * src/: classes/file.C, types/pa_vfile.C, types/pa_vfile.h:
             checkBOM now used in detect_binary_content (related to feature
             #1061)
   
           * src/main/pa_request.C: load_charset no longer required to_upper
   
           * src/types/pa_vfile.C: bugfix: ^file::create[$text_file;...] now
             preserves original file mode (if no $.mode specified)
   
           * src/: classes/file.C, types/pa_vfile.C, types/pa_vfile.h:
             ^file::create now supports $.from-charset[] and $.to-charset
             options (implements feature #1061), automatic transcode is done
             if text file is created from binary file and charset is detected.
   
   2016-07-30  moko
   
           * src/classes/table.C: ^t.hash[..;] now supported (related to
             feature #1057)
   
           * tests/: 341.html, results/341.processed: test for ^t.hash[..;]
             added (related to feature #1057)
   
           * tests/: 286.html, results/286.processed: code tests coverage
   
   2016-07-29  moko
   
           * src/classes/table.C: table size should be checked inside menu and
             foreach (related to feature #858)
   
           * src/: classes/curl.C, classes/file.C, classes/string.C,
             classes/xdoc.C, include/pa_charsets.h, main/pa_charsets.C,
             main/pa_common.C, main/pa_http.C, main/pa_sql_driver_manager.C,
             types/pa_vmail.C, types/pa_vrequest.C, types/pa_vresponse.C:
             charsets.get now does str_upper inside (related to feature #1061)
   
           * tests/: 342.html, results/342.processed: more code coverage tests
   
           * tests/: 342.html, outputs/342.processed: table menu code coverage
             + foreach test added (related to feature #858)
   
           * tests/: 341.html, results/341.processed: tests for
             ^table.hash[]{code} added + code coverage tests (related to
             feature #1057)
   
           * src/: include/pa_common.h, classes/table.C: ^table.hash[]{code as
             value} support (implements feature #1057)
   
           * src/classes/table.C: whitespace
   
   2016-07-28  moko
   
           * src/: classes/curl.C, types/pa_vfile.C: curl now saves filename
             from URL, if not specified query string removed from url-based
             filenames in ^curl:load[] and ^file::load[] (related to feature
             #1042)
   
   2016-07-27  moko
   
           * tests/: 340.html, results/340.processed: test for
             transcode_text_result=false added (related to issue #1042)
   
   2016-07-26  moko
   
           * src/types/pa_vfile.C: file name should not be empty (if file path
             is folder and ends with /) (related to feature #1042)
   
           * src/main/pa_http.C: whitespace optimizaion
   
           * src/: classes/curl.C, include/pa_common.h, include/pa_http.h,
             main/pa_common.C, main/pa_http.C: ^curl:load[] now support
             multiple headers, ^file::load supports headers transcoding
             (implements feature #1042)
   
   2016-07-25  moko
   
           * src/include/pa_common.h: PA_DEFAULT added
   
   2016-07-22  moko
   
           * tests/: 338.html, results/338.processed: test for
             $date.field(value) added (related to feature #1066)
   
           * src/: classes/date.C, types/pa_vdate.C, types/pa_vdate.h:
             $date.field(value) now supported for y/m/d/h/m/s (implements
             feature #1066)
   
   2016-07-21  moko
   
           * src/: classes/file.C, classes/image.C, include/pa_common.h,
             main/pa_common.C: pa_common.h: File_read_action: fname, as_text
             arguments removed; image.C - absolute path shown in exception
             (implements feature #1071)
   
           * tests/: 235.html, results/235.processed: test and test result
             updated after static boundary in mail and Errors-To: mail header
             removed (related to feature #1047)
   
           * src/: classes/math.C, include/pa_random.h, main/pa_http.C,
             main/pa_random.C, types/pa_vmail.C: get_uuid_boundary() added and
             used, static boundary in mail removed, Errors-To: mail header
             removed (implements feature #1047)
   
   2016-07-20  moko
   
           * src/: classes/reflection.C, types/pa_vstateless_class.h:
             equest.classes(): Value -> VStateless_class, part 3 (related to
             issue #1051)
   
           * src/: classes/reflection.C, include/pa_request.h, main/execute.C:
             request.classes(): Value -> VStateless_class, part 2 (related to
             issue #1051)
   
           * tests/results/: 224.processed, 323.processed: classes without
             methods should not be methoded (related to issue #1051)
   
           * src/: classes/reflection.C, include/pa_request.h, main/compile.y,
             main/compile_tools.h, main/pa_request.C: request.classes(): Value
             -> VStateless_class, part 1 (related to issue #1051)
   
           * tests/: 337.html, results/337.processed: test for
             ^reflection:fields_reference[] and VHashReference class added
             (related to feature #1072)
   
           * src/: classes/hash.C, classes/json.C, classes/reflection.C,
             types/pa_value.h, types/pa_vhash.h, types/pa_vobject.h: VHashBase
             and VHashReference added, allowing ^reflection:fields_reference[]
             implementation (closes feature #1072)
   
   2016-07-19  moko
   
           * tests/: 323.html, results/323.processed: we want to see
             "methoded"
   
           * tests/: 336.html, results/336.processed: test for $BASE:property
             and ^BASE:method (OP_VALUE__GET_BASE_CLASS) added (related to bug
             #1059)
   
           * src/: include/pa_opcode.h, main/compile.y, main/execute.C,
             types/pa_vstateless_class.h, types/pa_wcontext.h: no more
             somebody_entered_some_class, $BASE:property works again,
             ^BASE:method[] bugs fixed (fixes bug #1059)
   
   2016-07-14  moko
   
           * tests/: 335.html, results/335.processed: test for feature #1055
             added
   
           * src/classes/hash.C: bugfix: $._default was not copied if empty
             feature: ^hash.contains[_default] added (implements feature
             #1055)
   
   2016-07-13  moko
   
           * src/classes/reflection.C: bugfix: ^reflection:def[class;name]
             should not call @autouse (http://www.parser.ru/forum/?id=83480)
   
   2016-07-05  moko
   
           * src/classes/hash.C: Optimization: HashStringValue::Iterator used
             in ^hash.foreach (related to feature #1073)
   
   2016-07-04  moko
   
           * tests/: 134.html, 281.html, results/134.processed,
             results/281.processed: tests updated after hash blocking removed
             (related to feature #1073)
   
           * src/: classes/hash.C, include/pa_hash.h, types/pa_vhash.h: hash
             no longer blocks on change during foreach (implements feature
             #1073)
   
   2016-06-17  moko
   
           * tests/: 330.html, results/330.processed: try exception source
             test added (related to bug in #1062)
   
           * tests/: 334.html, results/334.processed: Exception stack trace
             test added (related to bug in $1062)
   
           * src/classes/op.C: Exception trace now correctly restored and
             errors reported (related to bug #1062)
   
   2016-05-25  moko
   
           * src/main/compile.y: minor cleanup + beauty
   
   2016-05-24  moko
   
           * tests/: 333.html, results/333.processed: more exceptions testing
   
           * tests/: 332.html, results/332.processed: test for FIELDS_SYMBOL,
             _DEFAULT_SYMBOL, CALLER_SYMBOL, SELF_SYMBOL added (related to
             features #1056, #1026)
   
           * src/: classes/json.C, include/pa_symbols.h, main/pa_symbols.C,
             types/pa_vhash.C, types/pa_vhash.h, types/pa_vtable.C,
             types/pa_vtable.h: FIELDS_SYMBOL, _DEFAULT_SYMBOL added and used
             (implements feature #1056)
   
           * src/: include/pa_symbols.h, main/compile.y, main/compile_tools.C,
             main/execute.C, main/pa_symbols.C, types/pa_vjunction.C,
             types/pa_vstateless_class.C, types/pa_vstateless_class.h:
             CLASS_SYMBOL, CLASS_NAME_SYMBOL added and used (related to
             feature #1026)
   
           * src/: classes/reflection.C, include/pa_symbols.h, main/compile.y,
             main/compile_tools.C, main/compile_tools.h, main/pa_symbols.C,
             types/pa_vmethod_frame.C, types/pa_vmethod_frame.h: Symbols now
             have *_SYMBOL naming convention. STATIC_SYMBOL, DYNAMIC_SYMBOL,
             LOCALS_SYMBOL, PARTIAL_SYMBOL, REM_SYMBOL where added (related to
             feature #1026)
   
           * src/: include/pa_symbols.h, main/compile.y, main/compile_tools.C,
             main/pa_globals.C, main/pa_symbols.C, types/pa_vmethod_frame.C,
             types/pa_vmethod_frame.h, types/pa_vstateless_class.C:
             SYMBOLS_CACHING define implemented (related to feature #1026)
   
           * src/main/main.vcproj: + ps_symbols
   
           * src/: include/Makefile.am, include/pa_string.h,
             include/pa_symbols.h, main/Makefile.am, main/compile.tab.C,
             main/compile.y, main/compile_tools.C, main/pa_symbols.C,
             types/pa_vmethod_frame.C, types/pa_vmethod_frame.h,
             types/pa_vstateless_class.C: initial implementation for symbols
             cache (related to feature #1026)
   
           * src/: include/pa_common.h, main/pa_http.C: minor cleanup
   
           * src/main/pa_globals.C: minor cleanup
   
   2016-05-19  moko
   
           * src/types/pa_vhash.h: minor optimization: ^hash.fields[] removed
             (related to feature #1046)
   
           * tests/: 331.html, results/331.processed: test for
             BAD_NONWHITESPACE_CHARACTER_IN_EXPLICIT_RESULT_MODE removal added
             (related to feature #1051)
   
           * src/main/compile.y:
             BAD_NONWHITESPACE_CHARACTER_IN_EXPLICIT_RESULT_MODE error removed
             (implements feature #1054)
   
   2016-05-18  moko
   
           * src/types/pa_vtable.C, tests/results/324.processed: no more
             "column not found" exception for ^table.no-such-method[] (related
             to feature #1046)
   
           * tests/: 261.html, results/261.processed: test added and updated
             after feature #1046 implementation
   
           * src/: classes/string.C, types/pa_value.C, types/pa_vstring.h,
             types/pa_vvoid.h: $string.anything works for whitespace strings,
             ^string.contains added for hash compatibility, $string.method no
             longer returns stting method (implements feature #1046)
   
   2016-05-12  moko
   
           * src/classes/curl.C: content-type response header no longer
             ignored (fixes issue #1045)
   
           * tests/: 330.html, results/330.processed: test for incomplete
             finally execution when break occures added (related to issue
             #1077)
   
           * src/classes/op.C: bugfix: Request::skip reset is called before
             executing catch and finally code (fixes issue #1062)
   
   2016-05-11  moko
   
           * tests/: 329.html, results/329.processed: test for invalid
             ^break[] behavour added (bug #1077)
   
           * src/classes/op.C: try_catch code cleanup (related to bug #1062)
   
   2016-04-24  moko
   
           * src/types/pa_vstateless_class.h: warning war
   
   2016-04-17  moko
   
           * tests/: 328.html, results/328.processed: test for
             ^break(condition) and ^continue(condition) (related to feature
             #1063)
   
           * src/classes/op.C: ^break(condition) and ^continue(condition)
             implemented (feature #1063)
   
   2016-04-12  moko
   
           * tests/results/280.processed: ordered hash now used for class
             methods and properties (test results updated for feature #1069)
   
           * src/classes/: xdoc.C, xnode.C: xnode_class initialization moved
             to xdoc.C as under FreeBSD it was inited after and inheritance
             failed (related to issue #1051)
   
           * tests/: 320.html, results/320.processed: xdoc and xnode methods
             are printed to check inheritance (related to feature #1051)
   
   2016-04-09  moko
   
           * tests/results/320.processed: ordered hash now used for class
             methods and properties (test results updated for feature #1069)
   
           * src/types/pa_vstateless_class.h: ordered hash now used for class
             methods and properties (implements feature #1069)
   
           * src/types/: pa_vconsole.h, pa_vcookie.C, pa_venv.C,
             pa_vrequest.C, pa_vstatus.C: minor optimization: #ifndef
             OPTIMIZE_BYTECODE_GET_ELEMENT__SPECIAL returned (related to
             feature #1051)
   
   2016-04-07  moko
   
           * src/main/execute.C: returned Value in .CLASS case for VJunction
             (related to feature #1051)
   
           * src/types/: pa_vjunction.C, pa_vmethod_frame.C,
             pa_vmethod_frame.h, pa_vstateless_class.C, pa_vstateless_class.h:
             string constants deduplication (related to feature #1051)
   
           * tests/results/224.processed: test result updated (related to
             feature #1051)
   
           * src/: main/execute.C, types/pa_vconsole.h, types/pa_vcookie.C,
             types/pa_vcookie.h, types/pa_venv.C, types/pa_venv.h,
             types/pa_vrequest.C, types/pa_vrequest.h, types/pa_vstatus.C,
             types/pa_vstatus.h: classes hash now contains only
             VStateless_class derived objects, .CLASS is also allways
             VStateless_class derived object (related to feature #1051).
   
   2016-04-06  moko
   
           * tests/results/323.processed: test result updated after feature
             #1051 implementation
   
           * src/: classes/classes.h, classes/op.C, classes/response.C,
             classes/void.C, classes/xdoc.C, classes/xnode.C, classes/xnode.h,
             main/pa_request.C, types/pa_vclass.h, types/pa_vform.C,
             types/pa_vmail.C, types/pa_vmath.C, types/pa_vmemory.h,
             types/pa_vresponse.C, types/pa_vresponse.h,
             types/pa_vstateless_class.h: base -> methoded_donor for static
             classes, type() moved from VStateless_class to VClass and
             Methoded (implements feature #1051)
   
   2016-04-04  moko
   
           * src/: classes/classes.C, include/pa_request.h, main/pa_request.C:
             beauty: put_class added (related to feature #1051)
   
   2016-04-01  moko
   
           * tests/results/: 175.processed, 192.processed, 224.processed,
             229.processed, 244.processed, 246.processed, 316.processed: test
             results updated as class.type() removed from error messages, only
             type() left (related to feature #1051)
   
           * src/: classes/classes.C, classes/classes.h, classes/mail.C,
             classes/op.C, classes/reflection.C, main/compile.y,
             main/compile_tools.h, main/execute.C, main/pa_request.C,
             types/pa_value.C, types/pa_vclass.C, types/pa_vclass.h,
             types/pa_vmethod_frame.h, types/pa_vobject.h,
             types/pa_vstateless_class.h, types/pa_wcontext.C: name() removed
             from VStateless_class, type() is used instead (related to feature
             #1051)
   
           * src/classes/mail.C: old logic restored.
   
           * src/: 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/reflection.C,
             classes/regex.C, classes/response.C, classes/string.C,
             classes/table.C, classes/xdoc.C, classes/xnode.C,
             types/pa_vform.C, types/pa_vmail.C, types/pa_vmath.C,
             types/pa_vmemory.h: optimizaion: *_base_class removed (related to
             feature #1051)
   
   2016-03-30  moko
   
           * tests/: 327.html, results/224.processed, results/327.processed:
             test for TZ specification in ^date::create[], TZ is kept during
             ^date::create[$dt] (related to feature #1048)
   
           * src/: classes/date.C, types/pa_vdate.h: TZ can be specified in
             ^date::create[], TZ is kept during ^date::create[$dt] (implements
             feature #1048)
   
   2016-03-29  moko
   
           * tests/: 315.html, results/315.processed: test for timezone format
             +HHmm added (related to feature #1065)
   
           * src/classes/date.C: timezone format +HHmm now supported
             (implements feature #1065)
   
   2016-03-28  moko
   
           * tests/: 202.html, results/131.processed, results/202.processed,
             results/224.processed, results/256.processed,
             results/315.processed: test results updated after %.2d now
             default for hours offset in iso-string (was %2d), test for
             ^date.iso-string options $.colon(true) $.z(true) $.ms(false)
             added (related to feature #1065)
   
   2016-03-27  moko
   
           * src/types/pa_vdate.C: '+' sign for zero offset (related to
             feature #1065)
   
           * src/: classes/date.C, types/pa_vdate.C, types/pa_vdate.h:
             ^date.iso-string options $.colon(true) $.z(true) $.ms(false)
             added (implements feature #1065)
   
   2016-03-24  moko
   
           * tests/: 202.html, results/202.processed: test $date.week added
             (related to bug #1067)
   
           * src/types/: pa_vdate.C, pa_vdate.h: fix for $date.week changed
             date (fix for bug #1067)
   
   2016-03-10  moko
   
           * configure.ac, src/include/pa_version.h: 3.4.4 -> 3.4.5b
   
   2015-12-07  moko
   
           * tests/: 326.html, results/326.processed: test for .CLASS &
             .CLASS_NAME optimization added (related to feature #844)
   
   2015-11-17  moko
   
           * tests/: 323.html, results/323.processed: order added
   
           * tests/: 325.html, results/325.processed: double range test added
             (related to bug #1049)
   
   2015-11-16  moko
   
           * src/: classes/string.C, types/pa_vdouble.h: finite(double) check
             added to disallow NaN and Infinity (fixes bug #1049)
   
   2015-11-11  moko
   
           * tests/324.html: parser 3.4.3 execution support added (related to
             feature #1017)
   
           * tests/: 324.html, results/324.processed: test for
             GET_ELEMENT4CALL feature added (feature #1017)
   
   2015-10-29  moko
   
           * operators.txt: updated for 3.4.4
   
           * configure.ac, src/include/pa_version.h: 3.4.4rc -> 3.4.4
   
           * src/main/pa_exec.C: get_exit_status implemented for Windows
             (related to bug #1043)
   
   2015-10-28  moko
   
           * src/main/pa_exec.C: Windows bugfix: $.stdin[] no longer cause
             hangup during ^file::exec (fixes bug #1043)
   
   2015-10-27  moko
   
           * src/main/pa_memory.C: pa_fail_alloc added for GC_abort in Windows
   
   2015-10-26  moko
   
           * tests/322.html, src/classes/reflection.C: arguments reorder
             (related to issue #1041)
   
           * src/: classes/classes.awk, main/helpers/simple_folding.pl:
             Copyright year updated
   
           * src/: classes/bool.C, classes/classes.C, 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_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_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/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_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_table.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/apache/pa_threads.C, targets/cgi/pa_threads.C,
             targets/cgi/parser3.C, targets/isapi/pa_threads.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_vbool.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
   
           * src/targets/cgi/parser3.C: year updated
   
           * src/classes/reflection.C: VS2003 compatibility fixed (related to
             issue #1041)
   
           * tests/: 323.html, results/323.processed: test for base classes
             added
   
           * tests/: 261.html, results/261.processed: updated after better
             error reporting done for $string.key exception
   
           * src/types/pa_vstring.h: better error report for $string.key
             exception
   
           * src/types/: pa_vobject.C, pa_vobject.h: VObject::get_element
             copied as VObject::get_element4call to remove extra virtual call
   
           * tests/: 322.html, results/322.processed: test for
             ^reflection:is[] added (related to feature #1041)
   
           * src/classes/reflection.C: ^reflection:is empty value is void
             (related to feature #1041)
   
           * src/classes/reflection.C:
             ^reflection:is[class_name|code|method;[context;]element_name]
             added (implements feature #1041)
   
   2015-10-24  moko
   
           * configure.ac, src/include/pa_version.h: 3.4.4b -> 3.4.4rc
   
   2015-10-22  moko
   
           * tests/: 321.html, results/321.processed: test for
             ^reflection:method_info[] file detection added
   
           * tests/: 320.html, results/320.processed: test for
             ^reflection:class_by_name[class_name] added (related to feature
             #993)
   
           * src/classes/reflection.C: ^reflection:class_by_name[class_name]
             added (implements feature #993)
   
           * src/main/execute.C: GET_ELEMENT4CALL added to get_method_filename
             (related to feature #1017)
   
           * tests/: 319.html, results/319.processed: ^throw[] stacktrace test
             added (related to issue #1039)
   
           * src/main/pa_request.C: ^throw origin fixed (related to feature
             #1039)
   
           * src/types/pa_vcookie.C: bugfix: expires_sec should not be called
             for VDate
   
           * tests/results/182.processed: updated after feature #1038
             implemented
   
           * tests/: 318.html, 182_dir/a6.p, results/318.processed: test for
             compile-time exception origin added (test for feature #1039)
   
           * src/: include/pa_request.h, main/compile.C, main/compile.y,
             main/pa_request.C: exception unification: compile-time exceptions
             now have origin, @USE origins also tracked (implements feature
             #1039)
   
   2015-10-20  moko
   
           * src/main/pa_request.C: cleanup
   
   2015-10-15  moko
   
           * src/types/pa_vtable.C: defines fixed (related to feature #1017)
   
           * src/: classes/hash.C, include/pa_opcode.h, types/pa_vhash.h,
             types/pa_vtable.C: new feature: no more $table.method and
             $hash.method, aliases for _at, _count, _key (related to feature
             #1017)
   
   2015-10-14  moko
   
           * tests/: 317.html, results/317.processed: test for
             ^string.unescape[] added (related to feature #120)
   
           * buildall: reverted libxml 2.9.2 -> 2.9.1 due to "ID already
             defined" bug (described in issue #1036)
   
           * tests/: 247.html, results/247.processed: test for checkBOM added
             (test for bug #1037)
   
           * src/: include/pa_charsets.h, main/pa_charsets.C,
             main/pa_common.C, main/pa_http.C: checkBOM detects charset if
             it's not enforced, skips BOM signature if it complies charset
             (fixes bug #1037)
   
   2015-10-13  moko
   
           * src/targets/cgi/parser3.vcproj: disabling buggy incremental
             linking
   
           * src/classes/inet.C: vs2003 compilation fix
   
           * src/classes/math.C: warning war
   
           * src/lib/punycode/pa_punycode.c: warning war
   
   2015-10-12  moko
   
           * src/lib/punycode/pa_punycode.c: warning war
   
           * parser3.sln: moved parser3 first, to make it default startup
             project
   
           * buildall: parser "mirror" now used for external libs sources
             (implements feature #1036)
   
           * buildall: most external libs are updated to their current
             versions (related to feature #1036)
   
           * src/classes/image.C: more tags added
   
           * src/: include/pa_memory.h, types/pa_vdate.C: warning war
   
   2015-10-11  moko
   
           * src/classes/curl.C: minor optimization (related to feature #1035)
   
   2015-10-09  moko
   
           * src/classes/curl.C: pa_strdup added for strings from curl
             (related to feature #1035)
   
           * src/main/pa_string.C: mini fix: RedHat 7.2 does not have
             ULLONG_MAX definition
   
           * src/classes/curl.C: ^curl:info[name]/^curl:info[] added
             (implements feature #1035)
   
           * src/main/pa_charset.C: String::Body(String::C) used
   
           * src/main/pa_charset.C: exceptions unified
   
           * src/: include/pa_charset.h, main/pa_charset.C: declarations
             unified
   
           * src/: classes/file.C, classes/image.C, classes/mail.C,
             classes/op.C, classes/xdoc.C, classes/xnode.C,
             include/pa_string.h, main/pa_request.C, main/pa_string.C,
             types/pa_vimage.C, types/pa_vmath.C, types/pa_vstatus.C,
             types/pa_vxdoc.C: explicit String::Body(char) calls removed;
             String::Body(String::C) constructor added (related to bug #957)
   
           * src/classes/file.C: minor optimization
   
           * src/include/pa_hash.h: hash.get(char*) added, to minimize
             Cord(char*) autocreation (related to bug #957)
   
           * src/: classes/string.C, main/untaint.C: minor optimizations
   
           * src/: classes/json.C, classes/reflection.C, include/pa_string.h:
             String(char*, Lang, length) removed, String(C(), Lang) used
             instead (related to bug #957)
   
   2015-10-08  moko
   
           * src/: classes/file.C, include/pa_string.h, lib/cord/cordbscs.c,
             lib/cord/include/cord.h, main/pa_http.C, main/pa_string.C,
             main/untaint.C: Now char * is converted to CORD only using
             AS_CORD() to check for empty cord bug (fixes bug #957)
   
           * src/include/pa_hash.h: fixed compilation without
             HASH_CODE_CACHING
   
           * src/classes/string.C:
             ^string:unescape[js|uri;escaped;$.charset[...]] added (implements
             feature #120)
   
           * src/main/pa_common.C: reduce js flags checks count (related to
             feature #120)
   
   2015-10-07  moko
   
           * tests/: 275.html, results/275.processed: test modified after
             unsigned long long int support implemented (feature #1034)
   
           * src/: classes/math.C, include/pa_string.h, main/pa_string.C:
             pa_atoul added for unsigned long long int support
   
   2015-10-06  moko
   
           * src/types/pa_vdate.C: INT_MAX used
   
   2015-10-03  moko
   
           * tests/: 302.html, results/302.processed: test for bug #1023
             (\u2028, \u2029 escaping) added
   
           * src/main/untaint.C: \u2028, \u2029 are now escaped in
             json:string[] (fixes bug #1023)
   
   2015-09-29  moko
   
           * tests/305.html: try-catch added for OS without ipv6 support
   
           * src/lib/json/pa_json.C: more unique prefixes for Solaris
             compilation
   
           * src/: include/pa_opcode.h, include/pa_request.h, main/compile.y,
             main/execute.C, types/pa_value.h, types/pa_vhash.h,
             types/pa_vtable.C, types/pa_vtable.h: get_element4call
             implemented to distinguish ^hash.method from $hash.field
             (implements feature #1017)
   
           * src/lib/punycode/pa_punycode.c: warning war
   
           * src/include/pa_config_includes.h: warning war
   
           * src/include/pa_config_includes.h: pragma warning actualized a bit
   
           * src/include/pa_config_includes.h: warning war
   
           * src/include/pa_hash.h: clang compilation fix
   
   2015-09-27  moko
   
           * src/main/compile.tab.C: Bison 3 is now default
   
           * src/main/: compile.C, compile.y: Bison 3 compatibility fixed
   
   2015-09-25  moko
   
           * src/: classes/hash.C, include/pa_hash.h: parser now compiles and
             works with undefined HASH_ORDER (related to feature #196)
   
   2015-09-24  moko
   
           * tests/: 027.html, results/027.processed: test modified to test
             ^hash.sort (feature #196)
   
           * src/: classes/hash.C, include/pa_hash.h:
             ^hash.sort[key;value]{string-key-maker}|(numeric-key-maker)[[asc|desc]]
             added (implements feature #196)
   
           * tests/: 316.html, results/316.processed: Added test for bug #1025
             (exception handling in non-cached ^cache), plus for "it does not
             have logical value" and "$exception.handled value must be either
             boolean or string 'cache'" exceptions.
   
           * src/classes/op.C: ^cache: exceptions now handled in non-cached
             code (fixes bug #1025)
   
   2015-09-23  moko
   
           * src/classes/table.C: warning war
   
           * src/: classes/math.C, types/pa_vcookie.C: warning war
   
           * src/classes/file.C: warning war
   
           * src/: include/pa_table.h, main/pa_table.C: warning war
   
           * src/: main/pa_request.C, classes/date.C: warning war
   
           * src/: types/pa_vdate.C, classes/op.C: warning war
   
           * tests/: 122.html, results/122.processed: win sync: to remove
             differences with OS that doesn't keep timezone change history
   
           * src/types/pa_vdate.C: tzset() should be called in Windows after
             TZ change (related to feature #36)
   
           * tests/: 075.html, results/075.processed: win sync: to remove
             differences with OS that doesn't keep timezone change history
   
           * tests/: 315.html, results/315.processed: win sync: to remove
             differences with OS that doesn't keep timezone change history
   
           * tests/: 256.html, results/256.processed: win sync: to remove
             differences with OS that doesn't keep timezone change history
   
           * tests/: 124.html, results/124.processed: win results sync: to
             avoid hitting time change hole.
   
           * src/types/pa_vdate.C: static returned. :)
   
   2015-09-22  moko
   
           * src/types/pa_vdate.C: FreeBSD 10 GPF fix (related to feature #36)
   
           * tests/results/131.processed: more tests for feature #1032
   
           * src/classes/date.C: minor fix related to feature #1032
   
           * operators.txt: ISO date creation documented (related to feature
             #1032)
   
           * operators.txt: iso-string documented (related to feature #1032)
   
           * tests/: 315.html, results/315.processed: more tests added
             (related to feature #1032)
   
           * tests/: 131.html, results/131.processed: date range checks
             updated (related to feature #36)
   
           * tests/: 315.html, results/057.processed, results/315.processed:
             test added for ISO date support (related to issue #315)
   
           * src/classes/date.C: more readable exceptions in date creation
             (related to ticket #1032)
   
   2015-09-18  moko
   
           * tests/: 202.html, results/202.processed: ^date.iso-string[] check
             added (related to issue #1032)
   
           * tests/results/256.processed, src/classes/json.C: iso-string
             documented (related to issue #1032)
   
           * tests/: 256.html, results/256.processed: ISO date check added
             (related to issue #1032)
   
           * tests/: 057.html, results/057.processed, results/224.processed:
             tests results updated after ISO date support implemented (related
             to feature #1032)
   
           * src/: classes/date.C, classes/image.C, types/pa_value.h,
             types/pa_vdate.C, types/pa_vdate.h: ISO 8601 dates support added,
             ^date::create[string] constructor formalized, ^date.iso-string[]
             added (implements feature #1032)
   
   2015-09-05  moko
   
           * operators.txt: actualized
   
           * operators.txt: date changes documented (related to ticket #36)
   
   2015-09-04  moko
   
           * src/types/pa_vdate.C: warning war
   
           * src/: classes/op.C, types/pa_vhashfile.C: warning war
   
   2015-09-03  moko
   
           * tests/results/096.processed: test result updated for 0..9999 year
             date range support (related to feature #36)
   
           * tests/: 314.html, results/314.processed: test for
             ^string:base64[], ^string:idna[], ^string:js-escape[] (related to
             bug #1031)
   
           * src/classes/string.C: Static calls fixed for ^string:base64[],
             ^string:idna[], ^string:js-escape[] (closes bug #1031)
   
           * Makefile.am, acsite.m4, configure.ac, configure.in: Warning war:
             configure.in -> configure.ac
   
           * configure, configure.in, src/include/pa_config_auto.h.in: more
             correct timezone check for FreeBSD Warning war: configure.in ->
             configure.ac
   
           * configure, configure.in, src/classes/Makefile.am,
             src/include/pa_config_auto.h.in, src/lib/cord/Makefile.am,
             src/lib/gd/Makefile.am, src/lib/json/Makefile.am,
             src/lib/memcached/Makefile.am, src/lib/pcre/Makefile.am,
             src/lib/sdbm/Makefile.am, src/lib/smtp/Makefile.am,
             src/main/Makefile.am, src/targets/apache/Makefile.am,
             src/targets/cgi/Makefile.am, src/types/Makefile.am: INCLUDES ->
             AM_CPPFLAGS (warning war) PA_DATE64 (0..9999 year date range)
             check added
   
           * src/types/pa_vdate.C: FreeBSD fixes + more robust code
   
           * tests/results/: 124.processed, 224.processed: test resuls updated
             for new date implementation (related to feature #36)
   
           * src/: classes/date.C, classes/image.C, include/pa_common.h,
             main/pa_common.C, types/pa_value.C, types/pa_vdate.C,
             types/pa_vdate.h: new double date implementation with internal
             support for extended 0..9999 year range, default timezone support
             (related to feature #36)
   
   2015-08-28  moko
   
           * src/types/pa_vmail.C: fixed $mail:received.date calculations
             (fixes bug #1030)
   
   2015-08-21  moko
   
           * src/classes/inet.C: snprintf size "bug" commented
   
           * src/main/pa_common.C: snprintf comments updated
   
   2015-08-16  moko
   
           * src/types/: pa_vdate.C, pa_vdate.h: logic moved to pa_vdate.C
   
   2015-08-11  moko
   
           * src/: classes/json.C, types/pa_value.C, types/pa_value.h,
             types/pa_vclass.C, types/pa_vobject.C: hash_json_string argument
             can be null (fixes bug #1029)
   
   2015-08-06  moko
   
           * src/types/: Makefile.am, pa_vdate.C, pa_vdate.h, types.vcproj:
             pa_vdate.C added
   
   2015-08-05  moko
   
           * tests/: 313.html, results/313.processed: test for
             ^table.count[columns] and ^table.flip[] with nameless tables
             (feature #1003)
   
           * src/: classes/table.C, include/pa_table.h, main/pa_table.C:
             max_cell added, now ^table.count[columns] and ^table.flip[] works
             correctly for nameless tables (implements feature #1003)
   
   2015-08-03  moko
   
           * tests/312.html: test for ^table.append[$hash] and
             ^table.insert[$hash] added (related to feature #1028)
   
           * src/classes/table.C: ^table.append[$hash] and
             ^table.insert[$hash] now supported (implements feature #1028)
   
           * tests/: 312.html, results/312.processed: test row copy in
             ^table.hash[; $.type[table] ] added (related to feature #1016)
   
           * src/classes/table.C: row copy now created in ^table.hash[;
             $.type[table] ] (related to feature #1016)
   
   2015-07-29  moko
   
           * tests/: 312.html, results/312.processed: test for ^table.delete[]
             added (related to feature #1016)
   
           * src/: classes/table.C, include/pa_table.h, main/pa_table.C:
             ^table.delete[] added to delete current row (related to feature
             1016)
   
   2015-07-28  moko
   
           * tests/: 312.html, results/312.processed: test for
             $table.column[value] and ^table.insert{row} (related to feature
             #1016)
   
           * src/: classes/table.C, include/pa_table.h, main/pa_table.C,
             types/pa_vtable.C, types/pa_vtable.h: $table.column[value] and
             ^table.insert{row} are now implemented (feature #1016)
   
           * src/include/pa_array.h: Optimization: bool reverse removed from
             append(), insert() added, memmove arguments order in remove()
             fixed (related to feature #1016)
   
   2015-07-23  moko
   
           * src/classes/json.C: tainted json and empty json exception added
             (implements feature #1015)
   
           * tests/: 311.html, results/311.processed: empty json and tainted
             json exception test added (related to issue #1015)
   
   2015-07-22  moko
   
           * tests/: 311.html, results/311.processed: test for UTF-8
             processing added
   
           * tests/: 311.html, results/311.processed: test for
             json_exception_with_source added (related to issue #394)
   
           * src/classes/json.C: json_exception_with_source added (implements
             feature #394)
   
   2015-06-29  moko
   
           * src/: classes/file.C, include/pa_dir.h, main/pa_dir.C:
             directories are now correctly determined if _d_type == DT_UNKNOWN
             (closes bug #1027)
   
   2015-06-10  moko
   
           * src/types/pa_vxnode.h: extern "C" not requred and causes build
             error if libxml has LIBXML_ICU_ENABLED.
   
   2015-06-04  moko
   
           * tests/099.html: ups, reverting
   
           * tests/: 099.html, 309.html, 310.html, results/309.processed,
             results/310.processed: tests for $response:body[ $.file[] ] and
             $response:last-modified added
   
           * src/main/pa_request.C: last-modified check fixed
   
   2015-06-03  moko
   
           * tests/: 204.html, 205.html, 293.html, results/204.processed,
             results/205.processed, results/293.processed: $response:headers
             logging added (tests for feature #1007)
   
           * src/: include/pa_common.h, include/pa_request.h,
             main/pa_request.C, types/pa_vmail.C, types/pa_vresponse.C:
             $response:headers are now in uppercase (closes feature #1007)
   
   2015-06-02  moko
   
           * src/: include/pa_memory.h, classes/math.C: some of -pedantic
             build errors reverted for clang compatibility
   
   2015-06-01  moko
   
           * src/include/pa_memory.h: -pedantic build errors fixed
   
           * src/classes/math.C: -pedantic build error fixed
   
           * src/classes/table.C: USE_STRINGSTREAM moved to the correct place
   
   2015-05-31  moko
   
           * src/classes/table.C: USE_STRINGSTREAM optimized
   
           * src/: classes/file.C, classes/math.C, include/pa_opcode.h,
             include/pa_string.h, lib/json/pa_json.h, main/compile_tools.h,
             main/pa_charset.C, main/pa_globals.C, main/pa_string.C,
             types/pa_vmail.C, types/pa_vmethod_frame.C, types/pa_vregex.C,
             types/pa_vxnode.h: warning war (-pedantic flag)
   
   2015-05-28  moko
   
           * tests/: 308.html, results/308.processed: test for
             ^table::create[$t;], etc work added (related to bug #975)
   
           * src/classes/table.C: check_option_param removed,
             ^table::create[$t;], etc now works (fixes bug #975)
   
   2015-05-27  moko
   
           * src/main/pa_request.C: Invalid response filename in gcc 4.9.2
             (Debian jessie) fixed (closes issue #1024)
   
           * tests/Makefile: sort added as in Debian jessie list become
             unsorted
   
   2015-05-18  moko
   
           * tests/: 201.html, results/201.processed: test for
             ^string.trim[what] feature #1022
   
           * src/classes/string.C: ^string.trim[what] now supported,
             implements feature #1022
   
   2015-05-17  moko
   
           * tests/results/185.processed: test result updated as feature #1021
             implemented (left/right accept negative parameter)
   
           * src/classes/string.C: left/right now accept negative parameter
             (implements feature #1021)
   
   2015-05-08  moko
   
           * src/classes/math.C: isalnum -> pa_isalnum
   
           * src/main/execute.C: optimization in getter-junction processing
             (related to issue #997)
   
   2015-05-07  moko
   
           * tests/: 307.html, results/307.processed: test for issue #997
             added
   
           * src/main/execute.C: process_getter result now checked if junction
             returned (closes issue #997)
   
           * tests/: 305.html, results/305.processed: sort added to ignore
             different order
   
           * src/types/pa_vxnode.C: & now untainted in $node.nodeValue
             assignment (closes issue #994)
   
           * tests/: 306.html, results/306.processed: test for issue #994
             added
   
           * tests/: 303.html, results/303.processed: two more errors tested
   
   2015-05-06  moko
   
           * tests/: 305.html, results/305.processed: test for name2ip &
             ip2name added (related to feature #992)
   
           * tests/: 303.html, 304.html, results/303.processed,
             results/304.processed: tests for idna conversion added (related
             to issue #849)
   
   2015-05-02  moko
   
           * src/classes/inet.C: ^inet:ip2name[] and ^inet:name2ip[]
             implemented
   
   2015-04-30  moko
   
           * src/main/pa_http.C: idna_host added, related to issue #849
   
           * src/main/pa_http.C: set_addr corrected, pa_idna_encode call added
             (related to issue #849)
   
   2015-04-24  moko
   
           * src/types/pa_vjunction.C: warning war
   
           * src/lib/punycode/: pa_idna.h, pa_punycode.h: code style
             unification
   
           * src/lib/punycode/pa_idna.c: warning war
   
   2015-04-22  moko
   
           * src/main/main.vcproj: punycode include path added
   
           * src/lib/punycode/pa_idna.c: windows compile error fixed
   
           * src/lib/punycode/pa_idna.c: warning war
   
           * parser3.sln, src/lib/punycode/punycode.vcproj: punycode windows
             project file added
   
           * src/lib/punycode/pa_convert_utf.c: debug compilation fix
   
           * src/include/pa_memory.h: warning war
   
           * src/: classes/string.C, include/pa_common.h, main/pa_common.C:
             ^string:idna[xn--...], ^string.idna[] - idna conversion support
             implemented (related to feature #849)
   
           * configure.in, src/main/Makefile.am,
             src/targets/apache/Makefile.am, src/targets/cgi/Makefile.am:
             libpunycode added in Unix
   
   2015-04-21  moko
   
           * configure.in: large files support
   
   2015-04-15  moko
   
           * src/lib/punycode/: Makefile.am, pa_convert_utf.c,
             pa_convert_utf.h, pa_idna.c, pa_idna.h, pa_punycode.c,
             pa_punycode.h: initial version for punycode/idna support library
             (ticket #849)
   
   2015-04-08  moko
   
           * src/: classes/curl.C, classes/date.C, classes/file.C,
             classes/image.C, classes/mail.C, classes/reflection.C,
             classes/string.C, classes/xnode.C, include/pa_request.h,
             include/pa_string.h, include/pa_stylesheet_connection.h,
             main/compile.y, main/compile_tools.h, main/execute.C,
             main/pa_common.C, main/pa_request.C, main/pa_string.C,
             main/pa_xml_io.C, main/untaint.C, types/pa_vclass.C,
             types/pa_vcookie.C, types/pa_vfile.C, types/pa_vform.C,
             types/pa_vmethod_frame.h, types/pa_vstateless_class.h,
             types/pa_wwrapper.h, main/compile.tab.C: removed most of the
             clang compiler warnings (closes issue #1018)
   
           * src/include/pa_string.h: String::Body comparation operators with
             char * added (related to issue #958)
   
   2015-04-07  moko
   
           * src/main/compile.tab.C: YYMALLOC/YYFREE defined to
             pa_malloc/pa_free to remove system malloc/free usage (related to
             issue #1018)
   
           * src/: classes/table.C, classes/xdoc.C, doc/memory.dox,
             include/pa_hash.h, include/pa_memory.h, lib/gd/gif.C,
             lib/gd/gif.h, lib/smtp/smtp.C, main/compile.y, main/pa_charset.C,
             main/pa_http.C, main/pa_request.C, main/pa_string.C,
             main/pa_xml_io.C, targets/apache/mod_parser3_core.C,
             types/pa_vconsole.h, types/pa_vdouble.h, types/pa_vfile.C,
             types/pa_vform.C, types/pa_vint.h: new(UseGC) replaced with new,
             malloc/strdup/free replaced with pa_ version and checks for
             accidental use of non-pa_ version added (related to issue #1018)
   
   2015-04-03  moko
   
           * buildall: pcre-8.33 -> pcre-8.36
   
           * src/: main/compile.y, classes/form.C, classes/mail.C,
             classes/op.C, classes/string.C, main/compile.tab.C,
             main/compile_tools.C, main/pa_http.C, main/pa_request.C,
             main/pa_sql_driver_manager.C, types/pa_vfile.C,
             types/pa_vhashfile.C: C++11 compilation errors fixed (related to
             ticket #958)
   
           * src/: classes/file.C, include/pa_common.h, include/pa_sapi.h,
             main/pa_common.C, main/pa_http.C, main/pa_request.C,
             targets/apache/mod_parser3_core.C, targets/cgi/parser3.C,
             targets/isapi/parser3isapi.C, types/pa_venv.C, types/pa_vform.C,
             types/pa_vform.h, types/pa_vrequest.C, types/pa_vrequest.h:
             $request:headers, $request:method added (implements feature
             #1007)
   
   2015-03-17  misha
   
           * tests/302.html: - test for
             ^json:string[...;$._default[method-name]]
   
           * src/: classes/json.C, types/pa_value.C, types/pa_value.h,
             types/pa_vclass.C, types/pa_vclass.h, types/pa_vobject.C: - if
             option $._default[method-name] is specified in ^json:string[], a
             method with specified name will be called for classes/objects
             serialization ( new feature: #982 )
   
   2015-03-16  misha
   
           * src/: include/pa_opcode.h, main/compile.y, main/compile_tools.C,
             main/compile_tools.h, main/execute.C, types/pa_vconsole.h,
             types/pa_vcookie.C, types/pa_vcookie.h, types/pa_venv.C,
             types/pa_venv.h, types/pa_vform.C, types/pa_vform.h,
             types/pa_vhashfile.h, types/pa_vjunction.C, types/pa_vjunction.h,
             types/pa_vmail.C, types/pa_vmail.h, types/pa_vmath.h,
             types/pa_vmemory.h, types/pa_vmethod_frame.C,
             types/pa_vmethod_frame.h, types/pa_vregex.C, types/pa_vrequest.C,
             types/pa_vrequest.h, types/pa_vstateless_class.C,
             types/pa_vstateless_class.h, types/pa_vxdoc.C, types/pa_vxdoc.h,
             types/pa_vxnode.C, types/pa_vxnode.h: - $var.CLASS &
             $var.CLASS_NAME now have special opcodes. This can be switched
             off by commenting #define OPTIMIZE_BYTECODE_GET_ELEMENT__SPECIAL
             on pa_opcode.h ( new feature: #844 )
   
   2015-03-15  misha
   
           * tests/075.html: - test for $response:header[]
   
           * src/types/pa_vresponse.C: - $response:header[] deletes header
             that was set earlie ( new feature: #1001 )
   
   2015-03-12  misha
   
           * tests/246.html: - more tests for ^hash._at[]
   
           * src/: classes/hash.C, include/pa_hash.h: - ^õýø._at[...] now
             accepts second param [key|value|hash] ( new feature: #1012 )
   
   2015-03-09  moko
   
           * src/types/pa_vmail.C: exception for everything but
             $mail:received, closes issue #1011
   
   2015-02-20  moko
   
           * tests/: 275.html, results/275.processed: hex detection in
             pa_atoui fix test (closes issue #1010)
   
           * src/main/pa_string.C: hex detection in pa_atoui fixed (closes
             issue #1010)
   
   2015-02-17  moko
   
           * src/types/pa_vmail.C: closes issue #1009 - mail content should be
             tainted.
   
   2015-02-03  misha
   
           * tests/301.html: - test for ^json:string($double) causes
             exception. bugfix: #1008
   
           * src/classes/json.C: - ^json:string($double) causes exception.
             bugfix: #1008
   
           * tests/014.html: - updated for work with ^hash.delete[]
   
   2015-01-12  misha
   
           * src/: classes/form.C, include/pa_common.h,
             include/pa_request_info.h, main/pa_common.C, types/pa_vform.C,
             types/pa_vform.h: - supports body with PUT method as well ( new
             feature: #1006 )
   
           * src/classes/file.C: - warnings war
   
   2015-01-11  misha
   
           * tests/300.html: - test for ^hash.delete[] is added
   
           * src/classes/hash.C: - ^hash.delete[] clear all hash ( new
             feature: #989 ) - tiny optimization in intersects
   
   2015-01-06  moko
   
           * src/types/pa_vmail.C: file names transcode added, to and cc added
             with transcode, attachments detection fixed
   
           * src/main/pa_request.C: filling mail received after cgi/auto.p
             load to allow charset switch (related to issue #996)
   
   2014-12-31  moko
   
           * src/types/pa_vmail.C: from and subject now transcoded if not
             UTF-8 source charset (fixes issue 996)
   
           * src/main/pa_exception.C: fixed string from stack bug (closes
             issue #1000)
   
   2014-12-11  misha
   
           * src/types/pa_vhashfile.C: - check if key is not empty before
             access ( bug fix: #1005 )
   
   2014-11-13  misha
   
           * src/main/compile.y: - PC.append does not reset to false while
             creating a new class. bugfix: #990
   
           * tests/299.html: - test for creation class after working with
             partial class (create+append)
   
           * src/types/pa_vobject.C: - @GET[def] always returns true. bugfix:
             #995
   
           * tests/232.html: - test for @get[def] added
   
   2014-10-12  moko
   
           * src/lib/pcre/pcre_internal.vcproj: correct path
   
           * src/: classes/classes.vcproj, lib/cord/cord.vcproj,
             lib/ltdl/ltdl.vcproj, lib/md5/md5.vcproj,
             lib/pcre/pcre_internal.vcproj, main/main.vcproj,
             targets/apache/ApacheModuleParser3.vcproj,
             targets/apache/ApacheModuleParser3Core.vcproj,
             targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj,
             types/types.vcproj: project GUID inserted in *.vcproj for correct
             conversion in newer VS versions
   
           * parser3.sln, src/lib/pcre/pcre_internal.vcproj:
             pcre_internal.vcproj added
   
   2014-08-28  moko
   
           * src/lib/pcre/: Makefile.am, pa_pcre_chartables.c,
             pa_pcre_internal.h, pa_pcre_valid_utf8.c: _pcre_default_tables
             and pcre_valid_utf are copied to parser3 code (fixes issue #991)
   
   2014-06-30  misha
   
           * tests/298.html: - tests for ^reflection:def[class;className]
             added
   
           * src/classes/reflection.C: - ^reflection:def[class;className]
             added ( new feature: #918 )
   
   2014-06-29  misha
   
           * src/classes/table.C: - ^table::create[unsupported data] -
             exception comment changed to "body must be table or code" ( bug
             fix: #951 )
   
           * tests/: 261.html, results/261.processed: - tests for
             ^json:string[...;$.void[null|string]] added
   
           * src/: classes/json.C, types/pa_value.h, types/pa_vvoid.h: - new
             option $.void[string|null] added to ^json:string[...] ( new
             feature: #952 )
   
   2014-06-28  moko
   
           * src/classes/curl.C: $.charset now processed before other curl
             options (closes issue #980)
   
   2014-05-23  misha
   
           * src/classes/json.C: - bug fix: #987
   
   2014-05-04  misha
   
           * tests/: 253.html, 253_json.txt: - test for
             ^json:parse[$.int(false)] is added
   
           * src/classes/json.C: - To ^json:parse[] added option $.int(bool,
             default true). The option is similar to $.double(bool) but for
             integers.
   
   2014-05-01  moko
   
           * src/classes/file.C: "PARSER_VERSION" -> PARSER_VERSION ( bugfix:
             #12 )
   
   2014-04-16  moko
   
           * src/main/pa_http.C: response-charset option should finally work
             now (fix for issue #867)
   
           * src/main/pa_http.C: response-charset option should work now (fix
             for issue #867)
   
   2014-03-07  moko
   
           * buildall: libgc moved
   
           * buildall: libgc moved
   
   2013-12-29  moko
   
           * src/classes/string.C: ^string:js-unescape result now tainted,
             closes issue #966
   
           * tests/: 186.html, results/186.processed: ^string:js-unescape
             result now tainted, issue #966
   
   2013-12-03  moko
   
           * src/: classes/memcached.C, types/pa_vmemcached.C,
             types/pa_vmemcached.h: memcached open $.skip-connect(true|false)
             option was added for http://www.parser.ru/forum/?id=79343
   
           * src/classes/file.C: bugfix for
             http://www.parser.ru/forum/?id=79337
   
   2013-11-05  moko
   
           * configure.in, src/include/pa_version.h: 3.4.3 -> 3.4.4b
   
           * src/main/pa_globals.C: spelling fixed
   
 2013-10-29  moko  2013-10-29  moko
   
         * src/lib/json/json.vcproj: json.c -> pa_json.C          * src/lib/json/json.vcproj: json.c -> pa_json.C
Line 5915 Line 8932
           src/types/pa_vhashfile.C, src/types/pa_vhashfile.h,            src/types/pa_vhashfile.C, src/types/pa_vhashfile.h,
           src/types/pa_vmail.C, src/types/pa_vresponse.C,            src/types/pa_vmail.C, src/types/pa_vresponse.C,
           src/types/pa_vstatus.C, src/types/types.vcproj,            src/types/pa_vstatus.C, src/types/types.vcproj,
           tests/descript.ion, www/htdocs/_bug.html, www/htdocs/_bug.xsl: +            tests/descript.ion: + ^break[] ^continue[], in ^for, ^while,
           ^break[] ^continue[], in ^for, ^while, ^menu,            ^menu, ^hash/hashfile.foreach
           ^hash/hashfile.foreach  
   
         * gnu.vcproj, parser3.sln, src/classes/classes.vcproj,          * gnu.vcproj, parser3.sln, src/classes/classes.vcproj,
           src/classes/file.C, src/classes/hash.C, src/classes/image.C,            src/classes/file.C, src/classes/hash.C, src/classes/image.C,
Line 5943 Line 8959
           src/types/pa_value.h, src/types/pa_vcookie.C,            src/types/pa_value.h, src/types/pa_vcookie.C,
           src/types/pa_vmail.C, src/types/pa_vresponse.C,            src/types/pa_vmail.C, src/types/pa_vresponse.C,
           src/types/pa_vstatus.C, src/types/types.vcproj,            src/types/pa_vstatus.C, src/types/types.vcproj,
           tests/descript.ion, www/htdocs/_bug.html, www/htdocs/_bug.xsl: !            tests/descript.ion: ! switched to VS2005 (projects and
           switched to VS2005 (projects and object<info explicitly            object<info explicitly typed>.for_each(, info)) +
           typed>.for_each(, info)) + $response:field[] setting void means            $response:field[] setting void means removing + grammar $name`
           removing + grammar $name` name stops now, for mysql `$field` +            name stops now, for mysql `$field` + started ^break[]
           started ^break[] ^continue[], in ^for. TODO: to other iterators            ^continue[], in ^for. TODO: to other iterators (while, menu,
           (while, menu, foreach) + all log messages += [uri=, method=, cl=]            foreach) + all log messages += [uri=, method=, cl=]
   
         * buildall-with-xml: merged . ftp paths update          * buildall-with-xml: merged . ftp paths update
   
Line 6021 Line 9037
           src/lib/ltdl/acinclude.m4, src/lib/ltdl/config.guess,            src/lib/ltdl/acinclude.m4, src/lib/ltdl/config.guess,
           src/lib/ltdl/config.sub, src/lib/ltdl/configure.in,            src/lib/ltdl/config.sub, src/lib/ltdl/configure.in,
           src/lib/ltdl/install-sh, src/lib/ltdl/ltmain.sh,            src/lib/ltdl/install-sh, src/lib/ltdl/ltmain.sh,
           src/lib/ltdl/missing, www/htdocs/_bug.html: . merged from 3.2.1            src/lib/ltdl/missing: . merged from 3.2.1
   
         * Makefile.am, src/lib/ltdl/Makefile.am: . now site.m4 also          * Makefile.am, src/lib/ltdl/Makefile.am: . now site.m4 also
           packaged when 'make dist', so do configure companion files in            packaged when 'make dist', so do configure companion files in
Line 6055 Line 9071
   
 2005-12-21  paf  2005-12-21  paf
   
         * src/main/compile.tab.C, src/main/main.vcproj,          * src/main/: compile.tab.C, main.vcproj: . win32: grammar is now
           www/htdocs/_bug.html: . win32: grammar is now compiled with bison            compiled with bison 1.875b, it reports unexpected token names
           1.875b, it reports unexpected token names  
   
 2005-12-19  paf  2005-12-19  paf
   
         * src/main/compile.tab.C, src/types/pa_vxnode.h,          * src/: main/compile.tab.C, types/pa_vxnode.h: ! bugfix xnode now
           www/htdocs/_bug.html, www/htdocs/_bug.xsl: ! bugfix xnode now  
           holds a link to xmlNode to prevent premature gc(xmlNode)            holds a link to xmlNode to prevent premature gc(xmlNode)
   
         * src/classes/classes.vcproj, src/include/pa_config_fixed.h,          * src/classes/classes.vcproj, src/include/pa_config_fixed.h,
Line 6158 Line 9172
           tests/results/143.processed, tests/results/144.processed,            tests/results/143.processed, tests/results/144.processed,
           tests/results/145.processed, tests/results/146.processed,            tests/results/145.processed, tests/results/146.processed,
           tests/results/147.processed, tests/results/148.processed,            tests/results/147.processed, tests/results/148.processed,
           tests/results/149.processed, www/htdocs/_bug.html: . removed            tests/results/149.processed: . removed .nodeValue from all node
           .nodeValue from all node types other than 5 (grabbed piece from            types other than 5 (grabbed piece from gdome)
           gdome)  
   
         * tests/: 137.html, results/137.processed: . not handled this case          * tests/: 137.html, results/137.processed: . not handled this case
           yet. code does not hang from inserting parent into child,            yet. code does not hang from inserting parent into child,
Line 6174 Line 9187
   
 2005-12-16  paf  2005-12-16  paf
   
         * tests/146.html, tests/147.html, tests/148.html,          * tests/: 146.html, 147.html, 148.html: . more tests
           www/htdocs/_bug.html: . more tests  
   
         * src/classes/xnode.C: . also bark on possible errors          * src/classes/xnode.C: . also bark on possible errors
   
         * src/types/: pa_vxdoc.C, pa_vxnode.C, pa_vxnode.h: + xdoc DOM          * src/types/: pa_vxdoc.C, pa_vxnode.C, pa_vxnode.h: + xdoc DOM
           props            props
   
         * www/htdocs/_bug.html: ! fixed overoptimized ^call(false) case.  
           (confused it with ^call[] case)  
   
         * src/: types/pa_value.h, types/pa_vvoid.h, main/compile.tab.C,          * src/: types/pa_value.h, types/pa_vvoid.h, main/compile.tab.C,
           main/compile.y: merged from HEAD ! fixed overoptimized            main/compile.y: merged from HEAD ! fixed overoptimized
           ^call(false) case. (confused it with ^call[] case)            ^call(false) case. (confused it with ^call[] case)
Line 6273 Line 9282
         * INSTALL, configure.in, src/lib/Makefile.am: . sweetest part [no          * INSTALL, configure.in, src/lib/Makefile.am: . sweetest part [no
           glib/gdome in INSTALL and patches]            glib/gdome in INSTALL and patches]
   
         * src/classes/xdoc.C, src/classes/xnode.C, src/classes/xnode.h,          * src/: classes/xdoc.C, classes/xnode.C, classes/xnode.h,
           src/include/pa_charset.h, src/include/pa_config_includes.h,            include/pa_charset.h, include/pa_config_includes.h,
           src/include/pa_globals.h, src/include/pa_memory.h,            include/pa_globals.h, include/pa_memory.h, include/pa_request.h,
           src/include/pa_request.h, src/include/pa_xml_exception.h,            include/pa_xml_exception.h, lib/cord/Makefile.am,
           src/lib/cord/Makefile.am, src/lib/cord/cord.vcproj,            lib/cord/cord.vcproj, lib/cord/cordbscs.c, lib/cord/cordprnt.c,
           src/lib/cord/cordbscs.c, src/lib/cord/cordprnt.c,            lib/cord/cordxtra.c, main/compile.tab.C, main/pa_charset.C,
           src/lib/cord/cordxtra.c, src/main/compile.tab.C,            main/pa_globals.C, main/pa_memory.C, main/pa_request.C,
           src/main/pa_charset.C, src/main/pa_globals.C,            main/pa_stylesheet_connection.C, main/pa_xml_exception.C,
           src/main/pa_memory.C, src/main/pa_request.C,            types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C,
           src/main/pa_stylesheet_connection.C, src/main/pa_xml_exception.C,            types/pa_vxnode.h: . started killing gdome
           src/types/pa_vxdoc.C, src/types/pa_vxdoc.h,  
           src/types/pa_vxnode.C, src/types/pa_vxnode.h,  
           www/htdocs/.htaccess, www/htdocs/_bug.html: . started killing  
           gdome  
   
 2005-12-13  paf  2005-12-13  paf
   
Line 6319 Line 9324
           src/main/pa_charset.C, src/main/pa_common.C,            src/main/pa_charset.C, src/main/pa_common.C,
           src/main/pa_globals.C, src/main/pa_string.C,            src/main/pa_globals.C, src/main/pa_string.C,
           src/targets/cgi/getopt.c, src/targets/isapi/parser3isapi.C,            src/targets/cgi/getopt.c, src/targets/isapi/parser3isapi.C,
           src/types/pa_vmail.C, www/htdocs/.htaccess, www/htdocs/_bug.txt,            src/types/pa_vmail.C: . merged latest fixes from 3.2.0
           www/htdocs/auto.p: . merged latest fixes from 3.2.0  
   
 2005-12-08  paf  2005-12-08  paf
   
Line 6340 Line 9344
         * src/targets/isapi/parser3isapi.C: . merged from 3.1.5 release          * src/targets/isapi/parser3isapi.C: . merged from 3.1.5 release
           link fixes            link fixes
   
         * src/classes/date.C, src/include/pa_config_fixed.h,          * src/: classes/date.C, include/pa_config_fixed.h,
           src/main/compile.tab.C, src/main/compile.y,            main/compile.tab.C, main/compile.y, main/compile_tools.h,
           src/main/compile_tools.h, src/main/pa_charset.C,            main/pa_charset.C, main/pa_common.C, main/pa_globals.C,
           src/main/pa_common.C, src/main/pa_globals.C,            main/pa_string.C, targets/cgi/getopt.c: . less warnings
           src/main/pa_string.C, src/targets/cgi/getopt.c,  
           www/htdocs/_bug.html, www/htdocs/_bug.txt, www/htdocs/auto.p: .  
           less warnings  
   
         * src/include/pa_config_fixed.h: . removed outdated string origins          * src/include/pa_config_fixed.h: . removed outdated string origins
           [in current storage scheme there's no place for them. someday we            [in current storage scheme there's no place for them. someday we
Line 6425 Line 9426
   
         * src/classes/op.C: merged from HEAD + ^while(){}[SEPARATOR]          * src/classes/op.C: merged from HEAD + ^while(){}[SEPARATOR]
   
         * src/classes/op.C, www/htdocs/_bug.html, www/htdocs/auto.p: +          * src/classes/op.C: + ^while(){}[SEPARATOR]
           ^while(){}[SEPARATOR]  
   
         * src/include/pa_array.h: + optimistics added: all arrays (table          * src/include/pa_array.h: + optimistics added: all arrays (table
           rows) now grow size*=2, like in .NET ArrayList.EnsureCapacity,            rows) now grow size*=2, like in .NET ArrayList.EnsureCapacity,
Line 6456 Line 9456
   
         * configure.in: + trying to find glib2-config          * configure.in: + trying to find glib2-config
   
         * src/classes/file.C, src/include/pa_common.h, src/main/execute.C,          * src/: classes/file.C, include/pa_common.h, main/execute.C,
           src/main/pa_common.C, src/main/pa_request.C,            main/pa_common.C, main/pa_request.C: merged from HEAD: ! changed
           www/htdocs/_bug.html: merged from HEAD: ! changed  
           file/dir_readable to simple file/dir_exist, this would help in            file/dir_readable to simple file/dir_exist, this would help in
           situations "class not found because .p file has bad rights" << in            situations "class not found because .p file has bad rights" << in
           that case error would be explicit "access denied to 'this' file"            that case error would be explicit "access denied to 'this' file"
Line 6478 Line 9477
           $.QUERY_STRING[^untaint[URI]{aaa=$form:text} << now %HH would be            $.QUERY_STRING[^untaint[URI]{aaa=$form:text} << now %HH would be
           encoded in $.charset charset            encoded in $.charset charset
   
         * src/classes/file.C, www/htdocs/_bug.html, www/htdocs/_bug.pl,          * src/classes/file.C: +! ^file::exec/cgi[script;$.charset[changed]
           www/htdocs/_bug.txt: +! ^file::exec/cgi[script;$.charset[changed]  
           $.QUERY_STRING[^untaint[URI]{aaa=$form:text} << now %HH would be            $.QUERY_STRING[^untaint[URI]{aaa=$form:text} << now %HH would be
           encoded in $.charset charset            encoded in $.charset charset
   
Line 6506 Line 9504
         * src/classes/op.C: merged from HEAD: + $exception.handled[cache]          * src/classes/op.C: merged from HEAD: + $exception.handled[cache]
           now reports original exception if we have no old cache            now reports original exception if we have no old cache
   
         * src/classes/op.C, www/htdocs/_bug.html: +          * src/classes/op.C: + $exception.handled[cache] now reports
           $exception.handled[cache] now reports original exception if we            original exception if we have no old cache
           have no old cache  
   
         * src/classes/op.C, src/include/pa_string.h, src/main/untaint.C,  
           www/htdocs/_bug.html: merged from HEAD: + ^taint/untaint[regex]  
           << escapes these: \^$.[]|()?*+{}  
   
         * src/classes/op.C, src/include/pa_string.h, src/main/untaint.C,          * src/: classes/op.C, include/pa_string.h, main/untaint.C: merged
           www/htdocs/_bug.html: + ^taint/untaint[regex] << escapes these:            from HEAD: + ^taint/untaint[regex] << escapes these:
           \^$.[]|()?*+{}            \^$.[]|()?*+{}
   
           * src/: classes/op.C, include/pa_string.h, main/untaint.C: +
             ^taint/untaint[regex] << escapes these: \^$.[]|()?*+{}
   
         * src/types/pa_vdate.h: ! date TZ save/restore stored pointer to          * src/types/pa_vdate.h: ! date TZ save/restore stored pointer to
           getenv-ed variable, which does not work both on win32&unix.            getenv-ed variable, which does not work both on win32&unix.
           copied old TZ value now            copied old TZ value now
Line 6533 Line 9529
         * src/types/pa_vresponse.C: merged from HEAD: + $response:headers          * src/types/pa_vresponse.C: merged from HEAD: + $response:headers
           access to internal hash            access to internal hash
   
         * src/types/pa_vresponse.C, www/htdocs/_bug.html: +          * src/types/pa_vresponse.C: + $response:headers access to internal
           $response:headers access to internal hash            hash
   
         * src/targets/isapi/parser3isapi.C: merged from HEAD: +          * src/targets/isapi/parser3isapi.C: merged from HEAD: +
           GC_large_alloc_warn_suppressed=0 between requests [apache mod_,            GC_large_alloc_warn_suppressed=0 between requests [apache mod_,
           isapi] this reduces number of "GC Warning: Repeated allocation of            isapi] this reduces number of "GC Warning: Repeated allocation of
           very large block" messages to only important onces            very large block" messages to only important onces
   
         * src/targets/isapi/parser3isapi.C, www/htdocs/_bug.html: +          * src/targets/isapi/parser3isapi.C: +
           GC_large_alloc_warn_suppressed=0 between requests [apache mod_,            GC_large_alloc_warn_suppressed=0 between requests [apache mod_,
           isapi] this reduces number of "GC Warning: Repeated allocation of            isapi] this reduces number of "GC Warning: Repeated allocation of
           very large block" messages to only important onces            very large block" messages to only important onces
Line 6558 Line 9554
         * src/main/pa_common.C: + removed "use either uri with ?params or          * src/main/pa_common.C: + removed "use either uri with ?params or
           $.form option" limitation            $.form option" limitation
   
         * src/classes/file.C, src/classes/string.C,          * src/: classes/file.C, classes/string.C, include/pa_common.h,
           src/include/pa_common.h, src/main/pa_common.C,            main/pa_common.C: merged from HEAD: + ^file.base64[] encode +
           www/htdocs/_bug.html: merged from HEAD: + ^file.base64[] encode +  
           ^file::base64[encoded] decode            ^file::base64[encoded] decode
   
         * src/classes/file.C, src/classes/string.C,          * src/: classes/file.C, classes/string.C, include/pa_common.h,
           src/include/pa_common.h, src/main/pa_common.C,            main/pa_common.C: + ^file.base64[] encode +
           www/htdocs/_bug.html: + ^file.base64[] encode +  
           ^file::base64[encoded] decode            ^file::base64[encoded] decode
   
         * src/classes/file.C, src/classes/string.C, www/htdocs/_bug.html: +          * src/classes/: file.C, string.C: + ^string.base64[] encode +
           ^string.base64[] encode + ^string:base64[encoded] decode            ^string:base64[encoded] decode
   
         * src/classes/string.C, src/include/pa_common.h,          * src/: classes/string.C, include/pa_common.h, main/pa_common.C: +
           src/main/pa_common.C, www/htdocs/_bug.html: + ^string:base64[in]            ^string:base64[in] encode + ^string.base64[] decode
           encode + ^string.base64[] decode  
   
 2005-11-21  paf  2005-11-21  paf
   
         * src/classes/file.C, www/htdocs/_bug.html: + merged from HEAD:          * src/classes/file.C: + merged from HEAD:
           ^file::create[text;file.xml;^untaint[xml]{data}]            ^file::create[text;file.xml;^untaint[xml]{data}]
   
         * src/classes/file.C, www/htdocs/_bug.html: +          * src/classes/file.C: +
           ^file::create[text;file.xml;^untaint[xml]{data}]            ^file::create[text;file.xml;^untaint[xml]{data}]
   
         * src/main/pa_request.C: ! merged: $response:body[file] now          * src/main/pa_request.C: ! merged: $response:body[file] now
Line 6601 Line 9594
           types/pa_vmethod_frame.h: + merged: expression literals:            types/pa_vmethod_frame.h: + merged: expression literals:
           true/false. ^format[$.indent(true)]            true/false. ^format[$.indent(true)]
   
         * src/main/compile.tab.C, src/main/compile.y, src/types/pa_value.h,          * src/: main/compile.tab.C, main/compile.y, types/pa_value.h,
           src/types/pa_vbool.h, src/types/pa_vdouble.h,            types/pa_vbool.h, types/pa_vdouble.h, types/pa_vint.h,
           src/types/pa_vint.h, src/types/pa_vmethod_frame.h,            types/pa_vmethod_frame.h: + expression literals: true/false.
           www/htdocs/_bug.html: + expression literals: true/false.  
           ^format[$.indent(true)]            ^format[$.indent(true)]
   
         * src/types/Makefile.am, src/types/pa_venv.C, src/types/pa_venv.h,          * src/types/: Makefile.am, pa_venv.C, pa_venv.h, types.vcproj: +
           src/types/types.vcproj, www/htdocs/_bug.html,            merged: $env:PARSER_VERSION reports "3.1.5beta (compiled on
           www/htdocs/_bug.txt: + merged: $env:PARSER_VERSION reports            i386-pc-win32)"
           "3.1.5beta (compiled on i386-pc-win32)"  
   
         * src/types/Makefile.am, src/types/pa_venv.C, src/types/pa_venv.h,          * src/types/: Makefile.am, pa_venv.C, pa_venv.h, types.vcproj: +
           src/types/types.vcproj, www/htdocs/_bug.html: +  
           $env:PARSER_VERSION reports "3.1.5beta (compiled on            $env:PARSER_VERSION reports "3.1.5beta (compiled on
           i386-pc-win32)"            i386-pc-win32)"
   
Line 6622 Line 9612
         * src/classes/: double.C, int.C: ! ^int/double:sql{select          * src/classes/: double.C, int.C: ! ^int/double:sql{select
           null}[$.default(123)] will now return default value            null}[$.default(123)] will now return default value
   
         * www/htdocs/_bug.html: + ^cache[] << returns current cache  
           expiration time  
   
         * src/classes/op.C: + merged ^cache[] << returns current cache          * src/classes/op.C: + merged ^cache[] << returns current cache
           expiration time            expiration time
   
Line 6643 Line 9630
         * src/main/pa_common.C: ! file::load[binary;fileOfZeroSize] now          * src/main/pa_common.C: ! file::load[binary;fileOfZeroSize] now
           loads VFile.ptr!=0, so such files can be saved now            loads VFile.ptr!=0, so such files can be saved now
   
         * src/include/pa_dir.h, www/htdocs/_bug.html, www/htdocs/_bug.txt:          * src/include/pa_dir.h: ! merged: file:list now sees .xxx files,
           ! merged: file:list now sees .xxx files, only . and .. now            only . and .. now removed from list [were removed all .*]
           removed from list [were removed all .*]  
   
         * src/include/pa_dir.h: ! file:list now sees .xxx files, only . and          * src/include/pa_dir.h: ! file:list now sees .xxx files, only . and
           .. now removed from list [were removed all .*]            .. now removed from list [were removed all .*]
Line 6676 Line 9662
   
 2005-11-16  paf  2005-11-16  paf
   
         * src/include/pa_common.h, src/classes/file.C, src/classes/table.C,          * src/: include/pa_common.h, classes/file.C, classes/table.C,
           src/main/compile.tab.C, src/main/pa_common.C,            main/compile.tab.C, main/pa_common.C: merged to HEAD: !
           www/htdocs/_bug.html: merged to HEAD: ! table::save with            table::save with enclosers now doubles them: "->"" !
           enclosers now doubles them: "->"" ! table::save/load do not            table::save/load do not remove elements from options hash
           remove elements from options hash  
   
         * src/main/compile.y: ! merged to HEAD: ^if(-f "...") now works          * src/main/compile.y: ! merged to HEAD: ^if(-f "...") now works
           [were overoptimized ^if(double_literal), compiler confused            [were overoptimized ^if(double_literal), compiler confused
Line 6690 Line 9675
           [were overoptimized ^if(double_literal), compiler confused            [were overoptimized ^if(double_literal), compiler confused
           OP_VALUE+origin+double with OP_STRINGPOOL+code+OP_writeXX            OP_VALUE+origin+double with OP_STRINGPOOL+code+OP_writeXX
   
         * src/classes/file.C, src/classes/table.C, src/include/pa_common.h,          * src/: classes/file.C, classes/table.C, include/pa_common.h,
           src/main/pa_common.C, www/htdocs/_bug.html: ! table::save with            main/pa_common.C: ! table::save with enclosers now doubles them:
           enclosers now doubles them: "->"" ! table::save/load do not            "->"" ! table::save/load do not remove elements from options hash
           remove elements from options hash  
   
 2005-11-03  paf  2005-11-03  paf
   
Line 6708 Line 9692
   
 2005-08-26  paf  2005-08-26  paf
   
         * src/classes/date.C, src/types/pa_vdate.h, www/htdocs/_bug.html:          * src/: classes/date.C, types/pa_vdate.h: merged + date.week
           merged + date.week  
   
         * src/classes/date.C, src/types/pa_vdate.h, www/htdocs/_bug.html: +          * src/: classes/date.C, types/pa_vdate.h: + date.week
           date.week  
   
         * src/classes/table.C: merged ! ^table::create[bad]{xxx} now          * src/classes/table.C: merged ! ^table::create[bad]{xxx} now
           complains about bad!=nameless            complains about bad!=nameless
Line 6724 Line 9706
           optional options were allowed to be empty. were checked            optional options were allowed to be empty. were checked
           if(is_string), changed to !defined||is_string to allow void            if(is_string), changed to !defined||is_string to allow void
   
         * src/targets/isapi/parser3isapi.C, www/htdocs/_bug.html,          * src/: targets/isapi/parser3isapi.C, classes/hash.C,
           src/classes/hash.C, src/classes/string.C, src/classes/table.C,            classes/string.C, classes/table.C, classes/void.C: ! optional
           src/classes/void.C: ! optional options were allowed to be empty.            options were allowed to be empty. were checked if(is_string),
           were checked if(is_string), changed to !defined||is_string to            changed to !defined||is_string to allow void
           allow void  
   
         * src/types/pa_vmethod_frame.h: merged ! many classes/*  used          * src/types/pa_vmethod_frame.h: merged ! many classes/*  used
           as_junction where they needed as_int/double, so failed with            as_junction where they needed as_int/double, so failed with
Line 6739 Line 9720
           as_int/double, so failed with recent "(const) now no junction"            as_int/double, so failed with recent "(const) now no junction"
           optimization            optimization
   
         * src/classes/double.C, src/classes/int.C, src/classes/math.C,          * src/: classes/double.C, classes/int.C, classes/math.C,
           src/classes/op.C, src/classes/string.C, src/classes/table.C,            classes/op.C, classes/string.C, classes/table.C,
           src/main/compile.tab.C, src/types/pa_vmethod_frame.h,            main/compile.tab.C, types/pa_vmethod_frame.h: ! many classes/*
           www/htdocs/_bug.html: ! many classes/*  used as_junction where            used as_junction where they needed as_int/double, so failed with
           they needed as_int/double, so failed with recent "(const) now no            recent "(const) now no junction" optimization
           junction" optimization  
   
 2005-08-24  paf  2005-08-24  paf
   
Line 6757 Line 9737
         * src/types/pa_wcontext.h: ! bugfix in_expression bit field were          * src/types/pa_wcontext.h: ! bugfix in_expression bit field were
           not cleared            not cleared
   
         * www/htdocs/: _bug.html, _bug.pl, _bug.txt: . file::exec $charset  
           transcodes env fine  
   
         * src/: classes/classes.C, classes/classes.h, classes/date.C,          * src/: classes/classes.C, classes/classes.h, classes/date.C,
           classes/double.C, classes/file.C, classes/form.C, classes/hash.C,            classes/double.C, classes/file.C, classes/form.C, classes/hash.C,
           classes/hashfile.C, classes/image.C, classes/int.C,            classes/hashfile.C, classes/image.C, classes/int.C,
Line 6830 Line 9807
         * src/: classes/file.C, main/pa_exec.C: + file::cgi/exec now          * src/: classes/file.C, main/pa_exec.C: + file::cgi/exec now
           params: 50 max (were 10)            params: 50 max (were 10)
   
         * src/types/pa_value.h, src/types/pa_vdouble.h,          * src/types/: pa_value.h, pa_vdouble.h, pa_vint.h,
           src/types/pa_vint.h, src/types/pa_vmethod_frame.h,            pa_vmethod_frame.h, pa_vvoid.C, pa_vvoid.h, pa_wcontext.C,
           src/types/pa_vvoid.C, src/types/pa_vvoid.h,            pa_wcontext.h: + ^call[$void] param inside now is void (were:
           src/types/pa_wcontext.C, src/types/pa_wcontext.h,            empty string) ! simplified (double) speedup consequent checks in
           www/htdocs/.htaccess, www/htdocs/_bug.html: + ^call[$void] param            vmethod_frame
           inside now is void (were: empty string) ! simplified (double)  
           speedup consequent checks in vmethod_frame  
   
         * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: merged +          * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: merged +
           optimized constants in expressions vstring->vdouble + optimized            optimized constants in expressions vstring->vdouble + optimized
Line 6850 Line 9825
         * bin/auto.p.dist.in: . apache bad 404 handling workaround          * bin/auto.p.dist.in: . apache bad 404 handling workaround
           integrated            integrated
   
         * src/main/compile.tab.C, src/main/compile.y,          * src/main/: compile.tab.C, compile.y, compile_tools.C,
           src/main/compile_tools.C, src/main/compile_tools.h,            compile_tools.h: merged + optimized constants in expressions
           www/htdocs/.htaccess, www/htdocs/_bug.html, www/htdocs/_bug.xml:            vstring->vdouble + optimized ^call(vdouble), no junction
           merged + optimized constants in expressions vstring->vdouble +            creation, no calls later
           optimized ^call(vdouble), no junction creation, no calls later  
   
         * src/types/pa_vdouble.h: merged . double values without fractional          * src/types/pa_vdouble.h: merged . double values without fractional
           part now default printed as %.0f instead of %g            part now default printed as %.0f instead of %g
Line 6862 Line 9836
         * src/types/pa_vdouble.h: . double values without fractional part          * src/types/pa_vdouble.h: . double values without fractional part
           now default printed as %.0f instead of %g            now default printed as %.0f instead of %g
   
         * www/htdocs/: _bug.html, _bug.xml: . merged ! second  
           hashfile::open would cause an exception  
   
         * src/classes/hashfile.C: . merged ! second hashfile::open would          * src/classes/hashfile.C: . merged ! second hashfile::open would
           cause an exception            cause an exception
   
         * src/classes/hashfile.C: ! second hashfile::open would cause an          * src/classes/hashfile.C: ! second hashfile::open would cause an
           exception            exception
   
         * src/classes/classes.h, src/main/execute.C,          * src/: classes/classes.h, main/execute.C, types/pa_junction.h,
           src/types/pa_junction.h, src/types/pa_value.h,            types/pa_value.h, types/pa_vclass.C, types/pa_vclass.h,
           src/types/pa_vclass.C, src/types/pa_vclass.h,            types/pa_vcode_frame.h, types/pa_vconsole.h, types/pa_vcookie.C,
           src/types/pa_vcode_frame.h, src/types/pa_vconsole.h,            types/pa_vcookie.h, types/pa_vhash.h, types/pa_vhashfile.h,
           src/types/pa_vcookie.C, src/types/pa_vcookie.h,            types/pa_vimage.C, types/pa_vimage.h, types/pa_vjunction.h,
           src/types/pa_vhash.h, src/types/pa_vhashfile.h,            types/pa_vmethod_frame.h, types/pa_vobject.C, types/pa_vobject.h,
           src/types/pa_vimage.C, src/types/pa_vimage.h,            types/pa_vrequest.C, types/pa_vrequest.h, types/pa_vresponse.C,
           src/types/pa_vjunction.h, src/types/pa_vmethod_frame.h,            types/pa_vresponse.h, types/pa_vstateless_class.C,
           src/types/pa_vobject.C, src/types/pa_vobject.h,            types/pa_vstateless_object.h, types/pa_vvoid.h,
           src/types/pa_vrequest.C, src/types/pa_vrequest.h,            types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wwrapper.h: .
           src/types/pa_vresponse.C, src/types/pa_vresponse.h,            merged VJunction(new Junction) optimization from 3.1.4
           src/types/pa_vstateless_class.C,  
           src/types/pa_vstateless_object.h, src/types/pa_vvoid.h,  
           src/types/pa_vxnode.C, src/types/pa_vxnode.h,  
           src/types/pa_wwrapper.h, www/htdocs/_bug.html, www/htdocs/_bug.p:  
           . merged VJunction(new Junction) optimization from 3.1.4  
   
         * src/: main/execute.C, types/pa_junction.h, types/pa_vjunction.h,          * src/: main/execute.C, types/pa_junction.h, types/pa_vjunction.h,
           types/pa_vstateless_class.C: + optimized new VJunction(new            types/pa_vstateless_class.C: + optimized new VJunction(new
Line 6966 Line 9932
   
 2005-07-29  paf  2005-07-29  paf
   
         * src/types/pa_vclass.C, www/htdocs/_bug.p: . shaped up error          * src/types/pa_vclass.C: . shaped up error messages a bit
           messages a bit  
   
         * src/types/pa_vclass.C, www/htdocs/_bug_derived.p: + property  
           getter can now be overridden  
   
         * src/main/execute.C, src/types/pa_vclass.C,          * src/types/pa_vclass.C: + property getter can now be overridden
           src/types/pa_vobject.C, www/htdocs/_bug.p,  
           www/htdocs/_bug_derived.p: ! bug fix: static parent fields were  
           not replaced in case $derived:field[put] + property setter can  
           now be overridden  
   
         * www/htdocs/: _bug.html, _bug.p, _bug_derived.p: + removed limit          * src/: main/execute.C, types/pa_vclass.C, types/pa_vobject.C: !
           "ctor must be declared in class being created"            bug fix: static parent fields were not replaced in case
             $derived:field[put] + property setter can now be overridden
   
 2005-07-28  paf  2005-07-28  paf
   
Line 7003 Line 9962
           src/types/pa_vstateless_class.h,            src/types/pa_vstateless_class.h,
           src/types/pa_vstateless_object.h, src/types/pa_vvoid.h,            src/types/pa_vstateless_object.h, src/types/pa_vvoid.h,
           src/types/pa_vxnode.C, src/types/pa_vxnode.h,            src/types/pa_vxnode.C, src/types/pa_vxnode.h,
           src/types/pa_wwrapper.h, www/htdocs/.htaccess,            src/types/pa_wwrapper.h: + 3.2.0 beta: merged from
           www/htdocs/_bug.html, www/htdocs/_bug.p, www/htdocs/_bug.pl,  
           www/htdocs/_bug.sh, www/htdocs/auto.p: + 3.2.0 beta: merged from  
           dynamic_fields_join            dynamic_fields_join
   
         * src/classes/hash.C, src/classes/hashfile.C, src/classes/op.C,          * src/: classes/hash.C, classes/hashfile.C, classes/op.C,
           src/classes/xnode.C, src/include/pa_hash.h, src/main/execute.C,            classes/xnode.C, include/pa_hash.h, main/execute.C,
           src/types/pa_method.h, src/types/pa_value.h,            types/pa_method.h, types/pa_value.h, types/pa_vclass.C,
           src/types/pa_vclass.C, src/types/pa_vclass.h,            types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vconsole.h,
           src/types/pa_vcode_frame.h, src/types/pa_vconsole.h,            types/pa_vcookie.C, types/pa_vcookie.h, types/pa_vhash.h,
           src/types/pa_vcookie.C, src/types/pa_vcookie.h,            types/pa_vhashfile.h, types/pa_vimage.C, types/pa_vimage.h,
           src/types/pa_vhash.h, src/types/pa_vhashfile.h,            types/pa_vmethod_frame.h, types/pa_vobject.C, types/pa_vobject.h,
           src/types/pa_vimage.C, src/types/pa_vimage.h,            types/pa_vrequest.C, types/pa_vrequest.h, types/pa_vresponse.C,
           src/types/pa_vmethod_frame.h, src/types/pa_vobject.C,            types/pa_vresponse.h, types/pa_vstateless_object.h,
           src/types/pa_vobject.h, src/types/pa_vrequest.C,            types/pa_vvoid.h, types/pa_vxnode.C, types/pa_vxnode.h,
           src/types/pa_vrequest.h, src/types/pa_vresponse.C,            types/pa_wwrapper.h: ! restored put_element('replace' param), and
           src/types/pa_vresponse.h, src/types/pa_vstateless_object.h,            restored its checks in vobject.put_element->static fields |
           src/types/pa_vvoid.h, src/types/pa_vxnode.C,            dynamic properties
           src/types/pa_vxnode.h, src/types/pa_wwrapper.h,  
           www/htdocs/.htaccess, www/htdocs/auto.p: ! restored  
           put_element('replace' param), and restored its checks in  
           vobject.put_element->static fields | dynamic properties  
   
 2005-07-27  paf  2005-07-27  paf
   
Line 7036 Line 9989
         * configure, configure.in, src/include/pa_version.h,          * configure, configure.in, src/include/pa_version.h,
           src/types/Makefile.am: 3.2.0beta started            src/types/Makefile.am: 3.2.0beta started
   
         * src/classes/xnode.C, src/include/pa_hash.h,          * src/: classes/xnode.C, include/pa_hash.h,
           src/types/pa_vstateless_class.C, www/htdocs/.htaccess,            types/pa_vstateless_class.C: ! new asserts were all false.
           www/htdocs/_bug.html, www/htdocs/_bug.p, www/htdocs/_bug.pl,            regretfully reverted them all to checks
           www/htdocs/_bug.sh, www/htdocs/auto.p: ! new asserts were all  
           false. regretfully reverted them all to checks  
   
         * src/: classes/classes.h, classes/hash.C, classes/hashfile.C,          * src/: classes/classes.h, classes/hash.C, classes/hashfile.C,
           classes/op.C, main/execute.C, types/pa_method.h,            classes/op.C, main/execute.C, types/pa_method.h,
Line 7055 Line 10006
           joined_dynamic_fields: removed unused param from put_method            joined_dynamic_fields: removed unused param from put_method
           (returned to 3 params)            (returned to 3 params)
   
         * src/include/pa_hash.h, src/types/pa_vclass.C,          * src/: include/pa_hash.h, types/pa_vclass.C, types/pa_vclass.h:
           src/types/pa_vclass.h, www/htdocs/_bug.html, www/htdocs/_bug.p:  
           joined_dynamic_fields: dynamic get/set works with overriding            joined_dynamic_fields: dynamic get/set works with overriding
           props [alpha2]            props [alpha2]
   
         * src/types/pa_vclass.C, www/htdocs/_bug.html:          * src/types/pa_vclass.C: joined_dynamic_fields: dynamic get/set
           joined_dynamic_fields: dynamic get/set works [alfa]            works [alfa]
   
         * src/: classes/classes.h, classes/hash.C, classes/hashfile.C,          * src/: classes/classes.h, classes/hash.C, classes/hashfile.C,
           classes/op.C, include/pa_hash.h, main/execute.C,            classes/op.C, include/pa_hash.h, main/execute.C,
Line 7085 Line 10035
         * src/types/pa_vobject.C: . object setters [only started, does not          * src/types/pa_vobject.C: . object setters [only started, does not
           work yet]            work yet]
   
         * src/include/pa_hash.h, src/types/pa_vclass.C,          * src/: include/pa_hash.h, types/pa_vclass.C, types/pa_vobject.C: .
           src/types/pa_vobject.C, www/htdocs/_bug.html, www/htdocs/_bug.p:            object setters [only started, does not work yet]
           . object setters [only started, does not work yet]  
   
 2005-07-26  paf  2005-07-26  paf
   
         * src/include/pa_request.h, src/main/execute.C,          * src/: include/pa_request.h, main/execute.C: . properties: set
           www/htdocs/_bug.html: . properties: set works [alpha2]. for            works [alpha2]. for classes. todo: for objects
           classes. todo: for objects  
   
         * src/classes/classes.h, src/include/pa_hash.h, src/main/execute.C,          * src/: classes/classes.h, include/pa_hash.h, main/execute.C,
           src/types/pa_value.h, src/types/pa_vclass.C,            types/pa_value.h, types/pa_vclass.C, types/pa_vclass.h,
           src/types/pa_vclass.h, src/types/pa_vcode_frame.h,            types/pa_vcode_frame.h, types/pa_vconsole.h, types/pa_vcookie.C,
           src/types/pa_vconsole.h, src/types/pa_vcookie.C,            types/pa_vcookie.h, types/pa_vhash.h, types/pa_vhashfile.h,
           src/types/pa_vcookie.h, src/types/pa_vhash.h,            types/pa_vimage.C, types/pa_vimage.h, types/pa_vmethod_frame.h,
           src/types/pa_vhashfile.h, src/types/pa_vimage.C,            types/pa_vobject.C, types/pa_vobject.h, types/pa_vrequest.C,
           src/types/pa_vimage.h, src/types/pa_vmethod_frame.h,            types/pa_vrequest.h, types/pa_vresponse.C, types/pa_vresponse.h,
           src/types/pa_vobject.C, src/types/pa_vobject.h,            types/pa_vstateless_object.h, types/pa_vvoid.h,
           src/types/pa_vrequest.C, src/types/pa_vrequest.h,            types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wwrapper.h: .
           src/types/pa_vresponse.C, src/types/pa_vresponse.h,            properties: set works [alpha1]
           src/types/pa_vstateless_object.h, src/types/pa_vvoid.h,  
           src/types/pa_vxnode.C, src/types/pa_vxnode.h,  
           src/types/pa_wwrapper.h, www/htdocs/_bug.html: . properties: set  
           works [alpha1]  
   
 2005-07-25  paf  2005-07-25  paf
   
         * src/main/compile.C, src/types/pa_vclass.C, src/types/pa_vclass.h,          * src/: main/compile.C, types/pa_vclass.C, types/pa_vclass.h,
           src/types/pa_vstateless_class.C, src/types/pa_vstateless_class.h,            types/pa_vstateless_class.C, types/pa_vstateless_class.h: .
           www/htdocs/_bug.html: . properties: started, get works [alpha1,            properties: started, get works [alpha1, other approach]
           other approach]  
   
         * src/main/compile.C, src/types/pa_vclass.C, src/types/pa_vclass.h,          * src/: main/compile.C, types/pa_vclass.C, types/pa_vclass.h: .
           www/htdocs/_bug.html, www/htdocs/_bug.p: . properties: started,            properties: started, get works [alpha2]
           get works [alpha2]  
   
         * src/types/: pa_vclass.C, pa_vclass.h, pa_vstateless_class.C,          * src/types/: pa_vclass.C, pa_vclass.h, pa_vstateless_class.C,
           pa_vstateless_class.h: . properties: started, get works [alpha]            pa_vstateless_class.h: . properties: started, get works [alpha]
Line 7142 Line 10084
   
 2005-07-08  paf  2005-07-08  paf
   
         * src/main/pa_request.C, www/htdocs/_bug.html: ! bugfix:          * src/main/pa_request.C: ! bugfix: $response:body[nonfile] caused
           $response:body[nonfile] caused gpf            gpf
   
 2005-06-28  paf  2005-06-28  paf
   
Line 7152 Line 10094
   
 2005-06-06  paf  2005-06-06  paf
   
         * src/classes/hash.C, src/classes/string.C, src/classes/table.C,          * src/classes/: hash.C, string.C, table.C: ! bugfix ^string:sql
           www/htdocs/.htaccess, www/htdocs/_bug.html, www/htdocs/_bug.pl,            ^table:sql ^hash:sql now DO process $.bind option
           www/htdocs/_bug.xsl: ! bugfix ^string:sql ^table:sql ^hash:sql  
           now DO process $.bind option  
   
 2005-05-24  paf  2005-05-24  paf
   
Line 7204 Line 10144
   
 2005-03-16  paf  2005-03-16  paf
   
         * INSTALL, www/htdocs/.htaccess, www/htdocs/_bug.html,          * INSTALL, src/include/pa_stack.h: . compiled on freebsd 5.3 with
           src/include/pa_stack.h: . compiled on freebsd 5.3 with gcc 3.4            gcc 3.4
   
         * src/types/pa_vhash.C: . warning about eof eol          * src/types/pa_vhash.C: . warning about eof eol
   
Line 7216 Line 10156
   
 2005-02-02  paf  2005-02-02  paf
   
         * src/classes/xnode.C, www/htdocs/_bug.html: beauty: removed          * src/classes/xnode.C: beauty: removed needless includes
           needless includes  
   
 2005-01-31  paf  2005-01-31  paf
   
Line 7233 Line 10172
   
 2005-01-20  paf  2005-01-20  paf
   
         * configure.in, src/include/pa_version.h, www/htdocs/_bug.html:          * configure.in, src/include/pa_version.h: version
           version  
   
 2005-01-19  paf  2005-01-19  paf
   
Line 7244 Line 10182
   
 2004-12-23  paf  2004-12-23  paf
   
         * src/main/pa_sql_driver_manager.C, www/htdocs/_bug.html: sql          * src/main/pa_sql_driver_manager.C: sql connect string, rsplit @
           connect string, rsplit @  
   
         * src/main/pa_exec.C, www/htdocs/_bug.html: win32: bugfix:          * src/main/pa_exec.C: win32: bugfix: file::cgi/exec now set current
           file::cgi/exec now set current dir to directory of script (when            dir to directory of script (when shbang used), not to directory
           shbang used), not to directory of its interpreter            of its interpreter
   
         * src/include/pa_version.h: compiled on win32...          * src/include/pa_version.h: compiled on win32...
   
Line 7259 Line 10196
         * configure, configure.in, src/include/pa_version.h: configured          * configure, configure.in, src/include/pa_version.h: configured
           host to pa_version. will be displayed everywhere            host to pa_version. will be displayed everywhere
   
         * src/main/pa_request.C, www/htdocs/_bug.html: new:          * src/main/pa_request.C: new: @unhandled_exception can prevent
           @unhandled_exception can prevent exception from being logged by            exception from being logged by setting $exception.handled(1)
           setting $exception.handled(1)  
   
         * operators.txt, src/classes/file.C, www/htdocs/_bug.html: change:          * operators.txt, src/classes/file.C: change:
           ^file::sql{query}[[options]] options: $.name[file name]            ^file::sql{query}[[options]] options: $.name[file name]
           $.content-type[application/what]            $.content-type[application/what]
   
         * src/include/pa_common.h, src/main/pa_common.C,          * src/: include/pa_common.h, main/pa_common.C,
           src/types/pa_vhashfile.C, www/htdocs/_bug.html: beauty:            types/pa_vhashfile.C: beauty: hashfile::open now creates dir for
           hashfile::open now creates dir for new file            new file
   
         * src/classes/table.C, src/types/pa_vhash.C, src/types/pa_vhash.h,          * src/: classes/table.C, types/pa_vhash.C, types/pa_vhash.h:
           www/htdocs/_bug.html: bugfix: table->hash now regards _default            bugfix: table->hash now regards _default
   
         * src/types/pa_vmethod_frame.h, www/htdocs/_bug.html: bugfix: when          * src/types/pa_vmethod_frame.h: bugfix: when method junction was
           method junction was created by accessing $name_of_method it            created by accessing $name_of_method it acquired bad self=closest
           acquired bad self=closest methodframe; instead of proper self            methodframe; instead of proper self (current class)
           (current class)  
   
         * src/types/pa_vhashfile.C, www/htdocs/_bug.html: bugfix: reading          * src/types/pa_vhashfile.C: bugfix: reading empty string from
           empty string from hashfile produced bad cord            hashfile produced bad cord
   
 2004-12-10  paf  2004-12-10  paf
   
Line 7299 Line 10234
         * src/main/pa_common.C: http: exception status of send/recv errors          * src/main/pa_common.C: http: exception status of send/recv errors
           change to most probable http.timeout            change to most probable http.timeout
   
         * src/main/pa_common.C, www/htdocs/_bug.html: win32: http          * src/main/pa_common.C: win32: http connection $.timeout option now
           connection $.timeout option now works [setsockopt on            works [setsockopt on send/receive]
           send/receive]  
   
 2004-12-08  paf  2004-12-08  paf
   
         * src/classes/mail.C, src/types/pa_vmail.C, www/htdocs/.htaccess,          * src/: classes/mail.C, types/pa_vmail.C: bugfix: mail body now
           www/htdocs/_bug.html, www/htdocs/_bug.xsl: bugfix: mail body now  
           cstr-ed knowing mail charset, and untainting uri lang now knows            cstr-ed knowing mail charset, and untainting uri lang now knows
           proper charset            proper charset
   
Line 7343 Line 10276
   
 2004-10-07  paf  2004-10-07  paf
   
         * src/include/pa_config_fixed.h, src/include/pa_config_includes.h,          * src/: include/pa_config_fixed.h, include/pa_config_includes.h,
           src/main/pa_globals.C, www/htdocs/.htaccess,            main/pa_globals.C: debugger help: PA_RELEASE_ASSERTS enables
           www/htdocs/_bug.html, www/htdocs/_bug.pl: debugger help:            release asserts
           PA_RELEASE_ASSERTS enables release asserts  
   
         * src/: main/pa_string.C, include/pa_string.h: debugger help:          * src/: main/pa_string.C, include/pa_string.h: debugger help:
           String.dump() to stdout in detailed form  [were String.v() in            String.dump() to stdout in detailed form  [were String.v() in
Line 7397 Line 10329
   
 2004-09-13  paf  2004-09-13  paf
   
         * src/main/pa_string.C, www/htdocs/_bug.html: bugfix: $s[+008]          * src/main/pa_string.C: bugfix: $s[+008] ^eval($s) now parsed OK
           ^eval($s) now parsed OK [were as octal]            [were as octal]
   
         * src/types/pa_vhashfile.C, www/htdocs/_bug.html: beauty: not          * src/types/pa_vhashfile.C: beauty: not reproduced
           reproduced $hashfile.key[$novalue] bug [reported by motorin],            $hashfile.key[$novalue] bug [reported by motorin], inserted
           inserted safety-check            safety-check
   
         * src/types/pa_vhashfile.C: change: empty keys now error in parser          * src/types/pa_vhashfile.C: change: empty keys now error in parser
           [not something obscure from sdbm lib]            [not something obscure from sdbm lib]
   
         * src/types/pa_vhashfile.C, www/htdocs/_bug.html: bugfix: error          * src/types/pa_vhashfile.C: bugfix: error numbers now from errno.h
           numbers now from errno.h = strerror now returnes something and we            = strerror now returnes something and we can properly report that
           can properly report that to client            to client
   
         * src/lib/sdbm/sdbm_private.h: change: limit on length(key+value)          * src/lib/sdbm/sdbm_private.h: change: limit on length(key+value)
           now 8008 bytes, were 1008. perl sdbm compatibility now ruined            now 8008 bytes, were 1008. perl sdbm compatibility now ruined
   
         * www/htdocs/: _bug.html, _bug.xsl: change: ^xdoc.string now  
           outputted as-is  [tainted as-is] this helps //[space][newline] to  
           remain as-is and not be unnecessary optimized away [ruining  
           javascript]  
   
         * src/classes/xdoc.C: change: ^xdoc.string now outputted as-is          * src/classes/xdoc.C: change: ^xdoc.string now outputted as-is
           [tainted as-is] this helps //[space][newline] to remain as-is and            [tainted as-is] this helps //[space][newline] to remain as-is and
           not be unnecessary optimized away [ruining javascript]            not be unnecessary optimized away [ruining javascript]
Line 7448 Line 10375
           multipart/mixed    multipart/related       text/html            multipart/mixed    multipart/related       text/html
           image/xxx application/octet-stream << true attachments            image/xxx application/octet-stream << true attachments
   
         * src/types/pa_vmail.C, www/htdocs/_bug.html: new:          * src/types/pa_vmail.C: new:
           ^mail:send[$.file[$.content-disposition can be overriden new:            ^mail:send[$.file[$.content-disposition can be overriden new:
           empty mail header fields removed from letter            empty mail header fields removed from letter
   
         * src/classes/mail.C, src/include/pa_config_fixed.h,          * src/: classes/mail.C, include/pa_config_fixed.h,
           src/types/pa_value.C, src/types/pa_value.h, src/types/pa_vmail.C,            types/pa_value.C, types/pa_value.h, types/pa_vmail.C: new:
           www/htdocs/_bug.html: new: ^mail:send[    $.file[            ^mail:send[    $.file[       $.any[header]
           $.any[header]  
   
 2004-08-30  paf  2004-08-30  paf
   
         * src/include/pa_config_fixed.h, src/main/pa_common.C,          * src/: include/pa_config_fixed.h, main/pa_common.C: beauty: less
           www/htdocs/.htaccess, www/htdocs/_bug.html: beauty: less warnings            warnings
   
         * src/main/pa_common.C: beauty: do not bother with charset          * src/main/pa_common.C: beauty: do not bother with charset
           detection when ^file::load[binary            detection when ^file::load[binary
Line 7482 Line 10408
         * src/classes/file.C: bugfix: $f[^file::load[;http://]]          * src/classes/file.C: bugfix: $f[^file::load[;http://]]
           $f.content-type now = that of http response            $f.content-type now = that of http response
   
 2004-08-03  paf  
   
         * www/htdocs/: .htaccess, _bug.html: bugfix: empty input variables  
           can be replaced by output [forgot to allocate proper buffer,  
           oracle _server_ died with kgepop: no error frame to pop to for  
           error 21500 message]  
   
 2004-07-30  paf  2004-07-30  paf
   
         * src/include/pa_request.h, src/main/pa_request.C,          * src/: include/pa_request.h, main/pa_request.C,
           src/targets/cgi/parser3.C, src/targets/isapi/parser3isapi.C,            targets/cgi/parser3.C, targets/isapi/parser3isapi.C: bugfix:
           www/htdocs/.htaccess: bugfix: win32: system&parser exceptions in            win32: system&parser exceptions in release mode reported properly
           release mode reported properly parser exception in exception            parser exception in exception handler WERE mistakenly reported as
           handler WERE mistakenly reported as system exception, without            system exception, without details [in apache & isapi] +some
           details [in apache & isapi] +some beauty in exception text            beauty in exception text
   
         * src/include/pa_exception.h, src/main/pa_request.C,          * src/: include/pa_exception.h, main/pa_request.C,
           src/targets/cgi/parser3.C, www/htdocs/.htaccess,            targets/cgi/parser3.C: bugfix: win32: system&parser exceptions in
           www/htdocs/_bug.html: bugfix: win32: system&parser exceptions in  
           release mode reported properly parser exception in exception            release mode reported properly parser exception in exception
           handler WERE mistakenly reported as system exception, without            handler WERE mistakenly reported as system exception, without
           details            details
Line 7509 Line 10427
   
 2004-07-29  paf  2004-07-29  paf
   
         * src/classes/table.C, www/htdocs/_bug.html: bugfix:          * src/classes/table.C: bugfix:
           ^table.save[export.csv;$.separator[^;]] now works fine [separator            ^table.save[export.csv;$.separator[^;]] now works fine [separator
           were ignored, and \t used unconditionally]            were ignored, and \t used unconditionally]
   
Line 7523 Line 10441
           types/pa_vmail.C: bugfix: isspace((unsigned char)c) everywhere.            types/pa_vmail.C: bugfix: isspace((unsigned char)c) everywhere.
           failed on russian letters            failed on russian letters
   
         * src/main/pa_string.C, src/types/pa_vmail.C, www/htdocs/_bug.html,          * src/: main/pa_string.C, types/pa_vmail.C, main/pa_common.C:
           src/main/pa_common.C: bugfix: isspace((unsigned char)c)            bugfix: isspace((unsigned char)c) everywhere. failed on russian
           everywhere. failed on russian letters            letters
   
         * www/htdocs/_bug.html: bugfix: win32: chdir not needed, dir  
           passwed as 'currentDirectory' parameter to CreateProcess  
   
         * src/main/pa_exec.C: bugfix: win32: chdir not needed, dir passwed          * src/main/pa_exec.C: bugfix: win32: chdir not needed, dir passwed
           as 'currentDirectory' parameter to CreateProcess            as 'currentDirectory' parameter to CreateProcess
Line 7551 Line 10466
         * operators.txt, src/include/pa_common.h, src/main/pa_common.C,          * operators.txt, src/include/pa_common.h, src/main/pa_common.C,
           src/main/pa_request.C, src/types/pa_vfile.h,            src/main/pa_request.C, src/types/pa_vfile.h,
           src/types/pa_vhash.C, src/types/pa_vhash.h,            src/types/pa_vhash.C, src/types/pa_vhash.h,
           src/types/types.vcproj, www/htdocs/_bug.html: new:            src/types/types.vcproj: new: $response:body/download[
           $response:body/download[    $.file[name on disk]    $.name[of            $.file[name on disk]    $.name[of file for user]
           file for user]        $.mdate[date of last-modified. default from            $.mdate[date of last-modified. default from directory] ]
           directory] ]  
   
         * src/classes/file.C: moving file:send somewhere else..          * src/classes/file.C: moving file:send somewhere else..
   
Line 7567 Line 10481
   
 2004-07-21  paf  2004-07-21  paf
   
         * src/types/pa_vmail.C, www/htdocs/_bug.html: bugfix: too long          * src/types/pa_vmail.C: bugfix: too long header values now splitted
           header values now splitted to several lines            to several lines
   
           were: header: vaaaaaaaaaaaalue now: header: vaaaaaa  aaalue            were: header: vaaaaaaaaaaaalue now: header: vaaaaaa  aaalue
   
Line 7594 Line 10508
           now untainted according to their languages.  were: as-is.            now untainted according to their languages.  were: as-is.
           EVERYWHERE            EVERYWHERE
   
         * src/classes/file.C, src/main/pa_exec.C, www/htdocs/_bug.html,          * src/: classes/file.C, main/pa_exec.C: bufix: on unix AND win32
           www/htdocs/_bug.pl: bufix: on unix AND win32 environment string            environment string now untainted according to their languages.
           now untainted according to their languages.  were: as-is.            were: as-is. EVERYWHERE
           EVERYWHERE  
   
         * src/main/pa_exec.C: bufix: on unix environment string now          * src/main/pa_exec.C: bufix: on unix environment string now
           untainted according to their languages.  were: as-is. on win32:            untainted according to their languages.  were: as-is. on win32:
Line 7605 Line 10518
   
         * parser3.vssscc: ...would not go unnoticed          * parser3.vssscc: ...would not go unnoticed
   
         * src/main/pa_charset.C, www/htdocs/.htaccess,          * src/main/pa_charset.C: convinience: transcodeFromUTF8 now never
           www/htdocs/_bug.html: convinience: transcodeFromUTF8 now never  
           fails. in case on input appears nonutf, those bytes will be            fails. in case on input appears nonutf, those bytes will be
           printed in %HH form. that can be easily decoded/recovered.            printed in %HH form. that can be easily decoded/recovered.
   
Line 7620 Line 10532
   
 2004-07-01  paf  2004-07-01  paf
   
         * src/classes/classes.vcproj, src/lib/cord/cord.vcproj,          * src/: classes/classes.vcproj, lib/cord/cord.vcproj,
           src/lib/gd/gd.vcproj, src/lib/ltdl/ltdl.vcproj,            lib/gd/gd.vcproj, lib/ltdl/ltdl.vcproj, lib/md5/md5.vcproj,
           src/lib/md5/md5.vcproj, src/lib/pcre/pcre.vcproj,            lib/pcre/pcre.vcproj, lib/pcre/pcre_dftables.vcproj,
           src/lib/pcre/pcre_dftables.vcproj,            lib/pcre/pcre_parser_ctype.vcproj, lib/smtp/smtp.vcproj,
           src/lib/pcre/pcre_parser_ctype.vcproj, src/lib/smtp/smtp.vcproj,            main/main.vcproj, targets/cgi/parser3.vcproj,
           src/main/main.vcproj, src/targets/cgi/parser3.vcproj,            targets/isapi/parser3isapi.vcproj, types/types.vcproj: win32:
           src/targets/isapi/parser3isapi.vcproj, src/types/types.vcproj,            option: global optimization ON
           www/htdocs/.htaccess: win32: option: global optimization ON  
           * src/main/untaint.C: workaround kinda bug in libxml: life requires
         * src/main/untaint.C, www/htdocs/_bug.html: workaround kinda bug in            to do xdoc::create{invalid chars} standard disables chars less
           libxml: life requires to do xdoc::create{invalid chars} standard            then \x20, except tab, cr, lf.
           disables chars less then \x20, except tab, cr, lf.  
   
           changed tainting so that those become '!'            changed tainting so that those become '!'
   
Line 7644 Line 10555
         * src/types/pa_vhashfile.C: bugfix: hashfile deserialize accessed          * src/types/pa_vhashfile.C: bugfix: hashfile deserialize accessed
           int on odd address            int on odd address
   
 2004-06-23  paf  
   
         * www/htdocs/_bug.html: checked: oracle: various ways of returning  
           error from stored proc.  bad: no way of knowing which exactly  
           user-defined exception were thrown.  good:  
           raise_application_error can return error message number and  
           string FINE good: PRAGMA EXCEPTION_INIT works good too  
   
 2004-06-22  paf  2004-06-22  paf
   
         * src/sql/pa_sql_driver.h: note: about possible optimization          * src/sql/pa_sql_driver.h: note: about possible optimization
   
         * www/htdocs/_bug.html: checked: in out variables OK  
   
         * operators.txt, src/classes/hash.C, src/classes/memory.C,          * operators.txt, src/classes/hash.C, src/classes/memory.C,
           src/classes/string.C, src/classes/table.C, src/classes/void.C,            src/classes/string.C, src/classes/table.C, src/classes/void.C,
           src/include/pa_config_includes.h, www/htdocs/_bug.html: new:            src/include/pa_config_includes.h: new:        ^void:sql{call
           ^void:sql{call paf(:a)}[                $.bind[            paf(:a)}[                $.bind[                         $.a[2]
                 $.a[2]          ]       ] output variables work.  todo:                   ]       ] output variables work.  todo: check in out
           check in out variables            variables
   
 2004-06-18  paf  2004-06-18  paf
   
         * src/classes/file.C, src/classes/hash.C, src/classes/string.C,          * src/: classes/file.C, classes/hash.C, classes/string.C,
           src/classes/table.C, src/classes/void.C,            classes/table.C, classes/void.C, include/pa_globals.h,
           src/include/pa_globals.h, src/include/pa_sql_connection.h,            include/pa_sql_connection.h, main/compile.tab.C,
           src/main/compile.tab.C, src/sql/pa_sql_driver.h,            sql/pa_sql_driver.h: started:         ^void:sql{call paf(:a)}[
           www/htdocs/.htaccess, www/htdocs/_bug.html: started:                        $.bind[                         $.a[2]          ]
           ^void:sql{call paf(:a)}[                $.bind[            ] input variables work.  todo:output
                 $.a[2]          ]       ] input variables work.  
           todo:output  
   
         * src/targets/cgi/parser3.C: bugfix: iis specific          * src/targets/cgi/parser3.C: bugfix: iis specific
           http://parser3/_bug.html?404;http://hpsv/test/ now $request:uri            http://parser3/_bug.html?404;http://hpsv/test/ now $request:uri
Line 7705 Line 10604
   
         * src/main/pa_string.C: beauty: removed 3 warnings          * src/main/pa_string.C: beauty: removed 3 warnings
   
         * src/include/pa_string.h, src/classes/table.C, src/main/untaint.C,          * src/: include/pa_string.h, classes/table.C, main/untaint.C,
           www/htdocs/_bug.html, src/classes/op.C: beauty: removed outdated            classes/op.C: beauty: removed outdated level 'table'
           level 'table'  
   
 2004-05-25  paf  2004-05-25  paf
   
Line 7723 Line 10621
   
 2004-05-24  paf  2004-05-24  paf
   
         * src/include/pa_string.h, src/lib/cord/cordbscs.c,          * src/: include/pa_string.h, lib/cord/cordbscs.c,
           src/lib/cord/include/cord.h, www/htdocs/_bug.html,            lib/cord/include/cord.h, lib/cord/cordxtra.c: cancel: more speed,
           src/lib/cord/cordxtra.c: cancel: more speed, less memory:            less memory: CORD_chars_block originally intended to ...  it was
           CORD_chars_block originally intended to ...  it was good that            good that CORD_chars_block were not used: it consumes more memory
           CORD_chars_block were not used: it consumes more memory [and,            [and, might be slow too] undoing that. [and removed that func so
           might be slow too] undoing that. [and removed that func so that            that it would not confuse parser developer in future]
           it would not confuse parser developer in future]  
   
         * src/: include/pa_string.h, lib/cord/include/cord.h: more speed,          * src/: include/pa_string.h, lib/cord/include/cord.h: more speed,
           less memory: CORD_chars_block originally intended to            less memory: CORD_chars_block originally intended to
Line 7745 Line 10642
   
 2004-05-14  paf  2004-05-14  paf
   
         * src/types/Makefile.am, src/types/pa_vvoid.C,          * src/types/: Makefile.am, pa_vvoid.C, pa_vvoid.h, types.vcproj:
           src/types/pa_vvoid.h, src/types/types.vcproj,  
           www/htdocs/.htaccess, www/htdocs/_bug.html, www/htdocs/auto.p:  
           bugfix: void now has vfile value, and $response:body[] works OK            bugfix: void now has vfile value, and $response:body[] works OK
   
 2004-05-12  paf  2004-05-12  paf
   
         * src/types/pa_vbool.h, src/types/pa_vhash.h,          * src/types/: pa_vbool.h, pa_vhash.h, pa_vhashfile.h, pa_vtable.h:
           src/types/pa_vhashfile.h, src/types/pa_vtable.h,            beauty: ^if(def $bool) now equals ^if($bool) and shaped up other
           www/htdocs/.htaccess, www/htdocs/_bug.html: beauty: ^if(def            sources to use is_defined() {return as_bool();} along VBool
           $bool) now equals ^if($bool) and shaped up other sources to use  
           is_defined() {return as_bool();} along VBool  
   
 2004-05-11  paf  2004-05-11  paf
   
         * src/include/pa_exec.h: bugfix: gpf on file::exec/cgi because of          * src/include/pa_exec.h: bugfix: gpf on file::exec/cgi because of
           referencing to local objects            referencing to local objects
   
         * src/classes/mail.C, src/include/pa_exec.h,          * src/: classes/mail.C, include/pa_exec.h, main/compile.tab.C,
           src/main/compile.tab.C, src/types/pa_vmail.C,            types/pa_vmail.C, types/pa_vmail.h: bugfix: bcc with sendmail now
           src/types/pa_vmail.h, www/htdocs/.htaccess, www/htdocs/_bug.gif,            left intact
           www/htdocs/_bug.html: bugfix: bcc with sendmail now left intact  
   
 2004-04-15  paf  2004-04-15  paf
   
Line 7801 Line 10693
         * src/main/: compile.tab.C, compile.y: bugfix: gcc refused to          * src/main/: compile.tab.C, compile.y: bugfix: gcc refused to
           accept that trick, trying other            accept that trick, trying other
   
         * src/main/compile.tab.C, src/main/compile.y, www/htdocs/_bug.html:          * src/main/: compile.tab.C, compile.y: bugfix: step3 to fix
           bugfix: step3 to fix explicit result problem            explicit result problem
   
         * src/main/compile.tab.C, src/main/compile.y, www/htdocs/_bug.html:          * src/main/: compile.tab.C, compile.y: bugfix: step2 to fix
           bugfix: step2 to fix explicit result problem            explicit result problem
   
         * src/main/compile.tab.C, src/main/compile.y, www/htdocs/_bug.html:          * src/main/: compile.tab.C, compile.y: bugfix: step1 to fix
           bugfix: step1 to fix explicit result problem            explicit result problem
   
         * operators.txt, src/classes/string.C: new: ^string.append[string]          * operators.txt, src/classes/string.C: new: ^string.append[string]
   
         * src/include/pa_opcode.h, src/main/compile.tab.C,          * src/: include/pa_opcode.h, main/compile.tab.C, main/compile.y,
           src/main/compile.y, src/main/execute.C, www/htdocs/_bug.html:            main/execute.C: attempt_check_call_in_explicit_result_mode:
           attempt_check_call_in_explicit_result_mode: failed            failed
   
         * src/main/pa_common.C: bugfix: of 1.175 bugfix:          * src/main/pa_common.C: bugfix: of 1.175 bugfix:
           http://i.p.a.ddress gethostbyaddr added [on some platforms            http://i.p.a.ddress gethostbyaddr added [on some platforms
Line 7826 Line 10718
           gethostbyname failed with such 'domains'] now checked properly,            gethostbyname failed with such 'domains'] now checked properly,
           were: needless reverse/forward dns lookup            were: needless reverse/forward dns lookup
   
         * src/main/compile.C, src/main/compile.tab.C, src/main/compile.y,          * src/main/: compile.C, compile.tab.C, compile.y: reimplemented:
           www/htdocs/_bug.html: reimplemented: @method[][result] means "no            @method[][result] means "no string output here" moved to lexical
           string output here" moved to lexical level [on grammar level it            level [on grammar level it were too difficult]
           were too difficult]  
   
         * operators.txt, src/include/pa_string.h, src/main/compile.tab.C,          * operators.txt, src/include/pa_string.h, src/main/compile.tab.C,
           src/main/compile.y, src/main/compile_tools.h,            src/main/compile.y, src/main/compile_tools.h,
           src/types/pa_vmethod_frame.C, src/types/pa_vmethod_frame.h,            src/types/pa_vmethod_frame.C, src/types/pa_vmethod_frame.h: new:
           www/htdocs/.htaccess, www/htdocs/_bug.html: new:  
           @method[][result] means "no string output here", implemented part            @method[][result] means "no string output here", implemented part
           of that idea: compiler throws away string literal generation            of that idea: compiler throws away string literal generation
           code. and barks nonwhitespace chars            code. and barks nonwhitespace chars
Line 7845 Line 10735
   
         * configure.in, src/doc/html2chm.cmd, src/doc/sources2html.cmd,          * configure.in, src/doc/html2chm.cmd, src/doc/sources2html.cmd,
           src/include/pa_version.h, src/main/pa_common.C,            src/include/pa_version.h, src/main/pa_common.C,
           src/targets/isapi/parser3isapi.C, www/htdocs/.htaccess,            src/targets/isapi/parser3isapi.C: merged with 3.1.3
           www/htdocs/_bug.html, www/htdocs/_bug.txt: merged with 3.1.3  
   
         * etc/parser3.charsets/x-mac-cyrillic.cfg: added: donated by          * etc/parser3.charsets/x-mac-cyrillic.cfg: added: donated by
           Konstantin Tomashevitch [mailto:konst@design.ru]            Konstantin Tomashevitch [mailto:konst@design.ru]
Line 7890 Line 10779
         * src/classes/table.C: bufix: if last table lines were commented,          * src/classes/table.C: bufix: if last table lines were commented,
           gpfed            gpfed
   
         * src/doc/ClassExample1.dox, src/doc/ClassExample2.dox,          * src/: doc/ClassExample1.dox, doc/ClassExample2.dox,
           src/doc/ClassExample3.dox, src/doc/chmhelper.pl,            doc/ClassExample3.dox, doc/chmhelper.pl, doc/class.dox,
           src/doc/class.dox, src/doc/compiler.dox, src/doc/doxygen.cfg,            doc/compiler.dox, doc/doxygen.cfg, doc/exception.dox,
           src/doc/exception.dox, src/doc/executor.dox, src/doc/footer.htm,            doc/executor.dox, doc/footer.htm, doc/index.dox, doc/memory.dox,
           src/doc/index.dox, src/doc/memory.dox, src/doc/methoded.dox,            doc/methoded.dox, doc/object.dox, doc/string.dox,
           src/doc/object.dox, src/doc/string.dox, src/doc/targets.dox,            doc/targets.dox, doc/value.dox, include/pa_version.h,
           src/doc/value.dox, src/include/pa_version.h,            main/pa_cache_managers.C, main/pa_stylesheet_connection.C,
           src/main/pa_cache_managers.C,            targets/isapi/parser3isapi.vcproj, types/pa_vform.C: merged
           src/main/pa_stylesheet_connection.C,            bugfixes from 3.1.2, changed version to 3.1.3beta
           src/targets/isapi/parser3isapi.vcproj, src/types/pa_vform.C,  
           www/htdocs/_bug.html, www/htdocs/_bug.txt: merged bugfixes from  
           3.1.2, changed version to 3.1.3beta  
   
 2004-03-29  paf  2004-03-29  paf
   
Line 7937 Line 10823
         * src/classes/table.C: beauty: comment& more meaningful error          * src/classes/table.C: beauty: comment& more meaningful error
           message            message
   
         * src/classes/hash.C, www/htdocs/_bug.html: bugfix: ^hash::sql{one          * src/classes/hash.C: bugfix: ^hash::sql{one column} now produces
           column} now produces $.hash[$.column_value1(true) ... ] [were            $.hash[$.column_value1(true) ... ] [were producing some strang
           producing some strang thing]            thing]
   
 2004-03-23  paf  2004-03-23  paf
   
         * src/classes/image.C, src/main/pa_common.C, www/htdocs/_bug.html:          * src/: classes/image.C, main/pa_common.C: bugfix: ^image.polyline
           bugfix: ^image.polyline and http status line parsing checked            and http status line parsing checked number of columns in table
           number of columns in table [user reported an assert]            [user reported an assert]
   
         * operators.txt: example: on hashfile          * operators.txt: example: on hashfile
   
         * src/classes/op.C, src/types/pa_value.C, src/types/pa_wcontext.C,          * src/: classes/op.C, types/pa_value.C, types/pa_wcontext.C:
           www/htdocs/_bug.html: bugfix: junction reattach now actually            bugfix: junction reattach now actually reattaches a junction to
           reattaches a junction to new wcontext [were only assigning it to            new wcontext [were only assigning it to junction, which caused
           junction, which caused junction tracking to loose junction, and            junction tracking to loose junction, and it's context were not
           it's context were not killed, and it tried to process in invalid            killed, and it tried to process in invalid context, gpf]
           context, gpf]  
   
         * src/targets/cgi/parser3.C: debug helper added          * src/targets/cgi/parser3.C: debug helper added
   
 2004-03-19  paf  2004-03-19  paf
   
         * src/types/pa_wcontext.C, www/htdocs/_bug.html: beauty: error          * src/types/pa_wcontext.C: beauty: error messages removed duplicate
           messages removed duplicate "type(type)" in braces            "type(type)" in braces
   
 2004-03-10  paf  2004-03-10  paf
   
         * operators.txt, src/classes/xdoc.C, src/classes/xnode.C,          * operators.txt, src/classes/xdoc.C, src/classes/xnode.C,
           src/classes/xnode.h, src/types/pa_vxdoc.C, src/types/pa_vxdoc.h,            src/classes/xnode.h, src/types/pa_vxdoc.C, src/types/pa_vxdoc.h,
           src/types/pa_vxnode.C, src/types/pa_vxnode.h,            src/types/pa_vxnode.C, src/types/pa_vxnode.h: new: refined
           www/htdocs/_bug.html: new: refined solution to            solution to search-in-namespaces problem:
           search-in-namespaces problem:  
           $xdoc.search-namespaces.x[http://pif.design.ru/]            $xdoc.search-namespaces.x[http://pif.design.ru/]
           $nodes[^xdoc.select[//x:second]]            $nodes[^xdoc.select[//x:second]]
   
         * operators.txt, src/classes/xnode.C, www/htdocs/_bug.html,          * operators.txt, src/classes/xnode.C: new: xnode.select*[xpath
           www/htdocs/_bug.xml: new: xnode.select*[xpath  
           expression][[NAMESPACES HASH]] allows to search for info in            expression][[NAMESPACES HASH]] allows to search for info in
           namespaces            namespaces
   
Line 7983 Line 10866
   
 2004-03-09  paf  2004-03-09  paf
   
         * operators.txt, src/main/pa_common.C, www/htdocs/.htaccess,          * operators.txt, src/main/pa_common.C: new:
           www/htdocs/_bug.html, www/htdocs/_bug.txt, www/htdocs/_bug.xsl:            ^file::load[...][options]         $.form[
           new: ^file::load[...][options]         $.form[  
           !$.field1[string]            !$.field1[string]
           !$.field2[^table::create{one_column_only^#0Avalue1^#0Avalue2}]            !$.field2[^table::create{one_column_only^#0Avalue1^#0Avalue2}]
                ]         !$.body[string]                 ]         !$.body[string]
Line 8009 Line 10891
   
         * src/main/pa_common.C: beauty: link to rtf added          * src/main/pa_common.C: beauty: link to rtf added
   
         * operators.txt, src/include/pa_common.h, src/main/pa_common.C,          * operators.txt, src/include/pa_common.h, src/main/pa_common.C:
           www/htdocs/_bug.html: new: http:// options $.user $.password            new: http:// options $.user $.password basic authorization
           basic authorization  
   
         * src/main/pa_common.C: beauty: removed needless vars          * src/main/pa_common.C: beauty: removed needless vars
   
Line 8019 Line 10900
           oracle driver]             ClientCharset=parser-charset <<            oracle driver]             ClientCharset=parser-charset <<
           charset in which parser thinks client works            charset in which parser thinks client works
   
           * operators.txt: new: odbc option [like that recently added to
             oracle driver]             ClientCharset=parser-charset <<
             charset in which parser thinks client works
   
         * src/sql/pa_sql_driver.h: beauty: important warning added          * src/sql/pa_sql_driver.h: beauty: important warning added
   
         * etc/parser3.charsets/koi8-r.cfg: there's special code for grad          * etc/parser3.charsets/koi8-r.cfg: there's special code for grad
Line 8026 Line 10911
   
         * etc/parser3.charsets/windows-1251.cfg: typo          * etc/parser3.charsets/windows-1251.cfg: typo
   
         * www/htdocs/_bug.html, operators.txt: new: odbc option [like that  
           recently added to oracle driver]  
           ClientCharset=parser-charset << charset in which parser thinks  
           client works  
   
 2004-03-04  paf  2004-03-04  paf
   
         * www/htdocs/: _bug.html, _bug.txt: new: mysql option [like that  
           recently added to oracle driver]  
           ClientCharset=parser-charset << charset in which parser thinks  
           client works  
   
         * src/main/pa_sql_driver_manager.C: speedup: charset lookups          * src/main/pa_sql_driver_manager.C: speedup: charset lookups
           cached, sql transcoding now goes faster            cached, sql transcoding now goes faster
   
Line 8062 Line 10937
           nothing     !^void.right(n)        nothing     !^void.mid(p[;n])            nothing     !^void.right(n)        nothing     !^void.mid(p[;n])
                 nothing                  nothing
   
         * operators.txt, src/classes/void.C, www/htdocs/_bug.html: new:          * operators.txt, src/classes/void.C: new:     !^void.left(n)
           !^void.left(n)        nothing     !^void.right(n)        nothing            nothing     !^void.right(n)        nothing     !^void.pos(p[;n])
           !^void.pos(p[;n])           nothing                  nothing
   
         * operators.txt, src/classes/file.C, src/include/pa_string.h,          * operators.txt, src/classes/file.C, src/include/pa_string.h: new:
           www/htdocs/_bug.html: new: ^file::sql[[name_to_become_$.name]]{}            ^file::sql[[name_to_become_$.name]]{} query result must be one
           query result must be one row with columns:   first: data            row with columns:   first: data   second: file name   third:
           second: file name   third: content-type            content-type
   
         * operators.txt, src/classes/file.C, www/htdocs/_bug.gif,          * operators.txt, src/classes/file.C: ^file.sql-string[] inside
           www/htdocs/_bug.html: ^file.sql-string[] inside ^connect gets            ^connect gets properly escaped string, which can be passed to
           properly escaped string, which can be passed to request now this            request now this for mysql only. it's up to parser sql driver to
           for mysql only. it's up to parser sql driver to fix zeros            fix zeros properly
           properly  
   
         * INSTALL: note: added on building apache with this option:          * INSTALL: note: added on building apache with this option:
           --enable-shared=max thanks to Victor Fedoseev <vvf_ru@mail.ru>            --enable-shared=max thanks to Victor Fedoseev <vvf_ru@mail.ru>
   
         * www/htdocs/_bug.html: feature:  
           oracle?..&LowerCaseColumnNames=0&ClientCharset=something column  
           names got transcoded to $request:charset too [were only column  
           data]  
   
 2004-03-01  paf  2004-03-01  paf
   
         * src/targets/isapi/parser3isapi.C: new: apache module & isapi          * src/targets/isapi/parser3isapi.C: new: apache module & isapi
           extension memory:compact befor processingrequest            extension memory:compact befor processingrequest
   
         * operators.txt, src/classes/hash.C, www/htdocs/_bug.html: new:          * operators.txt, src/classes/hash.C: new: ^hash._keys[>>name<<] to
           ^hash._keys[>>name<<] to call sole column of result            call sole column of result
   
         * operators.txt, src/classes/image.C, src/lib/gd/gif.C,          * operators.txt, src/classes/image.C, src/lib/gd/gif.C,
           src/lib/gd/gif.h, www/htdocs/_bug.html: new:            src/lib/gd/gif.h: new: ^image.pixel(x;y)[(color)]         get/set
           ^image.pixel(x;y)[(color)]         get/set pixel color            pixel color
   
         * src/classes/image.C, src/types/pa_vimage.C,          * src/: classes/image.C, types/pa_vimage.C, types/pa_vimage.h:
           src/types/pa_vimage.h, www/htdocs/_bug.html: beauty: image --            beauty: image -- less checks [were ugly impl]
           less checks [were ugly impl]  
   
         * src/classes/string.C, www/htdocs/_bug.html: bugfix:          * src/classes/string.C: bugfix: ^string.left/right/mid with
           ^string.left/right/mid with negative values now considered bad            negative values now considered bad
   
         * src/main/pa_common.C: bugfix: INADDR_NONE not everywhere defined          * src/main/pa_common.C: bugfix: INADDR_NONE not everywhere defined
   
         * src/classes/xdoc.C, src/types/pa_vxdoc.h, www/htdocs/_bug.html,          * src/: classes/xdoc.C, types/pa_vxdoc.h: bugfix: boolean output
           www/htdocs/_bug.xsl: bugfix: boolean output options now have            options now have unified defaults [after transform
           unified defaults [after transform  
           indent/omit-xml-declaration/standalone 'default' erroreously            indent/omit-xml-declaration/standalone 'default' erroreously
           meant 'true']            meant 'true']
   
         * www/htdocs/_bug.html: bugfix: http://i.p.a.ddress gethostbyaddr  
           added [on some platforms gethostbyname failed with such  
           'domains']  
   
         * src/main/pa_common.C: bugfix: http://i.p.a.ddress gethostbyaddr          * src/main/pa_common.C: bugfix: http://i.p.a.ddress gethostbyaddr
           added [on some platforms gethostbyname failed with such            added [on some platforms gethostbyname failed with such
           'domains']            'domains']
Line 8137 Line 11000
   
 2004-02-27  paf  2004-02-27  paf
   
         * operators.txt, src/classes/string.C, src/main/pa_string.C,          * operators.txt, src/classes/string.C, src/main/pa_string.C: new
           www/htdocs/_bug.html: new method:            method: ^string.trim[start|both|end[;chars]]        default
           ^string.trim[start|both|end[;chars]]        default 'chars' --            'chars' -- whitespace chars finished
           whitespace chars finished  
   
         * operators.txt, src/classes/string.C, src/include/pa_string.h,          * operators.txt, src/classes/string.C, src/include/pa_string.h,
           src/main/pa_string.C, www/htdocs/_bug.html: new method:            src/main/pa_string.C: new method:
           ^string.trim[start|both|end[;chars]]        default 'chars' --            ^string.trim[start|both|end[;chars]]        default 'chars' --
           whitespace chars   started, only start works            whitespace chars   started, only start works
   
         * www/htdocs/: _bug.html, _bug.xml, _bug.xsl: bug discovered: todo!  
           xdoc::create+save != xdoc.transform&no<xsl:output>+save  
   
         * src/main/compile.C: bugfix: line numbers after          * src/main/compile.C: bugfix: line numbers after
           ^process{}[$.line(-10]] can be negative, allowed to print they as            ^process{}[$.line(-10]] can be negative, allowed to print they as
           signed            signed
Line 8159 Line 11018
           from databases, though. but 1. should be replaced 2. if not            from databases, though. but 1. should be replaced 2. if not
           optimized, no harm done            optimized, no harm done
   
         * www/htdocs/: _bug.html, _bug.txt: just test:  
           file::load[text;http:// $.text utf-8 signature, line ends OK  
           http://i2/tasks/edit/?id=4629476859594276758  
   
         * src/main/pa_exec.C: bugfix: waitpid could be interrupted --          * src/main/pa_exec.C: bugfix: waitpid could be interrupted --
           ^file::exec/cgi could return invalid status & zombie child can            ^file::exec/cgi could return invalid status & zombie child can
           remain for short period until process exists [very bad in            remain for short period until process exists [very bad in
Line 8181 Line 11036
   
         * operators.txt, src/classes/op.C, src/include/pa_request.h,          * operators.txt, src/classes/op.C, src/include/pa_request.h,
           src/main/compile.C, src/main/compile_tools.h,            src/main/compile.C, src/main/compile_tools.h,
           src/main/pa_request.C, www/htdocs/_bug.html, www/htdocs/_bug.p,            src/main/pa_request.C: feature: ^process...{CODE}[now has
           www/htdocs/_bug.xsl: feature: ^process...{CODE}[now has options]            options] which are         $.main[to what to rename @main]
           which are         $.main[to what to rename @main]  
           $.file[file, from which (user says) goes that CODE]            $.file[file, from which (user says) goes that CODE]
           $.lineno(line number in that file, where CODE starts. may be            $.lineno(line number in that file, where CODE starts. may be
           negative)            negative)
Line 8196 Line 11050
         * src/classes/hash.C: feature: ^hash::sql{one colum result} now          * src/classes/hash.C: feature: ^hash::sql{one colum result} now
           produces hash of column=>1            produces hash of column=>1
   
         * www/htdocs/: _bug.html, _bug.xsl: xhtml: &#9; as resutl of  
           <xsl:attribute>[tab]  is OK  
   
         * src/lib/smtp/smtp.h: beauty: couple of #ifdef-s to compile even          * src/lib/smtp/smtp.h: beauty: couple of #ifdef-s to compile even
           with incomplete errno constants set            with incomplete errno constants set
   
Line 8228 Line 11079
   
 2004-02-20  paf  2004-02-20  paf
   
         * src/classes/xdoc.C, www/htdocs/_bug.xsl: beauty: ugly code          * src/classes/xdoc.C: beauty: ugly code removed, thanks to egr for
           removed, thanks to egr for pointing that out            pointing that out
   
         * www/htdocs/: _bug.html, _bug.xsl: bugfix: <tag  
           attr="&#digital_entity;" bug fixed again [same solution,  
           mistanenly removed one line]  
   
         * src/classes/xdoc.C: bugfix: <tag attr="&#digital_entity;" bug          * src/classes/xdoc.C: bugfix: <tag attr="&#digital_entity;" bug
           fixed again [same solution, mistanenly removed one line]            fixed again [same solution, mistanenly removed one line]
Line 8244 Line 11091
           date::create from bad datetime in spring daylightsaving hole now            date::create from bad datetime in spring daylightsaving hole now
           OK for all platforms [on some platforms it failed]            OK for all platforms [on some platforms it failed]
   
         * src/classes/date.C, src/classes/image.C, www/htdocs/_bug.html:          * src/classes/: date.C, image.C: beauty: date::create[bad date time
           beauty: date::create[bad date time in daylightsaving hole] now            in daylightsaving hole] now throws error
           throws error  
   
         * src/classes/date.C: comment: mistake fixed          * src/classes/date.C: comment: mistake fixed
   
 2004-02-18  paf  2004-02-18  paf
   
         * www/htdocs/_bug.html: beauty: coder can override save/file          * src/: classes/xdoc.C, include/pa_charset.h: beauty: xdoc.string
           encoding by specifying it in xsl:output or in save/file  
           hash-options  
   
         * www/htdocs/: _bug.html, _bug.xsl: beauty: coder can override  
           save/file encoding by specifying it in xsl:output or in save/file  
           hash-options  
   
         * www/htdocs/: _bug.html, _bug.xsl: beauty: xdoc.string now  
           renderes in $request:charset, but in header puts  
           $response:charset todo: make that default only so that coder  
           could override that  
   
         * www/htdocs/: _bug.html: beauty: xdoc.string now renderes in  
           $request:charset, but in header puts $response:charset todo: make  
           that default only so that coder could override that  
   
         * src/classes/xdoc.C, src/include/pa_charset.h,  
           www/htdocs/_bug.html, www/htdocs/_bug.xsl: beauty: xdoc.string  
           now renderes in $request:charset, but in header puts            now renderes in $request:charset, but in header puts
           $response:charset todo: make that default only so that coder            $response:charset todo: make that default only so that coder
           could override that            could override that
   
         * src/classes/xdoc.C, www/htdocs/_bug.xsl: beauty: xhtml          * src/classes/xdoc.C: beauty: xhtml doctype-public/system forcly
           doctype-public/system forcly turns off omit-xml-declaration            turns off omit-xml-declaration
   
         * src/classes/xdoc.C, www/htdocs/_bug.html, www/htdocs/_bug.xsl:          * src/classes/xdoc.C: feature: reimplemented xhtml output, see
           feature: reimplemented xhtml output, see /.xsl for sample            /.xsl for sample
   
 2004-02-17  paf  2004-02-17  paf
   
Line 8427 Line 11255
           src/lib/gd/gd.vcproj, src/lib/smtp/smtp.vcproj,            src/lib/gd/gd.vcproj, src/lib/smtp/smtp.vcproj,
           src/main/compile.tab.C, src/main/main.vcproj,            src/main/compile.tab.C, src/main/main.vcproj,
           src/main/pa_globals.C, src/targets/cgi/parser3.vcproj,            src/main/pa_globals.C, src/targets/cgi/parser3.vcproj,
           src/targets/isapi/parser3isapi.vcproj, src/types/types.vcproj,            src/targets/isapi/parser3isapi.vcproj, src/types/types.vcproj:
           www/htdocs/.htaccess: started changes to reflect libxml xsl new            started changes to reflect libxml xsl new folders
           folders  
   
 2004-02-10  paf  2004-02-10  paf
   
Line 8497 Line 11324
         * src/: classes/date.C, include/pa_string.h, main/pa_string.C:          * src/: classes/date.C, include/pa_string.h, main/pa_string.C:
           bugfix: ^date::create[invalid fields now produce exception.            bugfix: ^date::create[invalid fields now produce exception.
   
         * ChangeLog, src/classes/date.C, www/htdocs/.htaccess: bugfix:          * ChangeLog, src/classes/date.C: bugfix: ^date::create[invalid
           ^date::create[invalid year] now produces exception. todo: check            year] now produces exception. todo: check other fields
           other fields  
   
 2004-01-29  paf  2004-01-29  paf
   
Line 8550 Line 11376
         * ChangeLog, operators.txt, src/classes/op.C,          * ChangeLog, operators.txt, src/classes/op.C,
           src/include/pa_sql_connection.h,            src/include/pa_sql_connection.h,
           src/include/pa_sql_driver_manager.h,            src/include/pa_sql_driver_manager.h,
           src/main/pa_sql_driver_manager.C, src/sql/pa_sql_driver.h,            src/main/pa_sql_driver_manager.C, src/sql/pa_sql_driver.h:
           www/htdocs/.htaccess: feature: sql introducing ability to            feature: sql introducing ability to transcode charsets
           transcode charsets  
   
 2003-12-19  paf  2003-12-19  paf
   
Line 8608 Line 11433
   
 2003-12-10  paf  2003-12-10  paf
   
         * src/include/pa_sql_connection.h, www/htdocs/.htaccess: bugfix:          * src/include/pa_sql_connection.h: bugfix: $status:sql.cache back
           $status:sql.cache back  << time now ok            << time now ok
   
         * operators.txt, src/main/pa_sql_driver_manager.C,          * operators.txt, src/main/pa_sql_driver_manager.C,
           src/main/pa_stylesheet_manager.C: $status:stylesheet.cache back            src/main/pa_stylesheet_manager.C: $status:stylesheet.cache back
Line 8618 Line 11443
         * ChangeLog, operators.txt, src/classes/xdoc.C,          * ChangeLog, operators.txt, src/classes/xdoc.C,
           src/include/pa_charset.h, src/include/pa_sql_connection.h,            src/include/pa_charset.h, src/include/pa_sql_connection.h,
           src/main/pa_charset.C, src/main/pa_sql_driver_manager.C,            src/main/pa_charset.C, src/main/pa_sql_driver_manager.C,
           src/main/pa_string.C, src/types/pa_vxdoc.h, www/htdocs/.htaccess:            src/main/pa_string.C, src/types/pa_vxdoc.h: $status:sql.cache
           $status:sql.cache back operational            back operational
   
 2003-12-02  paf  2003-12-02  paf
   
Line 8970 Line 11795
         * operators.txt, src/classes/hashfile.C, src/types/pa_vhashfile.C,          * operators.txt, src/classes/hashfile.C, src/types/pa_vhashfile.C,
           src/types/pa_vhashfile.h, tests/todo.txt: hashfile: delete            src/types/pa_vhashfile.h, tests/todo.txt: hashfile: delete
   
         * src/include/pa_memory.h, src/targets/cgi/parser3.C,          * src/: include/pa_memory.h, targets/cgi/parser3.C,
           src/types/pa_value.C, src/types/pa_value.h,            types/pa_value.C, types/pa_value.h, types/pa_vcookie.C,
           src/types/pa_vcookie.C, src/types/pa_vhashfile.C,            types/pa_vhashfile.C, types/pa_vhashfile.h: hashfile implemented
           src/types/pa_vhashfile.h, www/htdocs/.htaccess: hashfile            get/put [raw]
           implemented get/put [raw]  
   
         * src/: classes/op.C, main/pa_os.C: just linked          * src/: classes/op.C, main/pa_os.C: just linked
   
Line 9004 Line 11828
           src/main/pa_charset.C, src/targets/cgi/parser3.vcproj,            src/main/pa_charset.C, src/targets/cgi/parser3.vcproj,
           src/types/Makefile.am, src/types/pa_vhash.C,            src/types/Makefile.am, src/types/pa_vhash.C,
           src/types/pa_vhashfile.C, src/types/pa_vhashfile.h,            src/types/pa_vhashfile.C, src/types/pa_vhashfile.h,
           src/types/pa_vxnode.h, src/types/types.vcproj,            src/types/pa_vxnode.h, src/types/types.vcproj: hashfile: started
           www/htdocs/.htaccess: hashfile: started again with sdbm from            again with sdbm from apache
           apache  
   
 2003-11-05  paf  2003-11-05  paf
   
Line 9059 Line 11882
         * src/targets/cgi/parser3.C: beauty: SIGUSRX removed qs= printing          * src/targets/cgi/parser3.C: beauty: SIGUSRX removed qs= printing
           [already included into uri=xxx]            [already included into uri=xxx]
   
         * operators.txt, src/classes/image.C, tests/todo.txt,          * operators.txt, src/classes/image.C, tests/todo.txt:
           www/htdocs/auto.p: ^image.gif[filename] for $response:download            ^image.gif[filename] for $response:download
   
         * src/classes/date.C: minor precaution          * src/classes/date.C: minor precaution
   
Line 9102 Line 11925
   
 2003-10-10  paf  2003-10-10  paf
   
         * src/include/pa_string.h, src/main/compile.tab.C,          * src/: include/pa_string.h, main/compile.tab.C: CORD_chr does not
           www/htdocs/.htaccess: CORD_chr does not check offset argument for            check offset argument for validity did that in String::Body::pos
           validity did that in String::Body::pos myself            myself http://i2/tasks/edit/?id=4577425257580789777
           http://i2/tasks/edit/?id=4577425257580789777  
   
 2003-10-07  paf  2003-10-07  paf
   
Line 9116 Line 11938
   
         * parser3.sln, src/include/pa_dictionary.h,          * parser3.sln, src/include/pa_dictionary.h,
           src/main/pa_dictionary.C, src/main/pa_string.C,            src/main/pa_dictionary.C, src/main/pa_string.C,
           src/targets/cgi/parser3.vcproj, www/htdocs/.htaccess: dictionary            src/targets/cgi/parser3.vcproj: dictionary optimized by
           optimized by precalculating cstr&length            precalculating cstr&length
   
 2003-10-02  paf  2003-10-02  paf
   
         * src/classes/op.C, src/include/pa_request.h,          * src/: classes/op.C, include/pa_request.h, include/pa_stack.h,
           src/include/pa_stack.h, src/main/execute.C,            main/execute.C, main/pa_request.C, main/pa_sql_driver_manager.C,
           src/main/pa_request.C, src/main/pa_sql_driver_manager.C,            main/pa_stylesheet_manager.C: bugfix: ^throw context were
           src/main/pa_stylesheet_manager.C, www/htdocs/.htaccess: bugfix:            saved/restored incompletely http://www.parser.ru/forum/?id=21484
           ^throw context were saved/restored incompletely  
           http://www.parser.ru/forum/?id=21484  
   
 2003-09-30  paf  2003-09-30  paf
   
Line 9155 Line 11975
         * src/classes/table.C: bugfix: flip: must produce nameless          * src/classes/table.C: bugfix: flip: must produce nameless
           http://i2/tasks/edit/?id=4573405524674081244            http://i2/tasks/edit/?id=4573405524674081244
   
         * www/htdocs/: base.p, derived.p, font.gif, global.xsl, index.html,          * src/: include/pa_charset.h, main/pa_charset.C, main/pa_string.C,
           mailreceive.eml, mailreceive.html, operators.p,            main/helpers/simple_folding.pl: utf-8 upper/lower
           parser-status.html, people.dtd, some.p: removing old tests  
   
         * src/include/pa_charset.h, src/main/pa_charset.C,  
           src/main/pa_string.C, src/main/helpers/simple_folding.pl,  
           www/htdocs/auto.p: utf-8 upper/lower  
   
         * src/main/pa_common.C: bugfix: utf signature were not ignored due          * src/main/pa_common.C: bugfix: utf signature were not ignored due
           to typo error http://i2/tasks/edit/?id=4573354650786434584            to typo error http://i2/tasks/edit/?id=4573354650786434584
Line 9172 Line 11987
   
         * src/main/untaint.C: removed needless const          * src/main/untaint.C: removed needless const
   
         * src/include/pa_string.h, src/main/pa_common.C,          * src/: include/pa_string.h, main/pa_common.C, main/pa_string.C:
           src/main/pa_string.C, www/htdocs/.htaccess: String.for_each bug            String.for_each bug fixed [omited one-char cases]
           fixed [omited one-char cases]  
   
         * src/include/pa_stack.h: bugfix: before collecting garbage,          * src/include/pa_stack.h: bugfix: before collecting garbage,
           runtime-executor stack were cleared... BADLY            runtime-executor stack were cleared... BADLY
   
         * src/main/pa_string.C, www/htdocs/.htaccess, www/htdocs/auto.p:          * src/main/pa_string.C: ^stirng.replace code used old
           ^stirng.replace code used old param-convention on langs.append,            param-convention on langs.append, fixed that search fo the like,
           fixed that search fo the like, found none            found none
   
         * src/classes/op.C, src/include/pa_string.h, src/main/pa_string.C,          * src/: classes/op.C, include/pa_string.h, main/pa_string.C:
           www/htdocs/.htaccess: string::serialize/deserialize implemented            string::serialize/deserialize implemented Language enum assigned
           Language enum assigned meaningful letters [more convinient for            meaningful letters [more convinient for debugging. read warning
           debugging. read warning before adding/changing anything]            before adding/changing anything]
   
 2003-09-25  paf  2003-09-25  paf
   
Line 9211 Line 12025
           src/main/untaint.C, src/types/pa_value.h, src/types/pa_vimage.C,            src/main/untaint.C, src/types/pa_value.h, src/types/pa_vimage.C,
           src/types/pa_vmail.C, src/types/pa_vmath.C,            src/types/pa_vmail.C, src/types/pa_vmath.C,
           src/types/pa_vstateless_class.h, src/types/pa_vstatus.C,            src/types/pa_vstateless_class.h, src/types/pa_vstatus.C,
           src/types/pa_vxnode.C, www/htdocs/.htaccess:            src/types/pa_vxnode.C: string_fragments_to_cord merged to HEAD
           string_fragments_to_cord merged to HEAD  
   
         * src/main/: compile.tab.C, pa_string.C: string: debug: .v()          * src/main/: compile.tab.C, pa_string.C: string: debug: .v()
           functions aligned to that of eeparser3 look            functions aligned to that of eeparser3 look
Line 9399 Line 12212
           src/include/pa_config_fixed.h, src/include/pa_version.h,            src/include/pa_config_fixed.h, src/include/pa_version.h,
           src/lib/Makefile.am, src/main/compile.tab.C,            src/lib/Makefile.am, src/main/compile.tab.C,
           src/main/pa_charset.C, src/main/pa_string.C, src/main/untaint.C,            src/main/pa_charset.C, src/main/pa_string.C, src/main/untaint.C,
           src/types/pa_vmail.C, www/htdocs/.htaccess, www/htdocs/auto.p:            src/types/pa_vmail.C: merged 3.1.0 latest changes
           merged 3.1.0 latest changes  
   
 2003-08-15  paf  2003-08-15  paf
   
Line 9532 Line 12344
           src/types/pa_vxdoc.C, src/types/pa_vxdoc.h,            src/types/pa_vxdoc.C, src/types/pa_vxdoc.h,
           src/types/pa_vxnode.C, src/types/pa_vxnode.h,            src/types/pa_vxnode.C, src/types/pa_vxnode.h,
           src/types/pa_wcontext.C, src/types/pa_wcontext.h,            src/types/pa_wcontext.C, src/types/pa_wcontext.h,
           src/types/pa_wwrapper.h, src/types/types.dsp,            src/types/pa_wwrapper.h, src/types/types.dsp: moved tempate_gc to
           www/htdocs/.htaccess, www/htdocs/auto.p, www/htdocs/index.html:            HEAD
           moved tempate_gc to HEAD  
   
         * tests/: 001.html, 002.html, 003.html, 004.html, 005.html,          * tests/: 001.html, 002.html, 003.html, 004.html, 005.html,
           006.html, 007.html, 008.html, 009.html, 010.html, 011.html,            006.html, 007.html, 008.html, 009.html, 010.html, 011.html,
Line 9644 Line 12455
   
         * src/include/pa_version.h: release          * src/include/pa_version.h: release
   
         * parser3.dsw, src/main/pa_globals.C, www/htdocs/.htaccess:          * parser3.dsw, src/main/pa_globals.C: relative paths to xml&gc libs
           relative paths to xml&gc libs  
   
         * src/classes/math.C: merged uuid bugfix          * src/classes/math.C: merged uuid bugfix
   
Line 9661 Line 12471
   
         * src/classes/math.C: uuid bugfix          * src/classes/math.C: uuid bugfix
   
         * parser3.dsw, src/main/pa_globals.C, www/htdocs/.htaccess: few          * parser3.dsw, src/main/pa_globals.C: few paths for libxml
           paths for libxml debug/release changes            debug/release changes
   
         * src/lib/md5/pa_md5c.c: PA_ -> pa_          * src/lib/md5/pa_md5c.c: PA_ -> pa_
   
Line 9730 Line 12540
   
         * ChangeLog, src/classes/file.C, src/classes/hash.C,          * ChangeLog, src/classes/file.C, src/classes/hash.C,
           src/classes/image.C, src/classes/op.C, src/classes/string.C,            src/classes/image.C, src/classes/op.C, src/classes/string.C,
           src/classes/table.C, www/htdocs/.htaccess: fixed several            src/classes/table.C: fixed several uninitialized local
           uninitialized local structures.  notably ^hash.foreach now            structures.  notably ^hash.foreach now inserts delimiters
           inserts delimiters properly [were inserting it before first body]            properly [were inserting it before first body]
   
 2003-06-24  paf  2003-06-24  paf
   
Line 9866 Line 12676
   
         * operators.txt, src/classes/math.C, src/lib/md5/pa_md5.h,          * operators.txt, src/classes/math.C, src/lib/md5/pa_md5.h,
           src/lib/md5/pa_md5c.c, tests/141.html,            src/lib/md5/pa_md5c.c, tests/141.html,
           tests/results/141.processed, www/htdocs/.htaccess: merged from            tests/results/141.processed: merged from head ^math:uuid[]
           head ^math:uuid[] ^math:uid64[] ^math:md5[string]            ^math:uid64[] ^math:md5[string]
   
           test added: 141.html            test added: 141.html
   
Line 9899 Line 12709
   
         * src/classes/table.C: more warnings          * src/classes/table.C: more warnings
   
         * src/include/pa_array.h, src/include/pa_table.h,          * src/: include/pa_array.h, include/pa_table.h, main/pa_table.C:
           src/main/pa_table.C, www/htdocs/.htaccess: removed checks in            removed checks in table::set_current, moved them back to
           table::set_current, moved them back to table::locate implemented            table::locate implemented table::create/join ñ $.reverse
           table::create/join ñ $.reverse  
   
         * src/: include/pa_table.h, main/pa_array.C, main/pa_table.C:          * src/: include/pa_table.h, main/pa_array.C, main/pa_table.C:
           removed checks in table::set_current, moved them back to            removed checks in table::set_current, moved them back to
Line 9915 Line 12724
           src/include/pa_config_includes.h, src/include/pa_string.h,            src/include/pa_config_includes.h, src/include/pa_string.h,
           src/include/pa_table.h, src/main/pa_request.C,            src/include/pa_table.h, src/main/pa_request.C,
           src/main/pa_sql_driver_manager.C, src/main/pa_string.C,            src/main/pa_sql_driver_manager.C, src/main/pa_string.C,
           src/main/pa_table.C, www/htdocs/.htaccess: merged from HEAD from            src/main/pa_table.C: merged from HEAD from
           before_append_array_limit_sense_change to            before_append_array_limit_sense_change to
           after_append_array_limit_sense_change            after_append_array_limit_sense_change
   
         * src/classes/table.C: typo          * src/classes/table.C: typo
   
         * www/htdocs/.htaccess, operators.txt, src/classes/date.C,          * operators.txt, src/classes/date.C, src/classes/table.C,
           src/classes/table.C, src/include/pa_array.h,            src/include/pa_array.h, src/include/pa_common.h,
           src/include/pa_common.h, src/include/pa_config_includes.h,            src/include/pa_config_includes.h, src/include/pa_globals.h,
           src/include/pa_globals.h, src/include/pa_table.h,            src/include/pa_table.h, src/main/pa_array.C,
           src/main/pa_array.C, src/main/pa_globals.C,            src/main/pa_globals.C, src/main/pa_request.C,
           src/main/pa_request.C, src/main/pa_sql_driver_manager.C,            src/main/pa_sql_driver_manager.C, src/main/pa_string.C,
           src/main/pa_string.C, src/main/pa_table.C:            src/main/pa_table.C: append_array_limit_sense_change locate
           append_array_limit_sense_change locate accepts options same as            accepts options same as create new option: $.reverse(1)   [do not
           create new option: $.reverse(1)   [do not work in table::create]            work in table::create]
   
         * src/: include/pa_common.h, main/pa_common.C: gcc didn't like          * src/: include/pa_common.h, main/pa_common.C: gcc didn't like
           (stat xxx,            (stat xxx,
Line 10108 Line 12917
           types/pa_vform.C, types/pa_vform.h, types/pa_vmail.C: pa_vform            types/pa_vform.C, types/pa_vform.h, types/pa_vmail.C: pa_vform
           violated String::invariant. started fixing [not compiled now]            violated String::invariant. started fixing [not compiled now]
   
         * src/classes/string.C, src/include/pa_string.h,          * src/: classes/string.C, include/pa_string.h, lib/cord/cordbscs.c,
           src/lib/cord/cordbscs.c, src/main/compile.tab.C,            main/compile.tab.C, main/compile.y, main/pa_string.C,
           src/main/compile.y, src/main/pa_string.C, src/main/untaint.C,            main/untaint.C, targets/cgi/parser3.C: number of string style
           src/targets/cgi/parser3.C, www/htdocs/.htaccess: number of string            improvements & optimizations
           style improvements & optimizations  
   
         * src/classes/xnode.C: =0 bug fix [left from autoptr default ctor          * src/classes/xnode.C: =0 bug fix [left from autoptr default ctor
           :(]            :(]
Line 10168 Line 12976
         * src/: include/pa_common.h, main/pa_common.C, main/pa_exec.C: safe          * src/: include/pa_common.h, main/pa_common.C, main/pa_exec.C: safe
           mode error message now includes numbers            mode error message now includes numbers
   
         * src/main/untaint.C, src/targets/cgi/parser3.C,          * src/: main/untaint.C, targets/cgi/parser3.C: unknown untaint lang
           www/htdocs/.htaccess: unknown untaint lang now causes death            now causes death
   
 2003-04-04  paf  2003-04-04  paf
   
Line 10336 Line 13144
           main/pa_exception.C, main/pa_request.C: debug info: started            main/pa_exception.C, main/pa_request.C: debug info: started
           using.  todo:complete            using.  todo:complete
   
         * src/classes/op.C, src/include/pa_operation.h,          * src/: classes/op.C, include/pa_operation.h, include/pa_request.h,
           src/include/pa_request.h, src/main/compile.C,            main/compile.C, main/compile.tab.C, main/compile.y,
           src/main/compile.tab.C, src/main/compile.y,            main/compile_tools.C, main/compile_tools.h, main/execute.C,
           src/main/compile_tools.C, src/main/compile_tools.h,            main/pa_request.C: prepared debug info todo:use it
           src/main/execute.C, src/main/pa_request.C, www/htdocs/.htaccess:  
           prepared debug info todo:use it  
   
         * src/include/pa_operation.h: strange mistake fixed: forgot to          * src/include/pa_operation.h: strange mistake fixed: forgot to
           return Operation class->union after switching from autoptrs.            return Operation class->union after switching from autoptrs.
Line 10358 Line 13164
           src/targets/cgi/parser3.C, tests/run_parser.sh: gif encoder bug            src/targets/cgi/parser3.C, tests/run_parser.sh: gif encoder bug
           fix [gdGrowingBuf]            fix [gdGrowingBuf]
   
         * configure.in, src/lib/Makefile.am, www/htdocs/.htaccess: removed          * configure.in, src/lib/Makefile.am: removed patches
           patches  
   
         * configure, src/include/pa_config_auto.h.in,          * configure, src/include/pa_config_auto.h.in,
           src/main/pa_charset.C: --enable-assertions autoconf-ed            src/main/pa_charset.C: --enable-assertions autoconf-ed
   
         * src/main/pa_common.C, www/htdocs/.htaccess: uncommented http://          * src/main/pa_common.C: uncommented http:// file loading
           file loading  
   
         * src/: classes/xdoc.C, types/pa_vxdoc.h: removed ref leak in          * src/: classes/xdoc.C, types/pa_vxdoc.h: removed ref leak in
           xdoc::create/load            xdoc::create/load
Line 10410 Line 13214
   
 2003-04-01  paf  2003-04-01  paf
   
         * src/classes/xdoc.C, src/classes/xnode.h, src/include/pa_memory.h,          * src/: classes/xdoc.C, classes/xnode.h, include/pa_memory.h,
           src/main/pa_memory.C, src/targets/cgi/parser3.C,            main/pa_memory.C, targets/cgi/parser3.C, types/pa_vxdoc.h,
           src/types/pa_vxdoc.h, src/types/pa_vxnode.C,            types/pa_vxnode.C, types/pa_vxnode.h: memory bug debugged down:
           src/types/pa_vxnode.h, www/htdocs/.htaccess: memory bug debugged            gdome uses glib memory, and stores last pointer to xmlDoc there,
           down: gdome uses glib memory, and stores last pointer to xmlDoc            gc misses that and collects valid memory fixed by remembering
           there, gc misses that and collects valid memory fixed by            xmlDoc from dom object in xdoc.  todo: do something with
           remembering xmlDoc from dom object in xdoc.  todo: do something            premature free of xdoc with xnodes/node values referring into it
           with premature free of xdoc with xnodes/node values referring  
           into it  
   
         * src/classes/: mail.C: typo fix          * src/classes/: mail.C: typo fix
   
Line 10443 Line 13245
 2003-03-31  paf  2003-03-31  paf
   
         * INSTALL, src/classes/xdoc.C, src/main/pa_globals.C,          * INSTALL, src/classes/xdoc.C, src/main/pa_globals.C,
           src/targets/cgi/parser3.C, src/targets/cgi/parser3.dsp,            src/targets/cgi/parser3.C, src/targets/cgi/parser3.dsp: started
           www/htdocs/.htaccess: started xml lib memory debugging, simple            xml lib memory debugging, simple checks failed: it seems that
           checks failed: it seems that library does realloc(bad ptr), and            library does realloc(bad ptr), and recording those ptrs in heap
           recording those ptrs in heap [for debugging] was bad: heap            [for debugging] was bad: heap situation changes = everything
           situation changes = everything works fine            works fine
   
         * src/: main/pa_charset.C, include/pa_charset.h: worked around          * src/: main/pa_charset.C, include/pa_charset.h: worked around
           xmlRegisterCharEncodingHandler limitation [currently imposed            xmlRegisterCharEncodingHandler limitation [currently imposed
Line 10506 Line 13308
   
         * src/doc/memory.dox: forgot to add          * src/doc/memory.dox: forgot to add
   
         * src/classes/classes.dsp, src/classes/memory.C,          * src/: classes/classes.dsp, classes/memory.C, classes/xdoc.C,
           src/classes/xdoc.C, src/include/pa_array.h,            include/pa_array.h, include/pa_request.h, include/pa_stack.h,
           src/include/pa_request.h, src/include/pa_stack.h,            include/pa_string.h, lib/cord/cord.dsp, lib/ltdl/libltdl.dsp,
           src/include/pa_string.h, src/lib/cord/cord.dsp,            lib/md5/md5.dsp, lib/pcre/pcre.dsp, main/compile.tab.C,
           src/lib/ltdl/libltdl.dsp, src/lib/md5/md5.dsp,            main/compile.y, main/compile_tools.C, main/compile_tools.h,
           src/lib/pcre/pcre.dsp, src/main/compile.tab.C,            main/main.dsp, main/pa_string.C, targets/cgi/parser3.C,
           src/main/compile.y, src/main/compile_tools.C,            targets/cgi/parser3.dsp, types/pa_vmail.C,
           src/main/compile_tools.h, src/main/main.dsp,            types/pa_vmethod_frame.C, types/types.dsp: Array::put(index,
           src/main/pa_string.C, src/targets/cgi/parser3.C,            T>>&<< removed after Stack::pop wiping removed [moved to separate
           src/targets/cgi/parser3.dsp, src/types/pa_vmail.C,            func] other Array & removed
           src/types/pa_vmethod_frame.C, src/types/types.dsp,  
           www/htdocs/.htaccess: Array::put(index, T>>&<< removed after  
           Stack::pop wiping removed [moved to separate func] other Array &  
           removed  
   
 2003-03-26  paf  2003-03-26  paf
   
Line 10573 Line 13371
         * src/lib/cord/include/: cord.h, ec.h, gc.h, private/cord_pos.h:          * src/lib/cord/include/: cord.h, ec.h, gc.h, private/cord_pos.h:
           bundled gc includes            bundled gc includes
   
         * src/classes/op.C, src/include/pa_array.h,          * src/: classes/op.C, include/pa_array.h,
           src/include/pa_sql_connection.h, src/include/pa_string.h,            include/pa_sql_connection.h, include/pa_string.h,
           src/include/pa_version.h, src/main/compile.tab.C,            include/pa_version.h, main/compile.tab.C, main/compile.y,
           src/main/compile.y, src/main/execute.C, src/main/pa_common.C,            main/execute.C, main/pa_common.C, main/pa_exception.C,
           src/main/pa_exception.C, src/main/pa_request.C,            main/pa_request.C, main/pa_string.C, targets/cgi/parser3.C,
           src/main/pa_string.C, src/targets/cgi/parser3.C,            targets/cgi/parser3.dsp: a number of bugfixes [while testing
           src/targets/cgi/parser3.dsp, www/htdocs/.htaccess: a number of            first real site (aval)]
           bugfixes [while testing first real site (aval)]  
   
 2003-03-25  paf  2003-03-25  paf
   
Line 10601 Line 13398
   
         * operators.txt, src/classes/Makefile.am, src/classes/classes.dsp,          * operators.txt, src/classes/Makefile.am, src/classes/classes.dsp,
           src/classes/op.C, src/main/pa_request.C, src/types/Makefile.am,            src/classes/op.C, src/main/pa_request.C, src/types/Makefile.am,
           src/types/pa_venv.h, src/types/types.dsp, www/htdocs/.htaccess,            src/types/pa_venv.h, src/types/types.dsp, src/classes/memory.C,
           src/classes/memory.C, src/types/pa_vmemory.h: ^memory:compact[]            src/types/pa_vmemory.h: ^memory:compact[]
   
         * tests/results/109.processed: it was a bug in parser. updated 109          * tests/results/109.processed: it was a bug in parser. updated 109
           test result            test result
Line 11072 Line 13869
   
 2003-03-17  paf  2003-03-17  paf
   
         * src/classes/date.C, src/classes/file.C, src/classes/form.C,          * src/: classes/date.C, classes/file.C, classes/form.C,
           src/classes/image.C, src/classes/mail.C, src/classes/op.C,            classes/image.C, classes/mail.C, classes/op.C, classes/table.C,
           src/classes/table.C, src/classes/xdoc.C, src/classes/xnode.C,            classes/xdoc.C, classes/xnode.C, include/pa_pool.h,
           src/include/pa_pool.h, src/include/pa_pragma_pack_begin.h,            include/pa_pragma_pack_begin.h, include/pa_pragma_pack_end.h,
           src/include/pa_pragma_pack_end.h, src/include/pa_string.h,            include/pa_string.h, include/pa_types.h, main/compile.C,
           src/include/pa_types.h, src/main/compile.C,            main/compile.tab.C, main/execute.C, main/pa_charset.C,
           src/main/compile.tab.C, src/main/execute.C,            main/pa_common.C, main/pa_exception.C, main/pa_exec.C,
           src/main/pa_charset.C, src/main/pa_common.C,            main/pa_globals.C, main/pa_pool.C, main/pa_request.C,
           src/main/pa_exception.C, src/main/pa_exec.C,            main/pa_sql_driver_manager.C, main/pa_string.C,
           src/main/pa_globals.C, src/main/pa_pool.C, src/main/pa_request.C,            main/pa_stylesheet_manager.C, main/pa_uue.C, main/untaint.C,
           src/main/pa_sql_driver_manager.C, src/main/pa_string.C,            targets/cgi/pa_pool.C, targets/cgi/parser3.C,
           src/main/pa_stylesheet_manager.C, src/main/pa_uue.C,            targets/cgi/parser3.dsp, targets/cgi/pool_storage.h,
           src/main/untaint.C, src/targets/cgi/pa_pool.C,            types/pa_vcookie.C, types/pa_vdouble.h, types/pa_vfile.C,
           src/targets/cgi/parser3.C, src/targets/cgi/parser3.dsp,            types/pa_vform.C, types/pa_vint.h, types/pa_vmail.C,
           src/targets/cgi/pool_storage.h, src/types/pa_vcookie.C,            types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C,
           src/types/pa_vdouble.h, src/types/pa_vfile.C,            types/pa_vxnode.h: libgc attempt
           src/types/pa_vform.C, src/types/pa_vint.h, src/types/pa_vmail.C,  
           src/types/pa_vxdoc.C, src/types/pa_vxdoc.h,  
           src/types/pa_vxnode.C, src/types/pa_vxnode.h,  
           www/htdocs/.htaccess, www/htdocs/auto.p: libgc attempt  
   
 2003-03-13  paf  2003-03-13  paf
   
Line 11099 Line 13892
           main/pa_sql_driver_manager.C, targets/cgi/parser3.C: lt_dlexit            main/pa_sql_driver_manager.C, targets/cgi/parser3.C: lt_dlexit
           called            called
   
         * src/include/pa_request.h, src/lib/ltdl/libltdl.dsp,          * src/: include/pa_request.h, lib/ltdl/libltdl.dsp,
           src/lib/md5/md5.dsp, src/main/compile.tab.C, src/main/execute.C,            lib/md5/md5.dsp, main/compile.tab.C, main/execute.C,
           src/main/pa_request.C, src/targets/cgi/parser3.C,            main/pa_request.C, targets/cgi/parser3.C, types/pa_value.C,
           src/types/pa_value.C, src/types/pa_value.h,            types/pa_value.h, types/pa_vobject.h,
           src/types/pa_vobject.h, src/types/pa_vstateless_class.h,            types/pa_vstateless_class.h, types/pa_vstatus.C, types/types.dsp:
           src/types/pa_vstatus.C, src/types/types.dsp,            set_base, set_derived simplified [counter leaks fixed]
           www/htdocs/.htaccess: set_base, set_derived simplified [counter  
           leaks fixed]  
   
         * ChangeLog, src/include/pa_config_fixed.h, src/types/pa_vstatus.C,          * ChangeLog, src/include/pa_config_fixed.h, src/types/pa_vstatus.C,
           src/types/types.dsp: incorporated status class patch From:            src/types/types.dsp: incorporated status class patch From:
Line 11146 Line 13937
   
 2003-03-11  paf  2003-03-11  paf
   
         * src/main/compile.tab.C, src/main/compile.y,          * src/: main/compile.tab.C, main/compile.y, sql/pa_sql_driver.h,
           src/sql/pa_sql_driver.h, src/types/pa_vstateless_class.C,            types/pa_vstateless_class.C, types/pa_vstateless_class.h: removed
           src/types/pa_vstateless_class.h, www/htdocs/.htaccess: removed  
           necessity of libstdc++            necessity of libstdc++
   
         * src/include/pa_request.h: ANTI_ENDLESS_EXECUTE_RECOURSION doubled          * src/include/pa_request.h: ANTI_ENDLESS_EXECUTE_RECOURSION doubled
Line 11179 Line 13969
   
         * src/main/pa_request.C: forgotten: ifdef XML          * src/main/pa_request.C: forgotten: ifdef XML
   
         * src/main/pa_request.C, www/htdocs/.htaccess: forgotten: ifdef XML          * src/main/pa_request.C: forgotten: ifdef XML
   
         * src/targets/cgi/parser3.C: todo: move to latest xml version on          * src/targets/cgi/parser3.C: todo: move to latest xml version on
           win32 and run memleak tests again            win32 and run memleak tests again
Line 11193 Line 13983
         * src/: main/untaint.C, types/pa_vmail.C: mail: transcode fixed.          * src/: main/untaint.C, types/pa_vmail.C: mail: transcode fixed.
           todo: still problems when transcode from charset A to A.            todo: still problems when transcode from charset A to A.
   
         * src/classes/hash.C, src/classes/mail.C, src/classes/string.C,          * src/: classes/hash.C, classes/mail.C, classes/string.C,
           src/classes/table.C, src/include/pa_array.h,            classes/table.C, include/pa_array.h,
           src/main/pa_sql_driver_manager.C, src/types/pa_vmail.C,            main/pa_sql_driver_manager.C, types/pa_vmail.C, types/pa_vmail.h:
           src/types/pa_vmail.h, www/htdocs/.htaccess,            started full-scale-site-test [~ http://parser.ru sources]
           www/htdocs/index.html: started full-scale-site-test [~  
           http://parser.ru sources]  
   
           some fixes            some fixes
   
Line 11245 Line 14033
         * tests/: 106.html, results/106.processed: test: 106 xdoc create,          * tests/: 106.html, results/106.processed: test: 106 xdoc create,
           string            string
   
         * src/include/pa_charset.h, src/main/pa_charset.C,          * src/: include/pa_charset.h, main/pa_charset.C: xml: charset two
           www/htdocs/.htaccess: xml: charset two mem alloc functions used            mem alloc functions used for different cases [libxml, libxsl]
           for different cases [libxml, libxsl]  
   
         * src/classes/classes.C: fixed: prevent system classes from          * src/classes/classes.C: fixed: prevent system classes from
           modification to lock ALL the classes, not only directly used            modification to lock ALL the classes, not only directly used
Line 11289 Line 14076
         * tests/: 058_paf2000.png, results/058.processed: .png added with          * tests/: 058_paf2000.png, results/058.processed: .png added with
           -kb now            -kb now
   
         * src/include/pa_charset.h, src/include/pa_charsets.h,          * src/: include/pa_charset.h, include/pa_charsets.h,
           src/main/pa_charset.C, src/main/pa_charsets.C,            main/pa_charset.C, main/pa_charsets.C: charset_utf8 declaration
           www/htdocs/.htaccess: charset_utf8 declaration moved to            moved to charsets.C
           charsets.C  
   
 2003-03-05  paf  2003-03-05  paf
   
Line 11301 Line 14087
           tests/results/105.processed: String::match bug fixed            tests/results/105.processed: String::match bug fixed
   
         * src/classes/op.C, src/main/main.dsp, tests/104.html,          * src/classes/op.C, src/main/main.dsp, tests/104.html,
           tests/results/104.processed, www/htdocs/.htaccess: ^bpt operator            tests/results/104.processed: ^bpt operator added [does int3 in
           added [does int3 in debug build on win32]            debug build on win32]
   
         * tests/: 057.html, results/057.processed: test bug fixed          * tests/: 057.html, results/057.processed: test bug fixed
   
         * www/htdocs/: auto.p, autoptr.html, base.p, derived.p, font.gif,  
           global.xsl, index.html, mailreceive.eml, mailreceive.html,  
           operators.p, parser-status.html, people.dtd, some.p: removed old  
           tests  
   
         * src/targets/cgi/Makefile.am: linker needed more tricks to link OK          * src/targets/cgi/Makefile.am: linker needed more tricks to link OK
   
         * src/classes/math.C: can be: crypt in -lcrypt OK, but crypt.h be          * src/classes/math.C: can be: crypt in -lcrypt OK, but crypt.h be
Line 11482 Line 14263
           String_UL in all places [was not everywhere] untaint test: 032            String_UL in all places [was not everywhere] untaint test: 032
   
         * src/targets/cgi/parser3.C, tests/004.html, tests/Makefile,          * src/targets/cgi/parser3.C, tests/004.html, tests/Makefile,
           tests/results/004.processed, www/htdocs/.htaccess,            tests/results/004.processed, tests/parser-cygwin.sh,
           tests/parser-cygwin.sh, tests/parser-unix.sh: removed -H command            tests/parser-unix.sh: removed -H command line key, now testing
           line key, now testing using .sh file with SERVER_SOFTWARE=xxx            using .sh file with SERVER_SOFTWARE=xxx
   
 2003-02-26  paf  2003-02-26  paf
   
Line 11599 Line 14380
   
         * src/main/pa_array.C: pool::format_integer terminator fixed          * src/main/pa_array.C: pool::format_integer terminator fixed
   
         * src/main/execute.C, src/targets/cgi/parser3.C,          * src/: main/execute.C, targets/cgi/parser3.C: release mode now
           www/htdocs/autoptr.html: release mode now compiles OK test to            compiles OK test to show benefits of free
           show benefits of free  
   
         * src/: classes/file.C, classes/image.C, classes/mail.C,          * src/: classes/file.C, classes/image.C, classes/mail.C,
           classes/op.C, classes/xdoc.C, main/pa_charset.C, main/pa_exec.C,            classes/op.C, classes/xdoc.C, main/pa_charset.C, main/pa_exec.C,
Line 11614 Line 14394
   
 2003-02-20  paf  2003-02-20  paf
   
         * src/classes/date.C, src/classes/double.C, src/classes/file.C,          * src/: classes/date.C, classes/double.C, classes/file.C,
           src/classes/hash.C, src/classes/image.C, src/classes/int.C,            classes/hash.C, classes/image.C, classes/int.C, classes/mail.C,
           src/classes/mail.C, src/classes/math.C, src/classes/op.C,            classes/math.C, classes/op.C, classes/response.C,
           src/classes/response.C, src/classes/string.C,            classes/string.C, classes/table.C, classes/void.C,
           src/classes/table.C, src/classes/void.C, src/classes/xdoc.C,            classes/xdoc.C, classes/xnode.C, main/pa_string.C,
           src/classes/xnode.C, src/main/pa_string.C, src/types/pa_method.h,            types/pa_method.h, types/pa_value.C, types/pa_vmethod_frame.h:
           src/types/pa_value.C, src/types/pa_vmethod_frame.h,            string cmp fixed
           www/htdocs/autoptr.html: string cmp fixed  
   
         * src/: include/pa_config_fixed.h, targets/cgi/parser3.C: form          * src/: include/pa_config_fixed.h, targets/cgi/parser3.C: form
           values passed OK now            values passed OK now
Line 11991 Line 14770
           src/types/pa_vstateless_object.h, src/types/pa_vstatus.h,            src/types/pa_vstateless_object.h, src/types/pa_vstatus.h,
           src/types/pa_vstring.h, src/types/pa_vtable.h,            src/types/pa_vstring.h, src/types/pa_vtable.h,
           src/types/pa_vvoid.h, src/types/pa_wcontext.C,            src/types/pa_vvoid.h, src/types/pa_wcontext.C,
           src/types/pa_wcontext.h, src/types/pa_wwrapper.h,            src/types/pa_wcontext.h, src/types/pa_wwrapper.h: ConstStringPtr
           www/htdocs/.htaccess: ConstStringPtr died, long live StringPtr            died, long live StringPtr
   
 2003-01-30  paf  2003-01-30  paf
   
Line 12291 Line 15070
   
 2003-01-16  paf  2003-01-16  paf
   
         * www/htdocs/index.html: image.copy fixed transparent resampling  
   
         * operators.txt, src/include/pa_globals.h, src/main/pa_common.C,          * operators.txt, src/include/pa_globals.h, src/main/pa_common.C,
           src/main/pa_globals.C, www/htdocs/index.html: http:// introducing            src/main/pa_globals.C: http:// introducing     $.any-status(1)
           $.any-status(1)  
   
         * operators.txt, src/include/pa_config_fixed.h,          * operators.txt, src/include/pa_config_fixed.h,
           src/main/pa_common.C, www/htdocs/index.html: http request now            src/main/pa_common.C: http request now return status. and not
           return status. and not fail on status!=200            fail on status!=200
   
 2003-01-15  paf  2003-01-15  paf
   
Line 12354 Line 15130
   
         * src/include/pa_version.h: 0007          * src/include/pa_version.h: 0007
   
         * src/doc/aliased.dox, src/doc/index.dox, src/doc/module.dox,          * src/doc/: aliased.dox, index.dox, module.dox, pooled.dox: removed
           src/doc/pooled.dox, www/htdocs/index.html: removed outdated            outdated parts, made links to language docs
           parts, made links to language docs  
   
         * src/include/pa_config_auto.h.in: comment          * src/include/pa_config_auto.h.in: comment
   
Line 12385 Line 15160
         * src/classes/mail.C: $MAIL in @conf now invalid when configured          * src/classes/mail.C: $MAIL in @conf now invalid when configured
           with --with-sendmail            with --with-sendmail
   
         * src/main/pa_exec.C, www/htdocs/index.html: fork/pipe error now          * src/main/pa_exec.C: fork/pipe error now [old always-pipe-error
           [old always-pipe-error fixed]            fixed]
   
 2002-12-23  paf  2002-12-23  paf
   
Line 12415 Line 15190
   
         * operators.txt, src/include/pa_globals.h,          * operators.txt, src/include/pa_globals.h,
           src/include/pa_request.h, src/main/pa_globals.C,            src/include/pa_request.h, src/main/pa_globals.C,
           src/main/pa_request.C, www/htdocs/index.html: $response:download            src/main/pa_request.C: $response:download
   
         * src/classes/mail.C: 'to' check bugfix [now checked only on ms          * src/classes/mail.C: 'to' check bugfix [now checked only on ms
           compiler [win32]].            compiler [win32]].
Line 12455 Line 15230
   
 2002-12-14  paf  2002-12-14  paf
   
         * www/htdocs/index.html: exception type fixed  
   
         * src/classes/table.C: removed unnecessary code          * src/classes/table.C: removed unnecessary code
   
         * src/sql/pa_sql_driver.h: exception type fixed          * src/sql/pa_sql_driver.h: exception type fixed
   
 2002-12-09  paf  2002-12-09  paf
   
         * src/types/pa_vvoid.h, www/htdocs/index.html: $void.store[now]          * src/types/pa_vvoid.h: $void.store[now] error
           error  
   
         * src/targets/cgi/parser3.C: ::die now tries to write core dump          * src/targets/cgi/parser3.C: ::die now tries to write core dump
   
Line 12500 Line 15272
   
 2002-12-05  paf  2002-12-05  paf
   
         * src/classes/mail.C, src/types/pa_vmail.C, src/types/pa_vmail.h,          * src/: classes/mail.C, types/pa_vmail.C, types/pa_vmail.h: smtp
           www/htdocs/index.html: smtp cc/bcc OK now            cc/bcc OK now
   
         * src/main/untaint.C, www/htdocs/index.html: mail header closed          * src/main/untaint.C: mail header closed properly
           properly  
   
         * src/main/pa_common.C, src/main/untaint.C, src/types/pa_vmail.C,          * src/: main/pa_common.C, main/untaint.C, types/pa_vmail.C: mail
           www/htdocs/index.html: mail header ',' allowed.  still bugs in            header ',' allowed.  still bugs in smtp [only one receiptient
           smtp [only one receiptient works, cc, bcc ignored now, and MAILED            works, cc, bcc ignored now, and MAILED ;)]
           ;)]  
   
           [strncpy killed, memnchr used]            [strncpy killed, memnchr used]
   
         * src/main/pa_table.C: table-copy now current=0          * src/main/pa_table.C: table-copy now current=0
   
         * src/main/pa_array.C, src/main/pa_table.C, www/htdocs/index.html:          * src/main/: pa_array.C, pa_table.C: wow! found/fixed bug in
           wow! found/fixed bug in lowlevel proc            lowlevel proc
   
         * src/targets/cgi/parser3.C: more checks on          * src/targets/cgi/parser3.C: more checks on
           http://domain/parser.cgi start [maybe some getenv returns "",            http://domain/parser.cgi start [maybe some getenv returns "",
Line 12526 Line 15296
           http://domain/parser.cgi start [maybe some getenv returns "",            http://domain/parser.cgi start [maybe some getenv returns "",
           checked that now            checked that now
   
         * src/targets/cgi/parser3.C, www/htdocs/index.html: error logging          * src/targets/cgi/parser3.C: error logging made unbuffered [so that
           made unbuffered [so that out-of-mem errors reached log]            out-of-mem errors reached log]
   
         * src/classes/mail.C, src/targets/cgi/parser3.C,          * src/: classes/mail.C, targets/cgi/parser3.C, types/pa_vmail.C:
           src/types/pa_vmail.C, www/htdocs/index.html: mail:send            mail:send MIME-Version default
           MIME-Version default  
   
         * src/main/main.dsp: pa_version included into main.dsp          * src/main/main.dsp: pa_version included into main.dsp
   
         * www/htdocs/index.html: smtp line ends fixed. now \r\n [not \r].  
           some smtp servers [win32] leave \n intact, and some clients [bat]  
           fail to show letter correctly  
   
 2002-12-04  paf  2002-12-04  paf
   
         * src/types/pa_vform.C: $form:field string value cut by premature 0          * src/types/pa_vform.C: $form:field string value cut by premature 0
   
         * parser3.dsw, src/main/compile.tab.C, src/main/main.dsp,          * parser3.dsw, src/main/compile.tab.C, src/main/main.dsp:
           www/htdocs/.htaccess, www/htdocs/index.html: lib/libltdl ->            lib/libltdl -> lib/ltdl Win32 changes. s
           lib/ltdl Win32 changes. s  
   
         * src/classes/classes.awk: more strict *.C$          * src/classes/classes.awk: more strict *.C$
   
Line 12569 Line 15333
   
         * ChangeLog, src/classes/mail.C, src/include/pa_common.h,          * ChangeLog, src/classes/mail.C, src/include/pa_common.h,
           src/main/pa_common.C, src/main/pa_request.C,            src/main/pa_common.C, src/main/pa_request.C,
           src/types/pa_vcookie.C, src/types/pa_vmail.C,            src/types/pa_vcookie.C, src/types/pa_vmail.C: http header lang of
           www/htdocs/index.html: http header lang of tainted parts becomes            tainted parts becomes http-header
           http-header  
   
 2002-11-29  paf  2002-11-29  paf
   
         * src/classes/date.C, src/classes/image.C, www/htdocs/index.html,          * src/classes/date.C, src/classes/image.C, operators.txt: exif
           operators.txt: exif dates now objects of type date            dates now objects of type date
   
         * src/classes/image.C: file.seek removed [it were used in image.C          * src/classes/image.C: file.seek removed [it were used in image.C
           only, and for parser user this  means that jpeg image has bad            only, and for parser user this  means that jpeg image has bad
           size in fragment's header] now used image.format            size in fragment's header] now used image.format
   
         * src/include/pa_common.h, src/main/pa_common.C,          * src/: include/pa_common.h, main/pa_common.C,
           src/types/pa_vresponse.C, src/types/pa_vresponse.h,            types/pa_vresponse.C, types/pa_vresponse.h: http:// param values
           www/htdocs/index.html: http:// param values now handled exactly            now handled exactly like $response:header values.  e.g. can be
           like $response:header values.  e.g. can be hash [can have            hash [can have subattributes] & contain date values.
           subattributes] & contain date values.  
   
         * src/main/pa_common.C, www/htdocs/index.html: http:// param values          * src/main/pa_common.C: http:// param values lang forced URI
           lang forced URI  
   
         * src/main/pa_common.C, www/htdocs/index.html: http:// tainted          * src/main/pa_common.C: http:// tainted partes now %xx
           partes now %xx  
   
 2002-11-28  paf  2002-11-28  paf
   
         * www/htdocs/index.html: doc samples  
   
         * operators.txt: http.timeout          * operators.txt: http.timeout
   
         * src/classes/image.C, www/htdocs/index.html: ^image.length now          * src/classes/image.C: ^image.length now counts interchar space.
           counts interchar space. plus space after last char            plus space after last char
   
         * www/htdocs/index.html: regexp syntax xxx$ speed-up  experiments  
   
         * src/main/pa_string.C: PCRE_DOLLAR_ENDONLY          * src/main/pa_string.C: PCRE_DOLLAR_ENDONLY
   
Line 12612 Line 15368
   
         * configure.in: stopped double libltdl/Makefile generation          * configure.in: stopped double libltdl/Makefile generation
   
         * src/classes/image.C, www/htdocs/index.html: ^image.text now          * src/classes/image.C: ^image.text now outputs one pixel HIGHER
           outputs one pixel HIGHER chars [one top horizontal line of 1pixel            chars [one top horizontal line of 1pixel height were missing]
           height were missing]  
   
         * src/classes/op.C, www/htdocs/index.html: ^cache bug fixed.          * src/classes/op.C: ^cache bug fixed.  stupid compiler allowed
           stupid compiler allowed 'false' to go into (Hash *) parameter            'false' to go into (Hash *) parameter
   
 2002-11-27  paf  2002-11-27  paf
   
         * src/include/pa_globals.h, src/main/pa_globals.C,          * src/: include/pa_globals.h, main/pa_globals.C, main/pa_request.C,
           src/main/pa_request.C, src/types/pa_vmail.C,            types/pa_vmail.C: response:body[file]  if file nows it's name now
           www/htdocs/index.html: response:body[file]  if file nows it's            returns content-disposition: >>attachment<<
           name now returns content-disposition: >>attachment<<  
   
         * src/classes/image.C, www/htdocs/index.html: ^image.font << bad          * src/classes/image.C: ^image.font << bad font file-size now
           font file-size now properly reported            properly reported
   
 2002-11-26  paf  2002-11-26  paf
   
         * src/main/pa_request.C: fixed lang in reponse header          * src/main/pa_request.C: fixed lang in reponse header
   
         * src/main/pa_common.C, www/htdocs/.htaccess: utf8 prefix ignored          * src/main/pa_common.C: utf8 prefix ignored @read text
           @read text  
   
         * operators.txt, src/main/pa_common.C, www/htdocs/index.html:          * operators.txt, src/main/pa_common.C: http:// response status!=200
           http:// response status!=200 made exception: http.status with            made exception: http.status with source=bad status#
           source=bad status#  
   
 2002-11-25  paf  2002-11-25  paf
   
Line 12648 Line 15400
           src/main/pa_common.C, src/main/pa_globals.C: http:// and image            src/main/pa_common.C, src/main/pa_globals.C: http:// and image
           const void related probs fixed            const void related probs fixed
   
         * operators.txt, src/main/pa_common.C, www/htdocs/index.html: http          * operators.txt, src/main/pa_common.C: http fields now UPPERCASE
           fields now UPPERCASE  
   
           $file[^file::load[http://there]] $file.SERVER            $file[^file::load[http://there]] $file.SERVER
   
         * src/classes/file.C, src/classes/image.C, src/classes/xdoc.C,          * src/: classes/file.C, classes/image.C, classes/xdoc.C,
           src/include/pa_common.h, src/main/pa_common.C,            include/pa_common.h, main/pa_common.C, main/pa_request.C: checked
           src/main/pa_request.C, www/htdocs/index.html: checked http            http options [invalid onces now reported] made default
           options [invalid onces now reported] made default user-agent: paf            user-agent: paf
   
         * operators.txt, src/classes/file.C, src/classes/table.C,          * operators.txt, src/classes/file.C, src/classes/table.C,
           src/classes/xdoc.C, src/include/pa_common.h,            src/classes/xdoc.C, src/include/pa_common.h,
           src/include/pa_globals.h, src/main/pa_common.C,            src/include/pa_globals.h, src/main/pa_common.C,
           src/main/pa_globals.C, src/main/pa_request.C,            src/main/pa_globals.C, src/main/pa_request.C,
           src/types/pa_vfile.C, src/types/pa_vfile.h,            src/types/pa_vfile.C, src/types/pa_vfile.h: table/xdoc/file::load
           www/htdocs/index.html: table/xdoc/file::load now understand            now understand http:// prefix and additional params, sample:
           http:// prefix and additional params, sample:  
           $rates[^xdoc::load[http://www.cbr.ru/scripts/XML_daily.asp?date_req=02/03/2002;            $rates[^xdoc::load[http://www.cbr.ru/scripts/XML_daily.asp?date_req=02/03/2002;
           $.USER-AGENT[parser3] ]]            $.USER-AGENT[parser3] ]]
   
Line 12672 Line 15422
   
         * src/classes/image.C, src/include/pa_globals.h,          * src/classes/image.C, src/include/pa_globals.h,
           src/main/execute.C, src/main/pa_globals.C, src/types/pa_vimage.C,            src/main/execute.C, src/main/pa_globals.C, src/types/pa_vimage.C,
           src/types/pa_vimage.h, www/htdocs/.htaccess,            src/types/pa_vimage.h, operators.txt: $image.exif support
           www/htdocs/index.html, operators.txt: $image.exif support  
           $image.exif.DateTime & co            $image.exif.DateTime & co
   
 2002-11-21  paf  2002-11-21  paf
Line 12686 Line 15435
           negative :(]            negative :(]
   
         * operators.txt, src/classes/image.C, src/include/pa_common.h,          * operators.txt, src/classes/image.C, src/include/pa_common.h,
           src/main/pa_common.C, src/types/pa_vmail.C,            src/main/pa_common.C, src/types/pa_vmail.C: image.measure
           www/htdocs/index.html: image.measure internals rewritten. no            internals rewritten. no there's reader.seek, and all's ready for
           there's reader.seek, and all's ready for EXIF extraction [now we            EXIF extraction [now we fail to measure files with EXIF info]
           fail to measure files with EXIF info]  
   
         * src/main/pa_common.C: O_TRUNCATE killed, ftruncate  used instead:          * src/main/pa_common.C: O_TRUNCATE killed, ftruncate  used instead:
           O_TRUNC truncates even exclusevely write-locked file [thanks to            O_TRUNC truncates even exclusevely write-locked file [thanks to
Line 12735 Line 15483
         * src/main/execute.C: found out why, checked that for now.  todo:          * src/main/execute.C: found out why, checked that for now.  todo:
           find out a way for that user could do that            find out a way for that user could do that
   
         * www/htdocs/: base.p, derived.p, index.html: this example creates  
           base object, which is wrong, todo: find out why  
   
         * src/types/pa_vstateless_object.h: object put replaces static          * src/types/pa_vstateless_object.h: object put replaces static
           parent if any            parent if any
   
         * src/types/pa_vobject.C: object put replaces static parent if any          * src/types/pa_vobject.C: object put replaces static parent if any
   
         * src/classes/form.C, src/classes/mail.C, src/classes/op.C,          * src/: classes/form.C, classes/mail.C, classes/op.C,
           src/classes/xnode.h, src/main/compile.tab.C, src/main/execute.C,            classes/xnode.h, main/compile.tab.C, main/execute.C,
           src/main/pa_request.C, src/types/pa_value.h,            main/pa_request.C, types/pa_value.h, types/pa_vclass.C,
           src/types/pa_vclass.C, src/types/pa_vclass.h,            types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vcookie.C,
           src/types/pa_vcode_frame.h, src/types/pa_vcookie.C,            types/pa_vcookie.h, types/pa_vdate.h, types/pa_venv.h,
           src/types/pa_vcookie.h, src/types/pa_vdate.h,            types/pa_vfile.h, types/pa_vform.C, types/pa_vform.h,
           src/types/pa_venv.h, src/types/pa_vfile.h, src/types/pa_vform.C,            types/pa_vhash.h, types/pa_vimage.h, types/pa_vmail.C,
           src/types/pa_vform.h, src/types/pa_vhash.h,            types/pa_vmail.h, types/pa_vmath.h, types/pa_vmethod_frame.h,
           src/types/pa_vimage.h, src/types/pa_vmail.C,            types/pa_vobject.C, types/pa_vobject.h, types/pa_vrequest.C,
           src/types/pa_vmail.h, src/types/pa_vmath.h,            types/pa_vrequest.h, types/pa_vresponse.C, types/pa_vresponse.h,
           src/types/pa_vmethod_frame.h, src/types/pa_vobject.C,            types/pa_vstateless_class.C, types/pa_vstateless_class.h,
           src/types/pa_vobject.h, src/types/pa_vrequest.C,            types/pa_vstateless_object.h, types/pa_vstatus.C,
           src/types/pa_vrequest.h, src/types/pa_vresponse.C,            types/pa_vstatus.h, types/pa_vstring.h, types/pa_vtable.C,
           src/types/pa_vresponse.h, src/types/pa_vstateless_class.C,            types/pa_vtable.h, types/pa_vvoid.h, types/pa_vxdoc.C,
           src/types/pa_vstateless_class.h,            types/pa_vxdoc.h, types/pa_vxnode.C, types/pa_vxnode.h,
           src/types/pa_vstateless_object.h, src/types/pa_vstatus.C,            types/pa_wwrapper.h: static fix merged
           src/types/pa_vstatus.h, src/types/pa_vstring.h,  
           src/types/pa_vtable.C, src/types/pa_vtable.h,  
           src/types/pa_vvoid.h, src/types/pa_vxdoc.C, src/types/pa_vxdoc.h,  
           src/types/pa_vxnode.C, src/types/pa_vxnode.h,  
           src/types/pa_wwrapper.h, www/htdocs/base.p, www/htdocs/derived.p,  
           www/htdocs/index.html: static fix merged  
   
         * src/: main/compile.tab.C, types/pa_vobject.C: killed          * src/: main/compile.tab.C, types/pa_vobject.C: killed
           $virtual_fields in dynamic, but one can reach derived            $virtual_fields in dynamic, but one can reach derived
Line 12780 Line 15519
           them.  also there can be no virtual method calls in static            them.  also there can be no virtual method calls in static
           classes            classes
   
         * src/classes/form.C, src/classes/mail.C, src/classes/op.C,          * src/: classes/form.C, classes/mail.C, classes/op.C,
           src/classes/xnode.h, src/main/execute.C, src/main/pa_request.C,            classes/xnode.h, main/execute.C, main/pa_request.C,
           src/types/pa_value.h, src/types/pa_vclass.C,            types/pa_value.h, types/pa_vclass.C, types/pa_vclass.h,
           src/types/pa_vclass.h, src/types/pa_vcode_frame.h,            types/pa_vcode_frame.h, types/pa_vcookie.C, types/pa_vcookie.h,
           src/types/pa_vcookie.C, src/types/pa_vcookie.h,            types/pa_vdate.h, types/pa_venv.h, types/pa_vfile.h,
           src/types/pa_vdate.h, src/types/pa_venv.h, src/types/pa_vfile.h,            types/pa_vform.C, types/pa_vform.h, types/pa_vhash.h,
           src/types/pa_vform.C, src/types/pa_vform.h, src/types/pa_vhash.h,            types/pa_vimage.h, types/pa_vmail.C, types/pa_vmail.h,
           src/types/pa_vimage.h, src/types/pa_vmail.C,            types/pa_vmath.h, types/pa_vmethod_frame.h, types/pa_vobject.C,
           src/types/pa_vmail.h, src/types/pa_vmath.h,            types/pa_vobject.h, types/pa_vrequest.C, types/pa_vrequest.h,
           src/types/pa_vmethod_frame.h, src/types/pa_vobject.C,            types/pa_vresponse.C, types/pa_vresponse.h,
           src/types/pa_vobject.h, src/types/pa_vrequest.C,            types/pa_vstateless_class.C, types/pa_vstateless_class.h,
           src/types/pa_vrequest.h, src/types/pa_vresponse.C,            types/pa_vstateless_object.h, types/pa_vstatus.C,
           src/types/pa_vresponse.h, src/types/pa_vstateless_class.C,            types/pa_vstatus.h, types/pa_vstring.h, types/pa_vtable.C,
           src/types/pa_vstateless_class.h,            types/pa_vtable.h, types/pa_vvoid.h, types/pa_vxdoc.C,
           src/types/pa_vstateless_object.h, src/types/pa_vstatus.C,            types/pa_vxdoc.h, types/pa_vxnode.C, types/pa_vxnode.h,
           src/types/pa_vstatus.h, src/types/pa_vstring.h,            types/pa_wwrapper.h: static call $self fixed
           src/types/pa_vtable.C, src/types/pa_vtable.h,  
           src/types/pa_vvoid.h, src/types/pa_vxdoc.C, src/types/pa_vxdoc.h,  
           src/types/pa_vxnode.C, src/types/pa_vxnode.h,  
           src/types/pa_wwrapper.h, www/htdocs/base.p, www/htdocs/derived.p,  
           www/htdocs/index.html: static call $self fixed  
   
         * src/main/execute.C: comment          * src/main/execute.C: comment
   
         * src/classes/op.C, src/types/pa_value.h, src/types/pa_vobject.h,          * src/: classes/op.C, types/pa_value.h, types/pa_vobject.h:
           www/htdocs/base.p, www/htdocs/derived.p, www/htdocs/index.html,  
           www/htdocs/operators.p, www/htdocs/some.p:  
           ^process[$caller.self]{...} now compiles to last derived object            ^process[$caller.self]{...} now compiles to last derived object
           part of that 'self'            part of that 'self'
   
 2002-10-30  paf  
   
         * www/htdocs/: derived.p, some.p: include method overriding tested  
           OK  
   
 2002-10-29  paf  2002-10-29  paf
   
         * src/targets/isapi/parser3isapi.C: comment on 404 bad status          * src/targets/isapi/parser3isapi.C: comment on 404 bad status
Line 12827 Line 15554
           properly escaped.  [tried in mssql->mysql export->import of            properly escaped.  [tried in mssql->mysql export->import of
           binary data]            binary data]
   
 2002-10-28  paf  
   
         * www/htdocs/: index.html: bad email handling test  
   
 2002-10-25  paf  2002-10-25  paf
   
         * src/types/pa_vresponse.C: case insensitive response user fields          * src/types/pa_vresponse.C: case insensitive response user fields
Line 12844 Line 15567
         * operators.txt, src/classes/table.C: ^table.hash{code}...          * operators.txt, src/classes/table.C: ^table.hash{code}...
           ^table.hash(expr)...            ^table.hash(expr)...
   
         * src/types/pa_vmail.C, www/htdocs/index.html: email whitespace          * src/types/pa_vmail.C: email whitespace trimBoth-ed
           trimBoth-ed  
   
 2002-10-22  paf  2002-10-22  paf
   
Line 12867 Line 15589
   
         * operators.txt, src/types/pa_vform.C: $form:image-map          * operators.txt, src/types/pa_vform.C: $form:image-map
   
         * operators.txt, src/classes/file.C, www/htdocs/index.html:          * operators.txt, src/classes/file.C: /some/page.html:
           /some/page.html: ^file:fullpath[a.gif] => /some/a.gif            ^file:fullpath[a.gif] => /some/a.gif
   
 2002-10-17  paf  2002-10-17  paf
   
Line 12882 Line 15604
   
 2002-10-16  paf  2002-10-16  paf
   
         * www/htdocs/index.html: bad compile to system class test          * src/: classes/op.C, include/pa_request.h, main/execute.C,
             main/pa_request.C: Request::self considered equal to
         * src/classes/op.C, src/include/pa_request.h, src/main/execute.C,  
           src/main/pa_request.C, www/htdocs/index.html,  
           www/htdocs/derived.p: Request::self considered equal to  
           VMethodFrame::self, and removed, Request::get_self() mapped to            VMethodFrame::self, and removed, Request::get_self() mapped to
           VMethodFrame.self()            VMethodFrame.self()
   
Line 12895 Line 15614
   
 2002-10-15  paf  2002-10-15  paf
   
         * src/types/pa_vjunction.h, www/htdocs/index.html: ^if(def          * src/types/pa_vjunction.h: ^if(def $junction){was true}{now false}
           $junction){was true}{now false} use ^if($junction is            use ^if($junction is junction){was and now true}
           junction){was and now true}  
           * src/: classes/xdoc.C, classes/xnode.C, include/pa_charset.h,
         * src/classes/xdoc.C, src/classes/xnode.C,            include/pa_pool.h, main/pa_charset.C, main/pa_pool.C,
           src/include/pa_charset.h, src/include/pa_pool.h,            types/pa_vxnode.C: xml->parser strings now have origin, which
           src/main/pa_charset.C, src/main/pa_pool.C, src/types/pa_vxnode.C,  
           www/htdocs/index.html: xml->parser strings now have origin, which  
           points to place where value left xml library and came to parser:            points to place where value left xml library and came to parser:
           place of dom field extraction/call            place of dom field extraction/call
   
         * src/classes/op.C, src/include/pa_opcode.h,          * src/: classes/op.C, include/pa_opcode.h, include/pa_request.h,
           src/include/pa_request.h, src/main/compile.tab.C,            main/compile.tab.C, main/compile.y, main/execute.C,
           src/main/compile.y, src/main/execute.C,            types/pa_vmethod_frame.h: removed last pieces of old code
           src/types/pa_vmethod_frame.h, www/htdocs/derived.p: removed last            allowing $junction.xxx at compile time
           pieces of old code allowing $junction.xxx at compile time  
   
         * ChangeLog, src/classes/op.C, src/main/compile.tab.C,          * ChangeLog, src/classes/op.C, src/main/compile.tab.C,
           src/main/compile.y, src/types/pa_vmethod_frame.h: process[self]            src/main/compile.y, src/types/pa_vmethod_frame.h: process[self]
           objects also considered [were only classes]            objects also considered [were only classes]
   
         * ChangeLog, src/classes/op.C, src/include/pa_request.h,          * ChangeLog, src/classes/op.C, src/include/pa_request.h,
           src/types/pa_vmethod_frame.h, www/htdocs/derived.p,            src/types/pa_vmethod_frame.h: ^process[CLASS]{body} now executed
           www/htdocs/index.html: ^process[CLASS]{body} now executed with            with CLASS self.  [   (request&method_frame).self temporarily
           CLASS self.  [   (request&method_frame).self temporarily changed            changed   ]
           ]  
   
         * src/classes/hash.C, src/classes/op.C, www/htdocs/index.html,          * src/classes/: hash.C, op.C: method_frame now always changed, with
           www/htdocs/operators.p: method_frame now always changed, with no            no exception to native calls.  for&foreach changed to use
           exception to native calls.  for&foreach changed to use  
           method_frame.caller for their var's name context            method_frame.caller for their var's name context
   
         * src/main/execute.C, src/targets/cgi/parser3.C,          * src/: main/execute.C, targets/cgi/parser3.C,
           src/types/pa_vstateless_class.C, src/types/pa_vstateless_class.h,            types/pa_vstateless_class.C, types/pa_vstateless_class.h:
           www/htdocs/operators.p: compiling to system classes disabled            compiling to system classes disabled
   
         * www/htdocs/: derived.p, index.html: test of ^process from  
           operator called from user class  
   
         * operators.txt, src/classes/op.C, www/htdocs/operators.p:          * operators.txt, src/classes/op.C:
           ^process[$caller.CLASS]{code-string} added            ^process[$caller.CLASS]{code-string} added
   
         * operators.txt, src/classes/op.C, src/main/compile.tab.C,          * operators.txt, src/classes/op.C, src/main/compile.tab.C,
           src/main/compile.y, src/main/execute.C, src/main/pa_request.C,            src/main/compile.y, src/main/execute.C, src/main/pa_request.C,
           src/types/Makefile.am, src/types/pa_vjunction.C,            src/types/Makefile.am, src/types/pa_vjunction.C,
           src/types/pa_vjunction.h, src/types/pa_vmethod_frame.h,            src/types/pa_vjunction.h, src/types/pa_vmethod_frame.h,
           src/types/types.dsp, www/htdocs/operators.p: removed            src/types/types.dsp: removed $junction.get $junction.set[]
           $junction.get $junction.set[] introducing $caller            introducing $caller
   
         * src/types/pa_value.h: removed outdated comments. doxygen would          * src/types/pa_value.h: removed outdated comments. doxygen would
           find them lower by inheritance tree            find them lower by inheritance tree
Line 12953 Line 15664
   
         * src/classes/op.C: process compiles to code's class class          * src/classes/op.C: process compiles to code's class class
   
         * src/classes/form.C, src/classes/mail.C, src/classes/op.C,          * src/: classes/form.C, classes/mail.C, classes/op.C,
           src/include/pa_request.h, src/main/compile.C,            include/pa_request.h, main/compile.C, main/compile.tab.C,
           src/main/compile.tab.C, src/main/compile.y, src/main/execute.C,            main/compile.y, main/execute.C, main/pa_request.C,
           src/main/pa_request.C, src/types/pa_vstateless_class.h,            types/pa_vstateless_class.h: operators now main-class-methods
           www/htdocs/index.html: operators now main-class-methods  
   
         * src/classes/op.C, src/include/pa_request.h,          * src/: classes/op.C, include/pa_request.h: ^try{^call{}} now has
           www/htdocs/index.html, www/htdocs/operators.p: ^try{^call{}} now            better stack trace [has "call" & co there]
           has better stack trace [has "call" & co there]  
   
         * src/: include/pa_request.h, main/execute.C, main/pa_request.C:          * src/: include/pa_request.h, main/execute.C, main/pa_request.C:
           operators @auto now executed in MAIN context            operators @auto now executed in MAIN context
Line 12979 Line 15688
   
         * src/main/execute.C: comment          * src/main/execute.C: comment
   
         * src/types/pa_vclass.C, src/types/pa_vobject.h,          * src/types/: pa_vclass.C, pa_vobject.h, pa_vstateless_class.C,
           src/types/pa_vstateless_class.C, src/types/pa_vstateless_class.h,            pa_vstateless_class.h: $form:CLASS resurrected [wes killed in
           www/htdocs/index.html, www/htdocs/operators.p: $form:CLASS            action]
           resurrected [wes killed in action]  
   
         * src/types/pa_vxnode.C: misreplace fixed          * src/types/pa_vxnode.C: misreplace fixed
   
         * configure, configure.in, src/include/pa_config_auto.h.in,          * configure, configure.in, src/include/pa_config_auto.h.in,
           src/types/pa_vstatus.C, operators.txt, www/htdocs/index.html:            src/types/pa_vstatus.C, operators.txt:
           $status:rusage.tv_secs/usecs introduced            $status:rusage.tv_secs/usecs introduced
   
 2002-10-09  paf  2002-10-09  paf
   
         * src/classes/double.C, src/classes/int.C, src/classes/string.C,          * src/classes/: double.C, int.C, string.C: ^string.int[] now failes
           www/htdocs/derived.p, www/htdocs/index.html: ^string.int[] now            on empty string [or uses (default)]
           failes on empty string [or uses (default)]  
   
 2002-10-08  paf  2002-10-08  paf
   
Line 13017 Line 15724
           src/targets/cgi/Makefile.am: HAVE_TIMEZONE & co now checked and            src/targets/cgi/Makefile.am: HAVE_TIMEZONE & co now checked and
           mailreceive would compile on freebsd now            mailreceive would compile on freebsd now
   
         * src/classes/file.C, src/main/untaint.C, www/htdocs/index.html: 1.          * src/: classes/file.C, main/untaint.C: 1.  file spec language
            file spec language changed: now there are only few chars are            changed: now there are only few chars are untainted: * ? ' " < >
           untainted: * ? ' " < > | and, on unix, : \ ~ [russian letters and            | and, on unix, : \ ~ [russian letters and SPACES now enabled,
           SPACES now enabled, one should use ^untaint[uri]{...} now]            one should use ^untaint[uri]{...} now]
   
           2.  $list[^file:list[dir]] now returns simply tainted names in            2.  $list[^file:list[dir]] now returns simply tainted names in
           $list.name, not tainted as filespec            $list.name, not tainted as filespec
Line 13043 Line 15750
   
 2002-09-20  paf  2002-09-20  paf
   
         * src/main/execute.C, www/htdocs/index.html: code junction calls          * src/main/execute.C: code junction calls disabled [before: code
           disabled [before: code was compiled in such a way, that there            was compiled in such a way, that there were no code-junctions in
           were no code-junctions in OP_CALL]            OP_CALL]
   
           this now error: @badjunctioncall[] ^badjunctioncallinside{code}            this now error: @badjunctioncall[] ^badjunctioncallinside{code}
   
           @badjunctioncallinside[code] ^code[]            @badjunctioncallinside[code] ^code[]
   
         * src/main/compile.tab.C, src/main/compile.y,          * src/main/: compile.tab.C, compile.y: changed grammer on junction
           www/htdocs/index.html: changed grammer on junction expanding to            expanding to include ^junction.method
           include ^junction.method  
   
         * src/main/pa_common.C: -d "DIR/" now true          * src/main/pa_common.C: -d "DIR/" now true
   
         * src/classes/xdoc.C, www/htdocs/index.html: xdoc::create[name] now          * src/classes/xdoc.C: xdoc::create[name] now sets $request:charset
           sets $request:charset as internal xdoc encoding, and after            as internal xdoc encoding, and after decoding attributes set by
           decoding attributes set by dom functions now encoded OK, not as            dom functions now encoded OK, not as digital entities
           digital entities  
   
         * src/classes/xdoc.C: empty transform result, being taken as file          * src/classes/xdoc.C: empty transform result, being taken as file
           now returns empty file, not raises stupid error about "stat-ed            now returns empty file, not raises stupid error about "stat-ed
           file"            file"
   
         * src/types/pa_vhash.h, www/htdocs/operators.p: hash.foreach          * src/types/pa_vhash.h: hash.foreach modification of existing keys
           modification of existing keys allowed            allowed
   
         * src/types/types.dsp: introducing $junction.get/put(1) one can          * src/types/types.dsp: introducing $junction.get/put(1) one can
           write iterators now:            write iterators now:
Line 13091 Line 15796
           @user-foreach[key;value;code] ^for[i](1;10){    $code.key($i)            @user-foreach[key;value;code] ^for[i](1;10){    $code.key($i)
           $code.value($i*2)       $code }            $code.value($i*2)       $code }
   
         * src/include/pa_opcode.h, src/include/pa_request.h,          * src/: include/pa_opcode.h, include/pa_request.h,
           src/main/compile.tab.C, src/main/compile.y, src/main/execute.C,            main/compile.tab.C, main/compile.y, main/execute.C,
           src/main/main.dsp, src/targets/cgi/parser3.dsp,            main/main.dsp, targets/cgi/parser3.dsp, types/pa_vjunction.h:
           src/types/pa_vjunction.h, www/htdocs/.htaccess,            introducing $junction.get/put(1) one can write iterators now:
           www/htdocs/index.html: introducing $junction.get/put(1) one can  
           write iterators now:  
   
           ^user-foreach[key;value]{$key=$value<br>}            ^user-foreach[key;value]{$key=$value<br>}
   
Line 13112 Line 15815
 2002-09-18  paf  2002-09-18  paf
   
         * parser3.dsw, src/include/pa_opcode.h, src/main/compile.tab.C,          * parser3.dsw, src/include/pa_opcode.h, src/main/compile.tab.C,
           src/main/compile.y, src/main/execute.C, www/htdocs/index.html: <<            src/main/compile.y, src/main/execute.C: << >> int shifts
           >> int shifts  
   
         * src/: include/pa_common.h, include/pa_request.h,          * src/: include/pa_common.h, include/pa_request.h,
           main/pa_common.C, main/pa_request.C: auto.p exists but unreadable            main/pa_common.C, main/pa_request.C: auto.p exists but unreadable
           - now this - fatal error            - now this - fatal error
   
         * src/classes/file.C, www/htdocs/index.html,          * src/classes/file.C: ^file::exec/cgi $.stdin[can be file now] so
           www/htdocs/mailreceive.eml: ^file::exec/cgi $.stdin[can be file            that one can pass binary data there
           now] so that one can pass binary data there  
           * src/: classes/date.C, classes/double.C, classes/file.C,
         * src/classes/date.C, src/classes/double.C, src/classes/file.C,            classes/hash.C, classes/image.C, classes/int.C, classes/mail.C,
           src/classes/hash.C, src/classes/image.C, src/classes/int.C,            classes/op.C, classes/response.C, classes/string.C,
           src/classes/mail.C, src/classes/op.C, src/classes/response.C,            classes/table.C, classes/void.C, classes/xdoc.C, classes/xnode.C,
           src/classes/string.C, src/classes/table.C, src/classes/void.C,            include/pa_request.h: pa_request contexts made privated, plus
           src/classes/xdoc.C, src/classes/xnode.C,            get_{self/method_frame} to read.  Request_context_saver used in
           src/include/pa_request.h, www/htdocs/index.html: pa_request            ^try to save flang too.  [were not saved]
           contexts made privated, plus get_{self/method_frame} to read.  
           Request_context_saver used in ^try to save flang too.  [were not  
           saved]  
   
         * src/types/pa_vresponse.C: header value chains joined before          * src/types/pa_vresponse.C: header value chains joined before
           output, this should help $.subject[$var $var] from being            output, this should help $.subject[$var $var] from being
Line 13147 Line 15846
   
           ^include[set_a.p] a=$a set_a.p: $a[1]            ^include[set_a.p] a=$a set_a.p: $a[1]
   
         * src/classes/op.C, src/main/execute.C, src/main/pa_request.C,          * src/: classes/op.C, main/execute.C, main/pa_request.C,
           src/types/pa_value.C, src/types/pa_value.h,            types/pa_value.C, types/pa_value.h, types/pa_vmethod_frame.h,
           src/types/pa_vmethod_frame.h, src/types/pa_vstateless_class.h,            types/pa_vstateless_class.h: operators now executed with MAIN
           www/htdocs/operators.p: operators now executed with MAIN self.            self.  it's for ^include sake, too strong a change
           it's for ^include sake, too strong a change  
           * src/classes/op.C: made place for ^process to compile it's code to
         * src/classes/op.C, www/htdocs/index.html, www/htdocs/operators.p:            in case of no self
           made place for ^process to compile it's code to in case of no  
           self          * src/main/execute.C: found ancient param to Junction, removed.
             allowed passing self to native_code_operators [for ^process to
         * src/main/execute.C, www/htdocs/index.html: found ancient param to            work, she needs self]
           Junction, removed.  allowed passing self to native_code_operators  
           [for ^process to work, she needs self]  
   
         * src/: main/execute.C, types/pa_value.C, types/pa_value.h,          * src/: main/execute.C, types/pa_value.C, types/pa_value.h,
           types/pa_vstateless_class.h: found ancient param to Junction,            types/pa_vstateless_class.h: found ancient param to Junction,
           removed.  allowed passing self to native_code_operators [for            removed.  allowed passing self to native_code_operators [for
           ^process to work, she needs self]            ^process to work, she needs self]
   
         * src/main/execute.C, src/main/pa_request.C, src/types/pa_value.C,          * src/: main/execute.C, main/pa_request.C, types/pa_value.C,
           src/types/pa_value.h, src/types/pa_vmethod_frame.h,            types/pa_value.h, types/pa_vmethod_frame.h,
           src/types/pa_vstateless_class.h, www/htdocs/index.html,            types/pa_vstateless_class.h: allowed Request.self to be 0,
           www/htdocs/operators.p: allowed Request.self to be 0, checked            checked that in VMethodFrame get/put and $self.
           that in VMethodFrame get/put and $self.  
   
         * src/classes/table.C, src/classes/xdoc.C, www/htdocs/index.html:  
           table::sql  options table::create  copy options options checked,  
           wrong option now fatal error  
   
         * src/main/pa_string.C, www/htdocs/index.html: string.replace fixed          * src/classes/: table.C, xdoc.C: table::sql  options table::create
           [were missing words on pieces boundaries]            copy options options checked, wrong option now fatal error
   
           * src/main/pa_string.C: string.replace fixed [were missing words on
             pieces boundaries]
   
         * bin/auto.p.dist.in: strange \n          * bin/auto.p.dist.in: strange \n
   
Line 13188 Line 15883
           [can be .sl on hpux, .dll on cygwin, .so in other cases)            [can be .sl on hpux, .dll on cygwin, .so in other cases)
   
         * operators.txt, src/classes/hash.C, src/classes/table.C,          * operators.txt, src/classes/hash.C, src/classes/table.C,
           src/include/pa_globals.h, src/main/pa_globals.C,            src/include/pa_globals.h, src/main/pa_globals.C: table.sql
           www/htdocs/index.html: table.sql hash::sql flag to allow            hash::sql flag to allow duplicate keys [$.distinct(1/0)] first
           duplicate keys [$.distinct(1/0)] first record taken [were last]            record taken [were last]
   
         * src/classes/hash.C, src/classes/table.C,          * src/: classes/hash.C, classes/table.C,
           src/include/pa_sql_connection.h, www/htdocs/index.html: table.sql            include/pa_sql_connection.h: table.sql hash::sql duplicate keys
           hash::sql duplicate keys now errors            now errors
   
         * src/classes/hash.C: foreach delims bug fixed [were ,2,3]          * src/classes/hash.C: foreach delims bug fixed [were ,2,3]
   
         * src/classes/op.C, src/classes/table.C, www/htdocs/index.html:          * src/classes/: op.C, table.C: menu/for delims bug fixed [were
           menu/for delims bug fixed [were ,2,3]            ,2,3]
   
 2002-09-16  paf  2002-09-16  paf
   
         * src/classes/file.C, www/htdocs/index.html: file::cgi line ends          * src/classes/file.C: file::cgi line ends can be both unix & dos.
           can be both unix & dos. and they can be unix [\n\n] on win when            and they can be unix [\n\n] on win when 'use CGI' used, it causes
           'use CGI' used, it causes stdout to be binary.  now detected            stdout to be binary.  now detected closest header break.
           closest header break.  
   
         * src/: main/untaint.C, types/pa_vmail.C: mail:send closing ?=  now          * src/: main/untaint.C, types/pa_vmail.C: mail:send closing ?=  now
           closed right            closed right
Line 13214 Line 15908
 2002-09-13  paf  2002-09-13  paf
   
         * operators.txt, src/main/compile.tab.C, src/main/compile.y,          * operators.txt, src/main/compile.tab.C, src/main/compile.y,
           src/main/compile_tools.h, www/htdocs/index.html: (expression            src/main/compile_tools.h: (expression #comment)
           #comment)  
   
           (multiline expression #comment  line2  #comment )            (multiline expression #comment  line2  #comment )
   
           (expression #comment with (brackets) comment) << OK            (expression #comment with (brackets) comment) << OK
   
         * operators.txt, src/main/compile.tab.C, src/main/compile.y,          * operators.txt, src/main/compile.tab.C, src/main/compile.y: !|
           www/htdocs/index.html: !| bitwise !|| numerical xor now            bitwise !|| numerical xor now [preparing for expression
           [preparing for expression #comments]            #comments]
   
         * src/main/compile.tab.C, src/main/compile.y,          * src/main/: compile.tab.C, compile.y: @method[$name] now parse
           www/htdocs/index.html: @method[$name] now parse error            error
   
         * src/: include/pa_config_fixed.h, main/pa_socks.C: HAVE_WINSOCK_H          * src/: include/pa_config_fixed.h, main/pa_socks.C: HAVE_WINSOCK_H
           cheched in pa_socks.C            cheched in pa_socks.C
Line 13234 Line 15927
         * configure, configure.in, src/include/pa_config_auto.h.in:          * configure, configure.in, src/include/pa_config_auto.h.in:
           HAVE_WINSOCK_H created in configure.in            HAVE_WINSOCK_H created in configure.in
   
         * src/main/compile.tab.C, src/main/compile.y,          * src/: main/compile.tab.C, main/compile.y, types/pa_vresponse.C:
           src/types/pa_vresponse.C, www/htdocs/index.html: cookie date now            cookie date now clean [were mistakenly tainted & that worked bad
           clean [were mistakenly tainted & that worked bad with opera --            with opera -- 'happily' that worked OK with msie]
           'happily' that worked OK with msie]  
   
 2002-09-12  paf  2002-09-12  paf
   
Line 13248 Line 15940
         * src/main/untaint.C: quoted printable encoding stops before          * src/main/untaint.C: quoted printable encoding stops before
           \s*<...>$            \s*<...>$
   
         * src/main/untaint.C, www/htdocs/index.html: quoted printable ' '          * src/main/untaint.C: quoted printable ' ' now =20 and encoding
           now =20 and encoding stops before <...>$            stops before <...>$
   
 2002-09-11  paf  2002-09-11  paf
   
         * src/main/pa_charset.C, src/targets/cgi/parser3.dsp,          * src/: main/pa_charset.C, targets/cgi/parser3.dsp: while fixing (
           www/htdocs/index.html: while fixing (  
           xmlCharEncodingInput/OutputFunc callbacks returned bad value )            xmlCharEncodingInput/OutputFunc callbacks returned bad value )
           forgot to check users of those funcs. not all were using that            forgot to check users of those funcs. not all were using that
           return value convention            return value convention
Line 13284 Line 15975
         * src/classes/file.C: decided not to log exec's with stderr, that          * src/classes/file.C: decided not to log exec's with stderr, that
           could be warnings, and it's up to scritper to log/show them            could be warnings, and it's up to scritper to log/show them
   
         * src/classes/double.C, src/main/execute.C, www/htdocs/index.html:          * src/: classes/double.C, main/execute.C: double:sql badly called
           double:sql badly called write_assign_lang, not write_no_lang,            write_assign_lang, not write_no_lang, thus doing unnecessary
           thus doing unnecessary double/string converstion, which were            double/string converstion, which were loosing time&precesion
           loosing time&precesion  
           * src/: main/pa_charset.C, types/pa_vmail.C:
         * src/main/pa_charset.C, src/types/pa_vmail.C,            xmlCharEncodingInput/OutputFunc callbacks returned bad value in
           www/htdocs/index.html: xmlCharEncodingInput/OutputFunc callbacks            case of unfinished in buffer processing, causing accidental
           returned bad value in case of unfinished in buffer processing,            transcode stop [in case that source enc != utf-8 & there is
           causing accidental transcode stop [in case that source enc !=            incomplete utf-8 sequence at the end of 16000block iside of
           utf-8 & there is incomplete utf-8 sequence at the end of            libxml lib] tfm readed & code updated
           16000block iside of libxml lib] tfm readed & code updated  
   
 2002-09-04  paf  2002-09-04  paf
   
Line 13302 Line 15992
   
         * INSTALL, src/include/pa_config_fixed.h,          * INSTALL, src/include/pa_config_fixed.h,
           src/include/pa_sql_connection.h,            src/include/pa_sql_connection.h,
           src/main/pa_sql_driver_manager.C, www/htdocs/index.html:            src/main/pa_sql_driver_manager.C: -with-sjlj-exceptions define
           -with-sjlj-exceptions define checked.  on win32 it made default            checked.  on win32 it made default
   
         * src/include/pa_config_auto.h.in: sjlj define          * src/include/pa_config_auto.h.in: sjlj define
   
Line 13311 Line 16001
           can not work with longjump/throw pair, and one must switch that            can not work with longjump/throw pair, and one must switch that
           on there.  todo: detect that automatically]            on there.  todo: detect that automatically]
   
         * src/types/pa_vxnode.C, www/htdocs/index.html: removed too strong          * src/types/pa_vxnode.C: removed too strong checks of
           checks of xnode.elements.  now, for instance, if element does not            xnode.elements.  now, for instance, if element does not have any
           have any attributes, $xnode.attributes is void, not error            attributes, $xnode.attributes is void, not error
   
 2002-09-02  paf  2002-09-02  paf
   
         * operators.txt, src/main/execute.C, src/targets/cgi/parser3.dsp,          * operators.txt, src/main/execute.C, src/targets/cgi/parser3.dsp:
           www/htdocs/index.html: removed double_result, didn't help            removed double_result, didn't help
   
         * src/main/execute.C: double_result made to move that var away from          * src/main/execute.C: double_result made to move that var away from
           hungry g++ optimizer (-O2), before: it were optimized and            hungry g++ optimizer (-O2), before: it were optimized and
Line 13340 Line 16030
           src/main/pa_request.C, src/targets/cgi/parser3.dsp,            src/main/pa_request.C, src/targets/cgi/parser3.dsp,
           src/types/pa_value.C, src/types/pa_value.h, src/types/pa_vmail.C,            src/types/pa_value.C, src/types/pa_value.h, src/types/pa_vmail.C,
           src/types/pa_vmethod_frame.h, src/types/pa_wcontext.h,            src/types/pa_vmethod_frame.h, src/types/pa_wcontext.h,
           src/types/types.dsp, www/htdocs/index.html: junction_cleaner            src/types/types.dsp: junction_cleaner moved to auto VMethodFrame
           moved to auto VMethodFrame [called less frequent, allowed to            [called less frequent, allowed to remove ugly
           remove ugly Junction.change_context-s from many places, switch,            Junction.change_context-s from many places, switch,
           mail:send..html{}, ..] request.root renamed to method_frame [more            mail:send..html{}, ..] request.root renamed to method_frame [more
           easyreading] ancient {...PUSH/POPs...} changed to stack vars            easyreading] ancient {...PUSH/POPs...} changed to stack vars
           [speed up]            [speed up]
   
 2002-08-28  paf  2002-08-28  paf
   
         * src/types/pa_vcookie.C, www/htdocs/index.html: $cookie:name[&]          * src/types/pa_vcookie.C: $cookie:name[&] $cookie:name << now
           $cookie:name << now tainted            tainted
   
         * src/types/pa_vcookie.C, www/htdocs/index.html: fixed cookie          * src/types/pa_vcookie.C: fixed cookie delete when
           delete when $cookie:name[$.value[]]            $cookie:name[$.value[]]
   
         * operators.txt, src/classes/string.C, www/htdocs/derived.p,          * operators.txt, src/classes/string.C:
           www/htdocs/index.html: ^string.split[delim[;options]]            ^string.split[delim[;options]]
   
 2002-08-27  paf  2002-08-27  paf
   
         * etc/parser3.charsets/Makefile.am: merged from 3.0.0005          * etc/parser3.charsets/Makefile.am: merged from 3.0.0005
   
         * operators.txt, src/main/compile.tab.C, src/main/compile.y,          * operators.txt, src/main/compile.tab.C, src/main/compile.y: # now
           www/htdocs/index.html, www/htdocs/mailreceive.eml: # now  
           delimiter            delimiter
   
         * INSTALL: recommended latest gmime 1.0.5          * INSTALL: recommended latest gmime 1.0.5
Line 13374 Line 16063
   
 2002-08-23  paf  2002-08-23  paf
   
         * src/include/pa_common.h, src/main/pa_common.C,          * src/: include/pa_common.h, main/pa_common.C,
           src/targets/cgi/parser3.C, src/targets/isapi/parser3isapi.C,            targets/cgi/parser3.C, targets/isapi/parser3isapi.C: when auto.p
           www/htdocs/index.html: when auto.p beside binary [cgi, isapi] not            beside binary [cgi, isapi] not accessible [due to bad rights or
           accessible [due to bad rights or whatever] it's error now            whatever] it's error now
   
 2002-08-21  paf  2002-08-21  paf
   
         * www/htdocs/derived.p: "BASE:" "BASE::" syntax allowed, means  
           "base class".  compiled as if here they named base class  
   
         * Makefile.am: can use: make happy equals to make update install          * Makefile.am: can use: make happy equals to make update install
   
         * src/main/compile.tab.C, src/main/compile.y,          * src/main/: compile.tab.C, compile.y, compile_tools.C,
           src/main/compile_tools.C, src/main/compile_tools.h,            compile_tools.h: "BASE:" "BASE::" syntax allowed, means "base
           www/htdocs/derived.p: "BASE:" "BASE::" syntax allowed, means            class".  compiled as if here they named base class
           "base class".  compiled as if here they named base class  
   
         * src/main/pa_string.C, www/htdocs/index.html: fixed bad language          * src/main/pa_string.C: fixed bad language bug, [were wrong string
           bug, [were wrong string cloning constructor]            cloning constructor]
   
         * src/main/execute.C, src/types/pa_vobject.h, www/htdocs/base.p,          * src/: main/execute.C, types/pa_vobject.h: fixed virtual calls
           www/htdocs/derived.p, www/htdocs/index.html: fixed virtual calls  
   
         * bin/auto.p.dist.in, src/targets/cgi/parser3.C,          * bin/auto.p.dist.in, src/targets/cgi/parser3.C,
           src/types/pa_vfile.C, src/types/pa_vmail.C,            src/types/pa_vfile.C, src/types/pa_vmail.C:
           www/htdocs/mailreceive.eml, www/htdocs/mailreceive.html:  
           $mail.received.file.value.content-type fixed            $mail.received.file.value.content-type fixed
   
 2002-08-20  paf  2002-08-20  paf
   
         * src/classes/file.C, www/htdocs/index.html: fixed language of          * src/classes/file.C: fixed language of file:file result
           file:file result  
   
         * operators.txt, src/classes/void.C, www/htdocs/index.html:          * operators.txt, src/classes/void.C: ^void.pos[...] = -1 merged
           ^void.pos[...] = -1 merged from 3.0.0005            from 3.0.0005
   
         * operators.txt, src/classes/void.C: ^void.pos[...] = -1          * operators.txt, src/classes/void.C: ^void.pos[...] = -1
   
         * operators.txt, src/classes/void.C, www/htdocs/index.html:          * operators.txt, src/classes/void.C: ^void.length[] = 0 merged from
           ^void.length[] = 0 merged from 3.0.0005            3.0.0005
   
         * src/classes/void.C, operators.txt: ^void.length[] = 0          * src/classes/void.C, operators.txt: ^void.length[] = 0
   
Line 13431 Line 16113
   
 2002-08-15  paf  2002-08-15  paf
   
         * src/classes/classes.h, www/htdocs/index.html: write to static var          * src/classes/classes.h: write to static var caused useless
           caused useless Exception, introduced Methoded::put_element wich            Exception, introduced Methoded::put_element wich consumes those
           consumes those  
   
         * operators.txt, src/include/pa_common.h, src/main/pa_common.C,          * operators.txt, src/include/pa_common.h, src/main/pa_common.C,
           src/types/pa_vcookie.C, src/types/pa_vdate.h,            src/types/pa_vcookie.C, src/types/pa_vdate.h,
           src/types/pa_vresponse.C, src/types/pa_vresponse.h,            src/types/pa_vresponse.C, src/types/pa_vresponse.h:
           www/htdocs/index.html: $response:field[date]            $response:field[date] $response:field[$.xxx[date]]
           $response:field[$.xxx[date]]  
   
         * src/classes/hash.C, src/classes/string.C, src/classes/table.C,          * src/: classes/hash.C, classes/string.C, classes/table.C,
           src/classes/void.C, src/include/pa_sql_connection.h,            classes/void.C, include/pa_sql_connection.h: fixed source of
           www/htdocs/index.html: fixed source of ^hash::sql{bad}            ^hash::sql{bad}
   
         * operators.txt: $request:body unprecessed POST request body          * operators.txt: $request:body unprecessed POST request body
   
         * src/types/pa_vrequest.C, www/htdocs/index.html: $request:body          * src/types/pa_vrequest.C: $request:body unprecessed POST request
           unprecessed POST request  
   
         * src/types/pa_value.h, src/types/pa_vdate.h,          * src/types/: pa_value.h, pa_vdate.h, pa_vrequest.C, pa_vxdoc.C,
           src/types/pa_vrequest.C, src/types/pa_vxdoc.C,            pa_vxnode.C: few barks: bark("%s field not found", 0, &aname)
           src/types/pa_vxnode.C, www/htdocs/index.html: few barks: bark("%s  
           field not found", 0, &aname)  
   
         * operators.txt, src/classes/form.C, src/include/pa_pool.h,          * operators.txt, src/classes/form.C, src/include/pa_pool.h,
           src/include/pa_request.h, src/main/pa_pool.C,            src/include/pa_request.h, src/main/pa_pool.C,
           src/types/pa_vform.C, src/types/pa_vform.h, www/htdocs/.htaccess:            src/types/pa_vform.C, src/types/pa_vform.h: planning/preparing_to
           planning/preparing_to $request:body r.post_data now const            $request:body r.post_data now const
   
         * src/classes/image.C, src/classes/op.C, src/classes/xdoc.C,          * src/: classes/image.C, classes/op.C, classes/xdoc.C,
           src/classes/xnode.C, src/main/execute.C, src/types/pa_value.h,            classes/xnode.C, main/execute.C, types/pa_value.h,
           src/types/pa_vhash.h, src/types/pa_vobject.C,            types/pa_vhash.h, types/pa_vobject.C, types/pa_vobject.h,
           src/types/pa_vobject.h, src/types/pa_vtable.h,            types/pa_vtable.h: instead of type() checking everywhere used
           www/htdocs/index.html: instead of type() checking everywhere used  
           Value.as now user descendants can be used in params.            Value.as now user descendants can be used in params.
   
           VObject::as_*, is_defined now taken from bases.  xtable(table)            VObject::as_*, is_defined now taken from bases.  xtable(table)
Line 13476 Line 16152
   
 2002-08-14  paf  2002-08-14  paf
   
         * src/classes/xnode.h, src/main/execute.C,          * src/: classes/xnode.h, main/execute.C, targets/cgi/parser3.dsp,
           src/targets/cgi/parser3.dsp, src/types/pa_value.h,            types/pa_value.h, types/pa_vclass.C, types/pa_vclass.h,
           src/types/pa_vclass.C, src/types/pa_vclass.h,            types/pa_vcode_frame.h, types/pa_vcookie.C, types/pa_vcookie.h,
           src/types/pa_vcode_frame.h, src/types/pa_vcookie.C,            types/pa_vdate.h, types/pa_venv.h, types/pa_vfile.h,
           src/types/pa_vcookie.h, src/types/pa_vdate.h,            types/pa_vform.C, types/pa_vform.h, types/pa_vhash.h,
           src/types/pa_venv.h, src/types/pa_vfile.h, src/types/pa_vform.C,            types/pa_vimage.h, types/pa_vmail.C, types/pa_vmail.h,
           src/types/pa_vform.h, src/types/pa_vhash.h,            types/pa_vmath.h, types/pa_vmethod_frame.h, types/pa_vobject.C,
           src/types/pa_vimage.h, src/types/pa_vmail.C,            types/pa_vobject.h, types/pa_vrequest.C, types/pa_vrequest.h,
           src/types/pa_vmail.h, src/types/pa_vmath.h,            types/pa_vresponse.C, types/pa_vresponse.h,
           src/types/pa_vmethod_frame.h, src/types/pa_vobject.C,            types/pa_vstateless_class.h, types/pa_vstateless_object.h,
           src/types/pa_vobject.h, src/types/pa_vrequest.C,            types/pa_vstatus.C, types/pa_vstatus.h, types/pa_vstring.h,
           src/types/pa_vrequest.h, src/types/pa_vresponse.C,            types/pa_vtable.C, types/pa_vtable.h, types/pa_vvoid.h,
           src/types/pa_vresponse.h, src/types/pa_vstateless_class.h,            types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C,
           src/types/pa_vstateless_object.h, src/types/pa_vstatus.C,            types/pa_vxnode.h, types/pa_wwrapper.h: is now works with VObject
           src/types/pa_vstatus.h, src/types/pa_vstring.h,            & VClass
           src/types/pa_vtable.C, src/types/pa_vtable.h,  
           src/types/pa_vvoid.h, src/types/pa_vxdoc.C, src/types/pa_vxdoc.h,  
           src/types/pa_vxnode.C, src/types/pa_vxnode.h,  
           src/types/pa_wwrapper.h, www/htdocs/index.html: is now works with  
           VObject & VClass  
   
         * src/types/pa_vmail.C: mail: turned off utf8 to source transcoding          * src/types/pa_vmail.C: mail: turned off utf8 to source transcoding
   
Line 13512 Line 16183
   
         * src/targets/cgi/parser3.C: -f config file          * src/targets/cgi/parser3.C: -f config file
   
         * src/targets/cgi/parser3.C, www/htdocs/auto.p,          * src/targets/cgi/parser3.C: fixed .log file dir
           www/htdocs/derived.p, www/htdocs/index.html: fixed .log file dir  
   
 2002-08-13  paf  2002-08-13  paf
   
         * src/types/pa_vobject.C, www/htdocs/derived.p,          * src/types/pa_vobject.C: allow override parent variables, useful
           www/htdocs/index.html: allow override parent variables, useful  
           for form descendants [in vobject too, were in vclass]            for form descendants [in vobject too, were in vclass]
   
         * src/types/pa_vclass.C, www/htdocs/index.html: allow override          * src/types/pa_vclass.C: allow override parent variables, useful
           parent variables, useful for form descendants            for form descendants
   
         * src/types/pa_vclass.C, www/htdocs/derived.p: checked:          * src/types/pa_vclass.C: checked: form[vclass]fields can be
           form[vclass]fields can be overwritten in derived(table)            overwritten in derived(table)
   
         * src/: classes/form.C, classes/mail.C, classes/op.C,          * src/: classes/form.C, classes/mail.C, classes/op.C,
           classes/xnode.h, include/pa_request.h, main/execute.C,            classes/xnode.h, include/pa_request.h, main/execute.C,
Line 13552 Line 16221
           reorganized modules todo: fix bug with put endless recoursion            reorganized modules todo: fix bug with put endless recoursion
           todo: check 'as'            todo: check 'as'
   
         * src/types/pa_vobject.h, www/htdocs/derived.p: checked: table          * src/types/pa_vobject.h: checked: table fields can be overwritten
           fields can be overwritten in derived(table)            in derived(table)
   
         * www/htdocs/derived.p: sample: dont convinient that table fields          * src/types/pa_vobject.h: derived classes can have fields of their
           can be overridden  
   
         * src/types/pa_vobject.h, www/htdocs/derived.p,  
           www/htdocs/index.html: derived classes can have fields of their  
           own now            own now
   
         * src/classes/table.C, src/types/pa_vtable.C,          * src/: classes/table.C, types/pa_vtable.C, types/pa_vtable.h:
           src/types/pa_vtable.h, www/htdocs/derived.p: fixed error message            fixed error message on using non-created table
           on using non-created table  
           * src/: classes/form.C, classes/hash.C, classes/mail.C,
         * src/classes/form.C, src/classes/hash.C, src/classes/mail.C,            classes/op.C, classes/xnode.h, include/pa_request.h,
           src/classes/op.C, src/classes/xnode.h, src/include/pa_request.h,            main/compile.C, main/compile.tab.C, main/execute.C,
           src/main/compile.C, src/main/compile.tab.C, src/main/execute.C,            main/pa_request.C, types/pa_value.h, types/pa_vclass.h,
           src/main/pa_request.C, src/types/pa_value.h,            types/pa_vcode_frame.h, types/pa_vcookie.C, types/pa_vcookie.h,
           src/types/pa_vclass.h, src/types/pa_vcode_frame.h,            types/pa_vdate.h, types/pa_venv.h, types/pa_vfile.h,
           src/types/pa_vcookie.C, src/types/pa_vcookie.h,            types/pa_vform.C, types/pa_vform.h, types/pa_vhash.h,
           src/types/pa_vdate.h, src/types/pa_venv.h, src/types/pa_vfile.h,            types/pa_vimage.C, types/pa_vimage.h, types/pa_vmail.C,
           src/types/pa_vform.C, src/types/pa_vform.h, src/types/pa_vhash.h,            types/pa_vmail.h, types/pa_vmath.h, types/pa_vmethod_frame.h,
           src/types/pa_vimage.C, src/types/pa_vimage.h,            types/pa_vobject.h, types/pa_vrequest.C, types/pa_vrequest.h,
           src/types/pa_vmail.C, src/types/pa_vmail.h, src/types/pa_vmath.h,            types/pa_vresponse.C, types/pa_vresponse.h,
           src/types/pa_vmethod_frame.h, src/types/pa_vobject.h,            types/pa_vstateless_class.h, types/pa_vstateless_object.h,
           src/types/pa_vrequest.C, src/types/pa_vrequest.h,            types/pa_vstatus.C, types/pa_vstatus.h, types/pa_vstring.h,
           src/types/pa_vresponse.C, src/types/pa_vresponse.h,            types/pa_vtable.C, types/pa_vtable.h, types/pa_vvoid.h,
           src/types/pa_vstateless_class.h,            types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C,
           src/types/pa_vstateless_object.h, src/types/pa_vstatus.C,            types/pa_vxnode.h, types/pa_wwrapper.h: VObject.get/out now
           src/types/pa_vstatus.h, src/types/pa_vstring.h,            looking down/up tree todo: fix error message on non-constructed
           src/types/pa_vtable.C, src/types/pa_vtable.h,            parents
           src/types/pa_vvoid.h, src/types/pa_vxdoc.C, src/types/pa_vxdoc.h,  
           src/types/pa_vxnode.C, src/types/pa_vxnode.h,  
           src/types/pa_wwrapper.h, www/htdocs/derived.p: VObject.get/out  
           now looking down/up tree todo: fix error message on  
           non-constructed parents  
   
 2002-08-12  paf  2002-08-12  paf
   
         * src/types/pa_vstateless_class.h,          * src/types/: pa_vstateless_class.h, pa_vstateless_object.h: table
           src/types/pa_vstateless_object.h, www/htdocs/derived.p: table  
           derived OK            derived OK
   
         * src/main/execute.C: ^base:create[] dynamic call rewritten todo:          * src/main/execute.C: ^base:create[] dynamic call rewritten todo:
Line 13605 Line 16264
           types/pa_valiased.C, types/pa_valiased.h, types/Makefile.am:            types/pa_valiased.C, types/pa_valiased.h, types/Makefile.am:
           ^base:create[] dynamic call rewritten todo: thorough testing            ^base:create[] dynamic call rewritten todo: thorough testing
   
         * www/htdocs/: base.p, derived.p: not good - along upward-virtual          * src/types/: pa_value.h, pa_vclass.h, pa_vobject.h: VObject ctor
           call self eq child            now instantates base class, remembers it and saves child in
             parent VObject.get_class now returns last child = downward
         * src/types/pa_value.h, src/types/pa_vclass.h,            virtual calls OK
           src/types/pa_vobject.h, www/htdocs/base.p, www/htdocs/derived.p:  
           VObject ctor now instantates base class, remembers it and saves  
           child in parent VObject.get_class now returns last child =  
           downward virtual calls OK  
   
         * src/main/execute.C, src/types/pa_value.h, src/types/pa_vclass.h,          * src/: main/execute.C, types/pa_value.h, types/pa_vclass.h,
           src/types/pa_vdate.h, src/types/pa_vdouble.h,            types/pa_vdate.h, types/pa_vdouble.h, types/pa_vfile.h,
           src/types/pa_vfile.h, src/types/pa_vimage.h, src/types/pa_vint.h,            types/pa_vimage.h, types/pa_vint.h, types/pa_vmethod_frame.h,
           src/types/pa_vmethod_frame.h, src/types/pa_vobject.h,            types/pa_vobject.h, types/pa_vresponse.h,
           src/types/pa_vresponse.h, src/types/pa_vstateless_class.h,            types/pa_vstateless_class.h, types/pa_vstateless_object.h,
           src/types/pa_vstateless_object.h, src/types/pa_vstring.h,            types/pa_vstring.h, types/pa_vtable.h, types/pa_vxdoc.h,
           src/types/pa_vtable.h, src/types/pa_vxdoc.h,            types/pa_vxnode.h, types/pa_wcontext.h, types/types.dsp: killed
           src/types/pa_vxnode.h, src/types/pa_wcontext.h,            VAliased [redundant], moved $CLASS to VObject only [parser class
           src/types/types.dsp, www/htdocs/index.html: killed VAliased            instance]
           [redundant], moved $CLASS to VObject only [parser class instance]  
   
         * bin/auto.p.dist.in: more like in dist on parser.ru          * bin/auto.p.dist.in: more like in dist on parser.ru
   
Line 13634 Line 16288
   
 2002-08-09  paf  2002-08-09  paf
   
         * src/main/execute.C, src/types/pa_value.h, src/types/pa_vclass.h,          * src/: main/execute.C, types/pa_value.h, types/pa_vclass.h,
           src/types/pa_vobject.h, src/types/pa_vxdoc.h,            types/pa_vobject.h, types/pa_vxdoc.h: started as()
           www/htdocs/index.html: started as()  
   
 2002-08-08  paf  2002-08-08  paf
   
         * operators.txt, src/classes/date.C, src/include/pa_globals.h,          * operators.txt, src/classes/date.C, src/include/pa_globals.h,
           src/main/pa_globals.C, www/htdocs/index.html: year column in            src/main/pa_globals.C: year column in month calendar [week year]
           month calendar [week year]  
   
         * src/main/execute.C, www/htdocs/index.html: error reporting on          * src/main/execute.C: error reporting on object writes to MAIN
           object writes to MAIN improved [were ruind with fixing            improved [were ruind with fixing $obj[^if(1){$obj}] ]
           $obj[^if(1){$obj}] ]  
           * operators.txt, src/types/pa_vdate.h: $date.yearday
         * operators.txt, src/types/pa_vdate.h, www/htdocs/index.html:            $date.daylightsaving
           $date.yearday $date.daylightsaving  
           * src/: classes/mail.C, types/pa_vmail.C: in letter texts one can
         * src/classes/mail.C, src/types/pa_vmail.C, www/htdocs/auto.p,            use tainted data now. only she must specify the language.
           www/htdocs/index.html: in letter texts one can use tainted data  
           now. only she must specify the language.  
   
           ^mail:send[     $.from[paf@mail.design.ru]            ^mail:send[     $.from[paf@mail.design.ru]
           $.to[paf@mail.design.ru]        $.subject[^taint[uri][ìîñêâà]=2]            $.to[paf@mail.design.ru]        $.subject[^taint[uri][ìîñêâà]=2]
                 $.text[^taint[uri][ìîñêâà]=] ]                  $.text[^taint[uri][ìîñêâà]=] ]
   
         * www/htdocs/index.html: ^process now prints more precise origin          * src/: classes/file.C, classes/op.C, types/pa_vfile.C: ^process
             now prints more precise origin
   
         * src/classes/file.C, src/classes/op.C, src/types/pa_vfile.C,          * src/include/pa_string.h: String::first_char now not fails on
           www/htdocs/index.html: ^process now prints more precise origin            empty strings ^if(-f '') now ok and in 3 other places.
   
         * src/include/pa_string.h, www/htdocs/index.html:  
           String::first_char now not fails on empty strings ^if(-f '') now  
           ok and in 3 other places.  
   
         * operators.txt, src/include/pa_string.h, src/main/pa_string.C:          * operators.txt, src/include/pa_string.h, src/main/pa_string.C:
           String::first_char now not fails on empty strings ^if(-f '') now            String::first_char now not fails on empty strings ^if(-f '') now
Line 13674 Line 16321
   
 2002-08-07  paf  2002-08-07  paf
   
         * src/classes/string.C, src/main/pa_string.C,          * src/: classes/string.C, main/pa_string.C: ^string.mid(0;bad)
           www/htdocs/index.html: ^string.mid(0;bad) fixed  
   
         * src/main/pa_string.C, www/htdocs/index.html: ^string.mid(0;bad)  
           fixed            fixed
   
         * src/main/execute.C, src/types/pa_vcode_frame.h,          * src/main/pa_string.C: ^string.mid(0;bad) fixed
           src/types/pa_vmethod_frame.h, src/types/pa_wcontext.C,  
           src/types/pa_wcontext.h, src/types/pa_wwrapper.h,          * src/: main/execute.C, types/pa_vcode_frame.h,
           www/htdocs/index.html: vcodeframe were mistakenly not completely            types/pa_vmethod_frame.h, types/pa_wcontext.C,
           transparent to object writes.  $hash[^if(1){$hash}] now works            types/pa_wcontext.h, types/pa_wwrapper.h: vcodeframe were
             mistakenly not completely transparent to object writes.
             $hash[^if(1){$hash}] now works
   
         * operators.txt, src/classes/op.C: ^cache...{...^cache<<to past...}          * operators.txt, src/classes/op.C: ^cache...{...^cache<<to past...}
           now erasing cache file [there were bad check on that]            now erasing cache file [there were bad check on that]
   
         * src/classes/classes.dsp, src/classes/table.C,          * src/: classes/classes.dsp, classes/table.C,
           src/lib/pcre/pcre_parser_ctype.dsp, src/main/pa_array.C,            lib/pcre/pcre_parser_ctype.dsp, main/pa_array.C, types/types.dsp:
           src/types/types.dsp, www/htdocs/index.html: all Debug dirs in            all Debug dirs in .dsp now named 'Debug'
           .dsp now named 'Debug'  
   
         * etc/parser3.charsets/Makefile.am: all included into dist          * etc/parser3.charsets/Makefile.am: all included into dist
   
         * operators.txt, src/classes/mail.C: exception_type  email.send          * operators.txt, src/classes/mail.C: exception_type  email.send
   
         * operators.txt, src/types/pa_vmail.C, www/htdocs/index.html:          * operators.txt, src/types/pa_vmail.C: exception_type  email.format
           exception_type  email.format  
   
         * src/types/pa_vmail.C, www/htdocs/global.xsl,          * src/types/pa_vmail.C: mail:send empty  email checked
           www/htdocs/index.html: mail:send empty  email checked  
   
 2002-08-06  paf  2002-08-06  paf
   
         * operators.txt, src/classes/table.C, src/include/pa_array.h,          * operators.txt, src/classes/table.C, src/include/pa_array.h,
           src/include/pa_table.h, src/main/pa_array.C, src/main/pa_table.C,            src/include/pa_table.h, src/main/pa_array.C, src/main/pa_table.C:
           www/htdocs/index.html: ^table::create[$source;$.options]            ^table::create[$source;$.options] ^table::join[$source;$.options]
           ^table::join[$source;$.options]  
   
         * operators.txt, src/classes/hash.C, src/classes/string.C,          * operators.txt, src/classes/hash.C, src/classes/string.C,
           src/classes/table.C, www/htdocs/index.html: sql options can be            src/classes/table.C: sql options can be string now ^xxx:sql{...}[
           string now ^xxx:sql{...}[ #  $.default() }            #  $.default() }
   
         * src/classes/file.C, www/htdocs/index.html: $f[file::cgi] $f.UPPER          * src/classes/file.C: $f[file::cgi] $f.UPPER case fields
           case fields  
   
         * src/classes/file.C, src/include/pa_globals.h,          * src/: classes/file.C, include/pa_globals.h, main/pa_globals.C,
           src/main/pa_globals.C, src/main/pa_request.C,            main/pa_request.C, types/pa_vfile.C, types/pa_vfile.h:
           src/types/pa_vfile.C, src/types/pa_vfile.h,            $file.content-type [instead of .mime-type] now works for
           www/htdocs/index.html: $file.content-type [instead of .mime-type]            file::stat also
           now works for file::stat also  
   
         * src/main/pa_request.C, www/htdocs/index.html: case insensitive          * src/main/pa_request.C: case insensitive mime_type_of
           mime_type_of  
   
         * bin/auto.p.dist.in: jpeg          * bin/auto.p.dist.in: jpeg
   
Line 13760 Line 16399
         * src/types/: pa_vclass.h, pa_vform.C, pa_vobject.h: opera          * src/types/: pa_vclass.h, pa_vform.C, pa_vobject.h: opera
           multipart post fixed            multipart post fixed
   
         * operators.txt, src/main/pa_request.C, www/htdocs/index.html,          * operators.txt, src/main/pa_request.C, src/types/pa_vform.C:
           src/types/pa_vform.C: response transcoded source->client only            response transcoded source->client only when text/* or simple
           when text/* or simple onoverridden $response:body            onoverridden $response:body
   
 2002-08-01  paf  2002-08-01  paf
   
Line 13812 Line 16451
           types/pa_vstring.h, types/pa_vtable.C, types/pa_vtable.h,            types/pa_vstring.h, types/pa_vtable.C, types/pa_vtable.h,
           types/pa_vvoid.h, types/pa_vxdoc.C, types/pa_vxdoc.h,            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_vxnode.C, types/pa_vxnode.h, types/pa_wcontext.C,
           types/pa_wcontext.h, types/pa_wwrapper.h: $Date$            types/pa_wcontext.h, types/pa_wwrapper.h: Date: now
   
         * src/: classes/classes.C, classes/classes.dsp, classes/classes.h,          * src/: classes/classes.C, classes/classes.dsp, classes/classes.h,
           classes/date.C, classes/double.C, classes/file.C, classes/form.C,            classes/date.C, classes/double.C, classes/file.C, classes/form.C,
Line 13891 Line 16530
   
         * src/main/pa_charset.C: comment          * src/main/pa_charset.C: comment
   
         * src/main/pa_charset.C, www/htdocs/auto.p: UTF-8 to 1byte charset          * src/main/pa_charset.C: UTF-8 to 1byte charset convert, no char in
           convert, no char in table, &#decimal;            table, &#decimal;
   
         * src/main/pa_request.C: comment          * src/main/pa_request.C: comment
   
Line 13941 Line 16580
           src/include/pa_pool.h, src/include/pa_version.h,            src/include/pa_pool.h, src/include/pa_version.h,
           src/main/pa_charset.C, src/main/pa_pool.C,            src/main/pa_charset.C, src/main/pa_pool.C,
           src/targets/cgi/parser3.dsp, src/targets/isapi/parser3isapi.dsp,            src/targets/cgi/parser3.dsp, src/targets/isapi/parser3isapi.dsp,
           src/types/pa_vmail.C, www/htdocs/index.html: merged latest            src/types/pa_vmail.C: merged latest updates to head
           updates to head  
   
 2002-06-27  paf  2002-06-27  paf
   
Line 13951 Line 16589
   
         * operators.txt, src/classes/xdoc.C, src/include/pa_charset.h,          * operators.txt, src/classes/xdoc.C, src/include/pa_charset.h,
           src/include/pa_config_fixed.h, src/include/pa_pool.h,            src/include/pa_config_fixed.h, src/include/pa_pool.h,
           src/main/pa_charset.C, src/main/pa_pool.C, www/htdocs/index.html:            src/main/pa_charset.C, src/main/pa_pool.C:
           ^xdoc::create[[uri]]... base uri for document being created,            ^xdoc::create[[uri]]... base uri for document being created,
           imports and other relative file names would be relative to this            imports and other relative file names would be relative to this
           uri default uri=path_translated            uri default uri=path_translated
   
         * src/classes/xdoc.C, www/htdocs/index.html: xsltParseStylesheetDoc          * src/classes/xdoc.C: xsltParseStylesheetDoc bug workaround
           bug workaround  
   
 2002-06-26  paf  2002-06-26  paf
   
Line 13971 Line 16608
   
 2002-06-25  paf  2002-06-25  paf
   
         * www/htdocs/index.html, src/main/pa_string.C: emtpy string, or          * src/main/pa_string.C: emtpy string, or string of whitespaces
           string of whitespaces considered bad number now            considered bad number now
   
         * www/htdocs/index.html: ^xdoc.transform[xdoc <<can be now  
   
         * operators.txt, src/classes/xdoc.C, www/htdocs/index.html:          * operators.txt, src/classes/xdoc.C: ^xdoc.transform[xdoc <<can be
           ^xdoc.transform[xdoc <<can be now            now
   
         * operators.txt, src/classes/string.C, www/htdocs/index.html:          * operators.txt, src/classes/string.C: ^string.normalize  [old
           ^string.normalize  [old name: optimize            name: optimize
   
         * configure, configure.in, src/include/pa_config_auto.h.in: crypt          * configure, configure.in, src/include/pa_config_auto.h.in: crypt
           library configured            library configured
Line 13988 Line 16623
         * src/main/pa_request.C: configure_admin forced if no @conf          * src/main/pa_request.C: configure_admin forced if no @conf
   
         * operators.txt, bin/auto.p.dist.in, src/classes/math.C,          * operators.txt, bin/auto.p.dist.in, src/classes/math.C,
           src/types/pa_vmail.C, www/htdocs/index.html: ^math:crypt updated            src/types/pa_vmail.C: ^math:crypt updated to generate random salt
           to generate random salt when needed and to call system crypt() if            when needed and to call system crypt() if not $apr1$ prefix
           not $apr1$ prefix  
   
 2002-06-24  paf  2002-06-24  paf
   
Line 14027 Line 16661
           src/main/pa_string.C, src/main/pa_uue.C,            src/main/pa_string.C, src/main/pa_uue.C,
           src/targets/cgi/Makefile.am, src/targets/cgi/parser3.C,            src/targets/cgi/Makefile.am, src/targets/cgi/parser3.C,
           src/targets/cgi/parser3.dsp, src/targets/isapi/parser3isapi.C,            src/targets/cgi/parser3.dsp, src/targets/isapi/parser3isapi.C,
           src/types/pa_vform.C, src/types/pa_vform.h, src/types/types.dsp,            src/types/pa_vform.C, src/types/pa_vform.h, src/types/types.dsp:
           www/htdocs/index.html: uue to separate file introducting            uue to separate file introducting $message:received ^mail:send
           $message:received ^mail:send rewritten with backward comp            rewritten with backward comp
   
 2002-06-21  paf  2002-06-21  paf
   
Line 14063 Line 16697
           src/main/compile.tab.C, src/main/main.dsp,            src/main/compile.tab.C, src/main/main.dsp,
           src/targets/cgi/Makefile.am, src/targets/cgi/parser3.dsp,            src/targets/cgi/Makefile.am, src/targets/cgi/parser3.dsp,
           src/targets/isapi/parser3isapi.dsp, src/types/Makefile.am,            src/targets/isapi/parser3isapi.dsp, src/types/Makefile.am,
           src/types/types.dsp, www/htdocs/.htaccess, www/htdocs/index.html,            src/types/types.dsp, src/lib/Makefile.am: moved libltdl and pcre
           src/lib/Makefile.am: moved libltdl and pcre to libs/ added            to libs/ added libs/md5 which is linked to non-apache targets
           libs/md5 which is linked to non-apache targets  
           ^math:crypt[password;$apr1$salt]            ^math:crypt[password;$apr1$salt]
   
 2002-06-20  paf  2002-06-20  paf
Line 14075 Line 16708
           src/doc/doxygen.cfg, src/include/pa_globals.h,            src/doc/doxygen.cfg, src/include/pa_globals.h,
           src/include/pa_request.h, src/main/execute.C,            src/include/pa_request.h, src/main/execute.C,
           src/main/pa_request.C, src/targets/cgi/parser3.C,            src/main/pa_request.C, src/targets/cgi/parser3.C,
           src/targets/isapi/parser3isapi.C, src/types/pa_vmethod_frame.h,            src/targets/isapi/parser3isapi.C, src/types/pa_vmethod_frame.h:
           www/htdocs/auto.p, www/htdocs/index.html: marged latest HEAD            marged latest HEAD updates, mainly file:justname&co &
           updates, mainly file:justname&co & @auto/conf[filespec            @auto/conf[filespec
   
         * operators.txt, src/classes/file.C, www/htdocs/auto.p,          * operators.txt, src/classes/file.C:
           www/htdocs/index.html:     !^file:dirname[/a/some.tar.gz]=/a            !^file:dirname[/a/some.tar.gz]=/a
               !^file:dirname[/a/b/]=/a                !^file:dirname[/a/b/]=/a
               !^file:basename[/a/some.tar.gz]=some.tar.gz                !^file:basename[/a/some.tar.gz]=some.tar.gz
               !^file:justname[/a/some.tar.gz]=some.tar                !^file:justname[/a/some.tar.gz]=some.tar
               !^file:justext[/a/some.tar.gz]=gz                !^file:justext[/a/some.tar.gz]=gz
   
         * src/classes/op.C, src/include/pa_request.h, src/main/execute.C,          * src/: classes/op.C, include/pa_request.h, main/execute.C,
           src/main/pa_request.C, src/types/pa_vmethod_frame.h,            main/pa_request.C, types/pa_vmethod_frame.h: introducing
           www/htdocs/auto.p, www/htdocs/index.html: introducing  
           @conf/auto[filespec]            @conf/auto[filespec]
   
         * bin/auto.p.dist.in: <noindex>          * bin/auto.p.dist.in: <noindex>
Line 14098 Line 16730
         * INSTALL, configure.in, operators.txt, bin/Makefile.am,          * INSTALL, configure.in, operators.txt, bin/Makefile.am,
           bin/auto.p.dist.in, src/doc/doxygen.cfg,            bin/auto.p.dist.in, src/doc/doxygen.cfg,
           src/include/pa_globals.h, src/targets/cgi/parser3.C,            src/include/pa_globals.h, src/targets/cgi/parser3.C,
           src/targets/isapi/parser3isapi.C, www/htdocs/auto.p,            src/targets/isapi/parser3isapi.C: parser3.conf renamed to auto.p
           www/htdocs/index.html: parser3.conf renamed to auto.p  
   
 2002-06-18  paf  2002-06-18  paf
   
Line 14116 Line 16747
   
         * src/classes/file.C: strcasecmp          * src/classes/file.C: strcasecmp
   
         * bin/Makefile.am, etc/Makefile.am, www/htdocs/index.html:          * bin/Makefile.am, etc/Makefile.am: bin/parser3.conf.dist [moved
           bin/parser3.conf.dist [moved from etc            from etc
   
         * src/classes/file.C: ^file::exec[script;$.bad error case          * src/classes/file.C: ^file::exec[script;$.bad error case
           insensitive check now            insensitive check now
   
         * src/classes/file.C, www/htdocs/index.html:          * src/classes/file.C: ^file::exec[script;$.bad now error, not skip
           ^file::exec[script;$.bad now error, not skip  
   
         * configure, configure.in, src/include/pa_pool.h,          * configure, configure.in, src/include/pa_pool.h,
           src/include/pa_types.h: pack configure.in detection simplified.            src/include/pa_types.h: pack configure.in detection simplified.
Line 14168 Line 16798
   
         * src/classes/file.C: check simplified          * src/classes/file.C: check simplified
   
         * src/classes/file.C, src/targets/cgi/parser3.dsp,          * src/: classes/file.C, targets/cgi/parser3.dsp,
           src/targets/isapi/parser3isapi.C, www/htdocs/.htaccess,            targets/isapi/parser3isapi.C: suexec env keys filter plus CGI_ as
           www/htdocs/index.html: suexec env keys filter plus CGI_ as valid            valid prefix
           prefix  
   
         * src/classes/file.C, src/include/pa_request.h,          * src/: classes/file.C, include/pa_request.h, include/pa_sapi.h,
           src/include/pa_sapi.h, src/targets/cgi/parser3.C,            targets/cgi/parser3.C, targets/isapi/parser3isapi.C:
           src/targets/isapi/parser3isapi.C, www/htdocs/index.html:  
           file::exec/cgi to pass HTTP_ vars introducing SAPI::environment            file::exec/cgi to pass HTTP_ vars introducing SAPI::environment
   
 2002-06-10  paf  2002-06-10  paf
Line 14183 Line 16811
         * operators.txt, src/classes/op.C, src/include/pa_common.h,          * operators.txt, src/classes/op.C, src/include/pa_common.h,
           src/main/pa_common.C: lock failures reported now            src/main/pa_common.C: lock failures reported now
   
         * src/main/compile_tools.C, www/htdocs/index.html: ^if(" 1 "){y}          * src/main/compile_tools.C: ^if(" 1 "){y} bug fixed optimization
           bug fixed optimization string->double @ compile time were            string->double @ compile time were not-enough-checking...
           not-enough-checking...  
           * src/main/: compile.tab.C, pa_string.C: whitespace after number in
         * src/main/compile.tab.C, src/main/pa_string.C,            autoconvert now ignored
           www/htdocs/index.html: whitespace after number in autoconvert now  
           ignored  
   
         * src/types/pa_vform.C, src/types/pa_vform.h,          * src/types/: pa_vform.C, pa_vform.h: $form: not determined yet
           www/htdocs/index.html: $form: not determined yet check            check
   
         * src/classes/mail.C: mail netscape attachment name fixed. todo:          * src/classes/mail.C: mail netscape attachment name fixed. todo:
           $response:body content-type:name            $response:body content-type:name
Line 14221 Line 16847
           src/classes/classes.dsp, src/main/compile.tab.C,            src/classes/classes.dsp, src/main/compile.tab.C,
           src/main/main.dsp, src/main/pa_globals.C,            src/main/main.dsp, src/main/pa_globals.C,
           src/targets/cgi/parser3.C, src/targets/cgi/parser3.dsp,            src/targets/cgi/parser3.C, src/targets/cgi/parser3.dsp,
           src/targets/isapi/parser3isapi.dsp, src/types/types.dsp,            src/targets/isapi/parser3isapi.dsp, src/types/types.dsp: fixed
           www/htdocs/index.html: fixed .dsp-s along with reorganized cvs            .dsp-s along with reorganized cvs modules dirs structure
           modules dirs structure  
   
         * src/: classes/classes.dsp, main/compile.tab.C, main/main.dsp,          * src/: classes/classes.dsp, main/compile.tab.C, main/main.dsp,
           main/pa_globals.C, targets/cgi/parser3.dsp,            main/pa_globals.C, targets/cgi/parser3.dsp,
Line 14241 Line 16866
   
 2002-05-16  paf  2002-05-16  paf
   
         * src/classes/image.C, www/htdocs/index.html: image::measure can          * src/classes/image.C: image::measure can png now
           png now  
   
 2002-05-15  paf  2002-05-15  paf
   
         * operators.txt, src/classes/date.C, www/htdocs/index.html:          * operators.txt, src/classes/date.C: ^date::create[%H:%M[:%S]]
           ^date::create[%H:%M[:%S]] added            added
   
         * etc/parser3.charsets/windows-1251.cfg: 0x forgot, fixed          * etc/parser3.charsets/windows-1251.cfg: 0x forgot, fixed
   
         * operators.txt, src/classes/date.C, www/htdocs/.htaccess,          * operators.txt, src/classes/date.C: ^date::create[%Y[-%m[-%d[
           www/htdocs/auto.p, www/htdocs/index.html:            %H[:%M[:%S]]]]]] [-%m now
           ^date::create[%Y[-%m[-%d[ %H[:%M[:%S]]]]]] [-%m now  
   
 2002-05-14  paf  2002-05-14  paf
   
Line 14268 Line 16891
           src/main/pa_request.C, src/main/pa_table.C,            src/main/pa_request.C, src/main/pa_table.C,
           src/targets/isapi/pa_pool.C, src/targets/isapi/parser3isapi.C,            src/targets/isapi/pa_pool.C, src/targets/isapi/parser3isapi.C,
           src/targets/isapi/parser3isapi.dsp,            src/targets/isapi/parser3isapi.dsp,
           src/targets/isapi/pool_storage.h, src/types/types.dsp,            src/targets/isapi/pool_storage.h, src/types/types.dsp: Table
           www/htdocs/parser-status.html: Table name2number field now &.            name2number field now &.  main_method_name now on Request pool
           main_method_name now on Request pool rather on global_pool            rather on global_pool [Junction+VJunction created on same pool as
           [Junction+VJunction created on same pool as name = were created            name = were created on global pool, causing mem leaks]
           on global pool, causing mem leaks]  
           * src/: classes/classes.dsp, classes/op.C, include/pa_globals.h,
         * src/classes/classes.dsp, src/classes/op.C,            include/pa_request.h, include/pa_table.h, main/compile.tab.C,
           src/include/pa_globals.h, src/include/pa_request.h,            main/compile.y, main/main.dsp, main/pa_globals.C,
           src/include/pa_table.h, src/main/compile.tab.C,            main/pa_request.C, main/pa_table.C, targets/isapi/pa_pool.C,
           src/main/compile.y, src/main/main.dsp, src/main/pa_globals.C,            targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.dsp,
           src/main/pa_request.C, src/main/pa_table.C,            targets/isapi/pool_storage.h, types/types.dsp: Table name2number
           src/targets/isapi/pa_pool.C, src/targets/isapi/parser3isapi.C,            field now &.  main_method_name now on Request pool rather on
           src/targets/isapi/parser3isapi.dsp,            global_pool [Junction+VJunction created on same pool as name =
           src/targets/isapi/pool_storage.h, src/types/types.dsp,            were created on global pool, causing mem leaks]
           www/htdocs/parser-status.html: Table name2number field now &.  
           main_method_name now on Request pool rather on global_pool  
           [Junction+VJunction created on same pool as name = were created  
           on global pool, causing mem leaks]  
   
 2002-05-06  paf  2002-05-06  paf
   
Line 14301 Line 16920
   
         * configure, src/include/pa_version.h: version now not b          * configure, src/include/pa_version.h: version now not b
   
         * src/targets/cgi/parser3.C, www/htdocs/global.xsl,          * src/targets/cgi/parser3.C: request.uri now never 0
           www/htdocs/index.html: request.uri now never 0  
   
 2002-04-29  paf  2002-04-29  paf
   
Line 14320 Line 16938
   
 2002-04-26  paf  2002-04-26  paf
   
         * src/doc/doxygen.cfg, src/targets/cgi/parser3.dsp,          * src/: doc/doxygen.cfg, targets/cgi/parser3.dsp: doxygen dot image
           www/htdocs/index.html: doxygen dot image size reduced            size reduced
   
 2002-04-25  paf  2002-04-25  paf
   
Line 14332 Line 16950
         * operators.txt, src/classes/date.C: ^date::create[2002-12-33          * operators.txt, src/classes/date.C: ^date::create[2002-12-33
           01:03:04]            01:03:04]
   
         * ChangeLog, operators.txt, src/classes/date.C,          * ChangeLog, operators.txt, src/classes/date.C:
           www/htdocs/index.html: ^date::create[2002-12-33 01:03:04]            ^date::create[2002-12-33 01:03:04]
   
         * ChangeLog: updated changelog          * ChangeLog: updated changelog
   
         * www/htdocs/index.html: sample of 'using junction out of context'          * src/classes/table.C: removed restriction on column count to
             ^table.hash to work, now must be >0 [were >1]
         * src/classes/table.C, www/htdocs/.htaccess, www/htdocs/index.html:  
           removed restriction on column count to ^table.hash to work, now  
           must be >0 [were >1]  
   
 2002-04-24  paf  2002-04-24  paf
   
Line 14352 Line 16967
   
 2002-04-23  paf  2002-04-23  paf
   
         * operators.txt, src/classes/string.C, www/htdocs/index.html:          * operators.txt, src/classes/string.C:
           int/double/string:sql{}[$.default{code}] fixed [were barking:            int/double/string:sql{}[$.default{code}] fixed [were barking:
           "junction used outside of context"]            "junction used outside of context"]
   
Line 14372 Line 16987
         * src/main/execute.C: rolled back to          * src/main/execute.C: rolled back to
           before_killing_userjunction_contexts            before_killing_userjunction_contexts
   
         * src/main/execute.C, www/htdocs/index.html: user junctions context          * src/main/execute.C: user junctions context killed
           killed  
   
         * src/main/execute.C, www/htdocs/index.html: junctions to local          * src/main/execute.C: junctions to local contexts got
           contexts got cleanized&checked later            cleanized&checked later
   
 2002-04-19  paf  2002-04-19  paf
   
         * src/classes/string.C, src/include/pa_request.h,          * src/: classes/string.C, include/pa_request.h,
           src/include/pa_string.h, src/main/pa_request.C,            include/pa_string.h, main/pa_request.C, main/pa_string.C,
           src/main/pa_string.C, src/types/pa_vstring.C,            types/pa_vstring.C, types/pa_vstring.h: string now optimized
           src/types/pa_vstring.h, www/htdocs/index.html: string now            prior to .left .right .mid .pos .match when that is profitable,
           optimized prior to .left .right .mid .pos .match when that is            and always before .replace when $ORIGINS(1) optimization disabled
           profitable, and always before .replace when $ORIGINS(1)            economy from not wasting mem on lots of strings which occur by
           optimization disabled economy from not wasting mem on lots of            lots of String:mid calls to get parts of source string between
           strings which occur by lots of String:mid calls to get parts of            found_occurances
           source string between found_occurances  
   
         * src/classes/file.C: ovector now local economy: 16 bytes per          * src/classes/file.C: ovector now local economy: 16 bytes per
           ^file:list            ^file:list
Line 14404 Line 17017
   
         * src/doc/footer.htm: 2001,          * src/doc/footer.htm: 2001,
   
         * src/classes/string.C, src/include/pa_string.h,          * src/: classes/string.C, include/pa_string.h, main/pa_string.C:
           src/main/pa_string.C, www/htdocs/index.html: string.match[][']            string.match[]['] option enables generation of $match.prematch
           option enables generation of $match.prematch .match .postmatch            .match .postmatch columns
           columns  
   
         * src/main/pa_string.C: String::match options analized without          * src/main/pa_string.C: String::match options analized without
           cstr-ing them now            cstr-ing them now
Line 14422 Line 17034
   
         * src/doc/doxygen.cfg: .chi generation disabled          * src/doc/doxygen.cfg: .chi generation disabled
   
         * src/classes/classes.h, src/classes/xdoc.C, src/classes/xnode.C,          * src/: classes/classes.h, classes/xdoc.C, classes/xnode.C,
           src/classes/xnode.h, src/types/pa_vxdoc.C, www/htdocs/index.html:            classes/xnode.h, types/pa_vxdoc.C: xdoc(xnode) now fully -
           xdoc(xnode) now fully - fields&methods            fields&methods
   
         * src/: classes/classes.h, classes/hash.C, types/pa_value.h,          * src/: classes/classes.h, classes/hash.C, types/pa_value.h,
           types/pa_vbool.h, types/pa_vcookie.h, types/pa_vdate.h,            types/pa_vbool.h, types/pa_vcookie.h, types/pa_vdate.h,
Line 14437 Line 17049
           types/pa_vxdoc.h, types/pa_vxnode.h: fclass_real lowered from            types/pa_vxdoc.h, types/pa_vxnode.h: fclass_real lowered from
           VStateless_class to VObject            VStateless_class to VObject
   
         * src/main/pa_request.C, src/types/pa_valiased.h,          * src/: main/pa_request.C, types/pa_valiased.h,
           src/types/pa_vstateless_class.h,            types/pa_vstateless_class.h, types/pa_vstateless_object.h,
           src/types/pa_vstateless_object.h, src/types/pa_vstring.h,            types/pa_vstring.h: VStateless_string_object speicalized light
           www/htdocs/index.html: VStateless_string_object speicalized light  
           version of VStateless_object            version of VStateless_object
   
         * src/classes/op.C: ^throw comment param made optional          * src/classes/op.C: ^throw comment param made optional
   
         * src/types/pa_valiased.C, src/types/pa_valiased.h,          * src/types/: pa_valiased.C, pa_valiased.h, pa_vclass.h,
           src/types/pa_vclass.h, src/types/pa_vobject.h,            pa_vobject.h, pa_wcontext.C: VAliased get/set alias now virtual
           src/types/pa_wcontext.C, www/htdocs/index.html: VAliased get/set            and implemented down in VClass, fclass_alias removed,
           alias now virtual and implemented down in VClass, fclass_alias  
           removed,  
   
         * src/types/pa_value.C: forced to cut that from .h because of          * src/types/pa_value.C: forced to cut that from .h because of
           VStateless_class usage [undefined in .h]            VStateless_class usage [undefined in .h]
   
         * src/include/pa_opcode.h, src/main/compile.tab.C,          * src/: include/pa_opcode.h, main/compile.tab.C, main/compile.y,
           src/main/compile.y, src/main/compile_tools.C,            main/compile_tools.C, main/compile_tools.h, main/execute.C,
           src/main/compile_tools.h, src/main/execute.C,            main/pa_request.C, types/pa_vmethod_frame.h: OP_GET_METHOD_FRAME
           src/main/pa_request.C, src/types/pa_vmethod_frame.h,            merged with OP_CALL, VCodeFrame move to stack [no more heap waste
           www/htdocs/index.html: OP_GET_METHOD_FRAME merged with OP_CALL,            on each CALL]
           VCodeFrame move to stack [no more heap waste on each CALL]  
   
         * src/classes/classes.h, src/classes/date.C, src/classes/double.C,          * src/: classes/classes.h, classes/date.C, classes/double.C,
           src/classes/file.C, src/classes/form.C, src/classes/hash.C,            classes/file.C, classes/form.C, classes/hash.C, classes/image.C,
           src/classes/image.C, src/classes/int.C, src/classes/mail.C,            classes/int.C, classes/mail.C, classes/math.C, classes/op.C,
           src/classes/math.C, src/classes/op.C, src/classes/response.C,            classes/response.C, classes/string.C, classes/table.C,
           src/classes/string.C, src/classes/table.C, src/classes/void.C,            classes/void.C, classes/xnode.C, include/pa_globals.h,
           src/classes/xnode.C, src/include/pa_globals.h,            include/pa_request.h, main/execute.C, main/pa_globals.C,
           src/include/pa_request.h, src/main/execute.C,            main/pa_request.C, types/Makefile.am, types/pa_value.h,
           src/main/pa_globals.C, src/main/pa_request.C,            types/pa_vdouble.h, types/pa_vform.C, types/pa_vhash.h,
           src/types/Makefile.am, src/types/pa_value.h,            types/pa_vint.h, types/pa_vmath.h, types/pa_vmethod_frame.h,
           src/types/pa_vdouble.h, src/types/pa_vform.C,            types/pa_vstateless_class.h, types/pa_wcontext.C,
           src/types/pa_vhash.h, src/types/pa_vint.h, src/types/pa_vmath.h,            types/pa_wcontext.h, types/pa_wwrapper.h, types/types.dsp:
           src/types/pa_vmethod_frame.h, src/types/pa_vstateless_class.h,            removed Value::fname
           src/types/pa_wcontext.C, src/types/pa_wcontext.h,  
           src/types/pa_wwrapper.h, src/types/types.dsp,  
           www/htdocs/index.html: removed Value::fname  
   
 2002-04-17  paf  2002-04-17  paf
   
Line 14494 Line 17099
         * asm.txt, form.txt, lang.txt, sql.txt: removed outdated. see in          * asm.txt, form.txt, lang.txt, sql.txt: removed outdated. see in
           Attic asm.txt as most interesting            Attic asm.txt as most interesting
   
         * src/main/pa_request.C, src/targets/isapi/parser3isapi.C,          * src/: main/pa_request.C, targets/isapi/parser3isapi.C: removed
           www/htdocs/index.html: removed check, preventing content-length:            check, preventing content-length: 0 from appearing
           0 from appearing  
           * src/main/execute.C: $result in @main now taken into account as in
         * src/main/execute.C, www/htdocs/index.html: $result in @main now            usual functions
           taken into account as in usual functions  
           * src/: doc/postbuild.txt, main/execute.C: $result in @postprocess
         * src/doc/postbuild.txt, src/main/execute.C, www/htdocs/index.html:            & @unhandled_exception now taken into account as in usual
           $result in @postprocess & @unhandled_exception now taken into            functions
           account as in usual functions  
   
         * src/doc/postbuild.txt: instructions on post .html build          * src/doc/postbuild.txt: instructions on post .html build
   
         * src/doc/: doxygen.cfg, html2chm.cmd: .chm file only now, no .chi          * src/doc/: doxygen.cfg, html2chm.cmd: .chm file only now, no .chi
   
         * src/classes/file.C, src/main/pa_exec.C, www/htdocs/index.html:          * src/: classes/file.C, main/pa_exec.C: stderr of execs mark as
           stderr of execs mark as tainted            tainted
   
         * src/main/pa_request.C: uri in error log          * src/main/pa_request.C: uri in error log
   
Line 14527 Line 17131
         * src/classes/op.C: _process pseudo origin copied from local var to          * src/classes/op.C: _process pseudo origin copied from local var to
           heap            heap
   
         * src/classes/op.C, www/htdocs/auto.p: extra check on empty file in          * src/classes/op.C: extra check on empty file in origin in _execute
           origin in _execute  
   
 2002-04-15  paf  2002-04-15  paf
   
Line 14561 Line 17164
           compile_tools.h, execute.C: OP_GET_ELEMENT+OP_GET_ELEMENT__WRITE            compile_tools.h, execute.C: OP_GET_ELEMENT+OP_GET_ELEMENT__WRITE
           changed to OP_WRITE_VALUE in var get cases            changed to OP_WRITE_VALUE in var get cases
   
         * src/classes/op.C, src/include/pa_globals.h,          * src/: classes/op.C, include/pa_globals.h, include/pa_opcode.h,
           src/include/pa_opcode.h, src/include/pa_request.h,            include/pa_request.h, main/compile.tab.C, main/compile.y,
           src/main/compile.tab.C, src/main/compile.y,            main/compile_tools.C, main/compile_tools.h, main/execute.C,
           src/main/compile_tools.C, src/main/compile_tools.h,            main/pa_globals.C, main/pa_request.C, targets/cgi/parser3.C:
           src/main/execute.C, src/main/pa_globals.C, src/main/pa_request.C,            switch in hash constructor fixed [were problems with using of
           src/targets/cgi/parser3.C, www/htdocs/index.html: switch in hash            stacked wwrapper after it's death]
           constructor fixed [were problems with using of stacked wwrapper  
           after it's death]  
   
 2002-04-12  paf  2002-04-12  paf
   
         * operators.txt, src/classes/table.C, www/htdocs/index.html:          * operators.txt, src/classes/table.C: table.select(expression) 0
           table.select(expression) 0  
   
 2002-04-11  paf  2002-04-11  paf
   
Line 14590 Line 17190
           main/pa_string.C: killed Request::process() wrapping            main/pa_string.C: killed Request::process() wrapping
           VString(String) in case we need only String            VString(String) in case we need only String
   
         * src/include/pa_string.h, src/main/pa_string.C,          * src/: include/pa_string.h, main/pa_string.C, main/untaint.C:
           src/main/untaint.C, www/htdocs/index.html: killed 8 bytes from            killed 8 bytes from String.head
           String.head  
   
 2002-04-09  paf  2002-04-09  paf
   
Line 14602 Line 17201
   
         * operators.txt, src/classes/xdoc.C: xslt params made literal          * operators.txt, src/classes/xdoc.C: xslt params made literal
   
         * src/classes/xdoc.C, www/htdocs/global.xsl, www/htdocs/index.html:          * src/classes/xdoc.C: xslt params fixed
           xslt params fixed  
   
         * src/: main/pa_common.C, targets/cgi/parser3.C,          * src/: main/pa_common.C, targets/cgi/parser3.C,
           types/pa_vdouble.h, types/pa_vint.h: int/double get_string now            types/pa_vdouble.h, types/pa_vint.h: int/double get_string now
           not pool.malloc(MAX_NUMBER) but really neaded            not pool.malloc(MAX_NUMBER) but really neaded
   
         * operators.txt, src/classes/double.C, src/classes/int.C,          * operators.txt, src/classes/double.C, src/classes/int.C:
           www/htdocs/global.xsl: int/double.int/double(default)            int/double.int/double(default)
   
 2002-04-04  paf  2002-04-04  paf
   
         * src/include/pa_string.h, src/main/pa_string.C,          * src/: include/pa_string.h, main/pa_string.C: fixed string.replace
           www/htdocs/index.html: fixed string.replace [when reconstructing            [when reconstructing pieces were split by
           pieces were split by max_integral(piece.size), thus some strings            max_integral(piece.size), thus some strings to replace happen to
           to replace happen to be split into two = not replaced)            be split into two = not replaced)
   
         * src/targets/cgi/: parser3.C, parser3.dsp: document root in          * src/targets/cgi/: parser3.C, parser3.dsp: document root in
           standalone version = current dir            standalone version = current dir
Line 14646 Line 17244
   
         * etc/parser3.charsets/koi8-r.cfg: koi8-r += ukranian letters          * etc/parser3.charsets/koi8-r.cfg: koi8-r += ukranian letters
   
         * operators.txt, src/classes/date.C, www/htdocs/index.html:          * operators.txt, src/classes/date.C: ^date::create now may not
           ^date::create now may not supply day, default 1.  checked 29.03            supply day, default 1.  checked 29.03 -> 29.02 roll on non 366
           -> 29.02 roll on non 366 days' year.  | 31.05->31.04   roll            days' year.  | 31.05->31.04   roll
   
 2002-03-28  paf  2002-03-28  paf
   
         * operators.txt, src/classes/date.C, src/classes/op.C,          * operators.txt, src/classes/date.C, src/classes/op.C,
           src/include/pa_globals.h, src/include/pa_hash.h,            src/include/pa_globals.h, src/include/pa_hash.h,
           src/main/pa_globals.C, src/types/pa_vdate.h,            src/main/pa_globals.C, src/types/pa_vdate.h: ^cache[file][date]{
           www/htdocs/index.html: ^cache[file][date]{    ^cache(seconds)            ^cache(seconds)    ^cache[date] }
           ^cache[date] }  
   
         * src/classes/: xdoc.C, xnode.C, xnode.h: removed redundant pool          * src/classes/: xdoc.C, xnode.C, xnode.h: removed redundant pool
           param            param
Line 14683 Line 17280
           src/types/pa_vmethod_frame.h, src/types/pa_vstatus.C,            src/types/pa_vmethod_frame.h, src/types/pa_vstatus.C,
           src/types/pa_vtable.C, src/types/pa_vxdoc.h,            src/types/pa_vtable.C, src/types/pa_vxdoc.h,
           src/types/pa_vxnode.h, src/types/pa_wcontext.C,            src/types/pa_vxnode.h, src/types/pa_wcontext.C,
           src/types/pa_wwrapper.h, www/htdocs/index.html: assigned            src/types/pa_wwrapper.h: assigned exception types
           exception types  
   
         * operators.txt, src/classes/op.C, src/include/pa_config_fixed.h,          * operators.txt, src/classes/op.C, src/include/pa_config_fixed.h,
           src/include/pa_request.h, src/main/execute.C,            src/include/pa_request.h, src/main/execute.C,
Line 14696 Line 17292
         * src/: include/pa_common.h, main/pa_exec.C: windows exec chdir          * src/: include/pa_common.h, main/pa_exec.C: windows exec chdir
           fixed            fixed
   
         * src/classes/op.C, www/htdocs/index.html: forced language of          * src/classes/op.C: forced language of $source field of exception
           $source field of exception to 'tainted', so that sql-langed-frags            to 'tainted', so that sql-langed-frags could be outputed outside
           could be outputed outside of connect            of connect
   
         * operators.txt: removed date.roll limit of +-1 offset          * operators.txt: removed date.roll limit of +-1 offset
   
         * src/classes/date.C, www/htdocs/index.html: removed date.roll          * src/classes/date.C: removed date.roll limit of +-1 offset
           limit of +-1 offset  
   
         * operators.txt, src/classes/date.C, www/htdocs/index.html: fixed          * operators.txt, src/classes/date.C: fixed date roll on
           date roll on daylightsaving days mktime took into account            daylightsaving days mktime took into account tm_isdst flag, which
           tm_isdst flag, which remained from BEFORE roll, but should have            remained from BEFORE roll, but should have been reset
           been reset  
   
 2002-03-25  paf  2002-03-25  paf
   
Line 14749 Line 17343
         * operators.txt, src/classes/op.C, src/include/pa_exception.h,          * operators.txt, src/classes/op.C, src/include/pa_exception.h,
           src/include/pa_globals.h, src/include/pa_request.h,            src/include/pa_globals.h, src/include/pa_request.h,
           src/include/pa_stack.h, src/main/pa_globals.C,            src/include/pa_stack.h, src/main/pa_globals.C,
           src/main/pa_request.C, www/htdocs/index.html: introducing ^try            src/main/pa_request.C: introducing ^try
   
         * src/: main/pa_charset.C, targets/isapi/pa_threads.C,          * src/: main/pa_charset.C, targets/isapi/pa_threads.C,
           types/pa_vdouble.h: removed some tested @tests            types/pa_vdouble.h: removed some tested @tests
   
 2002-03-15  paf  2002-03-15  paf
   
         * operators.txt, src/classes/table.C, www/htdocs/index.html:          * operators.txt, src/classes/table.C: ^table.locate(logical expr)
           ^table.locate(logical expr)  
   
 2002-03-13  paf  2002-03-13  paf
   
Line 14770 Line 17363
   
         * src/main/pa_common.C: --disable-foreign-group-files          * src/main/pa_common.C: --disable-foreign-group-files
   
         * INSTALL, www/htdocs/index.html: --disable-execs          * INSTALL: --disable-execs
   
         * src/main/pa_exec.C, www/htdocs/index.html: --disable-execs          * src/main/pa_exec.C: --disable-execs
   
         * configure, configure.in, src/include/pa_config_auto.h.in:          * configure, configure.in, src/include/pa_config_auto.h.in:
           --disable-execs            --disable-execs
   
         * src/include/pa_config_fixed.h, src/main/pa_exec.C,          * src/: include/pa_config_fixed.h, main/pa_exec.C: --disable-execs
           www/htdocs/index.html: --disable-execs  
   
         * src/types/pa_vfile.C: $file.text now 0A linebreaks,          * src/types/pa_vfile.C: $file.text now 0A linebreaks,
           file::exec/cgi linebreaks "0D0A" changed to 0A onces            file::exec/cgi linebreaks "0D0A" changed to 0A onces
Line 14795 Line 17387
           requires headers to be terminated with \r\n manually [refuses to            requires headers to be terminated with \r\n manually [refuses to
           separate header/body itself]            separate header/body itself]
   
         * src/main/pa_globals.C, src/targets/cgi/parser3.C,          * src/: main/pa_globals.C, targets/cgi/parser3.C,
           src/targets/isapi/parser3isapi.C, www/htdocs/index.html: isapi            targets/isapi/parser3isapi.C: isapi site config beside .dll
           site config beside .dll  
   
 2002-03-04  paf  2002-03-04  paf
   
         * src/classes/op.C, src/types/pa_vfile.C, www/htdocs/index.html:          * src/: classes/op.C, types/pa_vfile.C: process body now evaluated
           process body now evaluated in PASS language            in PASS language
   
         * src/: classes/op.C, include/pa_string.h, main/pa_string.C: string          * src/: classes/op.C, include/pa_string.h, main/pa_string.C: string
           deserialize checks on broken file            deserialize checks on broken file
Line 14823 Line 17414
   
         * configure, configure.in: apache module updated          * configure, configure.in: apache module updated
   
         * www/htdocs/auto.p: apache module updated  
   
         * src/main/pa_string.C: origin by first piece preferred before last          * src/main/pa_string.C: origin by first piece preferred before last
           piece            piece
   
Line 14840 Line 17429
   
         * src/main/pa_exec.C: more precise names for vars, cosmetic          * src/main/pa_exec.C: more precise names for vars, cosmetic
   
         * src/classes/xnode.C, www/htdocs/auto.p, www/htdocs/global.xsl,          * src/classes/xnode.C: in some situation, xpath query returned
           www/htdocs/index.html: in some situation, xpath query returned  
           result with type NODESET, but empty nodeset member field, checked            result with type NODESET, but empty nodeset member field, checked
           that            that
   
Line 14863 Line 17451
         * src/main/pa_string.C: string iterators fixed again, so were          * src/main/pa_string.C: string iterators fixed again, so were
           String::join_chain            String::join_chain
   
         * src/include/pa_string.h, src/main/pa_string.C, www/htdocs/auto.p,          * src/: include/pa_string.h, main/pa_string.C: string iterators
           www/htdocs/index.html: string iterators fixed again, so were            fixed again, so were String::join_chain
           String::join_chain  
   
         * src/types/pa_vcookie.C: cookie "expires=0" =  "session"          * src/types/pa_vcookie.C: cookie "expires=0" =  "session"
   
Line 14909 Line 17496
   
 2002-02-20  paf  2002-02-20  paf
   
         * src/include/pa_string.h, src/main/execute.C, src/main/untaint.C,          * src/: include/pa_string.h, main/execute.C, main/untaint.C,
           src/targets/cgi/pa_pool.C, src/targets/cgi/parser3.C,            targets/cgi/pa_pool.C, targets/cgi/parser3.C: //#define
           www/htdocs/index.html: //#define DEBUG_STRING_APPENDS_VS_EXPANDS            DEBUG_STRING_APPENDS_VS_EXPANDS
   
         * src/: include/pa_string.h, main/pa_string.C, main/untaint.C:          * src/: include/pa_string.h, main/pa_string.C, main/untaint.C:
           economy: 22%            economy: 22%
Line 14919 Line 17506
         * src/: include/pa_string.h, main/pa_string.C, main/untaint.C:          * src/: include/pa_string.h, main/pa_string.C, main/untaint.C:
           space uptimized: string::link_row removed            space uptimized: string::link_row removed
   
         * src/include/pa_string.h, src/include/pa_stylesheet_connection.h,          * src/: include/pa_string.h, include/pa_stylesheet_connection.h,
           src/main/pa_db_manager.C, src/main/pa_dictionary.C,            main/pa_db_manager.C, main/pa_dictionary.C, main/pa_string.C,
           src/main/pa_string.C, src/main/untaint.C,            main/untaint.C, targets/cgi/parser3.C, types/pa_vcookie.C,
           src/targets/cgi/parser3.C, src/types/pa_vcookie.C,            types/pa_vstring.h: speed uptimized: string::is_empty
           src/types/pa_vstring.h, www/htdocs/index.html: speed uptimized:  
           string::is_empty  
   
         * operators.txt, src/include/pa_common.h,          * operators.txt, src/include/pa_common.h,
           src/include/pa_config_fixed.h, src/include/pa_string.h,            src/include/pa_config_fixed.h, src/include/pa_string.h,
           src/include/pa_types.h, src/main/compile.tab.C,            src/include/pa_types.h, src/main/compile.tab.C,
           src/main/execute.C, src/main/pa_string.C, src/main/untaint.C,            src/main/execute.C, src/main/pa_string.C, src/main/untaint.C,
           src/targets/cgi/pa_pool.C, src/targets/cgi/parser3.C,            src/targets/cgi/pa_pool.C, src/targets/cgi/parser3.C: strign to
           www/htdocs/auto.p, www/htdocs/global.xsl, www/htdocs/index.html:            string append optimiziation idea and estimates
           strign to string append optimiziation idea and estimates  
   
 2002-02-19  paf  2002-02-19  paf
   
Line 14954 Line 17538
   
         * src/main/pa_globals.C: extern "C" was removed too fast          * src/main/pa_globals.C: extern "C" was removed too fast
   
         * src/include/pa_opcode.h, src/include/pa_request.h,          * src/: include/pa_opcode.h, include/pa_request.h,
           src/main/compile.tab.C, src/main/compile.y, src/main/execute.C,            main/compile.tab.C, main/compile.y, main/execute.C,
           src/types/pa_wcontext.h, www/htdocs/index.html: in_expression            types/pa_wcontext.h: in_expression aimed to solve old problem
           aimed to solve old problem with string/nonstring values, now in            with string/nonstring values, now in expressions double/int
           expressions double/int values are passed as-is, without stupid            values are passed as-is, without stupid tostring/fromstring
           tostring/fromstring conversions            conversions
   
         * src/main/: main.dsp, pa_globals.C: removed unneded #ifdef          * src/main/: main.dsp, pa_globals.C: removed unneded #ifdef
           __cplusplus } #endif            __cplusplus } #endif
Line 14976 Line 17560
         * operators.txt, src/classes/date.C: date::create [were date::set,          * operators.txt, src/classes/date.C: date::create [were date::set,
           with backward comp            with backward comp
   
         * src/classes/math.C, www/htdocs/index.html: math:random range          * src/classes/math.C: math:random range check fixed
           check fixed  
   
         * src/main/compile.tab.C, src/main/compile.y,          * src/main/: compile.tab.C, compile.y: integer  division stops name
           www/htdocs/global.xsl, www/htdocs/index.html: integer  division  
           stops name  
   
         * INSTALL: local install comment          * INSTALL: local install comment
   
Line 15158 Line 17739
           xdoc::set obsolete now, now xdoc::create, with both sences            xdoc::set obsolete now, now xdoc::create, with both sences
   
         * operators.txt, src/classes/table.C, src/include/pa_array.h,          * operators.txt, src/classes/table.C, src/include/pa_array.h,
           src/include/pa_table.h, src/main/pa_array.C, src/main/pa_table.C,            src/include/pa_table.h, src/main/pa_array.C, src/main/pa_table.C:
           www/htdocs/auto.p, www/htdocs/index.html: table::create now //            table::create now // 'set' name obsolete now table clone.
           'set' name obsolete now table clone.  
   
         * operators.txt, src/classes/string.C,          * operators.txt, src/classes/string.C,
           src/include/pa_config_fixed.h, src/main/compile.tab.C:            src/include/pa_config_fixed.h, src/main/compile.tab.C:
Line 15203 Line 17783
         * configure.in, operators.txt, src/classes/file.C,          * configure.in, operators.txt, src/classes/file.C,
           src/classes/op.C, src/include/pa_common.h,            src/classes/op.C, src/include/pa_common.h,
           src/include/pa_config_includes.h, src/main/compile.tab.C,            src/include/pa_config_includes.h, src/main/compile.tab.C,
           src/main/pa_common.C, www/htdocs/index.html: rewritten ^cache to            src/main/pa_common.C: rewritten ^cache to use
           use non-blocking-exclusive-caches            non-blocking-exclusive-caches
   
         * src/main/pa_common.C: text file read mode on win32 adjusted          * src/main/pa_common.C: text file read mode on win32 adjusted
           [speed impact. was off for debugging purpose, but forgotten            [speed impact. was off for debugging purpose, but forgotten
Line 15244 Line 17824
           staying in 'entered class' state after $a:a(a) it prevented            staying in 'entered class' state after $a:a(a) it prevented
           operators from being called thereafter            operators from being called thereafter
   
         * src/main/execute.C, src/types/pa_wcontext.h, www/htdocs/auto.p,          * src/: main/execute.C, types/pa_wcontext.h: operators check 2
           www/htdocs/index.html: operators check 2 floated up old error of            floated up old error of staying in 'entered class' state after
           staying in 'entered class' state after $a:a[a] it prevented            $a:a[a] it prevented operators from being called thereafter
           operators from being called thereafter  
   
         * src/main/execute.C, www/htdocs/index.html: operators check, thay          * src/main/execute.C: operators check, thay mistakenly seen in
           mistakenly seen in   $class:operator   $object.operators contexts            $class:operator   $object.operators contexts
   
         * src/classes/xdoc.C, src/targets/cgi/parser3.dsp,          * src/: classes/xdoc.C, targets/cgi/parser3.dsp: now compiles under
           www/htdocs/index.html: now compiles under win32            win32
   
         * INSTALL, configure, configure.in, ident.awk, etc/Makefile.am,          * INSTALL, configure, configure.in, ident.awk, etc/Makefile.am,
           src/classes/Makefile.am, src/main/Makefile.am,            src/classes/Makefile.am, src/main/Makefile.am,
Line 15272 Line 17851
           etc/parser3.charsets/windows-1251.cfg, src/Makefile.am,            etc/parser3.charsets/windows-1251.cfg, src/Makefile.am,
           src/classes/Makefile.am, src/include/pa_config_auto.h.in,            src/classes/Makefile.am, src/include/pa_config_auto.h.in,
           src/main/Makefile.am, src/targets/cgi/Makefile.am,            src/main/Makefile.am, src/targets/cgi/Makefile.am,
           src/targets/cgi/parser3.C, src/types/Makefile.am,            src/targets/cgi/parser3.C, src/types/Makefile.am: moved etc&www
           www/Makefile.am, www/htdocs/auto.p, www/htdocs/global.xsl,            out of src, moved configure&co out of src added windows-1250.cfg
           www/htdocs/index.html, www/htdocs/parser-status.html,            straightened installation scripts procedure made
           www/htdocs/people.dtd: moved etc&www out of src, moved            targets/cgi/parser3.C be dependant on ./configure --sysconfdir
           configure&co out of src added windows-1250.cfg straightened            change
           installation scripts procedure made targets/cgi/parser3.C be  
           dependant on ./configure --sysconfdir change  
   
 2002-01-30  paf  2002-01-30  paf
   
Line 17962 Line 20539
           main/pa_hash.C, main/pa_pool.C, main/pa_request.C,            main/pa_hash.C, main/pa_pool.C, main/pa_request.C,
           main/pa_socks.C, main/pa_sql_driver_manager.C, main/pa_string.C,            main/pa_socks.C, main/pa_sql_driver_manager.C, main/pa_string.C,
           main/pa_table.C, main/untaint.C, targets/cgi/parser3.C,            main/pa_table.C, main/untaint.C, targets/cgi/parser3.C,
           targets/isapi/parser3isapi.C: static char *RCSId="$Id$";            targets/isapi/parser3isapi.C: static char *RCSId="Id";
   
         * src/main/: compile.y, compile_tools.h: $:name: == ${name}:          * src/main/: compile.y, compile_tools.h: $:name: == ${name}:
           $class:name: == ${class:name}:            $class:name: == ${class:name}:
Line 20777 Line 23354
   
         * src/include/: pa_pool.h, pa_string.h: pa_pool split          * src/include/: pa_pool.h, pa_string.h: pa_pool split
   
         * src/main/: main.dsp, pa_string.C: $Id$ check          * src/main/: main.dsp, pa_string.C: Id check
   
         * src/: main/pa_pool.C, main/pa_string.C, include/pa_pool.h: $Id$          * src/: main/pa_pool.C, main/pa_string.C, include/pa_pool.h: Id
           check            check
   
         * src/: include/pa_pool.h, main/pa_string.C: String prealloc &          * src/: include/pa_pool.h, main/pa_string.C: String prealloc &

Removed from v.1.92  
changed lines
  Added in v.1.120


E-mail: