Compiler: Adjust approach to lfun::create() fallback. Instead of having a fallback at lookup time, the compiler now adds lfun::create() as an alias for lfun::__create__() if there is no explicitly defined lfun::create(). This should be (much) more robust and backward-compatible. Fixes some fall-out from the #10086 changes.
Compiler: Add lfun::__create__(). This lfun is intended to hold the code previously inlined in lfun::create() for the implicit create syntax. Preparation for implementing the implicit create case(s) of #10086.
GC: Support remaining types in Pike.count_memory(). Users of Pike.count_memory() typically do not want to bother filtering its arguments, so perform filtering in count_memory() rather than throwing errors. Also adds support for counting memory for objects referenced via functions.
Doc: Fixed AutoDoc markup typo.
decode_value(): Allow to restrict decoding to simple types The encoded value has quite a bit of control over our process. Allow to restrict decoding to primitive types by passing coding as -1.
Doc [Ffmpeg]: Fixed some markup issues.
Stdio: Some pty-handling cleanup. Add wrappers emulating missing libc functions.
Sprintf: Cleanup linebreak mode. The sprintf "%/s" and "%=s" modes now break at the column width (defaulting it to the field width) and not the field width. This makes it possible to use formats like eg "%;*-=s" (instead of "%*-=s") to not get every line padded to the full column width.
TURBO2-1398: Allow disabling of wrapping of describe_backtrace output. The wrapping can add lots of spaces to the end of lines to pad them, resulting in enormous backtrace files in some circumstances.
Tools.Standalone.precompile: Fix storage offset handling Programs using their parent may store parent information in the beginning of ->storage, thus we need to add p->inherits[0].storage_offset when trying to reach an object's storage. The compiler/runtime correctly takes care of this in THIS, but the OBJ2_ and GET_..._STORAGE macros did not take this into account.
Merge commit '722771973bd' into patches/lyslyskom22891031 * commit '722771973bd': (6177 commits) Verify that callablep responses are aligned with reality. ...
Thread.Farm: Added ResultWrapper. This is a wrapper for the Result class to detect when the user loses its reference to it, in order to not lose reports of any errors from the worker threads.
Merge commit '2470270f500c728d10b8895314d8d8b07016e37b' into grubba/typechecker-automap * commit '2470270f500c728d10b8895314d8d8b07016e37b': (18681 commits) Removed the old typechecker. ...
Image.Dims: Revert EXIF flipping of dimensions in get_JPEG Like for JPEG._decode, add a specific exif_get_JPEG which does the flipping instead.
Compiler: Fix autodoc typo
EFUNs: Hide mutex keys and crypto contexts from backtraces. Having unexpected references to mutex keys may cause hangs and complaints about attempting to lock mutexes recursively. Fixes PIKE-156 (#8156).
EFUNs: m_clear() now supports multisets and objects. Adds LFUN _m_clear().
EFUNs: Support encoding to UTF-8 encoded UTF-16 in string_to_utf8(). string_to_utf8() now supports the same extensions as utf8_to_string(). Fixes PIKE-111 (#8111).
I/O [NT]: Use new low-level functions from Process.
Merge github.com:poppa/pike-libsass into patches/pike89 * github.com:poppa/pike-libsass: (64 commits) [...]
Merge commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e' into patches/pike63 * commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e': (19587 commits) ...
Equvivalent and equivalent are not equivalent.
Merge branch 'grubba/rename_lfun_destroy' into 8.1 * grubba/rename_lfun_destroy: Modules: Fixed logts of warnings. Testsuite: Updated for LFUN::_destruct(). Compiler: Don't complain about LFUN::destroy() in compat mode. Fix multiple warnings. Runtime: LFUN::destroy() has been renamed to _destruct(). Compiler: Rename LFUN::destroy() to LFUN::_destruct().
Compiler: Rename LFUN::destroy() to LFUN::_destruct(). As decided at Pike Conference 2017.
Add extensible error handling in Protocols.DNS.server Some servers might want to report errors during other mechanisms than werror. By moving the error reporting to the new report_decode_error() method, it is easy to override that method and do something else. Likewise, some servers might want to not reply to malformed requests. Move that code to the new handle_decode_error() method.
Documentation: Updated syntax in doc for lfun::create().
Add _sprintf() to Thread.Mutex() that prints current locking thread. Switch to hex-based thread IDs in _sprintf() for Thread.Thread() for easier reading.
Documentation fixes. No need to push 0 on void functions.
Added Nettle.version()
Major redesign of the refdoc. Also removed some obsolete stuff.
program.c: autodoc fix
Documentation: Documented optional further args to search(). Also fixes the types for search() and lfun::_search().
Query: timed_async_fetch() didn't support chunked transfer encoding. Promise: Some pikedoc fixes.
Refdoc: Added modfiers to methods, variables and constants. Fixed a Pike doc error in Nettle.Sign.
Crypto.RSA: Add some support for JOSE JWS signatures.
Revert "Added the Markdown module and the standalone pike_to_html.pike from 8.1." This reverts commit 2706a62c3c72b296a0c77b418f1e186c682c7ac5.
Added creation method raw to put binary data directly in an image object without adaptation.
Merge branch 'new-pikedoc' into 8.1 * new-pikedoc: New doc layout done! (well, as far as I can tell anyway). It now also works on local modules with module_modref as build target. Start of new layout for the Pike refdoc
New doc layout done! (well, as far as I can tell anyway). It now also works on local modules with module_modref as build target.
Sql: Added support for multiple results. Adds Sql.sql_result()->next_result().
strlen is for strings only these days
Nettle: Let the IV be set through Nettle.Proxy (aka Crypto.Buffer).
Start of new layout for the Pike refdoc
Filesystem.Monitor: Added check_all().
Protocols.HTTP2: Added Frame class.
Gmp.mpz: Support import/export from reversed network byte order.
Nettle.ECC: Added initial implementation of Curve.Point. This is to simplify handling of points on ECC curves. Currently the code is sufficient to perform ECDSA, but eg encode and decode would be nice. TODO: Other code needs to be updated to accept Points.
SSL.Cipher: Some more KeyShare-related API changes. The API now seems to be usable for TLS 1.3.
Remove superfluous legacy compat support prior to 7.8.
Process.spawn_pike: Added launcher argument.
Merge remote-tracking branch 'origin/8.0' into string_alloc Conflicts: src/stralloc.c
GTK2: Update Scale docs based on source file
Some minor documentation tweaks. It has been a while since the classes were called Gz_deflate and Gz_inflate.
Merge remote-tracking branch 'origin/8.0' into string_alloc
Improved type checking.
release number bumped to 854 by export.pike
Runtime: Improve diagnostics from the variant dispatcher. The variant dispatcher now informs about all potential alternatives when there's an argument mismatch.
GTK2: Add a signal_stop() method to prevent signal propagation
Unicode.normalize: use unsigned ints for hash value hval % HSIZE for a negative hval will result in a negative htable index. this is triggered by characters in 32 bit strings which are represented by negative 32 bit signed integers
Merge branch '8.0' into gobject-introspection
SSL.Cipher: Improved TLS 1.2 compatibility. The TLS 1.2 prf is now derived from the hash function used for the MAC for the suite, as this seems to be the convention for all the suites that have been defined after TLS 1.2. This simplifies implementation of the prf selection behaviour specified eg for the suites defined in RFC 6367 3.3: When used with TLS versions prior to 1.2 (TLS 1.0 and TLS 1.1), the PRF is calculated as specified in the appropriate version of the TLS specification.
Add class Standards.JSON.Validator which can be used to validate json with a schema The Standards.JSON.Validator class does not yet implement the full set of schema validations. It does not yet handle dependencies nor references. The regular expressions (for pattern properties) are limited to those that can be handled by Regexp.SimpleRegexp. To use the validator, load and decode a JSON schema and create a validator: mixed schema = Standards.JSON.decode(schema_string); Standards.JSON.Validator validator = Standards.JSON.Validator(schema); Then load and decode some JSON data and pass it to the function Standards.JSON.Validator->validate(): mixed json_data = Standards.JSON.decode(data_string); if (string error = validator->validate(json_data)) werror("Error: %s\n", error); else write("JSON matches the schema\n"); For more information of JSON schema look at - http://json-schema.org/documentation.html "The home of JSON Schema"
TURBO2-80: Do not crash when decoding certain PNG files. The aggregate and n++ was not done if the PNG was (slightly) truncated
Merge remote-tracking branch 'origin/7.9' into pdf
master: add support for using zip archives as module paths.
From Chris Angelico <rosuav@gmail.com>, add connect_before option to signal_connect so you can connect the signal before or after the default hooks.
Image.JPEG: Fix integer underflow. Fixes [bug 6413 (#6413)].
Merge remote branch 'origin/7.9' into rblock_alloc Conflicts: src/post_modules/CritBit/floattree.cmod src/post_modules/CritBit/inttree.cmod src/post_modules/CritBit/stringtree.cmod
Calendar.mkrules: Cleanup white-space at end of line in TZnames.
Tools.Standalone.autodoc_to_split_html: Include inherited symbols in the navigation.
Merge remote branch 'origin/7.9' into breaking_into_pieces
GI: Upper case all enum identifiers
Gz: Added ability to set custom dictionaries.
Tools.Standalone.autodoc_to_split_html: Added hook for adding extra html headers.
Tools.Shoot: gauge ->perform(), not test create().
Tools.AutoDoc: Added syntax and markup for documenting cpp directives.
AutoDoc: Moved lots of modref inline styling to the css file. Also changed color scheme to be closer to the Pike site.
AutoDoc: The modref is now more HTML 5.
master: Added kludge for describe_function() to workaround [bug 6156 (#6156)].
Protocols.DNS: Support for IPv6 now seems to work properly.
release number bumped to 614 by export.pike
Tools.AutoDoc.ProcessXML: Attempt to normalize the result somewhat in mergeTrees().
Tools.AutoDoc: Support more sections from BMML, notably COPYRIGHT and THANKS.
Autodoc: Reindented and added HTML 5-style semantic markup to the modref template.
Tools.AutoDoc.git_export_autodoc: Added extraction of version information.
Autodoc: Use $imagedir$ rather than $dotdot$/images/ in the modref template. Fixes broken images when the images directory has been relocated.
No more foreign_idents.
Deprecating pike.ida.liu.se for pike.lysator.liu.se.
Added a new Val module for various global constant values. Currently with true, false, and null, moved from Standards.JSON and Sql. Also allows these values to be overridden with extended versions.
SDL: Some documentation of SDL.Joystick.
Added missing documentation for "%n".
Reinstated call_out memory usage, and added Pike.DefaultBackend.get_stats(). Rev: src/backend.cmod:1.158
New member String.normalize_whitespace. Rev: lib/modules/String.pmod/module.pmod:1.34 Rev: lib/modules/String.pmod/testsuite.in:1.27 Rev: src/builtin.cmod:1.242 Rev: src/builtin_functions.h:1.41
Backported sort_fun and ignore_errors for Filesystem.Traversion from 7.8. Rev: lib/modules/Filesystem.pmod/module.pmod:1.21
Sneaking in some IPv6 address formatting tools. Rev: lib/modules/Protocols.pmod/IPv6.pmod:1.1
More static -> protected. Rev: src/object.c:1.298 Rev: src/program.c:1.727 Rev: src/program.h:1.256
Added enum SeverityLevel to CompilerEnvironment. Some minor AutoDoc mk II fixes. Rev: src/program.c:1.668
Pike compiler mega patch mk II. Rev: src/builtin_functions.c:1.653 Rev: src/language.yacc:1.414 Rev: src/pike_compiler.h:1.4 Rev: src/program.c:1.667 Rev: src/program.h:1.239
Added lock around SQLConnect in an attempt to work around thread bugs in FreeTDS. This lock can be disabled with the new function Odbc.connect_lock. Rev: src/modules/Odbc/odbc.c:1.43
Fixed broken implementation of get_selection_bounds(). Also modified its API somewhat, since it has never worked. Rev: src/post_modules/GTK2/source/gtktextbuffer.pre:1.11
Added #pike Rev: lib/modules/ADT.pmod/Trie.pike:1.5 Rev: lib/modules/Locale.pmod/Charset.pmod/Tables.pmod/iso88591.pmod:1.2
string(8) -> string(0..255) Rev: refdoc/xml.txt:1.4 Rev: src/builtin_functions.c:1.639 Rev: src/modules/spider/spider.c:1.133
Reworked the cycle handling in the gc and documented it in detail, to work out some kinks and to make it more convincing that the end result really is what the gc claims it to be. Rev: src/gc.c:1.281 Rev: src/pike_embed.c:1.11 Rev: src/program.c:1.614
Fixed autodoc references. Rev: src/modules/files/efuns.c:1.184 Rev: src/modules/files/file.c:1.360
Inheritable boilerplate to make new pike -x $somethings similar in operation to rsif, in less than five lines of code. Rev: lib/modules/Tools.pmod/Standalone.pmod/process_files.pike:1.1
Increased paranoia. Rev: src/builtin_functions.c:1.620
Added #pike Rev: lib/modules/Sql.pmod/tds.pike:1.22 Rev: lib/modules/Standards.pmod/IIM.pmod:1.6 Rev: lib/modules/Tools.pmod/Standalone.pmod/pmar_install.pike:1.4
First try at implementing getter/setter variables. Seems to work. Rev: src/program.c:1.610
Backported callback support Rev: lib/modules/Stdio.pmod/FakeFile.pike:1.11
Unbreaking autodocs generation Rev: refdoc/structure/traditional.xml:1.24 Rev: src/modules/Image/buggy_testsuite:1.2 Rev: src/modules/Image/image.c:1.227 Rev: src/modules/_Image_GIF/image_gif.c:1.26 Rev: src/post_modules/GL/auto.c.in:1.53 Rev: src/post_modules/GTK/examples/low_level/psnow/psnow.pike:1.5 Rev: src/post_modules/GTK/examples/pv:1.3 Rev: src/post_modules/GTK/examples/testdnd.pike:1.2 Rev: src/post_modules/GTK/refdoc/GDK.pmod/Bitmap.pike:1.4 Rev: src/post_modules/GTK/refdoc/GDK.pmod/Pixmap.pike:1.4 Rev: src/post_modules/GTK/refdoc/GTK.pmod/Button.pike:1.7 Rev: src/post_modules/GTK/refdoc/GTK.pmod/Image.pike:1.6 Rev: src/post_modules/GTK/refdoc/GTK.pmod/Pixmap.pike:1.6
Pass a flag to lfun::destroy about the reason for the destruct. Rev: lib/modules/Object.pmod:1.1 Rev: src/builtin_functions.c:1.587 Rev: src/gc.c:1.262 Rev: src/object.c:1.265 Rev: src/object.h:1.90 Rev: src/program.c:1.586
Backported many fixes from 7.7. Notably the close callback is also called on errors, which is consistent with Stdio.File. Rev: lib/modules/SSL.pmod/sslfile.pike:1.78
Relaxed the type of the trace argument to describe_backtrace - it can actually handle anything, and it must be able to handle the return type from catch, and that is mixed. Rev: lib/master.pike.in:1.353
First version. Needs argument parsing and removal of hardcoded stuff. Rev: src/mklibpike.pike:1.1
Calendar.Time.TimeofDay is virtual. Rev: lib/modules/Calendar.pmod/Time.pmod:1.29
Various AutoDoc mk II reference fixes. Rev: src/program.c:1.538
Doc improvements for the operator lfuns and efuns. Still not finished, though. Rev: src/operators.c:1.181 Rev: src/program.c:1.532
Fixed some lfun types. Rev: src/program.c:1.531
Added support for fake lfuns, and added lfun::_search(). Rev: src/program.c:1.523 Rev: src/program.h:1.186
Added RDF domain merges. Rev: lib/modules/Standards.pmod/RDF.pike:1.12 Rev: lib/modules/Standards.pmod/testsuite.in:1.8
Fix typo. Rev: refdoc/structure/modref.html:1.6
Use @expr where more approrpiate than @tt Rev: lib/modules/ADT.pmod/Table.pmod:1.26 Rev: lib/modules/Crypto.pmod/aes.pike:1.2 Rev: lib/modules/Getopt.pmod:1.27 Rev: lib/modules/Parser.pmod/module.pmod:1.18 Rev: lib/modules/Protocols.pmod/DNS.pmod:1.72 Rev: lib/modules/Protocols.pmod/HTTP.pmod/Query.pike:1.56 Rev: lib/modules/Protocols.pmod/HTTP.pmod/Session.pike:1.11 Rev: lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:1.37 Rev: lib/modules/Protocols.pmod/LDAP.pmod/client.pike:1.48 Rev: lib/modules/Protocols.pmod/Line.pmod:1.22 Rev: lib/modules/Protocols.pmod/SMTP.pmod:1.22 Rev: lib/modules/Sql.pmod/Sql.pike:1.64 Rev: lib/modules/Stdio.pmod/module.pmod:1.169 Rev: lib/modules/String.pmod/module.pmod:1.14 Rev: lib/modules/Tools.pmod/AutoDoc.pmod/ProcessXML.pmod:1.54 Rev: src/builtin.cmod:1.131 Rev: src/builtin_functions.c:1.483 Rev: src/cpp.c:1.117 Rev: src/dynamic_load.c:1.69 Rev: src/error.c:1.106 Rev: src/modules/DVB/dvb.c:1.19 Rev: src/modules/Gdbm/gdbmmod.c:1.24 Rev: src/modules/Gettext/gettext.c:1.15 Rev: src/modules/Gmp/mpf.cmod:1.25 Rev: src/modules/MIME/mime.c:1.37 Rev: src/modules/Mird/module.pmod.in:1.12 Rev: src/modules/Msql/msqlmod.c:1.25 Rev: src/modules/Mysql/mysql.c:1.71 Rev: src/modules/Mysql/result.c:1.29 Rev: src/modules/Yp/module.pmod.in:1.19 Rev: src/modules/_Charset/module.pmod.in:1.31 Rev: src/modules/_Crypto/arcfour.c:1.21 Rev: src/modules/_Crypto/cast.c:1.16 Rev: src/modules/_Crypto/des.c:1.28 Rev: src/modules/_Crypto/idea.c:1.22 Rev: src/modules/_Crypto/invert.c:1.17 Rev: src/modules/_Crypto/md2.c:1.17 Rev: src/modules/_Crypto/md4.c:1.6 Rev: src/modules/_Crypto/pipe.c:1.26 Rev: src/modules/_Crypto/rijndael.c:1.11 Rev: src/modules/_Crypto/sha.c:1.25 Rev: src/modules/_Ffmpeg/ffmpeg.c:1.17 Rev: src/modules/_math/math.c:1.60 Rev: src/modules/files/efuns.c:1.126 Rev: src/modules/files/file.c:1.267 Rev: src/modules/files/stat.c:1.27 Rev: src/modules/files/udp.c:1.43 Rev: src/modules/system/passwords.c:1.41 Rev: src/modules/system/system.c:1.142 Rev: src/operators.c:1.174 Rev: src/pike_search.c:1.15 Rev: src/post_modules/_ADT/circular_list.cmod:1.5 Rev: src/post_modules/_ADT/sequence.cmod:1.6 Rev: src/program.c:1.498 Rev: src/security.c:1.42 Rev: src/signal_handler.c:1.262
Autodoc fix Rev: lib/7.2/modules/__default.pmod:1.16 Rev: src/builtin.cmod:1.128 Rev: src/builtin_functions.c:1.481 Rev: src/mapping.c:1.165 Rev: src/modules/Math/module.pmod.in:1.16 Rev: src/modules/_Crypto/cast.c:1.15 Rev: src/modules/_Crypto/crypto.c:1.55 Rev: src/modules/_math/math.c:1.59 Rev: src/modules/files/efuns.c:1.125 Rev: src/modules/files/file.c:1.265 Rev: src/multiset.c:1.70 Rev: src/operators.c:1.173 Rev: src/program.c:1.496 Rev: src/security.c:1.41