Merge commit '722771973bd' into patches/lyslyskom22891031 * commit '722771973bd': (6177 commits) Verify that callablep responses are aligned with reality. ...
Merge commit '2470270f500c728d10b8895314d8d8b07016e37b' into grubba/typechecker-automap * commit '2470270f500c728d10b8895314d8d8b07016e37b': (18681 commits) Removed the old typechecker. ...
Merge remote-tracking branch 'origin/master' into new_utf8
Merge remote-tracking branch 'origin/8.1' into gobject-introspection
Stdio.Stat: Added lfun::_equal().
Remove base_sp argument from bad_arg_error
Calculate base_sp in bad_arg_error.
Merge commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e' into patches/pike63 * commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e': (19587 commits) ...
Break out sprintf-related stuff from stralloc.h to sprintf.h. Minor header file cleanup.
Removed DEBUG_FILE.
SIMPLE_TOO_FEW_ARGS_ERROR should be SIMPLE_WRONG_NUM_ARGS_ERROR since long ago. Replaced them and tighten up argument control in places.
SIMPLE_BAD_ARG_ERROR is only kept for compatibility, but we still had 500+ uses of it.
Removed Intel IA64 compiler specific DO_NOT_WARN.
Static:ified a lot of strings. This is more or less all instances of push_text(static data here). Left to do: make_shared_X_string(static data here). :)
Removed trailing spaces.
Stdio.Stat: Fixed potential use of uninitialized integer. Fixed [CID 1294670].
Improved cast.
Added nano-second resolution file-timestamp support to stat
Stdio.Stat: Survive casts to subtyped arrays (and mappings). When casting an object to eg array(int), lfun::cast() gets the string "array(int)". This used to cause Stdio.Stat::cast() to fail.
Removed a few casts
Stdio.Stat: Fixed static reference leak of 22 strings.
Binary size: push_constant_text -> push_text when not time-critical. Especially in error handling, and code that does a lot of other string operations anyway the speed gain is not wort the 100+ bytes code size of each instance of push_constant_text This saves about 20K of code size (main pike binary), while not really changing the speed much. push_constant_text that seemed to be in at least pseudo-time-critical code was kept as they were. On a related note, push_constant_text(":") four times in a row creates four different string variables, for obvious reasons. Some of the remaining push_constant_text really should have a module/file local string variable, even though that is more bothersome to create. It might be nice to have this in .cmod files automatically.
Removed another 50% of the size by rewriting some more code. This is actually faster than the old code. Also added support for (mapping)stat, mainly for debugging convenience. On a somewhat related topic values(stat) could be optimized rather significantly if so desired.
Save about 10Kb of code size by doing smarter inlining.
Changed a few push_constant_text to push_text push_constant_text generates a lot of code, and the speed difference is basically zero in this case. In fact, a benchmark loop doing _sprintf(O) on a stat-object is fairly consistently 1% faster now. This about halves the size of _stat_index.
memset takes void* as first argument, no casting needed.
Removed auto bignum checks.
files -> _Stdio with minimal changes.
Changed some identifiers from files to stdio.
strings: create static strings in more places
Merge remote-tracking branch 'origin/8.0' into string_alloc Conflicts: src/stralloc.c
memset is C89 and 4.3BSD
Stricter return types for cast. This, if nothing else, makes the documentation cleaner.
More consistent use of error macros.
Merge remote-tracking branch 'origin/8.0' into string_alloc
While having lfun::cast as private WORKS JUST FINE, it also allows us to get rid of some argument checking. As protected we can't do that.
Stdio.Stat: Make casting work again. lfun::cast() was declared private, which: * Disables it (as lfuns must be protected or public). * Breaks code that inherits Stdio.Stat, overloads cast(), and wants to call ::cast() (eg Sitebuilder.SBStat).
Added void to zero argument functions.
Stdio.Stat: use local variable for file mode
Stdio.Stat: de-inline some macros The manually unrolled loop took about 60% of code size.
Merge branch '8.0' into gobject-introspection
Merge remote-tracking branch 'origin/7.9' into pdf
Merge remote-tracking branch 'origin/7.9' into ba