Branch: Tag:


2018-05-19 14:43:13 by Tobias S. Josefowitz <>

GC: Inline GC marker struct into memory object structs

This avoids unnecessary padding while keeping mostly compatible to most
other users of these structs and markers.

2018-05-19 09:13:29 by Arne Goedeke <>

Merge branch 'tobij/inline_gc_markers' into 8.1


2018-03-17 20:13:55 by Martin Nilsson <>

Remove redundant includes.


2018-02-18 12:50:10 by Henrik Grubbström (Grubba) <>

Compiler: Added string_builder_append_pike_opcode().


2018-02-15 15:54:26 by Henrik Grubbström (Grubba) <>

Merge commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e' into patches/pike63

* commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e': (19587 commits)


2018-02-12 21:49:35 by Marcus Comstedt <>

Fix spelling of FALLTHRU directive

The non-standard spelling "FALL_THROUGH" is not recognized by gcc 7.3.
Also, the comment must not contain any other text, or be placed inside


2018-02-03 10:46:18 by Henrik Grubbström (Grubba) <>

Runtime: Fix duplicate entries from indices() et al on programs.

2018-02-03 09:48:55 by Peter Bortas <>

Merge branch '8.1' into peter/travis


2018-01-12 12:11:05 by Stephen R. van den Berg <>

Equvivalent and equivalent are not equivalent.

2018-01-12 12:09:30 by Stephen R. van den Berg <>

Equvivalent and equivalent are not equivalent.


2017-12-31 23:19:10 by Peter Bortas <>

Merge remote-tracking branch 'origin/8.1' into peter/travis


2017-12-30 14:02:35 by Henrik Grubbström (Grubba) <>

Compiler: Fixed string_builder_append_disassembly().

Support appending disassembly without corresponding memory dump.


2017-12-20 16:50:45 by Henrik Grubbström (Grubba) <>

Compiler: Improved handling of inherit in extra pass.

Don't complain about unfinished programs in the extra pass.

2017-12-20 16:49:03 by Henrik Grubbström (Grubba) <>

Compiler: Fixed variant lookup bug in extra pass.


2017-12-16 15:31:50 by Henrik Grubbström (Grubba) <>

Compiler: Fixed typo from COMPILER_PASS_* conversion.

Fixes handling of local/inline variables that got broken when
COMPILER_PASS_* were added.

Fixes multiple testsuite failures.


2017-12-14 15:01:30 by Henrik Grubbström (Grubba) <>

Compiler: Added even more COMPILER_PASS_*.

The compiler now seems to survive renumbering of COMPILER_PASS_*.

Also fixes a few (disabled) debug statements in language.yacc.


2017-12-11 18:05:19 by Henrik Grubbström (Grubba) <>

Compiler: Add symbolic constants COMPILER_PASS_*.

This is in preparation for adding more passes.


2017-12-07 15:41:43 by Henrik Grubbström (Grubba) <>

Compiler: Warn if variant type changes in second pass.


2017-12-01 14:53:45 by Henrik Grubbström (Grubba) <>

Compiler: Improved variant robustness.

Perform a more lenient scan for the previous definition
of a variant in the second pass.

Should fix issues with not finding variants in the second
pass, causing the fatal "Internal error: Not allowed to
add more identifiers during second compiler pass."


2017-11-19 13:40:51 by Arne Goedeke <>

Compiler: fix compile error with profiling

These profiling initialization was moved to low_add_identifier.


2017-11-18 10:13:13 by Arne Goedeke <>

Interpreter: merge low_return variants


2017-11-14 17:59:34 by Henrik Grubbström (Grubba) <>

Compiler: Fixed typo in previous commit.

2017-11-14 17:55:19 by Henrik Grubbström (Grubba) <>

Compiler: Improved variant robustness.

Perform a more lenient scan for the previous definition
of a variant in the second pass.

Should fix issues with not finding variants in the second
pass, causing the fatal "Internal error: Not allowed to
add more identifiers during second compiler pass."


2017-11-13 17:05:27 by Henrik Grubbström (Grubba) <>

Compiler: Only check LFUN types in second pass.


2017-11-11 16:35:01 by Tobias S. Josefowitz <>

GC: Inline markers into datastructures

Initial work is done. This may have worse performance characteristics
for now. Futher work will use the block allocator provided iterator
instead of linked lists to visit all objects and potentially optimize
the memory layout of the marker struct.


2017-11-10 15:28:26 by Henrik Grubbström (Grubba) <>

Compiler: Let #pragma no_deprecation_warnings inhibit some more.

falling back to destroy() if _detruct() doesn't exist.


2017-11-05 15:53:18 by Henrik Grubbström (Grubba) <>

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().

2017-11-05 15:15:30 by Henrik Grubbström (Grubba) <>

Compiler: Don't complain about LFUN::destroy() in compat mode.

2017-11-05 14:35:39 by Henrik Grubbström (Grubba) <>

Compiler: Rename LFUN::destroy() to LFUN::_destruct().

As decided at Pike Conference 2017.


2017-11-04 15:42:14 by Arne Goedeke <>

Remove computed goto interpreter mode

By descision of the Pike conference, computed goto mode was removed.

2017-11-04 14:51:06 by Arne Goedeke <>


Pike with SHARED_NODES disabled did not work. By descision of the Pike
Conference it is removed.


2017-08-02 11:59:28 by Henrik Grubbström (Grubba) <>

Compiler: Added convenience function lexical_inherit().

This function looks up a symbol in the specified lexical scope
and inherits it.


2017-07-31 21:53:49 by Martin Nilsson <>

Added some const


2017-07-19 17:18:16 by Martin Nilsson <>



2017-06-25 07:46:51 by Henrik Grubbström (Grubba) <>

Compiler: Fixed prototype for _size_object().


2017-04-08 20:30:39 by Martin Nilsson <>

Use Pike_sp instead of sp


2017-03-19 15:41:08 by Arne Goedeke <>

Interpreter: merge low_return variants


2017-03-06 08:11:02 by Arne Goedeke <>

Compiler: instr_prologue_* are only available with machine code


2017-02-25 18:13:05 by Arne Goedeke <>

Compiler: instr_prologue_* are only available with machine code

2017-02-25 13:28:44 by Henrik Grubbström (Grubba) <>

Compiler: Use low_resolve_identifier() in resolve_program().

This reduces the overhead somewhat.


2017-02-24 18:11:00 by Arne Goedeke <>

Compiler: instr_prologue_* are only available with machine code


2017-02-19 20:07:29 by Henrik Grubbström (Grubba) <>

Compiler: Cleaned up resolve_identifier() somewhat.

Adds low_resolve_identifier().


2017-02-18 12:24:28 by Henrik Grubbström (Grubba) <>

Compiler: Fixed warning.

2017-02-18 10:44:15 by Arne Goedeke <>

Interpreter: merge low_return variants


2017-02-13 18:38:16 by Henrik Grubbström (Grubba) <>

Compiler: More code simplifications.

Rename add_identifier() to low_add_identifier(), to make place
for a new add_identifier() that also updates the references table.

Make use of the new higher-level add_identifier().


2017-02-10 22:17:50 by Henrik Grubbström (Grubba) <>

Compiler: Reduce the amount of code duplication somewhat.

Adds internal function add_identifier(), to help set up the
argument and call debug_add_to_identifiers().


2017-02-09 17:34:20 by Henrik Grubbström (Grubba) <>

Compiler: Moved yyreport() et al to pike_compiler.cmod.

More code cleanup.


2017-02-08 17:03:29 by Henrik Grubbström (Grubba) <>

Compiler: Moved {null,placeholder}_program to pikecompiler.cmod.

Use the CMOD preprocessor for these programs.


2017-02-07 17:19:19 by Henrik Grubbström (Grubba) <>

Compiler: Moved definition of trampoline class to builtin.cmod.

NB: Moved declaration of struct and program to svalue.h due to
use by macros there.

2017-02-07 16:04:10 by Henrik Grubbström (Grubba) <>

Compiler: Survive add_program_constant() without active compilation.

This is needed to be able to use CMODs at the top level.


2017-02-04 13:37:00 by Henrik Grubbström (Grubba) <>

Compiler: Move some more stuff from program.c to pike_compiler.c.


2017-02-02 15:47:31 by Henrik Grubbström (Grubba) <>

Break out compiler stuff from program.c to pike_compiler.c.

Code layout cleanup.

Work in progress; there's still quite a bit of stuff left in
program.c that ought to be in pike_compiler.c.


2017-02-01 16:13:35 by Henrik Grubbström (Grubba) <>

Compiler: Added internal function find_predef_identifier().

2017-02-01 13:34:56 by Henrik Grubbström (Grubba) <>

Documentation: Updated syntax in doc for lfun::create().


2017-01-31 14:50:11 by Henrik Grubbström (Grubba) <>

Compiler: Added reverse_symbol_lookup() et al.

This is an API intended for use by the disassemblers.


2017-01-30 17:03:09 by Henrik Grubbström (Grubba) <>

Compiler: Some layout adjustments of string_builder_append_disassembly().


2017-01-28 14:30:36 by Henrik Grubbström (Grubba) <>

Compiler: Fixed indentation of PROGRAM_BUILD_DEBUG.

2017-01-28 14:16:15 by Henrik Grubbström (Grubba) <>

Compiler: Adjusted warning message for masked variants.

2017-01-28 14:03:10 by Henrik Grubbström (Grubba) <>

Compiler: Added INHERIT_LOCAL.

Move handling of local:: to find_inherited_identifier().


2017-01-25 15:22:32 by Henrik Grubbström (Grubba) <>

Break out sprintf-related stuff from stralloc.h to sprintf.h.

Minor header file cleanup.


2017-01-23 14:55:33 by Henrik Grubbström (Grubba) <>

Compiler: Added API function string_builder_append_disassembly().

This is a function intended to be used to simplify formatting of
disassembly output.


2017-01-08 14:20:37 by Henrik Grubbström (Grubba) <>

Compiler: __ARGS__ is now a macro expanding to __args__.

This ensures that the symbol was reserved in prior versions of Pike,
and also makes it possible to check support via #ifdef.


2017-01-06 12:13:07 by Henrik Grubbström (Grubba) <>

Compiler: Added support for arguments to implicit lambdas.


2016-12-31 17:12:23 by Arne Goedeke <>

Replace dynamic_buffer API everywhere

This change should be purely cosmetic. It replaces the old
dynamic_buffer API by the corresponding byte_buffer API everywhere.
The wrapper definitions in dynamic_buffer.h will remain for now.

2016-12-31 17:12:22 by Arne Goedeke <>

dynamic_buffer: use new buffer internally

The API of dynamic_buffer is now a slim swapper around the new buffer
API. This changes many places where the dynamic_buffer internals were
directly used.

2016-12-31 17:12:22 by Arne Goedeke <>

describe_svalue: do not use global buffer

This commit removes the dynamic buffer from describe_svalue and related


2016-12-30 09:29:45 by Arne Goedeke <>

Replace dynamic_buffer API everywhere

This change should be purely cosmetic. It replaces the old
dynamic_buffer API by the corresponding byte_buffer API everywhere.
The wrapper definitions in dynamic_buffer.h will remain for now.

2016-12-30 09:29:44 by Arne Goedeke <>

describe_svalue: do not use global buffer

This commit removes the dynamic buffer from describe_svalue and related


2016-12-29 15:02:35 by Arne Goedeke <>

dynamic_buffer: use new buffer internally

The API of dynamic_buffer is now a slim swapper around the new buffer
API. This changes many places where the dynamic_buffer internals were
directly used.


2016-12-18 21:47:57 by Henrik Grubbström (Grubba) <>

Documentation: The DefaultCompilerEnvironment is a CompilerEnvironment.


2016-12-17 13:56:45 by Martin Nilsson <>

Identifiers can no longer contain non-ascii whitespaces. wide_isidchar can now also easily be upgraded to disallow other special characters.

2016-12-17 13:41:36 by Henrik Grubbström (Grubba) <>

Documentation [LFUNs]: Improved doc for lfun::`->=() et al.


2016-11-14 07:51:49 by Henrik Grubbström (Grubba) <>

Build [NT]: Fixed C99-ism.

Fixes compilation issue on NT.


2016-11-08 12:46:01 by Arne Goedeke <>

dynamic_buffer: use new buffer internally

The API of dynamic_buffer is now a slim swapper around the new buffer
API. This changes many places where the dynamic_buffer internals were
directly used.


2016-11-07 14:03:43 by Henrik Grubbström (Grubba) <>

Compiler [resolver]: Protect id_to_program() against circularities.


2016-11-05 11:24:51 by Henrik Grubbström (Grubba) <>

Compiler: Added ID_WEAK.

Variables with the modifier flag ID_WEAK now become IDENTIFIER_WEAK.


2016-11-04 09:54:46 by Tobias S. Josefowitz <>

program.c: autodoc fix


2016-10-30 11:44:23 by Henrik Grubbström (Grubba) <>

Compiler: Warn about unreachable variant functions.


2016-10-12 13:42:41 by Henrik Grubbström (Grubba) <>

Documentation: Documented optional further args to search().

Also fixes the types for search() and lfun::_search().


2016-09-22 09:14:10 by Henrik Grubbström (Grubba) <>

Compiler: Object variables declared as mixed may contain this...

Don't reference count direct cyclic references via mixed variables.

Fixes [LysLysKOM 21860701]/[Pike mailinglist 14570].

2016-09-22 09:13:48 by Henrik Grubbström (Grubba) <>

Compiler: Object variables declared as mixed may contain this...

Don't reference count direct cyclic references via mixed variables.

Fixes [LysLysKOM 21860701]/[Pike mailinglist 14570].


2016-09-16 09:34:06 by Henrik Grubbström (Grubba) <>

Compiler: Added CompilerEnvironment()->lock().

This is a class that exposes the compiler internal lock.

Fixes some of [bug 7783].


2016-09-15 11:31:49 by Henrik Grubbström (Grubba) <>

Compiler: Added CompilerEnvironment()->lock().

This is a class that exposes the compiler internal lock.

Fixes some of [bug 7783].


2016-08-21 01:49:11 by Martin Nilsson <>

No need of calling findstring on __INIT. We have a reference in lfun_strings.


2016-07-27 18:12:46 by Arne Goedeke <>

Interpreter: simplify struct pike_frame

- expendibles and save_sp are usually only used during setup and frame
deallocation. It is enough to store them as offsets from 'locals'
- reordered the struct entries to avoid some padding


2016-07-23 21:43:08 by Henrik Grubbström (Grubba) <>

Documentation [Compiler]: Added some notes about supporters.


2016-07-14 20:20:55 by Martin Nilsson <>

hashtable.h isn't used here.


2016-07-11 06:19:05 by Arne Goedeke <>

Interpreter: remove mark_sp_base

mark_sp_base in struct pike_frame was unused


2016-07-04 18:08:17 by Martin Nilsson <>

It's tedious to write trim_all_whites. Make trim the canonical name.


2016-06-20 15:03:32 by Per Hedbor <>

Use enums for lfun:s for more convenient debug


2016-06-14 09:13:37 by Arne Goedeke <>

Interpreter: seperate apply functions into several steps

2016-06-14 09:13:37 by Arne Goedeke <>

Interpreter: remove mark_sp_base from frame

mark_sp_base was always identical to save_mark_sp and never used.

2016-06-14 09:13:37 by Arne Goedeke <>

Interpreter: store save_sp and expandibles as offsets


2016-06-13 15:26:07 by Henrik Grubbström (Grubba) <>

Compiler [Variables]: Fixed integer range check for complex integer types.

Fixes eg the Filesystem.Zip (which uses typedefed integers) tests on
32-bit systems.


2016-06-12 08:35:52 by Arne Goedeke <>

Interpreter: store save_sp and expandibles as offsets


2016-06-10 13:41:00 by Arne Goedeke <>

Interpreter: remove mark_sp_base from frame

mark_sp_base was always identical to save_mark_sp and never used.


2016-05-27 13:58:50 by Per Hedbor <>

int(range) is now stored in a native integer if the range will fit.

Since "large" is stored as INT32 max/min it tends to always fit if the
range is not unbound.

This means that a variable set as int(0..255) will no longer be able
to store values bigger than or smaller than the size of the native
integer, which is an incomatible change, albeit a fairly logical one.


2016-05-17 14:47:24 by Per Hedbor <>

make _sqrt a "fake" lfun

2016-05-17 14:14:25 by Per Hedbor <>

Renamed pow lfun from pow to `**.

This is somewhat incompatible, previously pow(X,3) called X->pow,
now it will call X->`**.

2016-05-17 14:12:25 by Per Hedbor <>

Added ** as the exponentiation operator.


2016-05-06 13:43:50 by Henrik Grubbström (Grubba) <>


Clean up find_inherited_identifier() somewhat by using symbolic

2016-05-06 11:02:31 by Henrik Grubbström (Grubba) <>

Compiler: Got rid of test that was always true.

This was a remnant of the Pike 7.6 compat layer.

2016-05-06 10:48:26 by Henrik Grubbström (Grubba) <>

Compiler: this_function now obeys the inherit specifier.


2016-05-05 09:53:10 by Henrik Grubbström (Grubba) <>

Compiler: Improved handling of inherit ::this_program.

2016-05-05 08:45:34 by Henrik Grubbström (Grubba) <>

Compiler: Use find_inherited_identifier() for ::this_program.


2016-05-02 17:35:15 by Henrik Grubbström (Grubba) <>

Compiler: Fixed some bugs in find_inherited_identifier().

2016-05-02 16:37:15 by Henrik Grubbström (Grubba) <>

Compiler: Added helper function find_inherited_identifier().

This function is intended to be used to reduce some of
the duplicated code in language.yacc.


2016-05-01 11:05:33 by Henrik Grubbström (Grubba) <>

Compiler [auto]: Fixed multiple issues.

The PIKE_T_AUTO type node now always has a child type.

gc_check_type() now knows about PIKE_T_AUTO.

{debug_,}push_auto_typed_type() is no more.

Fixed issue with low_describe_type() appending to the wrong
buffer when describing the auto type.

Fixes some related type reference counting errors.


2016-04-12 17:01:37 by Arne Goedeke <>

Interpreter: seperate apply functions into several steps


2016-04-08 19:48:49 by Martin Nilsson <>



2016-03-20 13:10:09 by Henrik Grubbström (Grubba) <>

Compiler: Survive alias getting replaced by constant in second pass.

2016-03-20 13:08:33 by Henrik Grubbström (Grubba) <>

Compiler: Survive alias getting replaced by constant in second pass.


2016-03-15 21:19:34 by Martin Nilsson <>

No need to include stuff.


2016-03-13 21:40:36 by Henrik Grubbström (Grubba) <>

Random: Updated some types and AutoDoc.


2016-03-09 21:07:25 by Martin Nilsson <>

Change the _random interface to provide rnadom_string and random from the called random object.


2016-02-12 13:50:54 by Martin Nilsson <>



2016-01-29 21:03:22 by Martin Nilsson <>

Removed map_variable.

2016-01-29 20:41:25 by Martin Nilsson <>

Removed simple_add_variable as it isn't used and has the old type of type argument.

2016-01-29 19:54:23 by Martin Nilsson <>

Remove the fatal shorthand for Pike_fatal.

2016-01-29 19:29:59 by Martin Nilsson <>

Remove pike_add_function2.


2016-01-26 19:38:42 by Martin Nilsson <>

SIMPLE_BAD_ARG_ERROR is only kept for compatibility, but we still had 500+ uses of it.


2016-01-11 19:49:51 by Martin Nilsson <>

Use variadic macros.


2016-01-06 14:07:36 by Henrik Grubbström (Grubba) <>

Documentation: Fixed typo in documentation comment.


2016-01-04 14:59:45 by Per Hedbor <>

Merge branch 'per/auto_type_81' into 8.1

2016-01-04 14:57:56 by Per Hedbor <>

First stage of the 'auto' type.

Works, but for now only for variable declarations, not return types
(entirely, most of the plumbing is done) or for variables declared in
foreach and sscanf.

Since the loop variables in foreach is really the most important
location, this is of somewhat limited use so far.

Commited for safekeeping.


2016-01-04 14:57:56 by Per Hedbor <>

Somewhat better handling of global auto variables


2015-12-29 12:53:55 by Per Hedbor <>

Somewhat better handling of global auto variables


2015-12-28 13:21:58 by Per Hedbor <>

First stage of the 'auto' type.

Works, but for now only for variable declarations, not return types
(entirely, most of the plumbing is done) or for variables declared in
foreach and sscanf.

Since the loop variables in foreach is really the most important
location, this is of somewhat limited use so far.

Commited for safekeeping.



2015-12-25 12:05:19 by Henrik Grubbström (Grubba) <>

Compiler: Rename debug_find_shared_string().

Rename debug_find_shared_string() to debug_findstring(), since
it does what debug_findstring() has done historically, and remove
the old (new?) implementation of debug_findstring().


2015-12-22 17:26:07 by Henrik Grubbström (Grubba) <>

Compiler: Use debug_find_shared_string() instead of debug_findstring().

These calls all are to check that the string has been properly added
to the string hash table (ie "finished"), so it is safe to just perform
a straight hash table lookup.

Fixes the performance issue caused when using debug_findstring().


2015-12-19 18:19:10 by Tobias S. Josefowitz <>

Compiler: added compile and program unload events


2015-11-30 22:43:54 by Martin Nilsson <>

Removed some 8-bit characters that grep doesn't like (I should probably fix grep).


2015-10-17 11:46:09 by Henrik Grubbström (Grubba) <>

Build: Fixed typo in --with-debug code.

2015-10-17 00:45:56 by Martin Nilsson <>

Mark some more code as unreachable.

2015-10-17 00:28:32 by Martin Nilsson <>

Obsess less about if size_shift is 3.


2015-10-14 18:49:19 by Martin Nilsson <>

Removed Intel IA64 compiler specific DO_NOT_WARN.


2015-10-11 14:04:24 by Henrik Grubbström (Grubba) <>

Merge branch '8.1' into grubba/typechecker-mk3

* 8.1: (51 commits)
Compiler [Types]: Got rid of my_describe_type().
Compiler [Types]: Fixed wide strings in nested types.
Compiler [Types]: low_describe_type() now uses string_builder.
string_builder_sprintf: Fixed '+' for floats.
string_builder_sprintf: Added support for %T.
Calendar.mkrules: Improved backward compat.
Auth.OAuth.Client: Fixed AutoDoc markup issue.
New modules for communicating with different (RESTful) web apis (including OAuth and OAuth2 client modules) .
Documentation [%]: Added some clarifications and improved markup.
Inotify: Minor code cleanup. Potential fix for [CID 1325796].
Inotify: Removed some debug output.
Filesystem.Monitor [Inotify]: Improved support for blocking mode.
Inotify: Don't reference count immediate circular references.
Inotify: Removed some dead code.
System.Inotify, Filesystem.Monitor: Updates to use new Inotify API.
Inotify: Use fd_callback_boxes, internal event parsing.
Search.Database.MySQL: Censor the SQL-url.
Sql: Added censor_sql_url().
Search.Database.MySQL: Avoid long lived database connections.
Inotify: Don't throw errors in rm_watch() on invalid watch descriptor.


2015-10-02 06:22:44 by Henrik Grubbström (Grubba) <>

Compiler: Fixed invalid pointer dereference in error message.


2015-09-01 15:41:08 by Per Hedbor <>

Optimized store_prog_string and store_constant somewhat.

They are now O(n) instead of O(n^2) for common cases.

For strings, when the number of references to the string is 1, and for
constants when equal is not true (using == instead of equal) and
refs==1 and the whatever is not an object but has references.

2015-09-01 15:39:17 by Per Hedbor <>

Optimized store_prog_string and store_constant somewhat.

They are now O(n) instead of O(n^2) for common cases.

For strings, when the number of references to the string is 1, and for
constants when equal is not true (using == instead of equal) and
refs==1 and the whatever is not an object but has references.


2015-08-25 16:50:15 by Per Hedbor <>

Merge remote-tracking branch 'origin/8.1' into per/substrings


2015-08-24 17:42:42 by Martin Nilsson <>

GTK1 is deprecated

2015-08-24 14:43:50 by Per Hedbor <>

Merge remote-tracking branch 'origin/8.1' into per/substrings


2015-08-23 09:38:39 by Henrik Grubbström (Grubba) <>

Build: Fixed some warnings.

The first argument to low_quick_add_function() can't be const, since
it will have references added...


2015-08-22 18:35:09 by Arne Goedeke <>

Strings: generate more static strings

quick_add_function and make_shared_string will now create
static strings when the argument is a compile time constant


2015-08-18 16:55:08 by Per Hedbor <>

Merge branch 'arne/string_alloc' into 8.1



2015-08-07 14:31:07 by Henrik Grubbström (Grubba) <>

Compiler: LFUN prototypes are not useful...

Reenable the code that hid prototypes from the LFUN lookup table.


2015-06-14 06:53:34 by Arne Goedeke <>

Interpreter: seperate apply functions into several steps


2015-06-11 10:09:13 by Martin Karlgren <>

count_memory: avoid visiting refs at all in negative lookahead mode.


2015-06-05 09:38:27 by Henrik Grubbström (Grubba) <>

Compiler: Improved cycle detection in implements() and is_compatible().

Under some circumstances the new cache entries could be overwritten
before the functions had completed, leading to infinite recursion.

Fixes [InfoKOM 775534].

Compiler: Added some missing END_CYCLIC().

All execution branches from a BEGIN_CYCLIC() must either
END_CYCLIC() or throw an error before DECLARE_CYCLIC()
falls out of scope.

Potential fix for [LysLysKOM 20940558] (Pike developer list).


2015-06-04 20:59:17 by Martin Karlgren <>

count_memory: avoid visiting refs at all in negative lookahead mode.


2015-05-25 15:33:02 by Martin Nilsson <>

Removed trailing spaces.


2015-05-19 18:05:25 by Martin Nilsson <>

Allocation failure fixes.

2015-05-19 16:06:06 by Henrik Grubbström (Grubba) <>

Compiler: Improved stack robustness against compiler errors.

Some syntax errors leave droppings on the stack, and this could confuse
other code.

Fixes fatal "yyparse() left 2 droppings on the stack!" for a testsuite test.

2015-05-19 16:02:03 by Henrik Grubbström (Grubba) <>

Compiler: Improved stack robustness against compiler errors.

Some syntax errors leave droppings on the stack, and this could confuse
other code.

Fixes fatal "yyparse() left 2 droppings on the stack!" for a testsuite test.


2015-05-16 09:00:15 by Henrik Grubbström (Grubba) <>

Compiler: Added some error handling for aliases.

Fixes [CID 1298215].


2015-05-15 09:15:41 by Henrik Grubbström (Grubba) <>

Compiler: Fixed typo in prototype reference fix.

Fixes various compilation issues with the Crypto modules.

2015-05-15 08:24:10 by Henrik Grubbström (Grubba) <>

Compiler: Don't reference inherited prototypes.

Having local references to inherited prototype functions is not
useful, as they can never become anything else than a prototype.

It also confuses code that uses mixins and attempts to use the
anonymous inherit specifier to access the base implementation
in one inherited class when there's a corresponding prototype
in another inherited class, in which case both functions were
returned. This typically caused "Calling undefined function.".

As a bonus this also improves code generation somewhat.


2015-05-14 14:25:04 by Henrik Grubbström (Grubba) <>

Fixed decode_value() for GTK1-related objects.

The base module for GTK1 has been renamed from ___GTK to ___GTK1...

Fixes "Decode failed: Decode error: Failed to get program from ID 1035.".


2015-05-03 18:49:30 by Henrik Grubbström (Grubba) <>

Program: Disabled some code when not PIKE_DEBUG. Fixes [CID 742547].


2015-05-01 22:21:01 by Henrik Grubbström (Grubba) <>

Program: Removed some dead code. Fixes [CID 1294593].


2015-04-28 14:02:09 by Jonas Walldén <>

Silence more compiler warnings by restoring the UNUSED() family of macros. If
this change exposes any invalid attributes, please remove them specifically

2015-04-28 13:56:46 by Jonas Walldén <>

Silence more compiler warnings by restoring the UNUSED() family of macros. If
this change exposes any invalid attributes, please remove them specifically


2015-04-24 12:36:18 by Henrik Grubbström (Grubba) <>

Runtime: Always validate the linenumber information.

Fixes [CID 1294660].


2015-04-23 16:31:43 by Henrik Grubbström (Grubba) <>

Misc: Added some missing fall-through markers and breaks.


2015-03-16 17:27:53 by Martin Nilsson <>

Remove deprecated security system.


2015-03-13 21:15:50 by Henrik Grubbström (Grubba) <>

Doc: Clarified the difference between LFUNs `==() and _equal().


2015-02-07 13:02:47 by Henrik Grubbström (Grubba) <>

Compiler: Clear local variables on pop.

Local variables may get reused after pop, and such code expects
getting clean variables. This also reduces the lifetime for
various locks and similar to the expected range.

Note that this reduces the quality of the generated code somewhat.

2015-02-07 12:55:19 by Henrik Grubbström (Grubba) <>

Compiler: Clear local variables on pop.

Local variables may get reused after pop, and such code expects
getting clean variables. This also reduces the lifetime for
various locks and similar to the expected range.

Note that this reduces the quality of the generated code somewhat.


2014-12-05 15:01:31 by Martin Nilsson <>

check_type_string is a noop. Remove it.


2014-11-19 17:18:52 by Anders Johansson <>

Build: Support Bison 3.


2014-11-15 13:42:52 by Stephen R. van den Berg <>

Remove superfluous legacy compat support prior to 7.8.


2014-11-10 09:51:23 by Martin Nilsson <>

ins_short isn't used.


2014-11-06 05:50:42 by Martin Nilsson <>

Added some consts.


2014-10-22 17:19:23 by Arne Goedeke <>

Fix -Wglobbered warnings.

One of them was actually legitimate.

2014-10-22 17:18:28 by Arne Goedeke <>

Fix -Wglobbered warnings.

One of them was actually legitimate.


2014-10-18 20:51:39 by Henrik Grubbström (Grubba) <>

Doc: Added some Doxygen markup for C-level APIs.


2014-10-06 17:00:00 by Per Hedbor <>

Revert "Do not consider a function to be implemented if it's just a prototype."

This reverts commit 1881b02893eb681b6b18b9363410364509abb2ec.

It did not really work, since the 'implements' function is used in other places
where the prototype checking should not really be done.

As an example, defining a variable that was of type A to be type B.

It would not work if B had prototypes that were in A.

2014-10-06 16:45:16 by Per Hedbor <>

Do not consider a function to be implemented if it's just a prototype.

This changes typechecking in an incompatible manner.

Currently the SSL code does not compile.


2014-10-05 20:45:32 by Martin Nilsson <>

Remove remaining explicit 7.6 compat.


2014-10-03 16:16:13 by Per Hedbor <>

Removed security system (on this branch)


2014-10-01 16:29:23 by Martin Nilsson <>

Fix warnings


2014-09-30 15:26:44 by Per Hedbor <>

Support this::x for variables in this object.

This is equivalent to this_program::x, but shorter to write. And,
incidentally, more logical and more like other languages.


2014-09-26 19:43:38 by Henrik Grubbström (Grubba) <>

Compiler: Improved diagnostics.

The fatal "Internal error: Not allowed to add more identifiers during
second compiler pass" now informs about what the identifier was.


2014-09-09 19:11:04 by Stephen R. van den Berg <>

Silence warnings.


2014-09-05 10:16:04 by Arne Goedeke <>

strings: make simple constants static

2014-09-05 10:15:59 by Arne Goedeke <>

strings: create static strings in more places


2014-09-04 15:57:43 by Arne Goedeke <>

Merge remote-tracking branch 'origin/8.0' into string_alloc



2014-09-03 22:42:10 by Martin Nilsson <>

Fixed a few warnings.

2014-09-03 21:11:21 by Martin Nilsson <>

strchr is C89 and 4.3BSD

2014-09-03 18:14:04 by Martin Nilsson <>

memcpy is C89 and 4.3BSD

2014-09-03 17:53:37 by Martin Nilsson <>

memset is C89 and 4.3BSD


2014-08-26 08:48:58 by Henrik Grubbström (Grubba) <>

Compiler: Added some missing END_CYCLIC().

All execution branches from a BEGIN_CYCLIC() must either
END_CYCLIC() or throw an error before DECLARE_CYCLIC()
falls out of scope.

Potential fix for [LysLysKOM 20940558] (Pike developer list).


2014-08-24 12:37:20 by Arne Goedeke <>

Strings: generate more static strings

quick_add_function and make_shared_string will now create
static strings when the argument is a compile time constant

2014-08-24 00:34:59 by Martin Nilsson <>

Pike 7.2 was released 2002. Stop supporting compat for it.


2014-08-22 18:02:24 by Arne Goedeke <>

Merge remote-tracking branch 'origin/8.0' into string_alloc

2014-08-22 14:47:02 by Martin Nilsson <>

Improved type checking.


2014-08-21 18:11:55 by Martin Nilsson <>

Added void to zero argument functions.


2014-08-20 15:30:45 by Henrik Grubbström (Grubba) <>

Compiler: Added low_is_variant_dispatcher().

This function is useful when you have an identifier that might be a
variant dispatcher, but you don't know of a corresponding reference.


2014-08-14 13:46:10 by Per Hedbor <>

Removed F_IDENTIFIER: It was never generated.

This lessens the confusion and code-duplication somewhat.


2014-08-11 23:57:00 by Per Hedbor <>

Added a note about the lfun list in the autodoc parser


2014-08-07 16:24:31 by Per Hedbor <>

Only set IDENTIFIER_NO_THIS_REF for object and function variables


2014-06-23 14:28:44 by Henrik Grubbström (Grubba) <>

Compiler: Improved cycle detection in implements() and is_compatible().

Under some circumstances the new cache entries could be overwritten
before the functions had completed, leading to infinite recursion.

Fixes [InfoKOM 775534].


2014-06-18 13:31:26 by Henrik Grubbström (Grubba) <>

GC: Added visit_{enter,leave}() API.

Make it easier to keep track of state in the visit_*() API
by tracking when we start and stop visiting things.


2014-06-17 15:08:19 by Henrik Grubbström (Grubba) <>

GC: Propagate the extra parameter everywhere.

All the visit_*() functions and macros should now propagate the
argument extra.

2014-06-17 14:14:09 by Henrik Grubbström (Grubba) <>

GC: Clean up some of the visit_* API.

All the visit_*() functions now have all arguments.


2014-06-16 17:45:55 by Henrik Grubbström (Grubba) <>


Adds a flag indicating that the storage held by objects of the class
should be cleared prior to being freed. This is mainly to avoid having
secrets around longer than necessary.

FIXME: Consider adding a corresponding flag for objects to mark eg
some bignums for clearing.


2014-06-02 19:02:25 by Henrik Grubbström (Grubba) <>

Runtime: Added convenience function get_inherited_storage().

This function returns the storage in the current object belonging
to a specific inherit.


2014-05-26 15:14:49 by Per Hedbor <>

Changed return type of get_{inherit_,}storae to void*

This makes it possible to remove quite a lot of casts.


2014-05-22 16:48:08 by Per Hedbor <>

Moved implements_cache and friend to power of two.

Also shrunk it by a factor of four, we really should have dynamic
sizes here.


2014-05-12 16:42:44 by Henrik Grubbström (Grubba) <>

Compiler: Fixed thread context conflict.

co_wait_interpreter() doesn't swap out and in the active thread...

Fixes [LysLysKOM 20811527] (and probably [LysLysKOM 20811537] as well).


2014-05-03 09:41:32 by Henrik Grubbström (Grubba) <>

Compiler: Improved type checking for program references.

Inherits and type declarations now complain about use of
deprecated symbols.


2014-04-28 14:39:24 by Henrik Grubbström (Grubba) <>

Compiler: Avoid threads_disable().

The Pike compiler now uses a dedicated reentrant lock instead
of the brute-force approach of using threads_disable().

This should improve concurrency with other threads.


2014-04-27 20:50:24 by Martin Nilsson <>

realloc takes void* and doesn't need any cast.


2014-04-26 12:06:41 by Henrik Grubbström (Grubba) <>

Runtime: Improved robustness of parent_storage().

Under some circumstances parent_storage() could return
a storage pointer to a class that had inherited the
parent program. Fix this by making sure that we get the
storage for the program that we expect to find as parent.


2014-04-20 15:15:25 by Henrik Grubbström (Grubba) <>

Compiler: __INIT() has side effects...

Make sure that __INIT gets marked as having side effects,
or calls to it may get optimized away...

Also renames an internal variable.

2014-04-20 10:02:38 by Henrik Grubbström (Grubba) <>

Compiler: Support __INIT with C programs.

When a C program inherits Pike code, it may need to have an __INIT.
This would previously cause fatal errors as end_program() transited
to compiler pass #2 before the __INIT symbol had been added.

end_first_pass() now transits from pass #1 to pass #2 if finish
has been set, and ensures that __INIT (if needed) exists.


2014-04-16 19:15:32 by Henrik Grubbström (Grubba) <>

Compiler: Fixed variant zapping of reference #0.

The variant dispatcher collector was missing an offset, and always
zapped the modifier bits for identifier reference #0. This has the
effect that identifier reference #0 got the modifier bits intended
for the last variant dispatcher in the class.


2014-04-08 21:16:26 by Henrik Grubbström (Grubba) <>

Reinstate "Runtime: Improve diagnostics from the variant dispatcher."

Process.popen(string) should now work with it enabled.

This reverts commit 50348d848ec84753a198290cf5be9425a5b69f8e, and
reinstates commit a0b635a537e32c03c6e95afd7e42dd8021efc406 + patch.

2014-04-08 17:49:36 by Per Hedbor <>

Revert "Runtime: Improve diagnostics from the variant dispatcher."

This reverts commit a0b635a537e32c03c6e95afd7e42dd8021efc406.

Now Process.popen(string) works again.


2014-04-07 18:52:54 by Henrik Grubbström (Grubba) <>

Runtime: Improve diagnostics from the variant dispatcher.

The variant dispatcher now informs about all potential alternatives
when there's an argument mismatch.


2014-03-12 17:22:25 by Martin Nilsson <>

Hide stub function f_compilation_env_filter_exception.

2014-03-12 17:18:40 by Martin Nilsson <>

Inline find_object_type() to fix const warning.


2014-03-01 12:28:03 by Henrik Grubbström (Grubba) <>

Compiler: Support modifier-style attributes in more places.

The syntaxes

__attribute__("foo", mixed) x;


__attribute__("foo") mixed x;

are now equivalent.


2014-02-27 19:12:29 by Henrik Grubbström (Grubba) <>

Runtime: program_from_type() now uses find_object_type().

This fixes a bug where program_from_type could return eg the program
for a function object argument and similar. It now only recurses
meta types and not value types.


2014-02-26 22:59:26 by Henrik Grubbström (Grubba) <>

Runtime: Added support for casting types to program.

Casting an object type value to program will now result in the
corresponding program. eg:

program p = (program)_typeof(o);

is approximately the same as

program p = object_program(o);


2014-02-18 13:37:22 by Henrik Grubbström (Grubba) <>

Runtime: Improved variant dispatcher diagnostics.

The variant dispatcher now attempts to generate a more
informational error than "Invalid arguments to x()!"
when the actual arguments don't match any of the variants.


2014-02-05 21:03:06 by Henrik Grubbström (Grubba) <>

Compiler: Fix scope name for inherit ::this_program.

The scope name for inherits using ::this_program used to
be "this_program", which caused the "this_program::"-scope
to refer to the inherit rather than to the current class.

The scope now instead gets its name from the name of the current class.

Also fixes Crypto.CTR.State, which triggered the problem.


2014-01-16 20:28:39 by Henrik Grubbström (Grubba) <>

Runtime: Using FIND_LFUN() with non-LFUNS is an error.

Make sure to fatal if FIND_LFUN() is used with a fake LFUN.


2014-01-15 19:54:13 by Henrik Grubbström (Grubba) <>

Runtime: Using FIND_LFUN() with non-LFUNS is an error.

Make sure to fatal if FIND_LFUN() is used with a fake LFUN.

2014-01-15 10:47:21 by Arne Goedeke <>

program: check lfun number before accesing array

this led to out of bounds reads when accessing lfuns like _random


2014-01-12 02:07:06 by Tobias S. Josefowitz <>

mostly harmless overflows, fixed

2014-01-12 02:04:38 by Tobias S. Josefowitz <>

optimization: use new unaligned helpers

2014-01-12 02:00:55 by Arne Goedeke <>

program: check lfun number before accesing array

this led to out of bounds reads when accessing lfuns like _random


2014-01-05 15:14:13 by Marcus Comstedt <>

Merge branch '8.0' into gobject-introspection


2013-12-12 16:49:47 by Henrik Grubbström (Grubba) <>

Compiler: Migrate OPT_* flags to the variant dispatcher.

Variant dispatchers need to have the same set of OPT_* flags
as the functions they dispatch to, to avoid over optimization.

Fixes [Pike Mailinglist 13786]/[LysLysKOM 20594561].


2013-11-20 21:35:07 by Henrik Grubbström (Grubba) <>

Document some previously undocumented symbols.

Most builtin stuff should now be documented.


2013-11-18 20:11:05 by Henrik Grubbström (Grubba) <>

Documentation: Moved some lfun documentation around.

2013-11-18 20:08:04 by Henrik Grubbström (Grubba) <>

Debug.size_object: Added some doc for lfun::_size_object().

All lfuns should now be documented.

2013-11-18 20:05:35 by Henrik Grubbström (Grubba) <>

random: lfun::_random() now actually is a (fake) lfun.

lfun::_random() now behaves like a proper lfun.

Moved some documentation around accordingly.


2013-11-16 11:53:21 by Henrik Grubbström (Grubba) <>

AutoDoc: Improved documentation of some LFUNs.


2013-11-10 19:00:27 by Henrik Grubbström (Grubba) <>

Compiler: Git rid of some symbol mangling.

Fixes lookup of deep inherits.


2013-11-08 17:37:10 by Henrik Grubbström (Grubba) <>

decode_value: id_to_program() now knows about Nettle.

2013-11-08 14:57:24 by Henrik Grubbström (Grubba) <>

Language: Support referring directly to inherited scopes.

find_inherit() now falls back to the most recent scope if
it is not present among the direct scopes. This is useful
when having deeply nested inherits, and allows for eg:


to possibly be replaced with just



2013-11-03 18:07:23 by Arne Goedeke <>

fixed count_memory_in_programs

2013-11-03 18:00:36 by Henrik Grubbström (Grubba) <>

Compiler: Fixed inherits of deep mixins.

Fixes the long standing [bug 6063].

2013-11-03 16:59:19 by Henrik Grubbström (Grubba) <>

Debug: Fixed bug in dump_program_tables().

The filename for inherited references was looked up in the wrong


2013-10-31 16:01:20 by Henrik Grubbström (Grubba) <>

Compiler: Rename the arguments to really_low_reference_inherited_identifier().

The arguments were confusing in that 'e' was the inherit number and
'i' was the reference number. They are now named 'i' for the inherit
number, and 'f' for the reference number.


2013-10-28 20:02:42 by Henrik Grubbström (Grubba) <>

Compiler: Make more stuff available to cmods.

{really_,}low_reference_inherited_identifier() are needed
to be able to access overloaded identifiers from C-modules.


2013-10-19 11:30:31 by Henrik Grubbström (Grubba) <>

Runtime: Added get_inherit_storage().

Adds easy access to the storage belonging to a specific inherit
in an object. This function should be used in preference to
get_storage() when the inherit graph is known, to improve
support for multiple inherit of programs implemented in C.


2013-10-14 21:51:13 by Arne Goedeke <>

Runtime: Fixed typo in FIND_PROGRAM_LINE().

Fixes a segfault in call_backtraces()


2013-10-09 15:56:24 by Arne Goedeke <>

compiler: use new block allocator for node_s


2013-10-07 16:48:43 by Henrik Grubbström (Grubba) <>

Compiler: Fixed bug in ext_store_program_line().

The filename was leaked, could be lost and triggered the
"Invalid file entry in linenumber info." fatal when used
in a pike compiled --with-debug.


2013-10-05 13:05:56 by Henrik Grubbström (Grubba) <>

Modules: Export some more functions to the module API.

These functions are needed to find inherited symbols.

2013-10-05 11:56:36 by Henrik Grubbström (Grubba) <>

Runtime: Fixed typo in FIND_PROGRAM_LINE().

Fixes SIGSEGV when rendering some backtraces in PIKE_DEBUG mode.

2013-10-05 11:55:58 by Henrik Grubbström (Grubba) <>

Objects: Exit event handlers may need the parent.

Make sure that parent_storage() also works from exit event
handlers. Fixes fatal "Shouldn't get an exception in destruct()."

Also propagates the PROGRAM_HAS_C_METHODS flag on inherit.


2013-09-22 11:51:20 by Arne Goedeke <>

Get rid of some harmless valgrind warnings


2013-09-18 10:29:23 by Per Hedbor <>

Added support for an _object_size method in objects.

If defined the return value from that function will be added to the
size calculated by _object_size.

This is mainly useful to get more correct debug information about
memory usage, as an example when using Debug.pp_object_usage.

Callbacks have currently only been added to Image.Image and

Currently the normal memory_usge() function does not include these
sizes, it should probably do so, however.


2013-09-12 09:47:15 by Arne Goedeke <>

initialize pike_frame->num_args even in special cases


2013-09-08 23:08:05 by Martin Nilsson <>

Save one realloc for wide string file names and moved trivial code into make_plain_file.

2013-09-08 20:45:12 by Henrik Grubbström (Grubba) <>

Compiler: Changed line number file name representation.

The program line number table now contains indices into
the program string table to keep track of file names,
instead of having a binary dump of the file name directly
in the line number table. This makes for a somewhat cleaner
line number code.

Fixes old FIXME.


2013-08-14 09:23:42 by Marcus Comstedt <>

Runtime: Fix references to threads_disabled if no threads


2013-08-01 17:02:42 by Arne Goedeke <>

uninitialized memory access

2013-08-01 17:02:42 by Arne Goedeke <>

initialize pike_frame->num_args even in special cases


2013-07-17 17:50:02 by Henrik Grubbström (Grubba) <>

Compiler: Fixed __INIT() prototype detection.

The __INIT() prototype detection in the decode_value() case
was off by one in the previous commit. With this fix all of
the known issues introduced by the __INIT() changes seem to
be fixed.

2013-07-17 17:35:01 by Henrik Grubbström (Grubba) <>

Compiler: More __INIT() related fixes.

Avoid calling __INIT() when it is just a prototype.


2013-07-09 10:13:33 by Henrik Grubbström (Grubba) <>

Compiler: Inhibit warnings for creating deprecated lfuns.

Fixes [LysLysKOM 20354456].


2013-06-21 09:18:55 by Arne Goedeke <>

Merge remote-tracking branch 'origin/7.9' into pdf


2013-06-17 21:40:00 by Martin Nilsson <>

Removed auto bignum checks.

2013-06-17 11:24:19 by Arne Goedeke <>

fixed pike_type leak


2013-06-16 10:53:54 by Henrik Grubbström (Grubba) <>

encode_value: Support variant functions.

Note: No changes were needed to decode_value().


2013-06-15 12:51:38 by Henrik Grubbström (Grubba) <>

decode_value: Fix handling of inherits.

Use program.c:lower_inherit() in decode_value(). The new
parent flags handling in low_inherit() isn't safe to use
from decode_value(), since the program_state stack isn't
necessarily the same as when the encoded program was
initially compiled.

Fixes various dumping errors.


2013-06-12 20:04:24 by Arne Goedeke <>

Added new block allocator. It dramatically speeds up free, when
allocating many blocks and deallocation happens non linearly.

2013-06-12 19:01:37 by Arne Goedeke <>

new block alloc

2013-06-12 18:34:31 by Arne Goedeke <>

new block alloc

2013-06-12 18:21:52 by Arne Goedeke <>

Merge remote-tracking branch 'origin/7.9' into ba


2013-06-12 15:46:22 by Per Hedbor <>

[performance] Use the hashtable more when indexing objects

Now it is used even if there is only one identifier in the object.
That helps more than it should, really


2013-06-11 23:50:34 by Arne Goedeke <>

Merge remote-tracking branch 'origin/7.9' into ba

2013-06-11 21:51:01 by Arne Goedeke <>

ammend this


2013-06-08 20:27:56 by Martin Nilsson <>

Removed the experimental facets implementation.

2013-06-08 11:16:04 by Henrik Grubbström (Grubba) <>

Compiler: Fixed overriding of variant functions.

Overriding of variant functions now seems to work as intended.

Also adds testsuite test that checks some of the cases.


2013-06-02 22:56:03 by Martin Nilsson <>

Small compile fix.

2013-06-02 20:18:28 by Henrik Grubbström (Grubba) <>

Compiler: Improved handling of variant functions.

The idea here is that a non-variant function restarts the function
definition for the symbol (ie overrides all earlier variants), and
a variant function adds another case to the existing definition for
the symbol (if any).

Also added detection of variant getters and setters.


2013-06-01 10:19:55 by Henrik Grubbström (Grubba) <>

Compiler: Improved overriding of variant functions.

Overriding a variant function with a non variant
now causes later variant function overrides to
not reinstate the function.

2013-06-01 09:17:47 by Henrik Grubbström (Grubba) <>

Compiler: Minor code cleanup.

Store Pike_compiler->new_program in a local variable in


2013-05-31 17:33:01 by Per Hedbor <>

Added get_lax_type_of_svalue. Used for constant:s.

int(0..0) -> zero
int(X..Y) -> int
string(X..Y) -> string

This was done to remove some code duplication, and as an added feature
constant x = "foo"; now allows you to assign "f\xfff" when inheriting.


2013-05-29 22:01:56 by Henrik Grubbström (Grubba) <>

Compiler: Improved variant dispatcher.

Inherited dispatchers and the ::-operator now work in some cases.


2013-05-28 20:37:29 by Per Hedbor <>

First stage of the 'auto' type.

Works, but for now only for variable declarations, not return types
(entirely, most of the plumbing is done) or for variables declared in
foreach and sscanf.

Since the loop variables in foreach is really the most important
location, this is of somewhat limited use so far.

Commited for safekeeping.


2013-05-26 14:43:44 by Henrik Grubbström (Grubba) <>

Compiler: Added dispatcher for variant functions. (EXPERIMENTAL!)

This is the first attempt at a generic dispatcher for
variant functions. It seems to work for the trivial cases:

| Pike v7.9 release 5 running Hilfe v3.5 (Incremental Pike Frontend)
| > class foo {
| >> variant int bar(int a) { return a*2; }
| >> variant string bar(string s) { return "FOO" + s + "FOO"; }
| >> variant string bar() { return "FOO"; }
| >> }
| > typeof(foo()->bar);
| (1) Result: function( : string) | function(int : int) | function(string : string)
| > foo()->bar(17);
| (2) Result: 34
| > foo()->bar("BAR");
| (3) Result: "FOOBARFOO"
| > foo()->bar();
| (4) Result: "FOO"
| > foo()->bar(1.2);
| Compiler Error: 1: Bad argument 1 to bar.
| Compiler Error: 1: Expected: string | int.
| Compiler Error: 1: Got : float.
| > foo()->bar((mixed)1.2);
| Invalid arguments to bar()!
| HilfeInput:1: HilfeInput()->foo()->bar(1.2)
| HilfeInput:1: HilfeInput()->___HilfeWrapper()

Note that it is probably broken for more complicated cases.
Such cases include when the variants have differing modifiers
(including when one of the variants lack the variant modifier).

2013-05-26 14:43:43 by Henrik Grubbström (Grubba) <>

Compiler: Removed some obsolete variant code.

Changed approach to implementing variant functions.
This removes the remnants of the old approach.

2013-05-26 14:43:43 by Henrik Grubbström (Grubba) <>

Compiler: Hide variant functions from the normal lookup functions.

The idea here is to hide the variant functions from normal lookup,
and then to add a dispatcher function, which calls the appropriate
variant function later.

2013-05-26 14:43:43 by Henrik Grubbström (Grubba) <>

Compiler: Added new lookup functions for variants.

Added new lookup function really_low_find_variant_identifier()
that looks up based on both name and type.


2013-05-17 13:43:33 by Henrik Grubbström (Grubba) <>

Compiler: Fixed updating of PROGRAM_{NEEDS,USES}_PARENT.

low_inherit() may get called with a parent offset of 24
(OBJECT_PARENT + 42) or 25 (INHERIT_PARENT + 42) when
called from decode_value().

Make sure we don't start zapping flags in random programs
on the compiler stack when this happens.

Fixes [LysLysKOM 20258894] and [LysLysKOM 20273476]/[Pike 13584].


2013-04-28 20:04:54 by Henrik Grubbström (Grubba) <>

Compiler: Fixed a few bugs in reference_inherited_identifier().

2013-04-28 18:03:09 by Henrik Grubbström (Grubba) <>

Compiler: Repurposed reference_inherited_identifier().

The previously unused function reference_inherited_identifier() is
now analogous to the low_* and really_low_* variants, and exported.


2013-04-27 17:16:37 by Henrik Grubbström (Grubba) <>

Compiler: Fixed low_inherit() updating parent flags.

The PROGRAM_{NEEDS,USES}_PARENT flags could be lost
in pass 2 of the compiler.

Also fixes a related issue when low_inherit() is
called by decode_value().

2013-04-27 13:59:27 by Henrik Grubbström (Grubba) <>

Compiler: Added support for ::this_program.

This syntax refers to the previous definition of the current class
in its parent, and is typically used with inherit like:

inherit Foo;

// Override the Bar inherited from Foo.
class Bar {
// Bar is based on the implementation from Foo.
inherit ::this_program;

// ...

Note that this change is slightly incompatible with Pike 7.8.


2013-04-21 10:12:07 by Henrik Grubbström (Grubba) <>

Compiler: Added resolve_program().

Added helper function resolve_program() to simplify resolving of
program symbols during compile-time for C-modules.

This function is used from precompiled code when inheriting
strings (API level 5).


2013-04-20 21:04:44 by Henrik Grubbström (Grubba) <>

Compiler: low_inherit() now updates parent flags.

Moved update of parent flags (PROGRAM_{NEEDS,USES}_PARENT) from
compiler_do_inherit() to low_inherit(), to help out C-modules
that inherit programs needing parent pointers, since they
typically use low_inherit() directly.


2013-04-08 10:46:49 by Felipe Monteiro de Carvalho <>

Fixes compilation on Kubuntu 12.10.

According to the bison manual, yydebug is only available if YYDEBUG is
defined and equals 1. Also the yyparse prototype was wrong.


2013-02-25 13:11:43 by Arne Goedeke <>

PMOD_EXPORT some more symbols, which are being used by dynamic modules
in case of PIKE_DEBUG


2013-02-19 17:39:55 by Henrik Grubbström (Grubba) <>

Runtime: Reduced verbosity for softcast errors.

2013-02-19 15:25:27 by Henrik Grubbström (Grubba) <>

Runtime: Improved diagnostics in -rt mode.

Also adds the string_builder_explain_*() functions, that
mirror the corresponding yyexplain_*() functions.


2013-02-03 13:08:50 by Henrik Grubbström (Grubba) <>

Compiler: Make sure private implies both local and protected.

The typechecker and other stuff got confused when symbols
were private but not protected.

Fixes [LysLysKOM 20106812]:
| 20106812 idag 12:54 /12 rader/ Mattias Wingstedt (Firefruit)
| Mottagare: Pike (-) erfarenhetsutbyte <12765>
| Ärende: Felarv
| ------------------------------------------------------------
| Jag får "type mismatch in argument" där argumentet som förväntas är en
| Error.Generic. Den klagar på "Missing identifier error_name".
| Det jag skickar in är ett objekt från en klass som ärver
| Error.Generic. Fast den verkar ha rätt, när jag instansierar en
| Error.Generic får den en error_name, som saknas när jag instansierar
| min klass som ärver Error.Generic. I övrigt verkar de båda objekten
| innehålla samma medlemsvariabler.
| Pike version 7.8 release 700.
| Vad kan det vara för fin finess mitt program har råkat ut för?
| (20106812) /Mattias Wingstedt (Firefruit)/----------


2012-12-30 15:37:27 by Jonas Walldén <>

Wrap unused parameters in UNUSED(), and debug-only parameters in DEBUGUSED(), to cut
down on compiler warnings. The macro also renames parameters to catch accidental use.
(There are more places to clean up but I don't want to modify code that isn't compiling
on my machine.)


2012-10-28 15:40:20 by Marcus Comstedt <>

Merge branch '7.9' into gobject-introspection


2012-10-27 15:36:42 by Henrik Grubbström (Grubba) <>

Compiler: Use cast to program instead of object_program() for inherits.

This is needed to be able to simulate inheritable programs with objects.

Fixes [bug 6573].

2012-10-27 15:29:49 by Henrik Grubbström (Grubba) <>

Compiler: Added low_program_from_svalue().

This allows for passing the parent object and identifier when needed.

This is needed for [bug 6573].


2012-10-09 12:36:34 by Henrik Grubbström (Grubba) <>

Compiler: Don't complain about unused private LFUNs. Fixes [bug 6553].


2012-10-06 11:38:03 by Marcus Comstedt <>

Merge branch '7.9' into gobject-introspection


2012-07-18 12:56:57 by Arne Goedeke <>

Merge branch '7.9' into block_alloc



2012-07-15 13:15:08 by Henrik Grubbström (Grubba) <>

Runtime: Improved robustness of low_get_line().

The linenumber and offset deltas could get swapped if the end
of the table was reached, more entries added and then resumed.

This could in turn trigger the "get_small_number used on filename entry"
fatal error.


2012-06-15 09:54:06 by Arne Goedeke <>

Merge remote branch 'origin/7.9' into rblock_alloc



2012-06-12 15:04:01 by Per Hedbor <>

Use power-of-two hashtable for string->offset mapping for objects.

This could almost certainly be optimized further, but for now gives about
0.2% better performance in the benchmarks. Probably less in real code,


2012-06-08 11:01:57 by Stephen R. van den Berg <>

quick_ made quick, and compacted some code.


2012-04-29 20:53:39 by Henrik Grubbström (Grubba) <>

Compiler: First try at resolving inherited symbols via inherited lfun::`->().


2012-04-01 16:15:04 by Arne Goedeke <>

Merge remote branch 'origin/7.9' into breaking_into_pieces


2012-02-01 14:30:10 by Henrik Grubbström (Grubba) <>

Runtime: Made parent_storage() more robust.

Now supports being called from event handlers again.


2012-01-16 12:08:29 by Henrik Grubbström (Grubba) <>

Compiler: Workaround for call_c_initializers() creating broken frames. Fixes [bug 6156].

Proper fix in Pike 7.9.


2012-01-12 17:03:20 by Henrik Grubbström (Grubba) <>

Compiler: Forward compatibility with 64-bit line numbers from Pike 7.9.

2012-01-12 14:49:06 by Henrik Grubbström (Grubba) <>

Compiler: The compiler and runtime are now INT_TYPE-clean wrt line numbers.


2012-01-07 02:41:04 by Jonas Walldén <>

Fix profiling of recursive functions by tracking recursion level. Fixes [bug 5131].

2012-01-07 02:36:30 by Jonas Walldén <>

Fix profiling of recursive functions by tracking recursion level. Fixes [bug 5131].


2011-12-09 12:28:31 by Henrik Grubbström (Grubba) <>

CompilerEnvironment: Separated report() to a separate Reporter class.


2011-12-05 19:40:09 by Henrik Grubbström (Grubba) <>

CompilerHandler: Support calling of report() in the master and handler objects.


2011-11-20 17:33:32 by Henrik Grubbström (Grubba) <>

Compiler: Moved the resolve_cache to the compiler context proper.


2011-11-16 22:52:20 by Tobias S. Josefowitz <>

Change in internal timehandling; ability to invalidate current_time.


2011-11-05 15:02:44 by Martin Nilsson <>

Removed $Id$.


2011-11-02 21:38:02 by Henrik Grubbström (Grubba) <>

Getters/Setters: Avoid relying on stale pointers.

The identifier tables may be reallocated between the definition
of the getter/setter, and it being set later in define_function()...
Fixes issue reported by 郭雪松 <>, thanks.


2011-10-29 15:33:26 by Henrik Grubbström (Grubba) <>

Getters/Setters: Avoid relying on stale pointers.

The identifier tables may be reallocated between the definition
of the getter/setter, and it being set later in define_function()...
Fixes issue reported by 郭雪松 <>, thanks.


2011-10-28 13:04:55 by Henrik Grubbström (Grubba) <>

Atomic megapatch: Use svalue accessor macros everywhere.


2011-09-15 11:21:57 by Henrik Grubbström (Grubba) <>

Revert "Compiler: Fixed resolving of external symbols in deep inherits. Fixes [bug 6063].". Fixes [bug 6065].

This reverts commit 015e37ddcac414407f936bba22eab6995f9d2ef7.

The above commit caused [bug 6065]. Another approach is needed.

2011-09-15 11:13:35 by Henrik Grubbström (Grubba) <>

Revert "Compiler: Fixed resolving of external symbols in deep inherits. Fixes [bug 6063].". Fixes [bug 6065].

This reverts commit 6c98ca273df23f43842684297485e213f60ef66c.

The above commit caused [bug 6065]. Another approach is needed.


2011-09-05 17:36:56 by Henrik Grubbström (Grubba) <>

Compiler: Fixed resolving of external symbols in deep inherits. Fixes [bug 6063].

Thanks to 郭雪松 <> for the bugreport.

2011-09-05 17:30:46 by Henrik Grubbström (Grubba) <>

Compiler: Fixed resolving of external symbols in deep inherits. Fixes [bug 6063].

Thanks to 郭雪松 <> for the bugreport.


2011-07-22 12:12:00 by Henrik Grubbström (Grubba) <>

Atomic: Store the type in the ref_type field for all reference types.


2011-04-25 16:12:49 by Martin Stjernholm <>

No more foreign_idents.

2011-04-25 16:12:40 by Martin Stjernholm <>

No more foreign_idents.

2011-04-25 16:11:00 by Martin Stjernholm <>

No more foreign_idents.


2011-02-04 22:57:02 by Henrik Grubbström (Grubba) <>

Serializer: Rotated the argument order for the {,de}serializer() callback function to be more convenient.


2011-01-21 16:22:23 by Henrik Grubbström (Grubba) <>

Serializer: First implementation of the Serializer interface.


2011-01-15 15:21:04 by Henrik Grubbström (Grubba) <>

Added predef::types() in analogue with indices() and values().

Also adds lfun::_types() and ::_types().


2010-11-26 12:16:34 by Henrik Grubbström (Grubba) <>

First step towards supporting deferred evaluation of constants.

2010-11-26 11:08:47 by Henrik Grubbström (Grubba) <>

Oops, missed initializing ref.run_time_type in low_inherit().


2010-11-25 20:36:41 by Henrik Grubbström (Grubba) <>

Added cache for vtable lookups in the get case.

2010-11-25 20:33:07 by Henrik Grubbström (Grubba) <>

Preparations for changing the identifier information for constants.


2010-11-20 12:50:46 by Henrik Grubbström (Grubba) <>

First go at supporting static storage.


2010-11-11 14:34:27 by Henrik Grubbström (Grubba) <>

Added low_program_index_no_free().


2010-07-01 11:25:21 by Henrik Grubbström (Grubba) <>

Allocate object storage with xcalloc() to reduce the amount of work for call_c_initializers().

Rev: src/encode.c:1.294
Rev: src/object.c:1.309
Rev: src/program.c:1.778


2010-05-19 09:32:22 by Henrik Grubbström (Grubba) <>

Some autodoc updates regarding hash functions.

Rev: src/builtin_functions.c:1.700
Rev: src/program.c:1.777


2010-04-10 14:07:30 by Martin Stjernholm <>

Added a memory checker hint.

Rev: src/program.c:1.776


2010-02-18 08:52:55 by Stephen R. van den Berg <>

A const is a const is a const.

Rev: src/program.c:1.775
Rev: src/program.h:1.268
Rev: src/svalue.c:1.259
Rev: src/svalue.h:1.172


2010-02-08 17:40:10 by Henrik Grubbström (Grubba) <>

Fixed issue where PikeCompiler()->apply_attribute_constant() could throw errors for unevaluated constant expressions.

Rev: src/program.c:1.774


2009-11-28 13:36:21 by Martin Stjernholm <>

More rtldebug to get better info when gc_mark problems happen.

Rev: Makefile:1.168
Rev: src/array.c:1.226
Rev: src/gc.c:1.338
Rev: src/gc.h:1.138
Rev: src/mapping.c:1.214
Rev: src/multiset.c:1.119
Rev: src/object.c:1.304
Rev: src/pike_types.c:1.361
Rev: src/program.c:1.773
Rev: src/svalue.c:1.255


2009-11-20 10:58:09 by Henrik Grubbström (Grubba) <>

Avoid generating unnecessary parent pointers for inherits and types.
Fixes [bug 2672].

Rev: src/docode.c:1.206
Rev: src/las.c:1.442
Rev: src/program.c:1.772


2009-09-12 13:31:38 by Henrik Grubbström (Grubba) <>

Cleaned up facet handling somewhat.
Added a few FIXMEs.

Rev: src/language.yacc:1.452
Rev: src/program.c:1.771
Rev: src/program.h:1.267


2009-09-09 15:58:21 by Henrik Grubbström (Grubba) <>

More documentation fixes.

Rev: src/program.c:1.770


2009-09-08 16:49:31 by Henrik Grubbström (Grubba) <>

Improved some CompilerEnvironment-related AutoDoc mk II markup.
Added some FIXME markers regarding f_compilation_env_filter_exception().

Rev: src/program.c:1.769


2009-08-18 19:55:13 by Henrik Grubbström (Grubba) <>

Fixed hiding of functions with prototypes.
Fixed issue with PROGRAM_BUILD_DEBUG not working.

Rev: src/program.c:1.768

2009-08-18 15:56:11 by Henrik Grubbström (Grubba) <>

override_identifier() now knows more about handling of external symbols.
The above makes encode_value() more happy about encoding the master program.
Fixed range bug in low_add_many_to_program().

Rev: src/program.c:1.767


2009-08-17 11:41:33 by Henrik Grubbström (Grubba) <>

Added low_add_many_to_program().

Rev: src/program.c:1.766
Rev: src/program.h:1.266


2009-06-24 17:35:28 by Henrik Grubbström (Grubba) <>

Protential bugfix.

Rev: src/program.c:1.765


2009-06-22 12:08:51 by Henrik Grubbström (Grubba) <>

Fixed some warnings.

Rev: src/program.c:1.764
Rev: src/program.h:1.265


2009-06-21 17:16:06 by Henrik Grubbström (Grubba) <>

Fixed issue where symbols could be hidden by a later inherit of the same symbol but protected.

Rev: src/program.c:1.763


2009-06-17 15:39:05 by Henrik Grubbström (Grubba) <>

low_get_function_line() now knows about prototypes.
Fixes [bug 4855] ("Bad offset" when generating backtrace).

Rev: src/program.c:1.762


2009-04-22 17:17:55 by Henrik Grubbström (Grubba) <>

Pike 7.6 and earlier compat for store_constant(UNDEFINED).
Note that this behaviour is usually not something you'd want, but apparently there's code out there needing it.

Rev: src/program.c:1.761


2009-03-12 17:31:36 by Henrik Grubbström (Grubba) <>

PikeCompiler()->apply_attribute_constant() now knows about strict_sprintf_format.

Rev: src/program.c:1.760


2009-03-04 16:21:50 by Henrik Grubbström (Grubba) <>

Fixed bug in yyexplain_not_implements() where REPORT_NOTICE was escalated to REPORT_WARNING.

Rev: src/program.c:1.759

2009-03-04 14:17:10 by Henrik Grubbström (Grubba) <>

Fixed core-dump typo in yyexplain_not_implements().

Rev: src/program.c:1.758


2008-12-15 21:46:09 by Martin Stjernholm <>

Fixed make_plain_file to honor the malloced flag for narrow strings,
and fixed length calculation bug.

Rev: src/program.c:1.757


2008-09-15 14:46:54 by Henrik Grubbström (Grubba) <>

extern declared variables now work again.

Rev: src/program.c:1.756


2008-09-14 17:01:18 by Henrik Grubbström (Grubba) <>

define_variable() now hides the original variable when overloading local or extern variables.

Rev: src/program.c:1.755

2008-09-14 11:16:23 by Henrik Grubbström (Grubba) <>

Fixed overriding of inherited local identifiers.

Rev: src/program.c:1.754


2008-09-04 11:36:45 by Henrik Grubbström (Grubba) <>

Added duplicate filtering pass to fixate_program() after fsort_program_identifier_index().
This fixes issues where duplicate identifiers shows up in indices() on objects.
Made program_identifier_index_compare() more stable.
Added output of the identifier name in the identifier index table in dump_program_tables().

Rev: src/program.c:1.753


2008-09-03 14:46:13 by Martin Stjernholm <>

Fixed a debug printout as intended.

Rev: src/program.c:1.752


2008-08-27 15:45:19 by 0

Fix debug message.

Rev: src/program.c:1.751


2008-08-26 16:13:05 by Martin Stjernholm <>

Another attempt to fix the "external refs after unregister" debug

Rev: src/program.c:1.750


2008-08-18 15:18:18 by Martin Stjernholm <>

Added another convenience function to get program lines easier in gdb.

Rev: src/program.c:1.749


2008-08-17 16:22:41 by Martin Stjernholm <>

Added more compilation dependency registrations. This can potentially make
the compiler bark on more cyclic reference cases, but it's necessary to
ensure indexed programs aren't (completely or partially) empty in pass 2,
which can lead to very strange compilation errors.

Also cleaned up some compiler error messages a little.

Rev: src/las.c:1.434
Rev: src/program.c:1.748

2008-08-17 15:59:07 by Martin Stjernholm <>

Restored the free in the old unused compile() function, but noted
another possible ref problem there.

Rev: src/program.c:1.747

2008-08-17 15:50:53 by Martin Stjernholm <>

Fixed extra free of programs that could occur if a nested delayed
compilation failed.

Rev: src/program.c:1.746

2008-08-17 11:01:40 by Martin Stjernholm <>

More COMPILER_DEBUG improvements.

Rev: src/program.c:1.745


2008-08-15 17:26:15 by Martin Stjernholm <>

Fixed wrong runtime type for a mapped variable. This could cause gc fatals.

Rev: src/program.c:1.744


2008-08-14 22:12:39 by Martin Stjernholm <>

Check that the inherited program is really finished in pass 2. Also
extended those error messages so that mere mortals might understand
what it really is about.

Rev: src/program.c:1.743


2008-08-13 21:11:58 by Martin Stjernholm <>

Fixed cleanup to work with the "external refs after unregister" debug

Rev: src/program.c:1.742

2008-08-13 18:02:03 by Martin Stjernholm <>

Probably a better fix for the multiple run_cleanup calls bug.

Rev: src/pike_compiler.h:1.16
Rev: src/program.c:1.741

2008-08-13 14:45:08 by Martin Stjernholm <>

Added a disclaimer comment about the last fix.

Rev: src/program.c:1.740

2008-08-13 14:27:36 by Martin Stjernholm <>

Fix for multiple run_cleanup calls for failed delay compiled programs.
Also exteded the COMPILER_DEBUG messages somewhat.

Rev: src/pike_compiler.h:1.15
Rev: src/program.c:1.739


2008-08-06 12:25:59 by Henrik Grubbström (Grubba) <>

Fixed bug in call_handle_inherit().

Rev: src/program.c:1.738


2008-07-16 01:19:46 by Martin Stjernholm <>

Nicer if low_make_buf_space takes a signed amount to allow shrinking, than
that it's given a very large unsigned number that causes wrap-around.

Rev: src/dynamic_buffer.c:1.27
Rev: src/dynamic_buffer.h:1.22
Rev: src/program.c:1.737

2008-07-16 01:00:19 by Martin Stjernholm <>

Fixed some warnings and removed a bunch of unused variables.

Rev: src/program.c:1.736


2008-07-14 11:49:10 by Henrik Grubbström (Grubba) <>

Mark private symbols as local.

Rev: src/program.c:1.735


2008-07-13 19:06:23 by Henrik Grubbström (Grubba) <>

Named non-local integer constants now get a somewhat less strict type.

Rev: src/program.c:1.734

2008-07-13 16:26:53 by Henrik Grubbström (Grubba) <>

Fixed another instance of the fatal "Not allowed to add more identifiers during second compiler pass.".

Rev: src/program.c:1.733


2008-07-09 20:42:25 by Martin Stjernholm <>

Some cleanup.

Rev: src/program.c:1.732

2008-07-09 20:32:48 by Martin Stjernholm <>

Fixed incorrect old-style use of T_INT without subtype to mark a free
value. This was in newly added code from rev 1.667; please be more

Rev: src/program.c:1.731


2008-06-29 21:00:42 by Henrik Grubbström (Grubba) <>

Reduced amount of info in deprecation warning to report a less confusing message.

Rev: src/program.c:1.730

2008-06-29 12:50:04 by Martin Nilsson <>


Rev: src/encode.c:1.283
Rev: src/language.yacc:1.441
Rev: src/object.c:1.300
Rev: src/program.c:1.729

2008-06-29 12:37:11 by Martin Nilsson <>


Rev: src/backend.cmod:1.229
Rev: src/builtin.cmod:1.217
Rev: src/errors.h:1.40
Rev: src/interpret_functions.h:1.208
Rev: src/iterators.cmod:1.70
Rev: src/language.yacc:1.440
Rev: src/object.c:1.299
Rev: src/pike_search.c:1.31
Rev: src/program.c:1.728
Rev: src/signal_handler.c:1.333
Rev: src/threads.c:1.259


2008-06-28 21:50:11 by Martin Stjernholm <>

More static -> protected.

Rev: src/object.c:1.298
Rev: src/program.c:1.727
Rev: src/program.h:1.256

2008-06-28 11:01:54 by Martin Stjernholm <>

Fixed wrongthinking in eval_low optimization; we have to flush the
instruction cache on the area each time. (It's still a substantial
improvement though, since only the area with the new code is flushed instead
of the whole program.)

Rev: src/las.c:1.425
Rev: src/program.c:1.726
Rev: src/program.h:1.255

2008-06-28 09:08:08 by Martin Stjernholm <>

Removed a forgotten header only used for debug.

Rev: src/program.c:1.725

2008-06-28 07:00:47 by Henrik Grubbström (Grubba) <>

Now has a chance at supporting machine code on systems without execinfo.h.

Rev: src/program.c:1.724

2008-06-28 03:25:51 by Martin Stjernholm <>

Don't flush the instruction cache over and over again for the same area in
eval_low when machine code is used. This should speed up constant evaluation
a bit (benchmarks run about 8% faster overall for ia32).

Rev: src/las.c:1.421
Rev: src/program.c:1.723
Rev: src/program.h:1.254


2008-06-27 11:33:08 by Henrik Grubbström (Grubba) <>

m_generation() is no more.

Rev: src/builtin.cmod:1.215
Rev: src/encode.c:1.281
Rev: src/mapping.c:1.207
Rev: src/mapping.h:1.70
Rev: src/program.c:1.722
Rev: src/program.h:1.253


2008-06-24 18:47:13 by Henrik Grubbström (Grubba) <>

Added fake lfun _m_generation().

Rev: src/program.c:1.721
Rev: src/program.h:1.252


2008-06-23 16:41:03 by Martin Stjernholm <>

mc_count_bytes fix.

Rev: src/modules/Gmp/mpf.cmod:1.38
Rev: src/modules/Gmp/mpq.cmod:1.30
Rev: src/program.c:1.720


2008-06-10 13:56:51 by Henrik Grubbström (Grubba) <>

Compatibility with Pike 7.6 and earlier for program_magic_identifier().
Referring to 'this' for a surrounding class should now work for compat code again.

Rev: src/program.c:1.719


2008-06-09 10:57:08 by Henrik Grubbström (Grubba) <>

Bugfix of get_identifier_line().

Rev: src/program.c:1.718


2008-06-02 15:43:30 by Martin Stjernholm <>

Export low_get_storage.

Rev: src/program.c:1.717
Rev: src/program.h:1.251


2008-06-01 11:19:58 by Henrik Grubbström (Grubba) <>

Fixed some Autodoc mk II typos.

Rev: src/builtin_functions.c:1.670
Rev: src/program.c:1.716


2008-05-31 18:06:25 by Henrik Grubbström (Grubba) <>

Fixed some typos.

Rev: src/program.c:1.715

2008-05-31 16:21:30 by Henrik Grubbström (Grubba) <>

Added get_identifier_line().

Rev: src/program.c:1.714
Rev: src/program.h:1.250

2008-05-31 12:15:18 by Henrik Grubbström (Grubba) <>

Some cleanups.
Now calls PikeCompiler()->report() via the yy* functions.

Rev: src/program.c:1.713


2008-05-30 16:57:03 by Martin Stjernholm <>

Modernized an error call.

Rev: src/program.c:1.712

2008-05-30 16:17:07 by Martin Stjernholm <>

Fixed some borken, borken, boRKen behavior. Considering how ancient
that compiler_pass == 2 check is (1.87 1998/04/24 00:32:09 hubbe), I
think this is fairly safe.

Rev: src/program.c:1.711

2008-05-30 11:20:44 by Henrik Grubbström (Grubba) <>

It is now possible to return a reference to the current inherit in this object.
The third argument to program_magic_identifier() should now be -1 when no inherit has been specified (0 is now reserved for referring to the current inherit).
This is also reflected in the F_THIS node.
The F_THIS opcode is now used exclusively to refer to specific inherits.
Use the F_THIS_OBJECT opcode to refer to the current object.

Rev: src/docode.c:1.201
Rev: src/interpret_functions.h:1.204
Rev: src/language.yacc:1.426
Rev: src/las.c:1.415
Rev: src/
Rev: src/program.c:1.710


2008-05-29 16:32:55 by Henrik Grubbström (Grubba) <>

Deprecation warnings are now disabled by #pragma no_deprecation_warnings.

Rev: src/program.c:1.709

2008-05-29 12:36:35 by Henrik Grubbström (Grubba) <>

Implemented support for extern variables (ie prototypes for variables).

Rev: src/object.c:1.295
Rev: src/program.c:1.708


2008-05-27 19:36:00 by Henrik Grubbström (Grubba) <>

DON'T use low_clone() unless you know what you're doing...
All error object should now be cloned with fast_clone_object() or better.
Reinstated the freeing of err->error_message and err->error_backtrace now that the error objects are properly initialized.
Added some more Autodoc mk II about the compiler.

Rev: src/cpp.c:1.170
Rev: src/dynamic_load.c:1.92
Rev: src/error.c:1.162
Rev: src/object.c:1.293
Rev: src/program.c:1.707


2008-05-24 16:41:03 by Henrik Grubbström (Grubba) <>

Fixed conversion of errors to warnings in compat mode.

Rev: src/program.c:1.706

2008-05-24 16:21:21 by Henrik Grubbström (Grubba) <>

One more...

Rev: src/program.c:1.705

2008-05-24 16:20:00 by Henrik Grubbström (Grubba) <>

Bugfix for early exit from va_yyreport() (leaving droppings on stack).

Rev: src/program.c:1.704

2008-05-24 15:42:51 by Henrik Grubbström (Grubba) <>

Bugfix for infinite resolve loop when loading eg GTK.

Rev: src/program.c:1.703

2008-05-24 15:14:13 by Henrik Grubbström (Grubba) <>

Compiler messaging mega patch.
va_yyreport() is now the main C-level dispatcher for compiler messages.
It also handles the automatic conversion of type errors to warnings in compat mode.
Consolidated the location for the implementation of most of the yy*-messaging functions to program.c.
Added yytype_report().
Changed APIs for yyexplain_*().
Moved the definitions of REPORT_* from pike_compiler.h to program.h.
va_yyerror() and low_yyerror() are no more.
Most type-system messages should now be marked with the appropriate subsystem.
Reenabled the typechecking for sscanf and sprintf() now that errors are converted into warnings in compat mode.

Rev: src/language.yacc:1.425
Rev: src/las.c:1.413
Rev: src/las.h:1.79
Rev: src/modules/sprintf/sprintf.c:1.153
Rev: src/pike_compiler.h:1.14
Rev: src/pike_types.c:1.337
Rev: src/pike_types.h:1.118
Rev: src/program.c:1.702
Rev: src/program.h:1.248
Rev: src/sscanf.c:1.184


2008-05-22 20:13:19 by Martin Stjernholm <>

Fixed a typo.

Rev: src/program.c:1.701


2008-05-21 21:55:49 by Henrik Grubbström (Grubba) <>

Added {va_,}yyreport(). yywarning() is now based on va_yyreport().

Rev: src/program.c:1.700
Rev: src/program.h:1.247


2008-05-18 15:36:23 by Henrik Grubbström (Grubba) <>

Added CompilerEnvironment()->PikeCompiler()->apply_attribute_constant().

Rev: src/pike_compiler.h:1.13
Rev: src/program.c:1.699

2008-05-18 13:42:10 by Henrik Grubbström (Grubba) <>

Allow yyerror() and yywarning() to be called outside the compilation context.

Rev: src/language.yacc:1.424
Rev: src/program.c:1.698


2008-05-16 18:20:08 by Henrik Grubbström (Grubba) <>

{en,de}code_value() now know about location information for identifiers.
Moved the filename storage for identifiers to the string table.
encode_value() now knows about new-style getters and setters.
Unified the encoding of identifiers to reduce the amount of code duplication.
Bumped the version to Pike 7.7.47 since the dump format has changed.

Rev: src/encode.c:1.266
Rev: src/program.c:1.697
Rev: src/program.h:1.246
Rev: src/version.h:1.401

2008-05-16 13:28:08 by Henrik Grubbström (Grubba) <>

Added this_function.
Identifiers now can keep track of where they were defined.

Rev: src/program.c:1.696


2008-05-14 14:10:38 by Henrik Grubbström (Grubba) <>

Fixed minor typo.

Rev: src/program.c:1.695

2008-05-14 10:52:47 by Henrik Grubbström (Grubba) <>

Improved diagnostics from define_variable().

Rev: src/program.c:1.694


2008-05-13 17:11:19 by Henrik Grubbström (Grubba) <>

Changed representation of GETTER/SETTER identifiers.
The getter/setter information is now stored directly in struct identifier, rather than embedded in the program code.
This means that getter/setters implemented in C won't need to allocate any space for the program code.
It also does away with one level of indirection, which should improve performance marginally.

Rev: src/docode.c:1.199
Rev: src/object.c:1.292
Rev: src/program.c:1.693
Rev: src/program.h:1.244


2008-05-11 14:55:54 by Martin Stjernholm <>

Fixed missing PMOD_EXPORT on the visit functions.

Rev: src/array.c:1.207
Rev: src/array.h:1.75
Rev: src/constants.c:1.60
Rev: src/constants.h:1.37
Rev: src/mapping.c:1.201
Rev: src/mapping.h:1.68
Rev: src/multiset.c:1.111
Rev: src/multiset.h:1.44
Rev: src/object.c:1.291
Rev: src/object.h:1.96
Rev: src/pike_types.c:1.332
Rev: src/pike_types.h:1.115
Rev: src/program.c:1.692
Rev: src/program.h:1.243
Rev: src/stralloc.c:1.219
Rev: src/stralloc.h:1.104

2008-05-11 02:36:00 by Martin Stjernholm <>

Implemented visit functions for the visit_thing_fn interface. The gc
check/mark functions are restored to how they were before the

Rev: src/array.c:1.206
Rev: src/array.h:1.74
Rev: src/constants.c:1.59
Rev: src/constants.h:1.36
Rev: src/mapping.c:1.200
Rev: src/mapping.h:1.67
Rev: src/multiset.c:1.110
Rev: src/multiset.h:1.43
Rev: src/object.c:1.290
Rev: src/object.h:1.95
Rev: src/pike_types.c:1.331
Rev: src/pike_types.h:1.114
Rev: src/program.c:1.691
Rev: src/program.h:1.242
Rev: src/stralloc.c:1.218
Rev: src/stralloc.h:1.103


2008-05-10 20:43:25 by Martin Stjernholm <>

Disabled a debug check that trigged wrongly.

Rev: src/program.c:1.690


2008-05-08 10:50:19 by Henrik Grubbström (Grubba) <>

Somewhat improved diagnostics generated by yyexplain_not_compatible().
Fixes [bug 4534].

Rev: src/program.c:1.689


2008-05-04 16:49:07 by Henrik Grubbström (Grubba) <>

Only warn once when calling deprecated symbols, not once for every argument.
new_get_return_type() now calls CompilerEnvironment()->PikeCompiler()->apply_type_attribute() with two arguments.

Rev: src/pike_types.c:1.326
Rev: src/program.c:1.688

2008-05-04 14:04:11 by Henrik Grubbström (Grubba) <>

More warnings for __deprecated__ symbols.
Added CompilerEnvironment()->PikeCompiler()->apply_type_attribute().
Added some FIXMEs.

Rev: src/pike_compiler.h:1.12
Rev: src/pike_types.c:1.325
Rev: src/program.c:1.687


2008-05-03 20:06:07 by Henrik Grubbström (Grubba) <>

First go at warning for deprecated symbols.
Added CompilerEnvironment()->PikeCompiler()->{push,pop}_type_attribute().
pike_types_le() now calls the above when encountering asymmetric attribute types.
Added some tests for the above.

Rev: src/pike_compiler.h:1.11
Rev: src/pike_types.c:1.324
Rev: src/program.c:1.686
Rev: src/

2008-05-03 15:54:13 by Henrik Grubbström (Grubba) <>

Minor documentation cleanup.

Rev: src/program.c:1.685

2008-05-03 15:51:50 by Henrik Grubbström (Grubba) <>

Simulate inherits in second pass.
Fixes LysLysKOM 16472935.

Rev: src/compilation.h:1.36
Rev: src/language.yacc:1.417
Rev: src/program.c:1.684
Rev: src/

2008-05-03 15:29:26 by Martin Nilsson <>

Put all illegal size shift fatals behind ifdef PIKE_DEBUG.

Rev: src/builtin.cmod:1.199
Rev: src/builtin_functions.c:1.660
Rev: src/cpp.c:1.169
Rev: src/encode.c:1.265
Rev: src/iterators.cmod:1.66
Rev: src/operators.c:1.231
Rev: src/preprocessor.h:1.93
Rev: src/program.c:1.683
Rev: src/sscanf.c:1.172
Rev: src/stralloc.c:1.217


2008-05-02 10:56:06 by Henrik Grubbström (Grubba) <>

Added handle_inherit() to CompilerEnvironment and PikeCompiler.

Rev: src/pike_compiler.h:1.10
Rev: src/program.c:1.682

2008-05-02 04:15:18 by Martin Stjernholm <>

Added Pike.count_memory to be able to see the memory consumed by arbitrary
pike structures.

The Gmp classes have been fixed to accurately report sizes, but there's
probably more to do in other modules.

Rev: lib/modules/Pike.pmod/module.pmod:1.17
Rev: src/array.c:1.205
Rev: src/builtin_functions.c:1.659
Rev: src/gc.c:1.305
Rev: src/gc.h:1.131
Rev: src/mapping.c:1.199
Rev: src/modules/Gmp/acconfig.h:1.8
Rev: src/modules/Gmp/
Rev: src/modules/Gmp/mpf.cmod:1.35
Rev: src/modules/Gmp/mpq.cmod:1.27
Rev: src/modules/Gmp/mpz_glue.c:1.178
Rev: src/multiset.c:1.107
Rev: src/object.c:1.288
Rev: src/pike_types.c:1.323
Rev: src/program.c:1.681
Rev: src/stralloc.c:1.216
Rev: src/stralloc.h:1.102


2008-05-01 20:42:20 by Martin Stjernholm <>

Fixed a debug printout.

Rev: src/program.c:1.680


2008-04-26 19:04:26 by Henrik Grubbström (Grubba) <>

Moved compilation_depth to struct compilation.
Yet another step on the way to making the compiler thread safe.
Got rid of some now unused cleanup code in dynamic_load.c.

Rev: src/builtin_functions.c:1.656
Rev: src/dynamic_load.c:1.91
Rev: src/encode.c:1.264
Rev: src/language.yacc:1.416
Rev: src/pike_compiler.h:1.9
Rev: src/program.c:1.679
Rev: src/program.h:1.240

2008-04-26 16:08:13 by Henrik Grubbström (Grubba) <>

Cosmetic Autodoc mk II fix.

Rev: src/program.c:1.678

2008-04-26 14:27:08 by Henrik Grubbström (Grubba) <>

The global svalue stack used_modules is no more.
Moved used_modules to struct pike_compilation.
Got rid of the old struct pike_compilation fields used_modules_save and num_used_modules_save.

Rev: src/pike_compiler.h:1.8
Rev: src/program.c:1.677

2008-04-26 11:17:38 by Henrik Grubbström (Grubba) <>

Fixed bug where the default module from the end of pass 1 could be used at the start of pass 2.

Rev: src/program.c:1.676


2008-04-25 11:26:30 by Henrik Grubbström (Grubba) <>

Some bugs remained in the last commit...

Rev: src/program.c:1.675


2008-04-24 16:03:54 by Henrik Grubbström (Grubba) <>

Made the Pike compiler somewhat more transparent.
Added change_compiler_compatibility() and get_{compilation_handler,default_module}().
Added _sprintf() for PikeCompiler.
dump_program_tables() now also dumps the string table.

Rev: src/pike_compiler.h:1.6
Rev: src/program.c:1.674


2008-04-20 13:00:42 by Henrik Grubbström (Grubba) <>

Now uses safe_apply_current2().

Rev: src/program.c:1.673


2008-04-19 18:01:14 by Henrik Grubbström (Grubba) <>

Some more Autodoc mk II markup.

Rev: src/program.c:1.672

2008-04-19 17:04:30 by Henrik Grubbström (Grubba) <>

Reverted incorrect Autodoc.

Rev: src/program.c:1.671

2008-04-19 15:36:48 by Martin Bähr <>

autodoc fix

Rev: src/program.c:1.670

2008-04-19 13:52:45 by Henrik Grubbström (Grubba) <>

Fixed lack of references to programs that have compilation delayed.
Added some more debug malloc checks.
Removed some dead variables.
Mapped default_module as well in PikeCompiler.

Rev: src/program.c:1.669

2008-04-19 10:11:20 by Henrik Grubbström (Grubba) <>

Added enum SeverityLevel to CompilerEnvironment.
Some minor AutoDoc mk II fixes.

Rev: src/program.c:1.668


2008-04-18 19:57:13 by Henrik Grubbström (Grubba) <>

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


2008-04-15 19:16:41 by Henrik Grubbström (Grubba) <>

Added sufficient magic to compile_compiler() to use use the compiler to compile itself.

Rev: src/program.c:1.666

2008-04-15 13:07:52 by Henrik Grubbström (Grubba) <>

Added PMOD_EXPORT for {enter,exit}_compiler().

Rev: src/program.c:1.665
Rev: src/program.h:1.238

2008-04-15 02:07:22 by Martin Nilsson <>

%S not available here. Added h-file for get_all_args.

Rev: src/program.c:1.664


2008-04-14 16:34:54 by Henrik Grubbström (Grubba) <>

Moved some of the resolver code to the CompilationEnvironment object.

Rev: src/pike_compiler.h:1.3
Rev: src/program.c:1.663

2008-04-14 13:19:24 by Henrik Grubbström (Grubba) <>

Now uses the REPORT_* macros.

Rev: src/language.yacc:1.412
Rev: src/program.c:1.662

2008-04-14 12:19:18 by Henrik Grubbström (Grubba) <>

CompilationEnvironment()->report() is now used for warnings as well.

Rev: src/program.c:1.661

2008-04-14 10:14:41 by Henrik Grubbström (Grubba) <>

Pike compiler mega patch.
Added predef::CompilerEnvironment, which is a wrapper for struct compilation.
Moved the definition of struct compilation to the new header file "pike_compiler.h".
The compilation struct is now contained in the current context in the current_object during compilation.
The global variable lex is no more, it has moved into the compilation struct.
Added enter_compiler() and exit_compiler().
predef::compile() is now shorthand for predef::CompilerContext()->compile().

Rev: src/builtin_functions.c:1.652
Rev: src/compilation.h:1.35
Rev: src/docode.c:1.197
Rev: src/docode.h:1.20
Rev: src/dynamic_load.c:1.90
Rev: src/encode.c:1.263
Rev: src/language.yacc:1.411
Rev: src/las.c:1.406
Rev: src/lex.c:1.121
Rev: src/lex.h:1.36
Rev: src/lexer.h:1.66
Rev: src/module.c:1.52
Rev: src/object.c:1.284
Rev: src/operators.c:1.230
Rev: src/pike_compiler.h:1.1
Rev: src/pike_types.c:1.321
Rev: src/program.c:1.660
Rev: src/program.h:1.237


2008-04-07 01:45:53 by Martin Bähr <>

fix for autodoc

Rev: src/program.c:1.659


2008-04-06 21:43:31 by Henrik Grubbström (Grubba) <>

Some preparations for making the compiler less opaque.
Added the initial stuff for PikeCompiler. Not working yet.

Rev: src/program.c:1.658

2008-04-06 11:49:58 by Henrik Grubbström (Grubba) <>

Cleaned up use of program_state->parent_identifier. Removed some dead code.

Rev: src/language.yacc:1.410
Rev: src/program.c:1.657


2008-03-29 16:20:19 by Martin Stjernholm <>

Fixed proper use of the gc to detect pike type leaks. Some other minor
fiddling with the leak reports.

Rev: src/gc.c:1.302
Rev: src/global.h:1.111
Rev: src/module.c:1.50
Rev: src/pike_types.c:1.318
Rev: src/pike_types.h:1.111
Rev: src/program.c:1.656
Rev: src/svalue.c:1.238


2008-03-26 15:07:11 by Henrik Grubbström (Grubba) <>

Moved SETJMP out of the loop in store_constant(); it is now somewhat faster.

Rev: src/program.c:1.655


2008-03-20 15:34:37 by Henrik Grubbström (Grubba) <>

Support inherited files having names encoded according to UTF-8.

Rev: src/program.c:1.654


2008-02-27 23:59:24 by Henrik Grubbström (Grubba) <>

Changed the definition of Pike_fp->context to a pointer.
This should reduce the overhead for apply() somewhat.

Rev: src/apply_low.h:1.33
Rev: src/builtin.cmod:1.194
Rev: src/interpret.c:1.386
Rev: src/interpret.h:1.171
Rev: src/interpret_functions.h:1.200
Rev: src/modules/Gmp/mpz_glue.c:1.171
Rev: src/object.c:1.282
Rev: src/object.h:1.93
Rev: src/opcodes.c:1.170
Rev: src/operators.c:1.227
Rev: src/program.c:1.653


2008-02-19 15:35:25 by Henrik Grubbström (Grubba) <>

{size,align}of_variable() now know about PIKE_T_GET_SET.

Rev: src/program.c:1.652


2008-02-14 18:23:11 by Henrik Grubbström (Grubba) <>

Added sanity check for aliases to check_program().

Rev: src/program.c:1.651


2008-02-12 18:51:08 by Henrik Grubbström (Grubba) <>

Improved diagnostics.

Rev: src/module.c:1.48
Rev: src/program.c:1.650


2008-02-06 18:29:09 by Henrik Grubbström (Grubba) <>

Adding aliases for variables is now encode_value()-safe...

Rev: src/program.c:1.649


2008-02-03 19:38:18 by Henrik Grubbström (Grubba) <>

More relaxations...

Rev: src/program.c:1.648

2008-02-03 18:08:51 by Henrik Grubbström (Grubba) <>

Reduce the number of warnings somewhat...

Rev: src/program.c:1.647


2008-02-02 14:27:50 by Henrik Grubbström (Grubba) <>

Improved diagnostics.

Rev: src/program.c:1.646


2008-01-28 19:46:13 by Martin Stjernholm <>

I give up: Reinstated the old behavior regarding storing UNDEFINED in
mapping values. Fixed mapping_index_no_free to not munge the zero type in
the mapping, at least.

Rev: src/mapping.c:1.198
Rev: src/program.c:1.645

2008-01-28 15:18:09 by Henrik Grubbström (Grubba) <>


Rev: src/program.c:1.644

2008-01-28 15:17:23 by Henrik Grubbström (Grubba) <>

The integer subtype doesn't survive being in a mapping anymore.
Added some extra debug checks.

Rev: src/program.c:1.643


2008-01-26 22:34:27 by Martin Stjernholm <>

Eradicated all instances of setting type to T_INT without also setting the
subtype in an svalue. From now on one should either set the subtype or use
the new svalue type PIKE_T_FREE (see svalue.h).

Rev: src/OCPikeInterpreter.m:1.3
Rev: src/apply_low.h:1.32
Rev: src/array.c:1.198
Rev: src/array.h:1.71
Rev: src/bignum.c:1.42
Rev: src/builtin.cmod:1.193
Rev: src/builtin_functions.c:1.650
Rev: src/
Rev: src/cpp.c:1.164
Rev: src/encode.c:1.250
Rev: src/error.c:1.151
Rev: src/interpret.c:1.385
Rev: src/interpret_functions.h:1.197
Rev: src/iterators.cmod:1.64
Rev: src/las.c:1.403
Rev: src/main.c:1.228
Rev: src/mapping.c:1.195
Rev: src/module.c:1.47
Rev: src/modules/Gmp/mpz_glue.c:1.170
Rev: src/modules/HTTPLoop/accept_and_parse.c:1.39
Rev: src/modules/HTTPLoop/requestobject.c:1.31
Rev: src/modules/Image/colortable.c:1.130
Rev: src/modules/Java/jvm.c:1.84
Rev: src/modules/Parser/html.c:1.178
Rev: src/modules/Parser/xml.cmod:1.97
Rev: src/modules/Postgres/postgres.c:1.55
Rev: src/modules/_math/math.c:1.87
Rev: src/modules/files/sendfile.c:1.78
Rev: src/modules/spider/spider.c:1.134
Rev: src/multiset.c:1.106
Rev: src/object.c:1.281
Rev: src/operators.c:1.226
Rev: src/pike_error.h:1.42
Rev: src/post_modules/Shuffler/Shuffler.cmod:1.45
Rev: src/post_modules/_ADT/circular_list.cmod:1.18
Rev: src/post_modules/_ADT/sequence.cmod:1.19
Rev: src/program.c:1.642
Rev: src/signal_handler.c:1.331
Rev: src/sscanf.c:1.170
Rev: src/svalue.c:1.234
Rev: src/svalue.h:1.149


2008-01-24 13:58:26 by Martin Stjernholm <>

Reordered conditions to avoid false alarms from valgrind.

Rev: src/program.c:1.641


2008-01-21 22:46:18 by Henrik Grubbström (Grubba) <>

Removed some unneeded code.

Rev: src/program.c:1.640

2008-01-21 22:43:42 by Henrik Grubbström (Grubba) <>

Moved some redundant code to where it was actually used.

Rev: src/program.c:1.639


2008-01-13 19:53:49 by Henrik Grubbström (Grubba) <>

Fixed potential bug when inheriting from scoped classes.

Rev: src/program.c:1.638

2008-01-13 15:49:01 by Henrik Grubbström (Grubba) <>

Added missing initializer for identifier opt_flags for variables and aliases.

Rev: src/program.c:1.637


2008-01-05 20:08:12 by Henrik Grubbström (Grubba) <>

Fixed the warning "Unused local variable ." (ie the empty variable name).

Rev: src/program.c:1.636


2008-01-04 11:33:02 by Henrik Grubbström (Grubba) <>

Compiler messages should not contain linebreaks.

Rev: src/program.c:1.635


2008-01-03 16:49:46 by Henrik Grubbström (Grubba) <>

Only warn about unused variables in the second pass.

Rev: src/program.c:1.634

2008-01-03 15:58:27 by Henrik Grubbström (Grubba) <>

{low_,}pop_local_variables() now warn about unused variables.

Rev: src/program.c:1.633


2007-12-28 13:38:16 by Martin Nilsson <>

nomask -> final

Rev: lib/modules/Stdio.pmod/module.pmod:1.231
Rev: lib/modules/Thread.pmod:1.44
Rev: src/gc.c:1.301
Rev: src/language.yacc:1.391
Rev: src/modules/_Charset/charsetmod.c:1.63
Rev: src/modules/_Charset/iso2022.c:1.45
Rev: src/program.c:1.632
Rev: src/program.h:1.236


2007-11-15 17:41:52 by Henrik Grubbström (Grubba) <>

Initial support for new-style getter/setters.

Rev: src/program.c:1.631

2007-11-15 17:09:42 by Henrik Grubbström (Grubba) <>

Fixed some more warnings.

Rev: src/program.c:1.630


2007-11-10 19:45:49 by Henrik Grubbström (Grubba) <>

It's not a good idea to mark LFUNS as used.

Rev: src/program.c:1.629


2007-10-24 15:49:26 by Henrik Grubbström (Grubba) <>

Mark LFUNs as used.

Rev: src/program.c:1.628


2007-10-16 09:18:53 by Henrik Grubbström (Grubba) <>

Now behaves the same as yyerror()...

Rev: src/program.c:1.627

2007-10-16 09:17:20 by Henrik Grubbström (Grubba) <>

yywarning() now survives not having a current file.

Rev: src/program.c:1.626


2007-10-13 15:34:59 by Henrik Grubbström (Grubba) <>

Detect attempts to add identifiers, identifier_references and inherits in pass 2.

Rev: src/program.c:1.625


2007-10-12 14:33:28 by Henrik Grubbström (Grubba) <>

Now only warns about suspect overloadings in strict types mode.

Rev: src/program.c:1.624

2007-10-12 12:59:12 by Henrik Grubbström (Grubba) <>

Fixed issues with the type checking for overloading of functions.

Rev: src/program.c:1.623


2007-10-11 15:46:57 by Henrik Grubbström (Grubba) <>

Added some warnings for overloading symbols with nonmatching types.

Rev: src/program.c:1.622


2007-09-29 15:09:03 by Henrik Grubbström (Grubba) <>

ID_ALIAS is no more.
Added {low_,}define_alias() in analogue with the other identifiers.
Aliases are now used in some places where previously an identifier was copied.
Added support for constants (ie aliases) referring directly to variables and functions in the surrounding scopes.
A program may now be indexed on such a constant (ie alias).
Added some FIXMEs.
Changed API for low_program_from_function().
Disabled find_child() (could not find anything using it).
Bumped build bumber since the identifier encoding has changed.

Rev: src/language.yacc:1.382
Rev: src/object.c:1.277
Rev: src/program.c:1.621
Rev: src/program.h:1.233
Rev: src/version.h:1.394


2007-09-25 16:56:53 by Henrik Grubbström (Grubba) <>

check_program() now knows something about extern symbols.

Rev: src/program.c:1.620


2007-09-24 19:18:25 by Henrik Grubbström (Grubba) <>

Changed the semantics of program_index_no_free() somewhat in preparation for having symbols with storage in parent classes.
Changed the representation of tentatively typed function identifiers.
They are now marked by having the run time type T_MIXED.
Changed the encoding in the identifier_flags field somewhat to free up a bit to indicate that the symbol has storage in an external scope.
Bumped version to 7.7.36 since the dump format for programs has changed.
Fixed minor bug in index_no_free() when indexing a function that wasn't a program.

Rev: src/object.c:1.275
Rev: src/operators.c:1.222
Rev: src/program.c:1.619
Rev: src/program.h:1.230
Rev: src/version.h:1.393


2007-09-14 18:38:43 by Henrik Grubbström (Grubba) <>

Fixed fatal error "Getter/setter variable outside program!" et al, when an inherited getter/setter is used via the ::-operator.

Rev: src/program.c:1.618


2007-09-04 16:45:15 by Henrik Grubbström (Grubba) <>

Now supports mixin for static symbols.

Rev: src/program.c:1.617


2007-05-26 19:14:59 by Martin Stjernholm <>

Added a PROGRAM_LIVE_OBJ flag to be able to accurately detect exit callbacks
in inherits. It also allows users to override the assumption that an exit or
event callback makes it necessary for the gc to treat the objects as live.

Rev: src/gc.c:1.286
Rev: src/gc.h:1.128
Rev: src/object.c:1.274
Rev: src/program.c:1.616
Rev: src/program.h:1.229


2007-05-13 15:45:32 by Martin Stjernholm <>

Document that the old event-specific program callbacks have a certain
benefit afterall.

Rev: src/program.c:1.615

2007-05-13 14:55:26 by Martin Stjernholm <>

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


2007-04-25 22:02:07 by Martin Stjernholm <>

Some fixes to gc locate and cleanup code for strings and types in the
program structs.

Rev: src/program.c:1.613


2007-01-16 18:31:18 by Henrik Grubbström (Grubba) <>

Fixed NULL dereference at out of memory in low_start_new_program().
Found by Klocwork.

Rev: src/program.c:1.612

2007-01-16 18:22:41 by Henrik Grubbström (Grubba) <>

Removed redundant condition.

Rev: src/program.c:1.611


2006-10-27 18:45:00 by Henrik Grubbström (Grubba) <>

First try at implementing getter/setter variables. Seems to work.

Rev: src/program.c:1.610


2006-08-20 21:08:49 by Peter Bortas <>

make_program_executable may be called with empty programs.

Rev: src/program.c:1.575


2006-08-09 14:03:02 by Martin Stjernholm <>

Comment fix.

Rev: src/program.c:1.609

2006-08-09 01:55:45 by Martin Stjernholm <>

Use the homegrown heap manager for executable memory on Windows too. The
reason is that VirtualProtect doesn't work if it's given an area that
haven't been reserved with a single VirtualAlloc MEM_RESERVE call.

Rev: src/dmalloc.h:1.62
Rev: src/pike_embed.c:1.10
Rev: src/pike_memory.c:1.183
Rev: src/pike_memory.h:1.55
Rev: src/program.c:1.608


2006-08-08 22:23:11 by Martin Stjernholm <>

Make some effort to find the real page size.

Rev: src/
Rev: src/pike_embed.c:1.9
Rev: src/pike_memory.c:1.182
Rev: src/pike_memory.h:1.54
Rev: src/program.c:1.607


2006-08-05 20:35:41 by Martin Stjernholm <>

Check for errors from VirtualProtect.

Rev: src/program.c:1.574

2006-08-05 20:07:50 by Martin Stjernholm <>

Don't do page alignment on the block passed to VirtualProtect on

Rev: src/program.c:1.606


2006-07-06 16:46:13 by Henrik Grubbström (Grubba) <>

Fixed some cases of safe_apply_low2().

Rev: src/language.yacc:1.371
Rev: src/program.c:1.605
Rev: src/svalue.c:1.230


2006-07-05 20:47:53 by Martin Stjernholm <>


Rev: src/program.c:1.604
Rev: src/program.h:1.225

2006-07-05 19:28:11 by Martin Stjernholm <>


Rev: src/fsort.c:1.25
Rev: src/fsort.h:1.7
Rev: src/interpret.c:1.378
Rev: src/interpret.h:1.169
Rev: src/language.yacc:1.370
Rev: src/las.h:1.73
Rev: src/operators.c:1.211
Rev: src/operators.h:1.19
Rev: src/pike_memory.c:1.179
Rev: src/pike_memory.h:1.53
Rev: src/pike_types.c:1.255
Rev: src/pike_types.h:1.95
Rev: src/program.c:1.603
Rev: src/program.h:1.224
Rev: src/stralloc.h:1.100

2006-07-05 02:21:51 by Martin Stjernholm <>

Added do_free_program. Added some PMOD_EXPORTs.

Rev: src/program.c:1.602


2006-07-04 14:38:17 by Martin Stjernholm <>

Handle valgrind discarding in mexec_free.

Rev: src/pike_memory.c:1.177
Rev: src/program.c:1.601

2006-07-04 14:38:17 by Martin Stjernholm <>

Handle valgrind discarding in mexec_free.

Rev: src/pike_memory.c:1.158
Rev: src/program.c:1.573

2006-07-04 14:38:16 by Martin Stjernholm <>

Handle valgrind discarding in mexec_free.

Rev: src/pike_memory.c:1.145
Rev: src/program.c:1.501


2006-03-22 20:01:46 by Henrik Grubbström (Grubba) <>

Backported fix for low_get_function_line() from Pike 7.7.

Rev: src/program.c:1.572

2006-03-22 19:59:41 by Henrik Grubbström (Grubba) <>

Fixed main cause of "Bad offset: pc:* program:* (*)".
get_function_line() assumed that all functions are implemented in pike...

Rev: src/program.c:1.600


2005-12-31 15:03:57 by Martin Nilsson <>

Another safe_apply_low3 reference.

Rev: src/program.c:1.599

2005-12-31 03:36:44 by Martin Nilsson <>

Facet init and exit needs more work. Disable them for now.

Rev: src/facetgroup.cmod:1.6
Rev: src/language.yacc:1.361
Rev: src/module.c:1.36
Rev: src/program.c:1.598
Rev: src/program.h:1.221


2005-11-16 13:15:26 by Henrik Grubbström (Grubba) <>

Backported is_compatible() relaxation for integers from Pike 7.6.

Rev: src/program.c:1.500


2005-11-06 21:42:54 by Henrik Grubbström (Grubba) <>

id_to_program() now knows about GTK2.

Rev: src/program.c:1.597


2005-11-01 21:53:24 by 0

Backport optimization from 7.7: No need to mprotect memory allocated with mmap.

Rev: src/program.c:1.499

2005-11-01 21:53:00 by 0

Backport optimization from 7.7: No need to mprotect memory allocated with mmap.

Rev: src/program.c:1.571

2005-11-01 10:16:08 by Henrik Grubbström (Grubba) <>

No need to mprotect memory allocated with mmap.

Rev: src/program.c:1.596


2005-08-14 11:27:24 by 0

Workaround for false positive reported by Valgrind caused by a correct
compiler optimization.

Rev: src/program.c:1.498


2005-08-10 11:55:49 by Henrik Grubbström (Grubba) <>

Moved handling of the UNDEFINED symbol from find_module_identifier() to resolve_identifier().
This should make global.UNDEFINED work.

Rev: src/program.c:1.595


2005-06-23 13:33:03 by Henrik Grubbström (Grubba) <>

Now uses sync_instruction_memory(3C) if it exists as recommended by SPARC Compliance Definition 2.4.

Rev: src/program.c:1.594


2005-06-09 09:26:09 by Henrik Grubbström (Grubba) <>

Fixed leak introduced by the new mexec_alloc code.

Rev: src/program.c:1.570

2005-06-09 09:25:43 by Henrik Grubbström (Grubba) <>

Fixed leak introduced by the new mexec_alloc code.

Rev: src/program.c:1.497

2005-06-09 09:25:11 by Henrik Grubbström (Grubba) <>

Fixed leak introduced by the new mexec_alloc code.

Rev: src/program.c:1.593


2005-05-31 11:59:04 by Henrik Grubbström (Grubba) <>

Added some comments.

Rev: src/program.c:1.592


2005-05-30 12:43:04 by Martin Stjernholm <>

Some damage control in a severely broken part of the resolver mess:
Now we at least get a warning if resolv() throws an error in pass 1 in
rtldebug mode. Also fixed a temporary leak of the backtrace in this

Rev: src/program.c:1.496

2005-05-30 12:38:43 by Martin Stjernholm <>

Some damage control in a severely broken part of the resolver mess:
Now we at least get a warning if resolv() throws an error in pass 1 in
rtldebug mode. Also fixed a temporary leak of the backtrace in this

Rev: src/program.c:1.569

2005-05-30 12:36:08 by Martin Stjernholm <>

Some damage control in a severely broken part of the resolver mess:
Now we at least get a warning if resolv() throws an error in pass 1 in
rtldebug mode. Also fixed a temporary leak of the backtrace in this

Rev: src/program.c:1.591


2005-05-26 17:05:06 by Martin Stjernholm <>

Fixed bug in PIKE_DEBUG code that could cause coredumps for failed compilations.

Rev: src/program.c:1.568

2005-05-26 17:04:38 by Martin Stjernholm <>

Fixed bug in PIKE_DEBUG code that could cause coredumps for failed compilations.

Rev: src/program.c:1.590

2005-05-26 12:00:56 by Henrik Grubbström (Grubba) <>

Backported use of mexec_* from Pike 7.7.

Rev: src/program.c:1.495
Rev: src/program_areas.h:1.13

2005-05-26 12:00:45 by Henrik Grubbström (Grubba) <>

Backported use of mexec_* from Pike 7.7.

Rev: src/program.c:1.567
Rev: src/program_areas.h:1.14


2005-05-25 17:09:41 by Henrik Grubbström (Grubba) <>

Now uses mexec_*() to allocate memory for machine-code segments.
Now page-aligns pointers passed to mprotect(2) to make Linux happy.
Fixes machinecode problems on Linux on x86_64-capable platforms.

Rev: src/program.c:1.589


2005-05-19 22:35:40 by Martin Stjernholm <>

Fixed various type errors for 64 bit architectures and other warnings. (Most
are in harmless debug messages, but anyway..)

Rev: src/array.c:1.181
Rev: src/backend.cmod:1.175
Rev: src/builtin_functions.c:1.599
Rev: src/code/bytecode.h:1.11
Rev: src/encode.c:1.228
Rev: src/gc.c:1.270
Rev: src/interpret_functions.h:1.184
Rev: src/las.c:1.364
Rev: src/modules/Image/image.c:1.222
Rev: src/modules/Parser/html.c:1.177
Rev: src/modules/_Charset/iso2022.c:1.38
Rev: src/modules/files/file.c:1.351
Rev: src/modules/files/sendfile.c:1.72
Rev: src/modules/spider/xml.c:1.75
Rev: src/modules/system/memory.c:1.34
Rev: src/object.c:1.267
Rev: src/peep.c:1.106
Rev: src/pike_types.c:1.247
Rev: src/post_modules/Shuffler/a_source_system_memory.c:1.12
Rev: src/post_modules/Shuffler/b_source_normal_file.c:1.14
Rev: src/program.c:1.588
Rev: src/rbtree.c:1.25
Rev: src/threads.c:1.244


2005-05-18 12:36:54 by Martin Stjernholm <>

Fixed various type errors for 64 bit architectures. (Most are in harmless
debug messages, but anyway..)

Rev: src/array.c:1.164
Rev: src/backend.cmod:1.146
Rev: src/builtin_functions.c:1.555
Rev: src/code/bytecode.h:1.11
Rev: src/encode.c:1.214
Rev: src/gc.c:1.257
Rev: src/interpret_functions.h:1.170
Rev: src/las.c:1.347
Rev: src/modules/Gmp/mpz_glue.c:1.162
Rev: src/modules/Image/encodings/xcf.c:1.49
Rev: src/modules/Parser/html.c:1.173
Rev: src/modules/files/file.c:1.321
Rev: src/modules/files/sendfile.c:1.70
Rev: src/modules/spider/xml.c:1.71
Rev: src/object.c:1.257
Rev: src/peep.c:1.99
Rev: src/pike_types.c:1.236
Rev: src/post_modules/Shuffler/a_source_system_memory.c:1.11
Rev: src/program.c:1.566
Rev: src/svalue.c:1.195
Rev: src/threads.c:1.238


2005-04-08 17:01:02 by Henrik Grubbström (Grubba) <>

Improved diagnostics.

Rev: src/program.c:1.587


2005-03-22 11:47:29 by 0

Make flag argument wide enough to hold all possible flag values.

Rev: src/program.c:1.494
Rev: src/program.h:1.183


2005-02-09 16:43:35 by Martin Stjernholm <>

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


2005-01-20 00:27:17 by Martin Nilsson <>

Added const

Rev: src/program.c:1.585


2005-01-07 13:28:14 by Henrik Grubbström (Grubba) <>

prototype lfuns now show again.

Rev: src/program.c:1.584


2004-12-19 16:43:38 by Henrik Grubbström (Grubba) <>

Some object subtype fixes.

Rev: src/object.c:1.260
Rev: src/program.c:1.583

2004-12-19 14:47:12 by Henrik Grubbström (Grubba) <>

Added compat.

Rev: src/program.c:1.582


2004-12-18 18:39:56 by Henrik Grubbström (Grubba) <>

Inherit::this and Inherit::this_program should now work.

Rev: src/program.c:1.581

2004-12-18 16:41:04 by Henrik Grubbström (Grubba) <>

Added support for Inherit::this_program.

Rev: src/program.c:1.580


2004-12-15 02:22:13 by Martin Nilsson <>

Another facet bug fix.

Rev: src/program.c:1.579


2004-12-08 15:38:35 by Henrik Grubbström (Grubba) <>

low_start_new_program() now uses new_node_s_context().
This should fix spurious fatal "Failed to free %d nodes when compiling!\n".
Also added some (disabled) diagnostics.

Rev: src/program.c:1.578


2004-11-06 08:41:30 by Martin Nilsson <>

Fixed reference count of facet_group.

Rev: src/program.c:1.577


2004-11-05 17:56:34 by Henrik Grubbström (Grubba) <>

yywarning() now uses string_builder_vsprintf().

Rev: src/program.c:1.576

2004-11-05 16:21:23 by Henrik Grubbström (Grubba) <>

my_yyerror() now uses string_builder_vsprintf().
Corrected the arguments for a lot of my_yyerror() invocations.

Rev: src/language.yacc:1.350
Rev: src/las.c:1.352
Rev: src/pike_types.c:1.239
Rev: src/program.c:1.575
Rev: src/


2004-10-30 15:57:19 by Martin Nilsson <>

Free facet_group references in programs.

Rev: src/program.c:1.574

2004-10-30 11:38:30 by Martin Stjernholm <>

Merge 'tags/v7.7.10': Implemented from-the-end indexing in ranges using the a[..<1] syntax. Added
`[..]. Still to do: Avoid fallback to `[] for ranges if it doesn't take two

2004-10-30 11:38:29 by Martin Stjernholm <>

Implemented from-the-end indexing in ranges using the a[..<1] syntax. Added
`[..]. Still to do: Avoid fallback to `[] for ranges if it doesn't take two

Rev: src/docode.c:1.181
Rev: src/interpret.c:1.358
Rev: src/interpret_functions.h:1.176
Rev: src/language.yacc:1.347
Rev: src/las.c:1.351
Rev: src/lexer.h:1.51
Rev: src/opcodes.h:1.41
Rev: src/operators.c:1.198
Rev: src/operators.h:1.16
Rev: src/pike_types.c:1.238
Rev: src/program.c:1.573
Rev: src/program.h:1.213
Rev: src/
Rev: src/


2004-10-22 23:26:13 by Martin Nilsson <>


Rev: src/.cvsignore:1.37
Rev: src/
Rev: src/errors.h:1.27
Rev: src/facetgroup.cmod:1.1
Rev: src/interpret.c:1.357
Rev: src/interpret.h:1.155
Rev: src/language.yacc:1.344
Rev: src/lexer.h:1.50
Rev: src/main.c:1.215
Rev: src/program.c:1.572
Rev: src/program.h:1.212

2004-10-22 20:18:03 by Henrik Grubbström (Grubba) <>

Cosmetic fix.

Rev: src/program.c:1.571


2004-10-16 07:27:30 by Marcus Agehall <>

Done away with all warnings during compilation. Now compiles on GCC
3.4.2 without any warnings using the -Wall -Werror CFLAGS.
Some workarounds are not very nice, but they should do their job.

Rev: src/array.c:1.174
Rev: src/dynamic_load.c:1.85
Rev: src/encode.c:1.221
Rev: src/interpret.c:1.356
Rev: src/las.c:1.350
Rev: src/module.c:1.30
Rev: src/modules/Java/jvm.c:1.71
Rev: src/modules/_Charset/charsetmod.c:1.49
Rev: src/object.c:1.258
Rev: src/pike_search.c:1.24
Rev: src/post_modules/Nettle/cipher.cmod:1.34
Rev: src/post_modules/Nettle/hash.cmod:1.26
Rev: src/post_modules/Shuffler/a_source_pikestring.c:1.10
Rev: src/post_modules/Shuffler/a_source_system_memory.c:1.11
Rev: src/post_modules/Shuffler/c_source_stream.c:1.11
Rev: src/post_modules/Shuffler/d_source_pikestream.c:1.7
Rev: src/post_modules/Shuffler/e_source_block_pikestream.c:1.5
Rev: src/post_modules/Shuffler/shuffler.h:1.6
Rev: src/program.c:1.570
Rev: src/rusage.c:1.42


2004-10-11 16:41:49 by Martin Stjernholm <>

Show the error when the compile time replace() optimizer fails.

Rev: src/builtin_functions.c:1.469
Rev: src/language.yacc:1.317
Rev: src/las.c:1.326
Rev: src/program.c:1.493
Rev: src/program.h:1.182


2004-09-27 15:12:15 by Henrik Grubbström (Grubba) <>

Fixed race condition.

Rev: src/program.c:1.569

2004-09-27 15:12:09 by Henrik Grubbström (Grubba) <>

Fixed race condition.

Rev: src/program.c:1.565

2004-09-27 15:12:03 by Henrik Grubbström (Grubba) <>

Fixed race condition.

Rev: src/program.c:1.492

2004-09-27 15:11:58 by Henrik Grubbström (Grubba) <>

Fixed race condition.

Rev: src/program.c:1.235

2004-09-27 15:11:51 by Henrik Grubbström (Grubba) <>

Fixed race condition.

Rev: src/program.c:1.111


2004-09-18 20:50:57 by Martin Nilsson <>

RCSID is not really useful anymore.

Rev: src/array.c:1.169
Rev: src/backend.cmod:1.145
Rev: src/builtin_functions.c:1.567
Rev: src/callback.c:1.35
Rev: src/constants.c:1.54
Rev: src/cyclic.c:1.13
Rev: src/dlopen.c:1.74
Rev: src/docode.c:1.179
Rev: src/dynamic_buffer.c:1.25
Rev: src/dynamic_load.c:1.84
Rev: src/encode.c:1.219
Rev: src/error.c:1.133
Rev: src/fd_control.c:1.51
Rev: src/fdlib.c:1.66
Rev: src/fsort.c:1.23
Rev: src/gc.c:1.256
Rev: src/hashtable.c:1.15
Rev: src/interpret.c:1.353
Rev: src/iterators.cmod:1.55
Rev: src/language.yacc:1.342
Rev: src/las.c:1.349
Rev: src/lex.c:1.119
Rev: src/main.c:1.207
Rev: src/mapping.c:1.183
Rev: src/module.c:1.28
Rev: src/module_support.c:1.63
Rev: src/modules/_math/math.c:1.79
Rev: src/modules/files/datagram.c:1.9
Rev: src/modules/files/efuns.c:1.147
Rev: src/modules/files/file.c:1.329
Rev: src/modules/files/socket.c:1.91
Rev: src/modules/files/stat.c:1.30
Rev: src/modules/files/termios.c:1.24
Rev: src/modules/files/udp.c:1.70
Rev: src/modules/sprintf/sprintf.c:1.120
Rev: src/modules/system/memory.c:1.29
Rev: src/modules/system/passwords.c:1.44
Rev: src/modules/system/syslog.c:1.26
Rev: src/modules/system/system.c:1.171
Rev: src/multiset.c:1.88
Rev: src/object.c:1.257
Rev: src/opcodes.c:1.164
Rev: src/operators.c:1.195
Rev: src/peep.c:1.104
Rev: src/pike_memory.c:1.155
Rev: src/pike_types.c:1.237
Rev: src/port.c:1.78
Rev: src/program.c:1.568
Rev: src/rbtree.c:1.24
Rev: src/rusage.c:1.41
Rev: src/signal_handler.c:1.304
Rev: src/sscanf.c:1.163
Rev: src/stralloc.c:1.166
Rev: src/svalue.c:1.197
Rev: src/threads.c:1.240
Rev: src/version.c:1.142

2004-09-18 20:16:27 by Per Hedbor <>

More const.

Rev: src/program.c:1.567
Rev: src/program.h:1.208


2004-08-13 13:15:13 by Henrik Grubbström (Grubba) <>

Merge 'tags/v7.2.583': Backported program_{indices,values}() fix from Pike 7.7.

2004-08-13 13:15:12 by Henrik Grubbström (Grubba) <>

Backported program_{indices,values}() fix from Pike 7.7.

Rev: src/program.c:1.320

2004-08-13 13:05:48 by Henrik Grubbström (Grubba) <>

Backported program_{indices,values}() fix from Pike 7.7.

Rev: src/program.c:1.564

2004-08-13 13:05:41 by Henrik Grubbström (Grubba) <>

Backported program_{indices,values}() fix from Pike 7.7.

Rev: src/program.c:1.491

2004-08-13 13:05:35 by Henrik Grubbström (Grubba) <>

Backported program_{indices,values}() fix from Pike 7.7.

Rev: src/program.c:1.234

2004-08-13 13:05:31 by Henrik Grubbström (Grubba) <>

Backported program_{indices,values}() fix from Pike 7.7.

Rev: src/program.c:1.110

2004-08-13 12:13:01 by Henrik Grubbström (Grubba) <>

Fixed bug in program_{indices,values}().

Rev: src/program.c:1.566


2004-06-30 00:19:27 by Martin Nilsson <>

Use Pike_vsnprintf

Rev: src/docode.c:1.178
Rev: src/language.yacc:1.337
Rev: src/las.c:1.347
Rev: src/lexer.h:1.49
Rev: src/program.c:1.565
Rev: src/program.h:1.207


2004-05-29 18:13:42 by Henrik Grubbström (Grubba) <>

Removed the field "name" from struct program_constant since it was only used for debug (the real constant name is in the corresponding struct identifier).
Replaced it with an offset to be used to locate the initialization function.

Rev: src/encode.c:1.216
Rev: src/gc.c:1.255
Rev: src/las.c:1.346
Rev: src/program.c:1.564
Rev: src/program.h:1.205


2004-05-27 16:49:32 by Henrik Grubbström (Grubba) <>

Removed obsolete FIXME.

Rev: src/program.c:1.490

2004-05-27 13:20:05 by Henrik Grubbström (Grubba) <>

Backported override_identifier() fixes from Pike 7.6.
Enabled the identifier override fixup code in fixate_program().

Rev: src/program.c:1.489


2004-04-18 02:16:06 by Martin Stjernholm <>

Improved debug during cleanup: If there are internal refs that the gc don't
know about it will free them during the leak report. When they then are
freed from their real places later on, they will run out of refs. Therefore
the debug now prints all locations the leaked objects are freed from.

Rev: src/array.h:1.59
Rev: src/dmalloc.h:1.50
Rev: src/gc.c:1.253
Rev: src/gc.h:1.112
Rev: src/main.c:1.200
Rev: src/mapping.h:1.54
Rev: src/multiset.h:1.34
Rev: src/object.h:1.82
Rev: src/program.c:1.563
Rev: src/program.h:1.202


2004-04-17 15:18:52 by Marcus Comstedt <>

Module system Conservative New World Order

* Dynamic modules are now objects again.

* Static modules are _also_ objects.

* Both dynamic and static modules support _module_value. _module_value
can be a constant, thus preventing the program from being automatically

* Wrappers are _only_ generated for modules which have a
___ is only prepended to the name of the C module if a wrapper is used.

* _static_modules still contains programs. The indices can now contain
paths with slashes to indicate that the modules should not be at the
top level.

Rev: lib/
Rev: src/aclocal.m4:1.97
Rev: src/dumpmaster.pike:1.12
Rev: src/
Rev: src/modules/
Rev: src/modules/
Rev: src/modules/
Rev: src/program.c:1.562


2004-04-06 13:00:52 by Martin Nilsson <>

security.h -> pike_security.h

Rev: src/MANIFEST:1.4
Rev: src/array.c:1.157
Rev: src/builtin_functions.c:1.536
Rev: src/constants.c:1.51
Rev: src/interpret.c:1.348
Rev: src/iterators.cmod:1.53
Rev: src/main.c:1.198
Rev: src/mapping.c:1.179
Rev: src/modules/CommonLog/clf.c:1.16
Rev: src/modules/Perl/perlmod.c:1.35
Rev: src/modules/files/efuns.c:1.141
Rev: src/modules/files/file.c:1.317
Rev: src/modules/spider/spider.c:1.126
Rev: src/modules/system/nt.c:1.63
Rev: src/modules/system/syslog.c:1.23
Rev: src/modules/system/system.c:1.169
Rev: src/multiset.c:1.83
Rev: src/object.c:1.255
Rev: src/operators.c:1.187
Rev: src/program.c:1.561
Rev: src/security.c:1.46
Rev: src/signal_handler.c:1.295


2004-04-04 21:23:19 by Martin Stjernholm <>

Call gc callbacks after handling mapped variables, so that any extra work
due to gc freeing of variables can be carried out.

Rev: src/object.c:1.254
Rev: src/program.c:1.560


2004-03-31 14:28:22 by Henrik Grubbström (Grubba) <>

Fixed prototype for f_string_trim_all_whites().

Rev: src/builtin_functions.h:1.24
Rev: src/cpp.c:1.111
Rev: src/program.c:1.488


2004-03-23 13:41:56 by Henrik Grubbström (Grubba) <>

Backported various convenience functions from Pike 7.5.

Rev: src/cpp.c:1.110
Rev: src/cpp.h:1.8
Rev: src/program.c:1.487
Rev: src/program.h:1.181


2004-03-18 19:31:38 by Henrik Grubbström (Grubba) <>

Disabled identifier override fixup for now.

Rev: src/program.c:1.486


2004-03-14 05:45:44 by Martin Nilsson <>

mapping int-svalues must have proper subtypes since check_mappings traverse them all.

Rev: src/encode.c:1.210
Rev: src/program.c:1.559


2004-03-13 19:50:23 by Henrik Grubbström (Grubba) <>

Looking at num_parse_error in resolve_identifier() only increases the number of cascade errors.
Usually "Expected constant, got undefined identifier" and "Illegal program identifier (type: int).".

Rev: src/program.c:1.558

2004-03-13 14:45:06 by Henrik Grubbström (Grubba) <>

Renamed flag counter Pike_compiler->check_final to Pike_compiler->flags.
Moved the global flag force_resolve to Pike_compiler->flags.
The above fixes various bugs introduced by yesterdays changes.

Rev: src/compilation.h:1.31
Rev: src/language.yacc:1.328
Rev: src/las.c:1.344
Rev: src/program.c:1.557
Rev: src/program.h:1.200

2004-03-13 13:22:40 by Henrik Grubbström (Grubba) <>

Renamed flag counter Pike_compiler->check_final to Pike_compiler->flags.
Moved the global flag force_resolve to Pike_compiler->flags.
The above fixes various bugs introduced by yesterdays changes.
Added compilation pass as parameter to low_start_new_program().

Rev: src/compilation.h:1.31
Rev: src/encode.c:1.165
Rev: src/language.yacc:1.315
Rev: src/las.c:1.324
Rev: src/program.c:1.485
Rev: src/program.h:1.179


2004-03-10 18:08:12 by Henrik Grubbström (Grubba) <>

yyexplain_*() now return void and are protected against circularities. Fixes [bug 3618].

Rev: src/pike_types.c:1.231
Rev: src/program.c:1.556
Rev: src/program.h:1.199


2004-03-02 11:51:14 by Henrik Grubbström (Grubba) <>

id_to_program() is now aware of the ___ prefix.

Rev: src/program.c:1.555


2004-01-22 23:17:28 by Martin Nilsson <>

Fixed errors

Rev: src/docode.c:1.174
Rev: src/modules/Image/colors.c:1.71
Rev: src/modules/Image/colortable.c:1.118
Rev: src/modules/Image/encodings/psd.c:1.40
Rev: src/modules/Image/encodings/x.c:1.43
Rev: src/modules/Image/encodings/xcf.c:1.47
Rev: src/modules/Image/operator.c:1.45
Rev: src/modules/Java/jvm.c:1.66
Rev: src/modules/Math/transforms.cmod:1.11
Rev: src/modules/Perl/perlmod.c:1.34
Rev: src/modules/Ssleay/ssleay.c:1.21
Rev: src/modules/_Image_GIF/image_gif.c:1.20
Rev: src/modules/files/file.c:1.311
Rev: src/modules/files/termios.c:1.22
Rev: src/pike_types.h:1.93
Rev: src/program.c:1.554


2004-01-19 12:28:30 by Henrik Grubbström (Grubba) <>

Oops, typo in yyerror().

Rev: src/program.c:1.553

2004-01-19 12:15:40 by Henrik Grubbström (Grubba) <>

low_add_to_*() must NOT throw errors!

Rev: src/program.c:1.552

2004-01-19 12:07:25 by Henrik Grubbström (Grubba) <>

DON'T remove stuff you if don't know what it's for!
Restored existence of really_low_reference_inherited_identifier().

Rev: src/program.c:1.551
Rev: src/program.h:1.198


2004-01-17 19:20:43 by Martin Nilsson <>

More debug

Rev: src/program.c:1.550


2004-01-16 21:51:38 by Mirar (Pontus Hagland) <>

warnings fixed for my system... lets see about other systems.

Rev: src/program.c:1.549

2004-01-16 21:20:08 by Mirar (Pontus Hagland) <>

MIN isn't available on all systems, changing to Pike's on MINIMUM

Rev: src/program.c:1.548

2004-01-16 00:51:40 by Martin Nilsson <>

Rewrote reallocator code.

Rev: src/program.c:1.547


2004-01-15 05:05:59 by Martin Nilsson <>

cachegrind tweaking.

Rev: src/program.c:1.546
Rev: src/program.h:1.197


2003-12-30 10:54:41 by Henrik Grubbström (Grubba) <>

More fixes.

Rev: src/program.c:1.545

2003-12-30 10:02:46 by Henrik Grubbström (Grubba) <>

low_find_lfun() now only filters prototypes.

Rev: src/program.c:1.544

2003-12-30 09:56:28 by Henrik Grubbström (Grubba) <>

Fixed typo.

Rev: src/program.c:1.543

2003-12-30 09:24:26 by Henrik Grubbström (Grubba) <>

low_find_lfun() now ignores non functions and prototypes.

Rev: src/program.c:1.542


2003-11-28 15:44:27 by Henrik Grubbström (Grubba) <>

Added really_low_reference_inherited_identifier().

Rev: src/program.c:1.541
Rev: src/program.h:1.195


2003-11-25 18:29:30 by 0

Fixed uninitialized variables in debug code.

Rev: src/program.c:1.484


2003-11-24 17:28:45 by Henrik Grubbström (Grubba) <>


Rev: src/peep.c:1.95
Rev: src/program.c:1.540
Rev: src/program.h:1.193


2003-11-22 15:00:54 by Henrik Grubbström (Grubba) <>

Various AutoDoc mk II updates and fixes.

Rev: lib/7.0/modules/Calendar.pmod/Gregorian.pmod:1.4
Rev: lib/7.0/modules/Calendar.pmod/module.pmod:1.7
Rev: lib/modules/Cache.pmod/Policy.pmod/Base.pike:1.6
Rev: lib/modules/Cache.pmod/Policy.pmod/Timed.pike:1.7
Rev: lib/modules/Cache.pmod/Storage.pmod/Base.pike:1.9
Rev: lib/modules/Calendar.pmod/module.pmod:1.11
Rev: lib/modules/Calendar_I.pmod/module.pmod:1.14
Rev: lib/modules/Crypto.pmod/module.pmod:1.17
Rev: lib/modules/Graphics.pmod/Graph.pmod/create_bars.pike:1.8
Rev: lib/modules/Graphics.pmod/Graph.pmod/create_graph.pike:1.11
Rev: lib/modules/Graphics.pmod/Graph.pmod/create_pie.pike:1.9
Rev: lib/modules/Graphics.pmod/Graph.pmod/polyline.pike:1.6
Rev: lib/modules/Tools.pmod/PV.pike:1.9
Rev: src/iterators.cmod:1.48
Rev: src/program.c:1.539
Rev: src/threads.c:1.227


2003-11-20 13:54:32 by Henrik Grubbström (Grubba) <>

Various AutoDoc mk II reference fixes.

Rev: src/program.c:1.538


2003-11-19 20:23:03 by Henrik Grubbström (Grubba) <>

Added cleanup of the tripple info in PIKE_PORTABLE_BYTECODE mode.
Some errorhandling cleanup.

Rev: src/program.c:1.537


2003-11-18 13:08:33 by Henrik Grubbström (Grubba) <>

Some more is_compatible() related fixes.

Rev: src/program.c:1.536

2003-11-18 11:19:42 by Henrik Grubbström (Grubba) <>

Some type checking relaxations, and improved diagnostics.

Rev: src/pike_types.c:1.227
Rev: src/program.c:1.535
Rev: src/program.h:1.191


2003-11-14 04:45:05 by Martin Stjernholm <>

Use describe_error in the master to get the error message in
format_exception_for_error_msg. Fix in handle_compile_exception.

Rev: src/program.c:1.534

2003-11-14 00:11:44 by Martin Stjernholm <>

Cleanups in the compile exception handling. Did away with an unnecessary
level of SETJMP in store_constant.

Rev: src/program.c:1.533
Rev: src/program.h:1.188


2003-11-10 01:42:33 by Martin Stjernholm <>

Doc improvements for the operator lfuns and efuns. Still not finished, though.

Rev: src/operators.c:1.181
Rev: src/program.c:1.532

2003-11-10 01:35:45 by Martin Stjernholm <>

Fixed some lfun types.

Rev: src/program.c:1.531


2003-11-09 01:10:15 by Martin Stjernholm <>

Made the interface for the global dynamic buffer reentrant.

Rev: src/apply_low.h:1.25
Rev: src/array.c:1.151
Rev: src/dynamic_buffer.c:1.24
Rev: src/dynamic_buffer.h:1.19
Rev: src/error.c:1.117
Rev: src/interpret.c:1.337
Rev: src/interpret_functions.h:1.161
Rev: src/las.c:1.341
Rev: src/mapping.c:1.173
Rev: src/modules/sprintf/sprintf.c:1.115
Rev: src/multiset.c:1.79
Rev: src/pike_types.c:1.224
Rev: src/program.c:1.530
Rev: src/stralloc.c:1.160
Rev: src/svalue.c:1.179


2003-11-07 21:09:50 by Martin Stjernholm <>

Added ADD_FLOAT_CONSTANT. Fixed types for the functions adding ints and

Rev: src/program.c:1.529
Rev: src/program.h:1.187


2003-10-21 02:16:34 by Martin Nilsson <>

Fixed so that interpret.c compiles again.

Rev: src/program.c:1.483


2003-10-20 13:14:28 by Martin Stjernholm <>

Extended debug_get_program_line to optionally handle a pc, and therefore
renamed it to debug_get_line. (Note that in 7.5 there's
low_get_program_line_plain and low_get_line_plain instead.)

Rev: src/program.c:1.482
Rev: src/program.h:1.177

2003-10-20 13:12:18 by Martin Stjernholm <>

Use java style unicode escaping in make_plain_file.

Rev: src/program.c:1.528


2003-10-10 00:37:24 by Martin Stjernholm <>

Backported fix for string leak in the debug function dump_program_tables.

Rev: src/program.c:1.481


2003-09-30 13:32:58 by Henrik Grubbström (Grubba) <>

Backported define_function() fix from Pike 7.5.

Rev: src/program.c:1.480

2003-09-30 13:18:15 by Henrik Grubbström (Grubba) <>

Fixed bug in define_function().

Rev: src/program.c:1.527


2003-09-29 19:35:48 by Martin Stjernholm <>

Removed an unnecessary check.

Rev: src/program.c:1.526


2003-09-10 15:21:59 by Martin Stjernholm <>

Fixed various warnings and potential bugs with types of different sizes.

Rev: src/encode.c:1.197
Rev: src/gc.c:1.232
Rev: src/modules/DVB/dvb.c:1.21
Rev: src/modules/Gz/zlibmod.c:1.65
Rev: src/modules/Image/colors.c:1.66
Rev: src/modules/Image/font.c:1.81
Rev: src/modules/Mysql/dummy.c:1.13
Rev: src/modules/Parser/html.c:1.167
Rev: src/modules/Postgres/postgres.c:1.32
Rev: src/modules/_Image_GIF/image_gif.c:1.16
Rev: src/modules/_Image_JPEG/image_jpeg.c:1.63
Rev: src/modules/system/system.c:1.155
Rev: src/post_modules/GTK/pgtk.h:1.31
Rev: src/post_modules/GTK/source/global.pre:1.31
Rev: src/post_modules/GTK/source/gnomeiconselection.pre:1.3
Rev: src/post_modules/GTK/source/gtkclist.pre:1.15
Rev: src/post_modules/GTK/source/support.c:1.37
Rev: src/post_modules/SDL/SDL.cmod:1.20
Rev: src/post_modules/Shuffler/e_source_block_pikestream.c:1.3
Rev: src/program.c:1.525


2003-09-09 08:22:05 by Martin Stjernholm <>

Updated the comment about the line number format to match reality.

Rev: src/program.c:1.479


2003-09-08 20:05:21 by Martin Stjernholm <>

Cleaned up the gc check stuff a bit (large indentantion changes). Added more
tracking in the gc to help track down bugs when the gc follows munged
pointers in the mark pass. That's activated with GC_MARK_DEBUG.

Rev: src/array.c:1.149
Rev: src/backend.cmod:1.47
Rev: src/error.c:1.115
Rev: src/gc.c:1.228
Rev: src/gc.h:1.104
Rev: src/interpret.c:1.329
Rev: src/mapping.c:1.170
Rev: src/multiset.c:1.78
Rev: src/object.c:1.247
Rev: src/program.c:1.524
Rev: src/security.c:1.45
Rev: src/svalue.c:1.173
Rev: src/svalue.h:1.123
Rev: src/threads.c:1.220

2003-09-08 15:28:15 by Martin Stjernholm <>

Added more tracking in the gc to help track down bugs when the gc follows
munged pointers in the mark pass. Activated with GC_MARK_DEBUG.

Rev: src/array.c:1.135
Rev: src/gc.c:1.196
Rev: src/gc.h:1.95
Rev: src/mapping.c:1.160
Rev: src/object.c:1.221
Rev: src/program.c:1.478
Rev: src/svalue.c:1.156

2003-09-08 15:27:58 by Martin Stjernholm <>

Added more tracking in the gc to help track down bugs when the gc follows
munged pointers in the mark pass. Activated with GC_MARK_DEBUG.

Rev: src/array.c:1.109
Rev: src/gc.c:1.155
Rev: src/gc.h:1.77
Rev: src/mapping.c:1.127
Rev: src/object.c:1.166
Rev: src/program.c:1.319
Rev: src/svalue.c:1.107


2003-09-04 15:02:02 by Henrik Grubbström (Grubba) <>

Added support for fake lfuns, and added lfun::_search().

Rev: src/program.c:1.523
Rev: src/program.h:1.186


2003-09-03 17:55:59 by Martin Stjernholm <>

Updated a comment to reality.

Rev: src/program.c:1.522


2003-08-21 22:09:30 by Martin Stjernholm <>

Fixed a silly syntax error. Removed an apparently forgotten debug
printout and a now unnecessary block level.

Rev: src/program.c:1.521

2003-08-21 15:56:36 by Henrik Grubbström (Grubba) <>

Added FIXME, and some provisions for aliasing of inherited functions.

Rev: src/program.c:1.520


2003-08-20 21:42:35 by Henrik Grubbström (Grubba) <>

Disabled the zero constant kludge of revision 1.407.
Made program_{indices,values}() prototype constant aware.

Rev: src/program.c:1.519

2003-08-20 19:40:09 by Martin Stjernholm <>

Fixed constant references to programs in inherited programs. A little
more rtldebug checks.

Rev: src/program.c:1.518

2003-08-20 19:39:25 by Martin Stjernholm <>

Fixed constant references to programs in inherited programs.

Rev: src/program.c:1.477

2003-08-20 18:08:15 by Martin Stjernholm <>

Don't use sub_ref unless you know what you're doing.

Rev: src/program.c:1.517

2003-08-20 16:55:15 by Martin Stjernholm <>

Removed a forgotten debug printout.

Rev: src/program.c:1.476

2003-08-20 16:54:28 by Martin Stjernholm <>

Removed a forgotten debug printout.

Rev: src/program.c:1.516


2003-08-19 15:15:37 by Henrik Grubbström (Grubba) <>

Added NUMBER_LOCKED kludge for preallocation of constants.

Rev: src/program.c:1.475
Rev: src/svalue.h:1.115


2003-08-18 15:11:38 by Martin Stjernholm <>

Backported an important fix from 7.5, along with testsuite cases:
Reworked the Foo::this implementation to work correctly with parent
pointers through inherits etc. It's now done through a special
identifier reference integer IDREF_MAGIC_THIS.

Rev: bin/mktestsuite:1.22
Rev: src/builtin_functions.c:1.461
Rev: src/docode.c:1.162
Rev: src/interpret.c:1.293
Rev: src/interpret_functions.h:1.125
Rev: src/las.c:1.321
Rev: src/object.c:1.220
Rev: src/program.c:1.474
Rev: src/program.h:1.176
Rev: src/


2003-08-11 21:51:16 by Martin Nilsson <>

Fixed a leak, perhaps.

Rev: src/program.c:1.515


2003-08-04 16:36:17 by Martin Stjernholm <>

Missed one place.

Rev: src/program.c:1.514

2003-08-04 16:14:21 by Martin Stjernholm <>

Some code cleanup using VSNPRINTF.

Rev: src/cpp.c:1.120
Rev: src/encode.c:1.195
Rev: src/error.c:1.113
Rev: src/interpret.c:1.316
Rev: src/program.c:1.513


2003-08-03 01:01:37 by Martin Stjernholm <>

Reworked the Foo::this implementation to work correctly with parent
pointers through inherits etc. It's now done through a special
identifier reference integer IDREF_MAGIC_THIS. Minor cleanups wrt

Rev: src/program.c:1.512


2003-08-02 01:10:17 by Martin Stjernholm <>

Use the symbolic names for the magic values in parent_offset. Fixed a
bug with mixed up variable names in low_inherit. Print a bit more of
the inherit table in dump_program_tables.

Rev: src/program.c:1.511


2003-07-31 14:28:51 by Tomas Nilsson <>

Ported the ia32 machine code to windows with the MS VC++ compiler.

Rev: src/code/ia32.c:1.34
Rev: src/code/ia32.h:1.21
Rev: src/interpret.c:1.311
Rev: src/program.c:1.510


2003-06-30 17:29:40 by Martin Stjernholm <>

Fixed out of range bug when comparing identifiers. This could in rare
cases cause identifiers to "disappear" from a program.

Rev: src/program.c:1.318

2003-06-30 17:18:24 by Martin Stjernholm <>

Fixed out of range bug when comparing identifiers. This could in rare
cases cause identifiers to "disappear" from programs.

Rev: src/program.c:1.473

2003-06-30 16:47:14 by Martin Stjernholm <>

Fixed out of range bug when comparing identifiers. This could in rare
cases cause identifiers to "disappear" from a program. Cleaned up some
pointer handling.

Rev: src/program.c:1.509


2003-06-09 16:36:39 by Martin Stjernholm <>

Don't MEMCPY zero length blocks, to avoid warnings from memory checkers.

Rev: src/program.c:1.508


2003-06-06 14:35:48 by Henrik Grubbström (Grubba) <>

Using //-style comments in C-code is also a bad idea...

Rev: src/program.c:1.507

2003-06-06 14:31:11 by Henrik Grubbström (Grubba) <>

add_program_constant() now detects attempts to add the NULL program.

Rev: src/program.c:1.506

2003-06-06 12:57:00 by Henrik Grubbström (Grubba) <>

override_identifier() now detects attempts to override variables with functions or constants.

Rev: src/program.c:1.505


2003-06-04 09:09:23 by Henrik Grubbström (Grubba) <>

Bugfix in the new low_start_new_program().

Rev: src/program.c:1.504


2003-06-03 18:02:28 by Martin Stjernholm <>

Incorporated identifier override fix from 7.2 which can have effect in

Rev: src/program.c:1.503


2003-05-16 14:08:38 by Henrik Grubbström (Grubba) <>

Added kludge for encode_value() attempting to encode classes containing classes with methods implemented in C.

Rev: src/program.c:1.502


2003-04-27 23:06:15 by Martin Stjernholm <>

Some more doc about __hash.

Rev: src/program.c:1.501


2003-04-18 15:42:08 by Martin Stjernholm <>

Iterators now has its own class to put doc in.

Rev: src/program.c:1.500


2003-04-17 22:51:13 by Martin Stjernholm <>

Document `+=.

Rev: src/operators.c:1.175
Rev: src/program.c:1.499


2003-04-07 17:28:56 by Martin Nilsson <>

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/
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/
Rev: src/modules/_Charset/
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


2003-04-02 19:22:44 by Martin Stjernholm <>

Extended all integer argument types shorter than int to int since that's
more efficient.

Rev: src/constants.c:1.47
Rev: src/constants.h:1.30
Rev: src/docode.c:1.164
Rev: src/docode.h:1.18
Rev: src/dynamic_buffer.c:1.23
Rev: src/dynamic_buffer.h:1.18
Rev: src/encode.c:1.171
Rev: src/gc.c:1.216
Rev: src/global.h:1.85
Rev: src/las.c:1.334
Rev: src/las.h:1.62
Rev: src/multiset.c:1.71
Rev: src/pike_memory.c:1.145
Rev: src/pike_memory.h:1.44
Rev: src/pike_search.c:1.14
Rev: src/pike_search.h:1.7
Rev: src/pike_types.c:1.214
Rev: src/pike_types.h:1.86
Rev: src/port.h:1.50
Rev: src/program.c:1.497
Rev: src/program.h:1.181
Rev: src/program_areas.h:1.13
Rev: src/rbtree.h:1.10
Rev: src/svalue.h:1.118


2003-04-01 18:15:58 by Martin Nilsson <>

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/
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


2003-03-30 17:15:09 by Martin Stjernholm <>

Going back to destroying all remaining objects before the modules are
unloaded, since it got too tricky to handle the out-of-order calls to C
de-initializers etc. The leak report will therefore always show destructed
objects, but it ought to be good enough to find the leaks anyway.

Rev: src/main.c:1.170
Rev: src/object.c:1.234
Rev: src/program.c:1.495

2003-03-30 16:16:51 by Martin Stjernholm <>

Added a note about the changed semantics of the object exit callback
when DO_PIKE_CLEANUP is used.

Rev: src/program.c:1.494

2003-03-30 00:31:06 by Martin Stjernholm <>

Fixed a warning.

Rev: src/program.c:1.493


2003-03-29 22:42:48 by Martin Stjernholm <>

Added low_get_program_line_plain (which replaces debug_get_program_line) and

Rev: src/program.c:1.492
Rev: src/program.h:1.180

2003-03-29 21:23:11 by Martin Stjernholm <>

Parse out the line number correctly from the dmalloc location in

Rev: src/program.c:1.491


2003-03-27 02:20:24 by Martin Stjernholm <>

Added _sprintf to __placeholder_object.

Rev: src/program.c:1.490


2003-03-19 19:55:24 by Martin Nilsson <>

PROG_GMP_MPZ_ID is Gmp.mpz

Rev: src/program.c:1.472

2003-03-19 19:52:28 by Martin Nilsson <>

PROG_GMP_MPZ_ID is Gmp.mpz

Rev: src/program.c:1.489

2003-03-19 18:32:01 by Martin Stjernholm <>

Fixed cache bug in low_get_line which could cause it to use stale pointers
if prog->linenumbers gets reallocated (happens only if line number info is
retrieved for unfinished programs).

Rev: src/program.c:1.488

2003-03-19 18:32:00 by Martin Stjernholm <>

Fixed cache bug in low_get_line which could cause it to use stale pointers
if prog->linenumbers gets reallocated (happens only if line number info is
retrieved for unfinished programs).

Rev: src/program.c:1.471

2003-03-19 18:31:34 by Martin Stjernholm <>

Fixed cache bug in get_line which could cause it to use stale pointers if
prog->linenumbers gets reallocated (happens only if line number info is
retrieved for unfinished programs).

Rev: src/program.c:1.317


2003-03-14 17:45:05 by Henrik Grubbström (Grubba) <>

Fixed memory leak.

Rev: src/program.c:1.487

2003-03-14 15:57:49 by Henrik Grubbström (Grubba) <>

Improved dmalloc.

Rev: src/apply_low.h:1.16
Rev: src/array.c:1.138
Rev: src/backend.cmod:1.38
Rev: src/bignum.c:1.34
Rev: src/block_alloc.h:1.63
Rev: src/builtin_functions.c:1.479
Rev: src/code/ia32.c:1.25
Rev: src/cpp.c:1.115
Rev: src/encode.c:1.169
Rev: src/error.c:1.102
Rev: src/gc.c:1.209
Rev: src/interpret.c:1.295
Rev: src/interpret.h:1.131
Rev: src/interpret_functions.h:1.141
Rev: src/iterators.cmod:1.35
Rev: src/las.c:1.330
Rev: src/mapping.c:1.163
Rev: src/modules/Image/orient.c:1.24
Rev: src/modules/Image/phase.h:1.6
Rev: src/modules/Java/jvm.c:1.60
Rev: src/modules/SANE/sane.c:1.17
Rev: src/modules/_Roxen/roxen.c:1.33
Rev: src/multiset.c:1.69
Rev: src/object.c:1.228
Rev: src/opcodes.c:1.143
Rev: src/operators.c:1.172
Rev: src/pike_types.c:1.211
Rev: src/post_modules/Shuffler/Shuffler.cmod:1.23
Rev: src/post_modules/Shuffler/a_source_pikestring.c:1.8
Rev: src/post_modules/Shuffler/a_source_system_memory.c:1.9
Rev: src/post_modules/Shuffler/b_source_normal_file.c:1.8
Rev: src/post_modules/Shuffler/c_source_stream.c:1.7
Rev: src/post_modules/Shuffler/d_source_pikestream.c:1.6
Rev: src/post_modules/Shuffler/e_source_block_pikestream.c:1.2
Rev: src/preprocessor.h:1.58
Rev: src/program.c:1.486
Rev: src/signal_handler.c:1.249
Rev: src/stralloc.c:1.153
Rev: src/stralloc.h:1.73
Rev: src/svalue.c:1.161
Rev: src/threads.c:1.211


2003-03-09 13:10:40 by Henrik Grubbström (Grubba) <>

Improved fix for indexing self during compilation.

Rev: src/las.c:1.329
Rev: src/object.c:1.227
Rev: src/program.c:1.485


2003-03-08 17:25:19 by Henrik Grubbström (Grubba) <>

Fixed bugs in error handling.

Rev: src/program.c:1.484


2003-02-24 21:00:45 by Martin Stjernholm <>

Produce real zeroes and not false function pointers when a local function
with only a prototype is referenced. This was a compatibility problem;
there's code that assumes that false values can't be function references.

Rev: src/docode.c:1.163
Rev: src/las.c:1.325
Rev: src/program.c:1.483
Rev: src/program.h:1.178

2003-02-24 21:00:44 by Martin Stjernholm <>

Produce real zeroes and not false function pointers when a local function
with only a prototype is referenced. This was a compatibility problem;
there's code that assumes that false values can't be function references.

Rev: src/docode.c:1.161
Rev: src/las.c:1.318
Rev: src/program.c:1.470
Rev: src/program.h:1.174

2003-02-24 13:42:11 by Henrik Grubbström (Grubba) <>

Backported identifier lookup fixes from Pike 7.5.

Rev: src/encode.c:1.160
Rev: src/program.c:1.469
Rev: src/program.h:1.173


2003-02-20 14:55:12 by Henrik Grubbström (Grubba) <>

Program->identifier_index is now sorted after the pointers, this should be somewhat faster.
Also added fsort_program_identifier_index(), and removed program_function_index_compare().

Rev: src/encode.c:1.165
Rev: src/program.c:1.482
Rev: src/program.h:1.177


2003-02-15 16:02:05 by Henrik Grubbström (Grubba) <>

Removed unused parameter from fast_clone_object().

Rev: src/object.c:1.224
Rev: src/object.h:1.78
Rev: src/program.c:1.481


2003-02-12 23:59:18 by Martin Stjernholm <>

Only enable the don't-count-references-to-self hack if a flag is set, since
this stunt doesn't jibe with C modules with mapped variables that aren't
prepared for it.

Rev: src/object.c:1.220
Rev: src/program.c:1.480
Rev: src/program.h:1.176


2003-02-08 03:49:23 by Martin Stjernholm <>

REF_MAKE_CONST_STRING as appropriate.

Rev: src/builtin.cmod:1.115
Rev: src/interpret.h:1.126
Rev: src/iterators.cmod:1.34
Rev: src/language.yacc:1.315
Rev: src/las.c:1.324
Rev: src/opcodes.c:1.135
Rev: src/program.c:1.479
Rev: src/


2003-02-04 17:32:20 by Martin Stjernholm <>

Backported line info improvements from 7.5 since it can be a major bonus to
have this when tracking down bugs:

Provide line number info for C programs even when compiling without
rtldebug, but strip off the path to the build tree. Let Function.defined
return the line number info for the program when it's a C function that
doesn't have any line info itself.

Rev: src/
Rev: src/builtin_functions.c:1.456
Rev: src/program.c:1.468
Rev: src/program.h:1.172

2003-02-04 17:29:19 by Martin Stjernholm <>

Provide line number info for C programs even when compiling without
rtldebug, but strip off the path to the build tree. Let Function.defined
return the line number info for the program when it's a C function that
doesn't have any line info itself.

Rev: src/
Rev: src/builtin_functions.c:1.468
Rev: src/program.c:1.478
Rev: src/program.h:1.175


2003-02-01 15:43:51 by Martin Stjernholm <>

Enabled some consistency checks in the gc when compiled without rtldebug
(only activated on debug level 1 or higher). Always define _verify_internals
to be able to use this.

Made it possible to turn on trace messages for the gc only with
trace(1,"gc"). This is the embryo of a facility based trace system. Still to
do: Raise all the global trace levels to make room for gc only trace at
level 1, and fix a framework for trace facilities.

Rev: src/array.c:1.137
Rev: src/builtin.cmod:1.113
Rev: src/builtin_functions.c:1.466
Rev: src/gc.c:1.199
Rev: src/gc.h:1.97
Rev: src/mapping.c:1.162
Rev: src/multiset.c:1.68
Rev: src/object.c:1.218
Rev: src/program.c:1.477

2003-02-01 15:37:23 by Martin Stjernholm <>

Enabled some consistency checks in the gc when compiled without rtldebug
(only activated on debug level 1 or higher). Always define _verify_internals
to be able to use this. Made it possible to turn on trace messages for the
gc only with trace(1,"gc") (intended to be compatible with a facility based
trace system in 7.5).

Rev: src/array.c:1.134
Rev: src/builtin.cmod:1.103
Rev: src/builtin_functions.c:1.455
Rev: src/gc.c:1.192
Rev: src/gc.h:1.94
Rev: src/mapping.c:1.158
Rev: src/multiset.c:1.61
Rev: src/object.c:1.213
Rev: src/program.c:1.467


2003-01-31 01:50:53 by Martin Stjernholm <>

Added low_get_function_line. Disabled the `() stuff in program_from_svalue
since it does more harm than good in its current state.

Rev: src/program.c:1.476
Rev: src/program.h:1.174


2003-01-29 15:55:26 by Martin Stjernholm <>

Enabled some consistency checks in the gc when compiled without rtldebug
(only activated on debug level 1 or higher). Always define _verify_internals
to be able to use this. Made it possible to turn on trace messages for the
gc only with trace(1,"gc").

Rev: src/array.c:1.108
Rev: src/builtin.cmod:1.31
Rev: src/builtin_functions.c:1.367
Rev: src/gc.c:1.152
Rev: src/gc.h:1.76
Rev: src/mapping.c:1.125
Rev: src/multiset.c:1.34
Rev: src/object.c:1.165
Rev: src/program.c:1.316


2003-01-28 12:05:55 by Martin Stjernholm <>

Always use alloc_object for objects, even fake ones (this mainly
caused _memory_usage() to report a too low number of objects when
running without rtldebug).

Rev: src/program.c:1.315


2003-01-15 22:07:19 by Martin Stjernholm <>

Fixed a leak.

Rev: src/program.c:1.475

2003-01-15 21:38:38 by Martin Stjernholm <>

Added an _sprintf lfun to the trampoline program.

Rev: src/program.c:1.474


2003-01-11 03:06:54 by Martin Stjernholm <>

Fixed bug in the new calculation of the amount of garbage.

Rev: src/array.c:1.135
Rev: src/gc.c:1.194
Rev: src/mapping.c:1.161
Rev: src/multiset.c:1.67
Rev: src/object.c:1.217
Rev: src/program.c:1.473

2003-01-11 00:01:21 by Martin Stjernholm <>

Provide data for more accurate calculation of freed things in the gc.

Rev: src/array.c:1.134
Rev: src/array.h:1.45
Rev: src/mapping.c:1.160
Rev: src/mapping.h:1.48
Rev: src/multiset.c:1.66
Rev: src/multiset.h:1.31
Rev: src/object.c:1.216
Rev: src/object.h:1.76
Rev: src/program.c:1.472
Rev: src/program.h:1.172


2003-01-09 18:59:00 by Henrik Grubbström (Grubba) <>

Markup fix.

Rev: src/program.c:1.471


2003-01-03 14:56:17 by Henrik Grubbström (Grubba) <>

Markup fix.

Rev: src/program.c:1.470


2002-12-20 19:07:07 by Henrik Grubbström (Grubba) <>

Some notes about the lfun:: namespace.

Rev: src/program.c:1.469


2002-12-18 20:36:00 by Henrik Grubbström (Grubba) <>

Backported AutoDoc namespace support from Pike 7.5.

Rev: lib/7.0/modules/.autodoc:1.2
Rev: lib/7.2/modules/.autodoc:1.2
Rev: lib/modules/Tools.pmod/AutoDoc.pmod/CExtractor.pmod:1.19
Rev: lib/modules/Tools.pmod/AutoDoc.pmod/DocParser.pmod:1.49
Rev: lib/modules/Tools.pmod/AutoDoc.pmod/MirarDocParser.pike:1.14
Rev: lib/modules/Tools.pmod/AutoDoc.pmod/PikeExtractor.pmod:1.27
Rev: lib/modules/Tools.pmod/AutoDoc.pmod/PikeObjects.pmod:1.23
Rev: lib/modules/Tools.pmod/AutoDoc.pmod/PikeParser.pike:1.27
Rev: lib/modules/Tools.pmod/AutoDoc.pmod/ProcessXML.pmod:1.36
Rev: lib/modules/Tools.pmod/Standalone.pmod/assemble_autodoc.pike:1.19
Rev: lib/modules/Tools.pmod/Standalone.pmod/extract_autodoc.pike:1.22
Rev: lib/modules/Tools.pmod/Standalone.pmod/join_autodoc.pike:1.10
Rev: refdoc/presentation/make_html.pike:1.52
Rev: refdoc/presentation/tree-split-autodoc.pike:1.35
Rev: refdoc/structure/modref.xml:1.6
Rev: refdoc/structure/traditional.xml:1.18
Rev: src/object.c:1.212
Rev: src/program.c:1.466


2002-12-11 20:27:00 by Henrik Grubbström (Grubba) <>

Now uses @namespace.

Rev: src/object.c:1.212
Rev: src/program.c:1.468


2002-12-10 16:53:28 by Martin Stjernholm <>

Added checks for placeholder objects and programs to narrow down problems in
the pike side of the resolver better.

Rev: src/cpp.c:1.113
Rev: src/las.c:1.317
Rev: src/program.c:1.467


2002-12-08 15:57:07 by Henrik Grubbström (Grubba) <>

Added some documentation.

Rev: src/program.c:1.466


2002-12-01 18:39:07 by Martin Stjernholm <>

Separated the line retrieval functions into two variants so that it's
possible to avoid the dwim:ey fallback strings when a line isn't found.
Added a function to be able to store a line number in the placeholder
program returned by __empty_program.

Rev: src/program.c:1.465
Rev: src/program.h:1.170

2002-12-01 00:16:55 by Martin Stjernholm <>

Some debug improvements when the refcount is wrong.

Rev: src/array.c:1.133
Rev: src/iterators.cmod:1.31
Rev: src/mapping.c:1.157
Rev: src/multiset.c:1.60
Rev: src/object.c:1.211
Rev: src/program.c:1.464
Rev: src/stralloc.c:1.150


2002-11-25 03:16:08 by Martin Stjernholm <>

Must discard valgrind translations before the program code block is
given back to the system.

Rev: src/program.c:1.463


2002-11-24 22:47:06 by Martin Stjernholm <>

Changed some block_allocs to tune to memory pages.

Rev: src/backend.cmod:1.31
Rev: src/constants.c:1.44
Rev: src/constants.h:1.28
Rev: src/gc.c:1.189
Rev: src/interpret.c:1.283
Rev: src/las.c:1.315
Rev: src/mapping.c:1.155
Rev: src/multiset.c:1.59
Rev: src/multiset.h:1.29
Rev: src/object.c:1.210
Rev: src/object.h:1.75
Rev: src/pike_memory.c:1.127
Rev: src/program.c:1.462
Rev: src/program.h:1.169

2002-11-24 21:47:05 by Henrik Grubbström (Grubba) <>

Improved valgrind performance.

Rev: src/las.c:1.313
Rev: src/program.c:1.461


2002-11-23 20:05:14 by Martin Stjernholm <>

Register invalidated svalues and short svalues with the memory checker in
addition to dmalloc. Removed duplicated invalidation in a couple of places.

Rev: src/encode.c:1.158
Rev: src/object.c:1.209
Rev: src/program.c:1.460
Rev: src/svalue.c:1.151
Rev: src/svalue.h:1.111


2002-11-22 15:46:14 by Henrik Grubbström (Grubba) <>

Added some assembler-debug at level 5.

Rev: src/program.c:1.459


2002-11-19 12:31:49 by Henrik Grubbström (Grubba) <>

Should now support running valgrind with machine-code.

Rev: src/program.c:1.458


2002-11-17 15:31:20 by Henrik Grubbström (Grubba) <>

Added some documentation of UNDEFINED, this and this_program.

Rev: src/program.c:1.457


2002-11-14 14:48:54 by Henrik Grubbström (Grubba) <>

Fix for current_function_number giving false matches when generating code for __INIT().

Rev: src/program.c:1.456


2002-11-07 17:03:28 by Marcus Comstedt <>

Repaired this_program when used as a value.

Rev: src/program.c:1.455
Rev: src/

2002-11-07 15:00:56 by Henrik Grubbström (Grubba) <>


Rev: src/program.c:1.454

2002-11-07 15:00:01 by Henrik Grubbström (Grubba) <>


Rev: src/program.c:1.453

2002-11-07 14:58:05 by Henrik Grubbström (Grubba) <>

dump_program_tables() now also dumps the linenumber information table.

Rev: src/program.c:1.452


2002-10-30 16:02:00 by Martin Nilsson <>

Removed unused variables.

Rev: src/program.c:1.451


2002-10-12 11:57:09 by Henrik Grubbström (Grubba) <>

Added some stack level debug.
Fixed broken use of safe_apply_handler() in change_compiler_compatibility().
Fixes "yyparse() left -1 droppings on the stack!".

Rev: src/program.c:1.450


2002-10-11 01:40:00 by Martin Nilsson <>

Updated header (again) after some input from Per and mast.

Rev: src/acconfig.h:1.107
Rev: src/alloca.c:1.7
Rev: src/apply_low.h:1.10
Rev: src/array.c:1.132
Rev: src/array.h:1.44
Rev: src/backend.cmod:1.29
Rev: src/backend.h:1.16
Rev: src/bignum.c:1.27
Rev: src/bignum.h:1.16
Rev: src/block_alloc.h:1.45
Rev: src/block_alloc_h.h:1.13
Rev: src/builtin.cmod:1.94
Rev: src/builtin_functions.c:1.445
Rev: src/builtin_functions.h:1.22
Rev: src/builtin_functions_t.c:1.3
Rev: src/callback.c:1.30
Rev: src/callback.h:1.18
Rev: src/code/bytecode.c:1.6
Rev: src/code/bytecode.h:1.9
Rev: src/code/computedgoto.c:1.3
Rev: src/code/computedgoto.h:1.7
Rev: src/code/ia32.c:1.23
Rev: src/code/ia32.h:1.18
Rev: src/code/ppc32.c:1.23
Rev: src/code/ppc32.h:1.17
Rev: src/code/sparc.c:1.13
Rev: src/code/sparc.h:1.15
Rev: src/combine_path.h:1.11
Rev: src/compilation.h:1.30
Rev: src/constants.c:1.42
Rev: src/constants.h:1.27
Rev: src/cpp.c:1.105
Rev: src/cpp.h:1.7
Rev: src/crypt.c:1.4
Rev: src/cyclic.c:1.8
Rev: src/cyclic.h:1.7
Rev: src/dlopen.c:1.36
Rev: src/dmalloc.h:1.38
Rev: src/docode.c:1.150
Rev: src/docode.h:1.17
Rev: src/dummy_ci.h:1.6
Rev: src/dynamic_buffer.c:1.21
Rev: src/dynamic_buffer.h:1.16
Rev: src/dynamic_load.c:1.66
Rev: src/dynamic_load.h:1.6
Rev: src/efun.h:1.7
Rev: src/encode.c:1.155
Rev: src/encode.h:1.7
Rev: src/error.c:1.92
Rev: src/errors.h:1.22
Rev: src/fd_control.c:1.46
Rev: src/fd_control.h:1.10
Rev: src/fdlib.c:1.55
Rev: src/fdlib.h:1.43
Rev: src/fsort.c:1.21
Rev: src/fsort.h:1.6
Rev: src/fsort_template.h:1.13
Rev: src/gc.c:1.188
Rev: src/gc.h:1.92
Rev: src/global.h:1.76
Rev: src/hashtable.c:1.14
Rev: src/hashtable.h:1.9
Rev: src/interpret.c:1.270
Rev: src/interpret.h:1.113
Rev: src/interpret_functions.h:1.110
Rev: src/interpreter.h:1.78
Rev: src/iterators.cmod:1.30
Rev: src/language.yacc:1.300
Rev: src/las.c:1.303
Rev: src/las.h:1.58
Rev: src/las_t.c:1.3
Rev: src/lex.c:1.108
Rev: src/lex.h:1.24
Rev: src/lexer.h:1.40
Rev: src/main.c:1.156
Rev: src/main.h:1.20
Rev: src/mapping.c:1.152
Rev: src/mapping.h:1.44
Rev: src/module.c:1.20
Rev: src/module.h:1.8
Rev: src/module_magic.h:1.7
Rev: src/module_support.c:1.51
Rev: src/module_support.h:1.15
Rev: src/module_t.c:1.3
Rev: src/modules/CommonLog/acconfig.h:1.3
Rev: src/modules/CommonLog/clf.c:1.10
Rev: src/modules/DVB/acconfig.h:1.3
Rev: src/modules/DVB/dvb.c:1.12
Rev: src/modules/DVB/dvb.h:1.4
Rev: src/modules/DVB/psparser.c:1.5
Rev: src/modules/Gdbm/acconfig.h:1.3
Rev: src/modules/Gdbm/gdbmmod.c:1.21
Rev: src/modules/Gettext/acconfig.h:1.4
Rev: src/modules/Gettext/gettext.c:1.12
Rev: src/modules/Gmp/mpf.cmod:1.12
Rev: src/modules/Gmp/mpq.cmod:1.13
Rev: src/modules/Gmp/mpz_glue.c:1.111
Rev: src/modules/Gmp/my_gmp.h:1.13
Rev: src/modules/Gmp/my_mpz_xor.c:1.5
Rev: src/modules/Gmp/next_prime.c:1.12
Rev: src/modules/Gz/acconfig.h:1.3
Rev: src/modules/Gz/zlibmod.c:1.55
Rev: src/modules/HTTPLoop/accept_and_parse.c:1.29
Rev: src/modules/HTTPLoop/accept_and_parse.h:1.10
Rev: src/modules/HTTPLoop/acconfig.h:1.4
Rev: src/modules/HTTPLoop/cache.c:1.19
Rev: src/modules/HTTPLoop/cache.h:1.10
Rev: src/modules/HTTPLoop/filesystem.c:1.7
Rev: src/modules/HTTPLoop/filesystem.h:1.3
Rev: src/modules/HTTPLoop/log.c:1.13
Rev: src/modules/HTTPLoop/log.h:1.3
Rev: src/modules/HTTPLoop/requestobject.c:1.23
Rev: src/modules/HTTPLoop/requestobject.h:1.3
Rev: src/modules/HTTPLoop/static_strings.h:1.3
Rev: src/modules/HTTPLoop/timeout.c:1.9
Rev: src/modules/HTTPLoop/timeout.h:1.4
Rev: src/modules/HTTPLoop/util.c:1.9
Rev: src/modules/HTTPLoop/util.h:1.5
Rev: src/modules/Image/acconfig.h:1.7
Rev: src/modules/Image/assembly.h:1.5
Rev: src/modules/Image/blit.c:1.53
Rev: src/modules/Image/blit_layer_include.h:1.8
Rev: src/modules/Image/colors.c:1.63
Rev: src/modules/Image/colors.h:1.8
Rev: src/modules/Image/colortable.c:1.112
Rev: src/modules/Image/colortable.h:1.27
Rev: src/modules/Image/colortable_lookup.h:1.20
Rev: src/modules/Image/dct.c:1.22
Rev: src/modules/Image/default_font.c:1.5
Rev: src/modules/Image/encodings/_xpm.c:1.21
Rev: src/modules/Image/encodings/any.c:1.25
Rev: src/modules/Image/encodings/avs.c:1.14
Rev: src/modules/Image/encodings/bmp.c:1.37
Rev: src/modules/Image/encodings/dsi.c:1.6
Rev: src/modules/Image/encodings/encodings.h:1.5
Rev: src/modules/Image/encodings/hrz.c:1.8
Rev: src/modules/Image/encodings/iff.c:1.12
Rev: src/modules/Image/encodings/ilbm.c:1.26
Rev: src/modules/Image/encodings/pcx.c:1.19
Rev: src/modules/Image/encodings/png.c:1.46
Rev: src/modules/Image/encodings/pnm.c:1.28
Rev: src/modules/Image/encodings/psd.c:1.34
Rev: src/modules/Image/encodings/psd_constant_strings.h:1.6
Rev: src/modules/Image/encodings/pvr.c:1.21
Rev: src/modules/Image/encodings/ras.c:1.18
Rev: src/modules/Image/encodings/tga.c:1.29
Rev: src/modules/Image/encodings/tim.c:1.14
Rev: src/modules/Image/encodings/wbf.c:1.13
Rev: src/modules/Image/encodings/x.c:1.39
Rev: src/modules/Image/encodings/xbm.c:1.17
Rev: src/modules/Image/encodings/xcf.c:1.42
Rev: src/modules/Image/encodings/xcf_constant_strings.h:1.3
Rev: src/modules/Image/encodings/xwd.c:1.23
Rev: src/modules/Image/font.c:1.74
Rev: src/modules/Image/image.c:1.199
Rev: src/modules/Image/image.h:1.50
Rev: src/modules/Image/image_module.c:1.16
Rev: src/modules/Image/initstuff.h:1.16
Rev: src/modules/Image/layer_channel.h:1.8
Rev: src/modules/Image/layer_oper.h:1.10
Rev: src/modules/Image/layers.c:1.81
Rev: src/modules/Image/match.h:1.15
Rev: src/modules/Image/matrix.c:1.42
Rev: src/modules/Image/operator.c:1.42
Rev: src/modules/Image/orient.c:1.22
Rev: src/modules/Image/pattern.c:1.27
Rev: src/modules/Image/phase.h:1.5
Rev: src/modules/Image/poly.c:1.16
Rev: src/modules/Image/polyfill.c:1.41
Rev: src/modules/Image/search.c:1.25
Rev: src/modules/Java/acconfig.h:1.4
Rev: src/modules/Java/jvm.c:1.44
Rev: src/modules/Java/ntdl.c:1.4
Rev: src/modules/MIME/acconfig.h:1.4
Rev: src/modules/MIME/mime.c:1.34
Rev: src/modules/Math/acconfig.h:1.3
Rev: src/modules/Math/math_matrix.c:1.35
Rev: src/modules/Math/math_module.c:1.11
Rev: src/modules/Math/math_module.h:1.9
Rev: src/modules/Math/matrix_code.h:1.7
Rev: src/modules/Math/transforms.cmod:1.8
Rev: src/modules/Math/transforms.h:1.3
Rev: src/modules/Mird/acconfig.h:1.5
Rev: src/modules/Mird/libmird/acconfig.h:1.5
Rev: src/modules/Mird/libmird/blocks.c:1.5
Rev: src/modules/Mird/libmird/cells.c:1.4
Rev: src/modules/Mird/libmird/database.c:1.6
Rev: src/modules/Mird/libmird/debug.c:1.4
Rev: src/modules/Mird/libmird/dmalloc.c:1.4
Rev: src/modules/Mird/libmird/dmalloc.h:1.4
Rev: src/modules/Mird/libmird/errors.c:1.4
Rev: src/modules/Mird/libmird/frags.c:1.4
Rev: src/modules/Mird/libmird/freelist.c:1.4
Rev: src/modules/Mird/libmird/hashtrie.c:1.6
Rev: src/modules/Mird/libmird/internal.h:1.6
Rev: src/modules/Mird/libmird/journal.c:1.4
Rev: src/modules/Mird/libmird/make_old_database.c:1.4
Rev: src/modules/Mird/libmird/physical.h:1.4
Rev: src/modules/Mird/libmird/skeys.c:1.4
Rev: src/modules/Mird/libmird/tables.c:1.4
Rev: src/modules/Mird/libmird/test.c:1.4
Rev: src/modules/Mird/libmird/testsuite.c:1.5
Rev: src/modules/Mird/libmird/transaction.c:1.4
Rev: src/modules/Mird/libmird/usage.c:1.4
Rev: src/modules/Mird/libmird/win32-config.h:1.5
Rev: src/modules/Mird/mird_glue.c:1.19
Rev: src/modules/Msql/msqlmod.c:1.22
Rev: src/modules/Msql/version.h:1.4
Rev: src/modules/Mysql/acconfig.h:1.9
Rev: src/modules/Mysql/dummy.c:1.7
Rev: src/modules/Mysql/mysql.c:1.59
Rev: src/modules/Mysql/precompiled_mysql.h:1.15
Rev: src/modules/Mysql/result.c:1.27
Rev: src/modules/Odbc/acconfig.h:1.7
Rev: src/modules/Odbc/odbc.c:1.32
Rev: src/modules/Odbc/odbc_result.c:1.32
Rev: src/modules/Odbc/precompiled_odbc.h:1.18
Rev: src/modules/Oracle/acconfig.h:1.3
Rev: src/modules/Oracle/oracle.c:1.73
Rev: src/modules/PDF/acconfig.h:1.4
Rev: src/modules/PDF/initstuff.h:1.3
Rev: src/modules/PDF/pdf_module.c:1.13
Rev: src/modules/PDF/pdflib_glue.c:1.10
Rev: src/modules/Parser/acconfig.h:1.4
Rev: src/modules/Parser/html.c:1.155
Rev: src/modules/Parser/initstuff.h:1.4
Rev: src/modules/Parser/parser.c:1.16
Rev: src/modules/Parser/parser.h:1.3
Rev: src/modules/Perl/acconfig.h:1.3
Rev: src/modules/Perl/perlmod.c:1.28
Rev: src/modules/Pipe/acconfig.h:1.3
Rev: src/modules/Pipe/pipe.c:1.51
Rev: src/modules/Postgres/pg_types.h:1.6
Rev: src/modules/Postgres/pgresult.c:1.19
Rev: src/modules/Postgres/pgresult.h:1.4
Rev: src/modules/Postgres/postgres.c:1.28
Rev: src/modules/Postgres/version.h:1.5
Rev: src/modules/Regexp/acconfig.h:1.3
Rev: src/modules/Regexp/glue.c:1.31
Rev: src/modules/Regexp/pike_regexp.c:1.22
Rev: src/modules/Regexp/pike_regexp.h:1.9
Rev: src/modules/SANE/acconfig.h:1.3
Rev: src/modules/SANE/sane.c:1.14
Rev: src/modules/Ssleay/acconfig.h:1.4
Rev: src/modules/Ssleay/ssleay.c:1.19
Rev: src/modules/Yp/acconfig.h:1.5
Rev: src/modules/Yp/yp.c:1.27
Rev: src/modules/_Charset/acconfig.h:1.3
Rev: src/modules/_Charset/charsetmod.c:1.38
Rev: src/modules/_Charset/iso2022.c:1.25
Rev: src/modules/_Charset/iso2022.h:1.5
Rev: src/modules/_Charset/misc.c:1.12
Rev: src/modules/_Charset/tables.c:1.13
Rev: src/modules/_Crypto/acconfig.h:1.3
Rev: src/modules/_Crypto/arcfour.c:1.19
Rev: src/modules/_Crypto/cast.c:1.13
Rev: src/modules/_Crypto/cbc.c:1.23
Rev: src/modules/_Crypto/crypto.c:1.51
Rev: src/modules/_Crypto/crypto.h:1.10
Rev: src/modules/_Crypto/des.c:1.26
Rev: src/modules/_Crypto/idea.c:1.20
Rev: src/modules/_Crypto/include/RCSID.h:1.8
Rev: src/modules/_Crypto/include/arcfour.h:1.6
Rev: src/modules/_Crypto/include/cast.h:1.4
Rev: src/modules/_Crypto/include/crypto_types.h:1.9
Rev: src/modules/_Crypto/include/des.h:1.6
Rev: src/modules/_Crypto/include/idea.h:1.6
Rev: src/modules/_Crypto/include/md2.h:1.3
Rev: src/modules/_Crypto/include/md4.h:1.3
Rev: src/modules/_Crypto/include/md5.h:1.4
Rev: src/modules/_Crypto/include/rijndael.h:1.4
Rev: src/modules/_Crypto/include/sha.h:1.6
Rev: src/modules/_Crypto/invert.c:1.15
Rev: src/modules/_Crypto/lib/arcfour.c:1.9
Rev: src/modules/_Crypto/lib/cast.c:1.4
Rev: src/modules/_Crypto/lib/cast_sboxes.h:1.4
Rev: src/modules/_Crypto/lib/crypt_md5.c:1.4
Rev: src/modules/_Crypto/lib/desCode.h:1.4
Rev: src/modules/_Crypto/lib/desKerb.c:1.5
Rev: src/modules/_Crypto/lib/desQuick.c:1.6
Rev: src/modules/_Crypto/lib/desTest.c:1.5
Rev: src/modules/_Crypto/lib/desUtil.c:1.4
Rev: src/modules/_Crypto/lib/desdata.c:1.7
Rev: src/modules/_Crypto/lib/desinfo.h:1.5
Rev: src/modules/_Crypto/lib/idea.c:1.8
Rev: src/modules/_Crypto/lib/md2.c:1.5
Rev: src/modules/_Crypto/lib/md4.c:1.3
Rev: src/modules/_Crypto/lib/md5.c:1.5
Rev: src/modules/_Crypto/lib/rijndael.c:1.3
Rev: src/modules/_Crypto/lib/sha.c:1.9
Rev: src/modules/_Crypto/md2.c:1.15
Rev: src/modules/_Crypto/md4.c:1.4
Rev: src/modules/_Crypto/md5.c:1.20
Rev: src/modules/_Crypto/nt.c:1.11
Rev: src/modules/_Crypto/pipe.c:1.24
Rev: src/modules/_Crypto/rijndael.c:1.9
Rev: src/modules/_Crypto/rsa.c:1.27
Rev: src/modules/_Crypto/sha.c:1.23
Rev: src/modules/_Ffmpeg/acconfig.h:1.5
Rev: src/modules/_Ffmpeg/ffmpeg.c:1.11
Rev: src/modules/_Image_FreeType/acconfig.h:1.3
Rev: src/modules/_Image_FreeType/freetype.c:1.9
Rev: src/modules/_Image_GIF/acconfig.h:1.3
Rev: src/modules/_Image_GIF/gif_lzw.c:1.5
Rev: src/modules/_Image_GIF/gif_lzw.h:1.3
Rev: src/modules/_Image_GIF/image_gif.c:1.13
Rev: src/modules/_Image_JPEG/acconfig.h:1.7
Rev: src/modules/_Image_JPEG/image_jpeg.c:1.57
Rev: src/modules/_Image_JPEG/jinclude.h:1.3
Rev: src/modules/_Image_JPEG/transupp.c:1.10
Rev: src/modules/_Image_JPEG/transupp.h:1.6
Rev: src/modules/_Image_TIFF/acconfig.h:1.3
Rev: src/modules/_Image_TIFF/image_tiff.c:1.30
Rev: src/modules/_Image_TTF/acconfig.h:1.5
Rev: src/modules/_Image_TTF/image_ttf.c:1.46
Rev: src/modules/_Image_XFace/acconfig.h:1.5
Rev: src/modules/_Image_XFace/image_xface.c:1.17
Rev: src/modules/_Roxen/acconfig.h:1.3
Rev: src/modules/_Roxen/roxen.c:1.29
Rev: src/modules/_math/acconfig.h:1.4
Rev: src/modules/_math/math.c:1.50
Rev: src/modules/files/acconfig.h:1.18
Rev: src/modules/files/datagram.c:1.8
Rev: src/modules/files/efuns.c:1.116
Rev: src/modules/files/file.c:1.246
Rev: src/modules/files/file.h:1.23
Rev: src/modules/files/file_functions.h:1.23
Rev: src/modules/files/sendfile.c:1.59
Rev: src/modules/files/socket.c:1.66
Rev: src/modules/files/stat.c:1.24
Rev: src/modules/files/termios.c:1.18
Rev: src/modules/files/termios_flags.h:1.4
Rev: src/modules/files/udp.c:1.39
Rev: src/modules/spider/acconfig.h:1.5
Rev: src/modules/spider/defs.h:1.6
Rev: src/modules/spider/discdate.c:1.13
Rev: src/modules/spider/spider.c:1.119
Rev: src/modules/spider/stardate.c:1.15
Rev: src/modules/spider/xml.c:1.54
Rev: src/modules/sprintf/acconfig.h:1.5
Rev: src/modules/sprintf/sprintf.c:1.97
Rev: src/modules/sybase/acconfig.h:1.5
Rev: src/modules/sybase/sybase.c:1.11
Rev: src/modules/sybase/sybase.h:1.6
Rev: src/modules/system/acconfig.h:1.13
Rev: src/modules/system/memory.c:1.17
Rev: src/modules/system/nt.c:1.53
Rev: src/modules/system/passwords.c:1.38
Rev: src/modules/system/syslog.c:1.18
Rev: src/modules/system/system.c:1.128
Rev: src/modules/system/system.h:1.8
Rev: src/multiset.h:1.27
Rev: src/object.c:1.206
Rev: src/object.h:1.74
Rev: src/opcodes.c:1.125
Rev: src/opcodes.h:1.30
Rev: src/operators.c:1.162
Rev: src/operators.h:1.14
Rev: src/patch_cc1.c:1.3
Rev: src/peep.c:1.77
Rev: src/peep.h:1.11
Rev: src/peep_t.c:1.3
Rev: src/pike_cpulib.c:1.4
Rev: src/pike_cpulib.h:1.11
Rev: src/pike_dlfcn.h:1.4
Rev: src/pike_error.h:1.21
Rev: src/pike_macros.h:1.33
Rev: src/pike_memory.c:1.124
Rev: src/pike_memory.h:1.34
Rev: src/pike_search.c:1.11
Rev: src/pike_search.h:1.6
Rev: src/pike_search_engine.c:1.10
Rev: src/pike_search_engine2.c:1.7
Rev: src/pike_threadlib.h:1.22
Rev: src/pike_types.c:1.198
Rev: src/pike_types.h:1.83
Rev: src/pikecode.c:1.7
Rev: src/pikecode.h:1.9
Rev: src/port.c:1.56
Rev: src/port.h:1.46
Rev: src/post_modules/GL/acconfig.h:1.5
Rev: src/post_modules/GL/
Rev: src/post_modules/GL/autodoc.c:1.7
Rev: src/post_modules/GL/top.c:1.17
Rev: src/post_modules/GLUT/acconfig.h:1.3
Rev: src/post_modules/GLUT/
Rev: src/post_modules/GLUT/top.c:1.7
Rev: src/post_modules/GTK/acconfig.h:1.8
Rev: src/post_modules/GTK/dummy.c:1.5
Rev: src/post_modules/GTK/gdkeventstrings.h:1.3
Rev: src/post_modules/GTK/pgtk.h:1.29
Rev: src/post_modules/GTK/source/encode_truecolor.c:1.8
Rev: src/post_modules/GTK/source/support.c:1.35
Rev: src/post_modules/SDL/SDL.cmod:1.6
Rev: src/post_modules/SDL/acconfig.h:1.3
Rev: src/post_modules/SDL/constants.h:1.4
Rev: src/post_modules/Shuffler/Shuffler.cmod:1.16
Rev: src/post_modules/Shuffler/a_source_pikestring.c:1.7
Rev: src/post_modules/Shuffler/a_source_system_memory.c:1.7
Rev: src/post_modules/Shuffler/b_source_normal_file.c:1.7
Rev: src/post_modules/Shuffler/c_source_stream.c:1.6
Rev: src/post_modules/Shuffler/d_source_pikestream.c:1.4
Rev: src/post_modules/Shuffler/shuffler.h:1.5
Rev: src/post_modules/Unicode/acconfig.h:1.3
Rev: src/post_modules/Unicode/buffer.c:1.5
Rev: src/post_modules/Unicode/buffer.h:1.4
Rev: src/post_modules/Unicode/hsize.h:1.3
Rev: src/post_modules/Unicode/normalize.c:1.11
Rev: src/post_modules/Unicode/normalize.h:1.3
Rev: src/post_modules/Unicode/split.c:1.3
Rev: src/post_modules/Unicode/split.h:1.3
Rev: src/post_modules/Unicode/unicode_module.cmod:1.5
Rev: src/post_modules/_Image_SVG/acconfig.h:1.3
Rev: src/post_modules/_Image_SVG/svg.c:1.7
Rev: src/preprocessor.h:1.53
Rev: src/program.c:1.449
Rev: src/program.h:1.168
Rev: src/program_areas.h:1.12
Rev: src/program_id.h:1.14
Rev: src/queue.c:1.10
Rev: src/queue.h:1.6
Rev: src/rbtree.c:1.12
Rev: src/rbtree.h:1.8
Rev: src/rbtree_low.h:1.5
Rev: src/rusage.c:1.23
Rev: src/rusage.h:1.9
Rev: src/security.c:1.38
Rev: src/security.h:1.16
Rev: src/signal_handler.c:1.232
Rev: src/signal_handler.h:1.15
Rev: src/smartlink.c:1.14
Rev: src/stralloc.c:1.148
Rev: src/stralloc.h:1.70
Rev: src/stuff.c:1.21
Rev: src/stuff.h:1.16
Rev: src/svalue.c:1.147
Rev: src/svalue.h:1.108
Rev: src/threads.c:1.188
Rev: src/threads.h:1.121
Rev: src/time_stuff.h:1.12
Rev: src/uncompressor.c:1.6
Rev: src/version.c:1.139
Rev: src/version.h:1.326


2002-10-08 23:31:26 by Martin Nilsson <>

Readded magic.

Rev: src/array.c:1.131
Rev: src/builtin_functions.c:1.444
Rev: src/callback.c:1.29
Rev: src/constants.c:1.41
Rev: src/dlopen.c:1.35
Rev: src/docode.c:1.149
Rev: src/dynamic_buffer.c:1.19
Rev: src/encode.c:1.154
Rev: src/error.c:1.91
Rev: src/fd_control.c:1.45
Rev: src/gc.c:1.187
Rev: src/hashtable.c:1.13
Rev: src/interpret.c:1.269
Rev: src/language.yacc:1.299
Rev: src/las.c:1.302
Rev: src/lex.c:1.107
Rev: src/main.c:1.155
Rev: src/mapping.c:1.151
Rev: src/module.c:1.19
Rev: src/modules/Gmp/mpz_glue.c:1.110
Rev: src/modules/Gz/zlibmod.c:1.54
Rev: src/modules/Regexp/glue.c:1.30
Rev: src/modules/Regexp/pike_regexp.h:1.8
Rev: src/modules/_math/math.c:1.49
Rev: src/modules/files/datagram.c:1.7
Rev: src/modules/files/efuns.c:1.115
Rev: src/modules/files/file.c:1.245
Rev: src/modules/files/socket.c:1.65
Rev: src/object.c:1.205
Rev: src/opcodes.c:1.124
Rev: src/operators.c:1.161
Rev: src/pike_memory.c:1.123
Rev: src/pike_types.c:1.197
Rev: src/port.c:1.55
Rev: src/program.c:1.448
Rev: src/rusage.c:1.22
Rev: src/signal_handler.c:1.231
Rev: src/stralloc.c:1.147
Rev: src/svalue.c:1.146
Rev: src/version.c:1.138

2002-10-08 20:22:45 by Martin Nilsson <>

License identity program stage 1 (.c,.h)

Rev: src/acconfig.h:1.106
Rev: src/alloca.c:1.6
Rev: src/apply_low.h:1.9
Rev: src/array.c:1.130
Rev: src/array.h:1.43
Rev: src/backend.h:1.15
Rev: src/bignum.c:1.26
Rev: src/bignum.h:1.15
Rev: src/block_alloc.h:1.44
Rev: src/block_alloc_h.h:1.12
Rev: src/builtin_functions.c:1.443
Rev: src/builtin_functions.h:1.21
Rev: src/builtin_functions_t.c:1.2
Rev: src/callback.c:1.28
Rev: src/callback.h:1.17
Rev: src/code/bytecode.c:1.5
Rev: src/code/bytecode.h:1.8
Rev: src/code/computedgoto.c:1.2
Rev: src/code/computedgoto.h:1.6
Rev: src/code/ia32.c:1.22
Rev: src/code/ia32.h:1.17
Rev: src/code/ppc32.c:1.22
Rev: src/code/ppc32.h:1.16
Rev: src/code/sparc.c:1.12
Rev: src/code/sparc.h:1.14
Rev: src/combine_path.h:1.10
Rev: src/compilation.h:1.29
Rev: src/constants.c:1.40
Rev: src/constants.h:1.26
Rev: src/cpp.c:1.104
Rev: src/cpp.h:1.6
Rev: src/crypt.c:1.3
Rev: src/cyclic.c:1.7
Rev: src/cyclic.h:1.6
Rev: src/dlopen.c:1.34
Rev: src/dmalloc.h:1.37
Rev: src/docode.c:1.148
Rev: src/docode.h:1.16
Rev: src/dummy_ci.h:1.5
Rev: src/dynamic_buffer.c:1.18
Rev: src/dynamic_buffer.h:1.15
Rev: src/dynamic_load.c:1.65
Rev: src/dynamic_load.h:1.5
Rev: src/efun.h:1.6
Rev: src/encode.c:1.153
Rev: src/encode.h:1.6
Rev: src/error.c:1.90
Rev: src/errors.h:1.21
Rev: src/fd_control.c:1.44
Rev: src/fd_control.h:1.9
Rev: src/fdlib.c:1.54
Rev: src/fdlib.h:1.42
Rev: src/fsort.c:1.20
Rev: src/fsort.h:1.5
Rev: src/fsort_template.h:1.12
Rev: src/gc.c:1.186
Rev: src/gc.h:1.91
Rev: src/global.h:1.75
Rev: src/hashtable.c:1.12
Rev: src/hashtable.h:1.8
Rev: src/interpret.c:1.268
Rev: src/interpret.h:1.112
Rev: src/interpret_functions.h:1.109
Rev: src/interpreter.h:1.77
Rev: src/language.yacc:1.298
Rev: src/las.c:1.301
Rev: src/las.h:1.57
Rev: src/las_t.c:1.2
Rev: src/lex.c:1.106
Rev: src/lex.h:1.23
Rev: src/lexer.h:1.39
Rev: src/main.c:1.154
Rev: src/main.h:1.19
Rev: src/mapping.c:1.150
Rev: src/mapping.h:1.43
Rev: src/module.c:1.18
Rev: src/module.h:1.7
Rev: src/module_magic.h:1.6
Rev: src/module_support.c:1.50
Rev: src/module_support.h:1.14
Rev: src/module_t.c:1.2
Rev: src/modules/CommonLog/acconfig.h:1.2
Rev: src/modules/CommonLog/clf.c:1.9
Rev: src/modules/DVB/acconfig.h:1.2
Rev: src/modules/DVB/dvb.c:1.10
Rev: src/modules/DVB/dvb.h:1.3
Rev: src/modules/DVB/psparser.c:1.4
Rev: src/modules/Gdbm/acconfig.h:1.2
Rev: src/modules/Gdbm/gdbmmod.c:1.20
Rev: src/modules/Gettext/acconfig.h:1.3
Rev: src/modules/Gettext/gettext.c:1.11
Rev: src/modules/Gmp/
Rev: src/modules/Gmp/mpz_glue.c:1.109
Rev: src/modules/Gmp/my_gmp.h:1.12
Rev: src/modules/Gmp/my_mpz_xor.c:1.4
Rev: src/modules/Gmp/next_prime.c:1.11
Rev: src/modules/Gz/acconfig.h:1.2
Rev: src/modules/Gz/zlibmod.c:1.53
Rev: src/modules/HTTPLoop/accept_and_parse.c:1.28
Rev: src/modules/HTTPLoop/accept_and_parse.h:1.9
Rev: src/modules/HTTPLoop/acconfig.h:1.3
Rev: src/modules/HTTPLoop/cache.c:1.18
Rev: src/modules/HTTPLoop/cache.h:1.9
Rev: src/modules/HTTPLoop/filesystem.c:1.6
Rev: src/modules/HTTPLoop/filesystem.h:1.2
Rev: src/modules/HTTPLoop/log.c:1.12
Rev: src/modules/HTTPLoop/log.h:1.2
Rev: src/modules/HTTPLoop/requestobject.c:1.22
Rev: src/modules/HTTPLoop/requestobject.h:1.2
Rev: src/modules/HTTPLoop/static_strings.h:1.2
Rev: src/modules/HTTPLoop/timeout.c:1.8
Rev: src/modules/HTTPLoop/timeout.h:1.3
Rev: src/modules/HTTPLoop/util.c:1.8
Rev: src/modules/HTTPLoop/util.h:1.4
Rev: src/modules/Image/acconfig.h:1.6
Rev: src/modules/Image/assembly.h:1.4
Rev: src/modules/Image/blit.c:1.52
Rev: src/modules/Image/blit_layer_include.h:1.7
Rev: src/modules/Image/colors.c:1.62
Rev: src/modules/Image/colors.h:1.7
Rev: src/modules/Image/colortable.c:1.111
Rev: src/modules/Image/colortable.h:1.26
Rev: src/modules/Image/colortable_lookup.h:1.19
Rev: src/modules/Image/dct.c:1.21
Rev: src/modules/Image/default_font.c:1.4
Rev: src/modules/Image/encodings/_xpm.c:1.20
Rev: src/modules/Image/encodings/any.c:1.24
Rev: src/modules/Image/encodings/avs.c:1.13
Rev: src/modules/Image/encodings/bmp.c:1.36
Rev: src/modules/Image/encodings/dsi.c:1.5
Rev: src/modules/Image/encodings/encodings.h:1.4
Rev: src/modules/Image/encodings/hrz.c:1.7
Rev: src/modules/Image/encodings/iff.c:1.11
Rev: src/modules/Image/encodings/ilbm.c:1.25
Rev: src/modules/Image/encodings/pcx.c:1.18
Rev: src/modules/Image/encodings/png.c:1.45
Rev: src/modules/Image/encodings/pnm.c:1.27
Rev: src/modules/Image/encodings/psd.c:1.33
Rev: src/modules/Image/encodings/psd_constant_strings.h:1.5
Rev: src/modules/Image/encodings/pvr.c:1.20
Rev: src/modules/Image/encodings/ras.c:1.17
Rev: src/modules/Image/encodings/tga.c:1.28
Rev: src/modules/Image/encodings/tim.c:1.13
Rev: src/modules/Image/encodings/wbf.c:1.12
Rev: src/modules/Image/encodings/x.c:1.38
Rev: src/modules/Image/encodings/xbm.c:1.16
Rev: src/modules/Image/encodings/xcf.c:1.41
Rev: src/modules/Image/encodings/xcf_constant_strings.h:1.2
Rev: src/modules/Image/encodings/xwd.c:1.22
Rev: src/modules/Image/font.c:1.73
Rev: src/modules/Image/image.c:1.198
Rev: src/modules/Image/image.h:1.49
Rev: src/modules/Image/image_module.c:1.15
Rev: src/modules/Image/initstuff.h:1.15
Rev: src/modules/Image/layer_channel.h:1.7
Rev: src/modules/Image/layer_oper.h:1.9
Rev: src/modules/Image/layers.c:1.80
Rev: src/modules/Image/match.h:1.14
Rev: src/modules/Image/matrix.c:1.41
Rev: src/modules/Image/operator.c:1.41
Rev: src/modules/Image/orient.c:1.21
Rev: src/modules/Image/pattern.c:1.26
Rev: src/modules/Image/phase.h:1.4
Rev: src/modules/Image/poly.c:1.15
Rev: src/modules/Image/polyfill.c:1.40
Rev: src/modules/Image/search.c:1.24
Rev: src/modules/Java/acconfig.h:1.3
Rev: src/modules/Java/jvm.c:1.43
Rev: src/modules/Java/ntdl.c:1.3
Rev: src/modules/MIME/acconfig.h:1.3
Rev: src/modules/MIME/mime.c:1.33
Rev: src/modules/Math/acconfig.h:1.2
Rev: src/modules/Math/math_matrix.c:1.34
Rev: src/modules/Math/math_module.c:1.10
Rev: src/modules/Math/math_module.h:1.8
Rev: src/modules/Math/matrix_code.h:1.6
Rev: src/modules/Math/transforms.h:1.2
Rev: src/modules/Mird/acconfig.h:1.4
Rev: src/modules/Mird/libmird/acconfig.h:1.3
Rev: src/modules/Mird/libmird/blocks.c:1.3
Rev: src/modules/Mird/libmird/cells.c:1.2
Rev: src/modules/Mird/libmird/database.c:1.4
Rev: src/modules/Mird/libmird/debug.c:1.2
Rev: src/modules/Mird/libmird/dmalloc.c:1.2
Rev: src/modules/Mird/libmird/dmalloc.h:1.2
Rev: src/modules/Mird/libmird/errors.c:1.2
Rev: src/modules/Mird/libmird/frags.c:1.2
Rev: src/modules/Mird/libmird/freelist.c:1.2
Rev: src/modules/Mird/libmird/hashtrie.c:1.4
Rev: src/modules/Mird/libmird/internal.h:1.4
Rev: src/modules/Mird/libmird/journal.c:1.2
Rev: src/modules/Mird/libmird/make_old_database.c:1.2
Rev: src/modules/Mird/libmird/
Rev: src/modules/Mird/libmird/physical.h:1.2
Rev: src/modules/Mird/libmird/skeys.c:1.2
Rev: src/modules/Mird/libmird/tables.c:1.2
Rev: src/modules/Mird/libmird/test.c:1.2
Rev: src/modules/Mird/libmird/testsuite.c:1.3
Rev: src/modules/Mird/libmird/transaction.c:1.2
Rev: src/modules/Mird/libmird/usage.c:1.2
Rev: src/modules/Mird/libmird/win32-config.h:1.3
Rev: src/modules/Mird/mird_glue.c:1.18
Rev: src/modules/Msql/
Rev: src/modules/Msql/msqlmod.c:1.21
Rev: src/modules/Msql/version.h:1.3
Rev: src/modules/Mysql/acconfig.h:1.8
Rev: src/modules/Mysql/dummy.c:1.6
Rev: src/modules/Mysql/mysql.c:1.58
Rev: src/modules/Mysql/precompiled_mysql.h:1.14
Rev: src/modules/Mysql/result.c:1.26
Rev: src/modules/Odbc/acconfig.h:1.6
Rev: src/modules/Odbc/odbc.c:1.31
Rev: src/modules/Odbc/odbc_result.c:1.31
Rev: src/modules/Odbc/precompiled_odbc.h:1.17
Rev: src/modules/Oracle/acconfig.h:1.2
Rev: src/modules/Oracle/oracle.c:1.72
Rev: src/modules/PDF/acconfig.h:1.3
Rev: src/modules/PDF/initstuff.h:1.2
Rev: src/modules/PDF/pdf_module.c:1.12
Rev: src/modules/PDF/pdflib_glue.c:1.9
Rev: src/modules/Parser/acconfig.h:1.3
Rev: src/modules/Parser/html.c:1.154
Rev: src/modules/Parser/initstuff.h:1.3
Rev: src/modules/Parser/parser.c:1.15
Rev: src/modules/Parser/parser.h:1.2
Rev: src/modules/Perl/acconfig.h:1.2
Rev: src/modules/Perl/perlmod.c:1.27
Rev: src/modules/Pipe/acconfig.h:1.2
Rev: src/modules/Pipe/pipe.c:1.50
Rev: src/modules/Postgres/pg_types.h:1.5
Rev: src/modules/Postgres/
Rev: src/modules/Postgres/pgresult.c:1.18
Rev: src/modules/Postgres/pgresult.h:1.3
Rev: src/modules/Postgres/postgres.c:1.27
Rev: src/modules/Postgres/version.h:1.4
Rev: src/modules/Regexp/acconfig.h:1.2
Rev: src/modules/Regexp/glue.c:1.29
Rev: src/modules/Regexp/pike_regexp.c:1.21
Rev: src/modules/Regexp/pike_regexp.h:1.7
Rev: src/modules/SANE/acconfig.h:1.2
Rev: src/modules/SANE/sane.c:1.13
Rev: src/modules/Ssleay/acconfig.h:1.3
Rev: src/modules/Ssleay/ssleay.c:1.18
Rev: src/modules/Yp/acconfig.h:1.4
Rev: src/modules/Yp/yp.c:1.26
Rev: src/modules/_Charset/acconfig.h:1.2
Rev: src/modules/_Charset/charsetmod.c:1.37
Rev: src/modules/_Charset/iso2022.c:1.24
Rev: src/modules/_Charset/iso2022.h:1.4
Rev: src/modules/_Charset/misc.c:1.11
Rev: src/modules/_Charset/tables.c:1.12
Rev: src/modules/_Crypto/acconfig.h:1.2
Rev: src/modules/_Crypto/arcfour.c:1.18
Rev: src/modules/_Crypto/cast.c:1.12
Rev: src/modules/_Crypto/cbc.c:1.22
Rev: src/modules/_Crypto/crypto.c:1.50
Rev: src/modules/_Crypto/crypto.h:1.9
Rev: src/modules/_Crypto/des.c:1.25
Rev: src/modules/_Crypto/idea.c:1.19
Rev: src/modules/_Crypto/include/RCSID.h:1.7
Rev: src/modules/_Crypto/include/arcfour.h:1.5
Rev: src/modules/_Crypto/include/cast.h:1.3
Rev: src/modules/_Crypto/include/crypto_types.h:1.8
Rev: src/modules/_Crypto/include/des.h:1.5
Rev: src/modules/_Crypto/include/idea.h:1.5
Rev: src/modules/_Crypto/include/md2.h:1.2
Rev: src/modules/_Crypto/include/md4.h:1.2
Rev: src/modules/_Crypto/include/md5.h:1.3
Rev: src/modules/_Crypto/include/rijndael.h:1.3
Rev: src/modules/_Crypto/include/sha.h:1.5
Rev: src/modules/_Crypto/invert.c:1.14
Rev: src/modules/_Crypto/lib/arcfour.c:1.8
Rev: src/modules/_Crypto/lib/cast.c:1.3
Rev: src/modules/_Crypto/lib/cast_sboxes.h:1.3
Rev: src/modules/_Crypto/lib/crypt_md5.c:1.3
Rev: src/modules/_Crypto/lib/desCode.h:1.3
Rev: src/modules/_Crypto/lib/desKerb.c:1.4
Rev: src/modules/_Crypto/lib/desQuick.c:1.5
Rev: src/modules/_Crypto/lib/desTest.c:1.4
Rev: src/modules/_Crypto/lib/desUtil.c:1.3
Rev: src/modules/_Crypto/lib/desdata.c:1.6
Rev: src/modules/_Crypto/lib/desinfo.h:1.4
Rev: src/modules/_Crypto/lib/idea.c:1.7
Rev: src/modules/_Crypto/lib/md2.c:1.4
Rev: src/modules/_Crypto/lib/md4.c:1.2
Rev: src/modules/_Crypto/lib/md5.c:1.4
Rev: src/modules/_Crypto/lib/rijndael.c:1.2
Rev: src/modules/_Crypto/lib/sha.c:1.8
Rev: src/modules/_Crypto/md2.c:1.14
Rev: src/modules/_Crypto/md4.c:1.3
Rev: src/modules/_Crypto/md5.c:1.19
Rev: src/modules/_Crypto/nt.c:1.10
Rev: src/modules/_Crypto/pipe.c:1.23
Rev: src/modules/_Crypto/rijndael.c:1.8
Rev: src/modules/_Crypto/rsa.c:1.26
Rev: src/modules/_Crypto/sha.c:1.22
Rev: src/modules/_Ffmpeg/acconfig.h:1.4
Rev: src/modules/_Ffmpeg/ffmpeg.c:1.10
Rev: src/modules/_Image_FreeType/acconfig.h:1.2
Rev: src/modules/_Image_FreeType/freetype.c:1.8
Rev: src/modules/_Image_GIF/acconfig.h:1.2
Rev: src/modules/_Image_GIF/gif_lzw.c:1.4
Rev: src/modules/_Image_GIF/gif_lzw.h:1.2
Rev: src/modules/_Image_GIF/image_gif.c:1.12
Rev: src/modules/_Image_JPEG/acconfig.h:1.6
Rev: src/modules/_Image_JPEG/image_jpeg.c:1.56
Rev: src/modules/_Image_JPEG/jinclude.h:1.2
Rev: src/modules/_Image_JPEG/transupp.c:1.8
Rev: src/modules/_Image_JPEG/transupp.h:1.4
Rev: src/modules/_Image_TIFF/acconfig.h:1.2
Rev: src/modules/_Image_TIFF/image_tiff.c:1.29
Rev: src/modules/_Image_TTF/acconfig.h:1.4
Rev: src/modules/_Image_TTF/image_ttf.c:1.45
Rev: src/modules/_Image_XFace/acconfig.h:1.4
Rev: src/modules/_Image_XFace/image_xface.c:1.16
Rev: src/modules/_Roxen/acconfig.h:1.2
Rev: src/modules/_Roxen/roxen.c:1.28
Rev: src/modules/_math/acconfig.h:1.3
Rev: src/modules/_math/math.c:1.48
Rev: src/modules/files/acconfig.h:1.17
Rev: src/modules/files/datagram.c:1.6
Rev: src/modules/files/efuns.c:1.114
Rev: src/modules/files/file.c:1.244
Rev: src/modules/files/file.h:1.22
Rev: src/modules/files/file_functions.h:1.22
Rev: src/modules/files/sendfile.c:1.58
Rev: src/modules/files/socket.c:1.64
Rev: src/modules/files/stat.c:1.23
Rev: src/modules/files/termios.c:1.17
Rev: src/modules/files/termios_flags.h:1.3
Rev: src/modules/files/udp.c:1.38
Rev: src/modules/spider/acconfig.h:1.4
Rev: src/modules/spider/defs.h:1.5
Rev: src/modules/spider/discdate.c:1.12
Rev: src/modules/spider/spider.c:1.118
Rev: src/modules/spider/stardate.c:1.14
Rev: src/modules/spider/xml.c:1.53
Rev: src/modules/sprintf/acconfig.h:1.4
Rev: src/modules/sprintf/sprintf.c:1.96
Rev: src/modules/sybase/acconfig.h:1.4
Rev: src/modules/sybase/sybase.c:1.10
Rev: src/modules/sybase/sybase.h:1.5
Rev: src/modules/system/acconfig.h:1.12
Rev: src/modules/system/memory.c:1.16
Rev: src/modules/system/nt.c:1.52
Rev: src/modules/system/passwords.c:1.37
Rev: src/modules/system/syslog.c:1.17
Rev: src/modules/system/system.c:1.127
Rev: src/modules/system/system.h:1.7
Rev: src/multiset.c:1.52
Rev: src/multiset.h:1.26
Rev: src/object.c:1.204
Rev: src/object.h:1.73
Rev: src/opcodes.c:1.123
Rev: src/opcodes.h:1.29
Rev: src/operators.c:1.160
Rev: src/operators.h:1.13
Rev: src/patch_cc1.c:1.2
Rev: src/peep.c:1.76
Rev: src/peep.h:1.10
Rev: src/peep_t.c:1.2
Rev: src/pike_cpulib.c:1.3
Rev: src/pike_cpulib.h:1.10
Rev: src/pike_dlfcn.h:1.3
Rev: src/pike_error.h:1.20
Rev: src/pike_macros.h:1.32
Rev: src/pike_memory.c:1.122
Rev: src/pike_memory.h:1.33
Rev: src/pike_search.c:1.10
Rev: src/pike_search.h:1.5
Rev: src/pike_search_engine.c:1.9
Rev: src/pike_search_engine2.c:1.6
Rev: src/pike_threadlib.h:1.21
Rev: src/pike_types.c:1.196
Rev: src/pike_types.h:1.82
Rev: src/pikecode.c:1.6
Rev: src/pikecode.h:1.8
Rev: src/port.c:1.54
Rev: src/port.h:1.45
Rev: src/post_modules/GL/acconfig.h:1.4
Rev: src/post_modules/GL/
Rev: src/post_modules/GL/autodoc.c:1.6
Rev: src/post_modules/GL/top.c:1.16
Rev: src/post_modules/GLUT/acconfig.h:1.2
Rev: src/post_modules/GLUT/
Rev: src/post_modules/GLUT/top.c:1.6
Rev: src/post_modules/GTK/acconfig.h:1.7
Rev: src/post_modules/GTK/dummy.c:1.4
Rev: src/post_modules/GTK/gdkeventstrings.h:1.2
Rev: src/post_modules/GTK/pgtk.h:1.28
Rev: src/post_modules/GTK/source/encode_truecolor.c:1.7
Rev: src/post_modules/GTK/source/support.c:1.34
Rev: src/post_modules/SDL/acconfig.h:1.2
Rev: src/post_modules/SDL/constants.h:1.3
Rev: src/post_modules/Shuffler/a_source_pikestring.c:1.6
Rev: src/post_modules/Shuffler/a_source_system_memory.c:1.6
Rev: src/post_modules/Shuffler/b_source_normal_file.c:1.6
Rev: src/post_modules/Shuffler/c_source_stream.c:1.5
Rev: src/post_modules/Shuffler/d_source_pikestream.c:1.3
Rev: src/post_modules/Shuffler/shuffler.h:1.4
Rev: src/post_modules/Unicode/acconfig.h:1.2
Rev: src/post_modules/Unicode/buffer.c:1.4
Rev: src/post_modules/Unicode/buffer.h:1.3
Rev: src/post_modules/Unicode/hsize.h:1.2
Rev: src/post_modules/Unicode/normalize.c:1.10
Rev: src/post_modules/Unicode/normalize.h:1.2
Rev: src/post_modules/Unicode/split.c:1.2
Rev: src/post_modules/Unicode/split.h:1.2
Rev: src/post_modules/_Image_SVG/acconfig.h:1.2
Rev: src/post_modules/_Image_SVG/svg.c:1.6
Rev: src/preprocessor.h:1.52
Rev: src/program.c:1.447
Rev: src/program.h:1.167
Rev: src/program_areas.h:1.11
Rev: src/program_id.h:1.13
Rev: src/queue.c:1.9
Rev: src/queue.h:1.5
Rev: src/rbtree.c:1.11
Rev: src/rbtree.h:1.7
Rev: src/rbtree_low.h:1.4
Rev: src/rusage.c:1.21
Rev: src/rusage.h:1.8
Rev: src/security.c:1.37
Rev: src/security.h:1.15
Rev: src/signal_handler.c:1.230
Rev: src/signal_handler.h:1.14
Rev: src/smartlink.c:1.13
Rev: src/stralloc.c:1.146
Rev: src/stralloc.h:1.69
Rev: src/stuff.c:1.20
Rev: src/stuff.h:1.15
Rev: src/svalue.c:1.145
Rev: src/svalue.h:1.107
Rev: src/threads.c:1.187
Rev: src/threads.h:1.120
Rev: src/time_stuff.h:1.11
Rev: src/uncompressor.c:1.5
Rev: src/version.c:1.137
Rev: src/version.h:1.325


2002-09-30 12:45:56 by Marcus Comstedt <>

New block allocator which can free blocks.

Rev: src/block_alloc.h:1.42
Rev: src/las.c:1.299
Rev: src/program.c:1.446

2002-09-30 12:43:59 by Marcus Comstedt <>

Bugfix: Always free resolve_cache before overwriting the pointer.

Rev: src/program.c:1.445


2002-09-21 18:22:14 by Martin Stjernholm <>

Use safe_apply_handler for calling get_default_module, to get better
checking of the return value and to get correct handling of return
values that are false.

This fixes a bug in the odd recursion that involves the compat handler
and e.g. lib/7.2/modules/__default.pmod which itself contains "#pike
7.2": The second time get_default_module is called it'll resolve an
unfinished program with "__default" and thus get a function pointer
that evaluates to false.

Rev: src/program.c:1.444


2002-09-12 13:15:50 by Marcus Comstedt <>

Added a bunch of missing 'const'.

Rev: src/constants.c:1.39
Rev: src/constants.h:1.23
Rev: src/dmalloc.h:1.36
Rev: src/module_support.c:1.49
Rev: src/module_support.h:1.13
Rev: src/pike_memory.c:1.121
Rev: src/pike_types.c:1.195
Rev: src/pike_types.h:1.81
Rev: src/port.c:1.53
Rev: src/port.h:1.44
Rev: src/program.c:1.443
Rev: src/program.h:1.166


2002-09-11 16:03:32 by Martin Stjernholm <>

Removed program.parent_program_id since it's only marginally used for

Rev: src/encode.c:1.152
Rev: src/program.c:1.442
Rev: src/program.h:1.165


2002-08-15 14:50:28 by Marcus Comstedt <>

Rename fatal -> Pike_fatal.

Rev: src/apply_low.h:1.7
Rev: src/array.c:1.129
Rev: src/array.h:1.41
Rev: src/backend.cmod:1.27
Rev: src/bignum.c:1.25
Rev: src/block_alloc.h:1.41
Rev: src/builtin.cmod:1.90
Rev: src/builtin_functions.c:1.435
Rev: src/callback.c:1.26
Rev: src/code/ia32.c:1.21
Rev: src/code/ppc32.c:1.16
Rev: src/code/ppc32.h:1.14
Rev: src/code/sparc.c:1.11
Rev: src/code/sparc.h:1.13
Rev: src/compilation.h:1.28
Rev: src/constants.c:1.38
Rev: src/cpp.c:1.102
Rev: src/cyclic.c:1.6
Rev: src/dlopen.c:1.32
Rev: src/docode.c:1.144
Rev: src/dynamic_buffer.c:1.16
Rev: src/dynamic_load.c:1.64
Rev: src/encode.c:1.151
Rev: src/error.c:1.86
Rev: src/fd_control.c:1.41
Rev: src/fdlib.c:1.52
Rev: src/fdlib.h:1.41
Rev: src/fsort_template.h:1.11
Rev: src/gc.c:1.185
Rev: src/gc.h:1.90
Rev: src/hashtable.c:1.11
Rev: src/interpret.c:1.263
Rev: src/interpret.h:1.110
Rev: src/interpret_functions.h:1.105
Rev: src/interpreter.h:1.76
Rev: src/iterators.cmod:1.26
Rev: src/language.yacc:1.289
Rev: src/las.c:1.297
Rev: src/lex.c:1.105
Rev: src/lexer.h:1.38
Rev: src/main.c:1.150
Rev: src/mapping.c:1.149
Rev: src/module_support.c:1.46
Rev: src/modules/Gmp/mpf.cmod:1.9
Rev: src/modules/Gmp/mpq.cmod:1.10
Rev: src/modules/Gmp/mpz_glue.c:1.107
Rev: src/modules/HTTPLoop/cache.c:1.17
Rev: src/modules/HTTPLoop/requestobject.c:1.21
Rev: src/modules/Image/colors.c:1.61
Rev: src/modules/Image/colortable.c:1.109
Rev: src/modules/Image/colortable_lookup.h:1.18
Rev: src/modules/Image/encodings/bmp.c:1.35
Rev: src/modules/Image/font.c:1.72
Rev: src/modules/Image/image_module.c:1.14
Rev: src/modules/Image/layers.c:1.79
Rev: src/modules/Odbc/odbc.c:1.30
Rev: src/modules/Oracle/oracle.c:1.70
Rev: src/modules/PDF/pdf_module.c:1.11
Rev: src/modules/Parser/html.c:1.152
Rev: src/modules/Parser/parser.c:1.14
Rev: src/modules/Perl/perlmod.c:1.25
Rev: src/modules/Pipe/pipe.c:1.49
Rev: src/modules/_Charset/charsetmod.c:1.35
Rev: src/modules/_Charset/iso2022.c:1.23
Rev: src/modules/files/file.c:1.239
Rev: src/modules/files/sendfile.c:1.57
Rev: src/modules/files/socket.c:1.63
Rev: src/modules/files/stat.c:1.22
Rev: src/modules/files/udp.c:1.37
Rev: src/modules/spider/xml.c:1.52
Rev: src/modules/sprintf/sprintf.c:1.93
Rev: src/modules/sybase/sybase.c:1.9
Rev: src/multiset.c:1.50
Rev: src/multiset.h:1.25
Rev: src/object.c:1.203
Rev: src/object.h:1.71
Rev: src/opcodes.c:1.122
Rev: src/operators.c:1.159
Rev: src/peep.c:1.72
Rev: src/pike_error.h:1.19
Rev: src/pike_macros.h:1.31
Rev: src/pike_memory.c:1.120
Rev: src/pike_search.c:1.9
Rev: src/pike_search_engine.c:1.8
Rev: src/pike_search_engine2.c:1.5
Rev: src/pike_threadlib.h:1.16
Rev: src/pike_types.c:1.194
Rev: src/pike_types.h:1.79
Rev: src/port.c:1.52
Rev: src/post_modules/GTK/source/support.c:1.33
Rev: src/post_modules/Unicode/normalize.c:1.9
Rev: src/preprocessor.h:1.51
Rev: src/program.c:1.441
Rev: src/queue.c:1.8
Rev: src/rbtree.c:1.10
Rev: src/rbtree_low.h:1.2
Rev: src/signal_handler.c:1.225
Rev: src/stralloc.c:1.143
Rev: src/stralloc.h:1.66
Rev: src/svalue.c:1.144
Rev: src/svalue.h:1.106
Rev: src/threads.c:1.180


2002-07-23 13:00:56 by Martin Stjernholm <>

Fixed a bug in get_line when the simple previous returned line cache
is used.

Rev: src/program.c:1.314

2002-07-23 12:58:45 by Martin Stjernholm <>

Fixed bugs in get_line when the simple previous returned line cache is

Rev: src/program.c:1.440


2002-07-09 16:48:34 by Henrik Grubbström (Grubba) <>

Improved diagnostics in LFUN verification pass.

Rev: src/program.c:1.439


2002-07-03 09:16:47 by Henrik Grubbström (Grubba) <>

Now dumps the symbol tables of the generated program at assembler debug level 3 or higher.

Rev: src/program.c:1.438


2002-06-25 14:26:41 by Henrik Grubbström (Grubba) <>

Removed the support for the old-style preorder dumped types (pre USE_PIKE_TYPE).

Rev: src/acconfig.h:1.101
Rev: src/builtin_functions.c:1.433
Rev: src/compilation.h:1.27
Rev: src/
Rev: src/constants.c:1.37
Rev: src/encode.c:1.149
Rev: src/global.h:1.70
Rev: src/interpret.c:1.262
Rev: src/language.yacc:1.288
Rev: src/las.c:1.295
Rev: src/main.c:1.149
Rev: src/operators.c:1.156
Rev: src/pike_types.c:1.188
Rev: src/pike_types.h:1.78
Rev: src/program.c:1.437
Rev: src/svalue.c:1.142
Rev: src/svalue.h:1.105


2002-06-11 22:16:17 by Martin Stjernholm <>

Fixed a bug in the last check in.

Rev: src/program.c:1.436

2002-06-11 17:48:11 by Martin Stjernholm <>

Added #pragma dont_save_parent to be able to override when the constant
__pragma_save_parent__ has been set.

Rev: src/lexer.h:1.37
Rev: src/program.c:1.435
Rev: src/program.h:1.163

2002-06-11 17:41:36 by Martin Stjernholm <>

Fixed overriding bug when a function has a prototype in front of an inherit
and a definition after it, and the inherit contains a function with the same
name that is overridden. Also did some cleanup and added a bit of output to

Rev: src/encode.c:1.148
Rev: src/program.c:1.434
Rev: src/program.h:1.162


2002-06-10 20:49:50 by Martin Stjernholm <>

Cleaned up find_module_identifier a little and fixed a lookup bug: It should
be possible to access identifiers in a private inherit of a surrounding

Rev: src/language.yacc:1.287
Rev: src/program.c:1.433


2002-05-31 22:41:26 by Martin Nilsson <>

Updated license.

Rev: lib/
Rev: src/alloca.c:1.5
Rev: src/array.c:1.128
Rev: src/array.h:1.40
Rev: src/backend.cmod:1.26
Rev: src/backend.h:1.14
Rev: src/builtin_functions.c:1.431
Rev: src/builtin_functions.h:1.20
Rev: src/callback.c:1.25
Rev: src/callback.h:1.16
Rev: src/constants.c:1.36
Rev: src/constants.h:1.22
Rev: src/cpp.c:1.101
Rev: src/dlopen.c:1.31
Rev: src/docode.c:1.142
Rev: src/docode.h:1.15
Rev: src/dynamic_buffer.c:1.15
Rev: src/dynamic_buffer.h:1.13
Rev: src/efun.h:1.5
Rev: src/encode.c:1.147
Rev: src/encode.h:1.5
Rev: src/error.c:1.85
Rev: src/fd_control.c:1.40
Rev: src/fd_control.h:1.8
Rev: src/fsort.c:1.17
Rev: src/fsort.h:1.4
Rev: src/gc.c:1.183
Rev: src/global.h:1.69
Rev: src/hashtable.c:1.10
Rev: src/hashtable.h:1.7
Rev: src/interpret.c:1.261
Rev: src/interpret.h:1.109
Rev: src/iterators.cmod:1.20
Rev: src/language.yacc:1.285
Rev: src/las.c:1.291
Rev: src/las.h:1.56
Rev: src/lex.c:1.104
Rev: src/lex.h:1.22
Rev: src/main.c:1.148
Rev: src/main.h:1.18
Rev: src/mapping.c:1.148
Rev: src/mapping.h:1.42
Rev: src/module.c:1.17
Rev: src/module.h:1.6
Rev: src/module_support.h:1.11
Rev: src/modules/Gdbm/gdbmmod.c:1.18
Rev: src/modules/Gmp/mpf.cmod:1.6
Rev: src/modules/Gmp/mpq.cmod:1.7
Rev: src/modules/Gmp/mpz_glue.c:1.105
Rev: src/modules/Gz/zlibmod.c:1.46
Rev: src/modules/Regexp/glue.c:1.27
Rev: src/modules/Regexp/pike_regexp.h:1.6
Rev: src/modules/Ssleay/ssleay.c:1.17
Rev: src/modules/_math/math.c:1.46
Rev: src/modules/files/datagram.c:1.5
Rev: src/modules/files/efuns.c:1.113
Rev: src/modules/files/file.c:1.235
Rev: src/modules/files/file.h:1.21
Rev: src/modules/files/socket.c:1.62
Rev: src/modules/sprintf/sprintf.c:1.92
Rev: src/multiset.c:1.49
Rev: src/multiset.h:1.24
Rev: src/object.c:1.201
Rev: src/object.h:1.70
Rev: src/opcodes.c:1.121
Rev: src/opcodes.h:1.28
Rev: src/operators.c:1.153
Rev: src/operators.h:1.11
Rev: src/pike_error.h:1.18
Rev: src/pike_macros.h:1.30
Rev: src/pike_memory.c:1.119
Rev: src/pike_memory.h:1.32
Rev: src/pike_types.c:1.186
Rev: src/pike_types.h:1.77
Rev: src/port.c:1.51
Rev: src/port.h:1.43
Rev: src/program.c:1.432
Rev: src/program.h:1.161
Rev: src/rusage.c:1.18
Rev: src/rusage.h:1.5
Rev: src/signal_handler.c:1.224
Rev: src/signal_handler.h:1.13
Rev: src/stralloc.c:1.142
Rev: src/stralloc.h:1.65
Rev: src/stuff.c:1.18
Rev: src/stuff.h:1.14
Rev: src/svalue.c:1.140
Rev: src/svalue.h:1.104
Rev: src/time_stuff.h:1.10
Rev: src/version.c:1.135
Rev: src/version.h:1.313


2002-05-12 01:23:15 by Martin Stjernholm <>

Fixed [bug 3006] (but not the generic problem). Improved
PROGRAM_BUILD_DEBUG output a bit more.

Rev: src/program.c:1.431


2002-05-11 21:08:00 by Martin Stjernholm <>

Cleaned up and fixed some bugs in the lookup of magic program identifiers
like this_program and ::`->. It's now possible to use e.g.
global::this_program. Added an optional level argument to this_object().

Added a magic identifier "this" that can be used instead of this_object().
Like this_program, it only exists when there's no other identifier with that
name. The object of a surrounding class can be adressed with Foo::this.

Rev: src/builtin_functions.c:1.428
Rev: src/interpret_functions.h:1.103
Rev: src/language.yacc:1.283
Rev: src/program.c:1.430
Rev: src/program.h:1.160

2002-05-11 00:29:58 by Martin Nilsson <>

Added #define sp Pike_sp

Rev: src/backend.cmod:1.24
Rev: src/bignum.c:1.24
Rev: src/builtin.cmod:1.88
Rev: src/cpp.c:1.100
Rev: src/iterators.cmod:1.19
Rev: src/module_support.c:1.43
Rev: src/modules/CommonLog/clf.c:1.8
Rev: src/modules/Gdbm/gdbmmod.c:1.17
Rev: src/modules/Gettext/gettext.c:1.8
Rev: src/modules/HTTPLoop/accept_and_parse.c:1.26
Rev: src/modules/HTTPLoop/log.c:1.10
Rev: src/modules/HTTPLoop/requestobject.c:1.19
Rev: src/modules/Image/blit.c:1.51
Rev: src/modules/Image/colors.c:1.59
Rev: src/modules/Image/colortable.c:1.108
Rev: src/modules/Image/encodings/_xpm.c:1.19
Rev: src/modules/Image/encodings/any.c:1.22
Rev: src/modules/Image/encodings/bmp.c:1.34
Rev: src/modules/Image/encodings/dsi.c:1.4
Rev: src/modules/Image/encodings/iff.c:1.10
Rev: src/modules/Image/encodings/ilbm.c:1.24
Rev: src/modules/Image/encodings/pcx.c:1.17
Rev: src/modules/Image/encodings/png.c:1.44
Rev: src/modules/Image/encodings/pnm.c:1.26
Rev: src/modules/Image/encodings/pvr.c:1.17
Rev: src/modules/Image/encodings/ras.c:1.16
Rev: src/modules/Image/encodings/wbf.c:1.10
Rev: src/modules/Image/encodings/x.c:1.37
Rev: src/modules/Image/encodings/xwd.c:1.21
Rev: src/modules/Image/font.c:1.71
Rev: src/modules/Image/image.c:1.196
Rev: src/modules/Image/matrix.c:1.40
Rev: src/modules/Image/operator.c:1.39
Rev: src/modules/Image/orient.c:1.20
Rev: src/modules/Image/pattern.c:1.25
Rev: src/modules/Image/poly.c:1.14
Rev: src/modules/Image/polyfill.c:1.39
Rev: src/modules/Image/search.c:1.23
Rev: src/modules/MIME/mime.c:1.32
Rev: src/modules/Mysql/mysql.c:1.57
Rev: src/modules/Mysql/result.c:1.25
Rev: src/modules/Odbc/odbc_result.c:1.30
Rev: src/modules/PDF/pdflib_glue.c:1.8
Rev: src/modules/Parser/html.c:1.150
Rev: src/modules/Pipe/pipe.c:1.48
Rev: src/modules/Regexp/glue.c:1.26
Rev: src/modules/SANE/sane.c:1.10
Rev: src/modules/_Crypto/cbc.c:1.21
Rev: src/modules/_Crypto/crypto.c:1.49
Rev: src/modules/_Crypto/des.c:1.24
Rev: src/modules/_Crypto/invert.c:1.13
Rev: src/modules/_Crypto/pipe.c:1.22
Rev: src/modules/_Crypto/rijndael.c:1.7
Rev: src/modules/_Crypto/rsa.c:1.25
Rev: src/modules/_Image_GIF/image_gif.c:1.10
Rev: src/modules/_Image_JPEG/image_jpeg.c:1.46
Rev: src/modules/_Image_TIFF/image_tiff.c:1.28
Rev: src/modules/_Image_TTF/image_ttf.c:1.42
Rev: src/modules/_Image_XFace/image_xface.c:1.15
Rev: src/modules/_math/math.c:1.44
Rev: src/modules/files/efuns.c:1.112
Rev: src/modules/files/sendfile.c:1.56
Rev: src/modules/spider/spider.c:1.115
Rev: src/modules/sprintf/sprintf.c:1.90
Rev: src/modules/system/memory.c:1.15
Rev: src/modules/system/passwords.c:1.36
Rev: src/object.c:1.200
Rev: src/opcodes.c:1.120
Rev: src/operators.c:1.149
Rev: src/post_modules/GL/
Rev: src/program.c:1.429
Rev: src/svalue.c:1.138


2002-05-10 22:39:30 by Martin Stjernholm <>

Adjusted the level of some a_flag debug to be a bit more consistent.

Rev: src/program.c:1.428

2002-05-10 15:39:24 by Henrik Grubbström (Grubba) <>

Removed obsolete prototype.
Added add_relocated_int_to_program().
Ported fixate_program() fixes from Pike 7.2.
The identifier_ref_offset field in struct inherit is now set.
end_first_pass() now supports being called with 2 as the argument.
The linenumber information is no longer byteorder dependant.

Rev: src/program.c:1.427


2002-05-09 14:59:18 by Martin Stjernholm <>

Oops part II.

Rev: src/program.c:1.426

2002-05-09 14:52:10 by Martin Stjernholm <>


Rev: src/program.c:1.425

2002-05-09 14:37:46 by Martin Stjernholm <>

External/raw identifier references should not keep ID_INHERITED since the
identifier references are always local. They ought otoh be flagged ID_INLINE
since they are always statically bound.

Identifier overriding fixes; use the same algorithm when constants are
overridden as for functions. Also added some more debug helpers.

Rev: src/language.yacc:1.278
Rev: src/program.c:1.424
Rev: src/program.h:1.158


2002-05-06 14:35:33 by Martin Stjernholm <>

Fixed bugs in the overriding of inherited identifiers that caused
decode_value to fail.

Rev: src/program.c:1.313
Rev: src/program.h:1.119


2002-05-05 16:31:08 by Martin Stjernholm <>

Implemented global.Foo to be able to resolve the module Foo even when there
is a local identifier with that name.

Rev: src/language.yacc:1.277
Rev: src/program.c:1.423
Rev: src/program.h:1.157
Rev: src/


2002-05-01 21:25:55 by Martin Stjernholm <>

Removed my kludge in define_function again; it's not needed after the
latest fixes in really_low_find_shared_string_identifier.

Rev: src/program.c:1.422

2002-05-01 18:59:44 by Henrik Grubbström (Grubba) <>

Added description of the identifier lookup algorithm.

Rev: src/program.c:1.421

2002-05-01 15:08:21 by Henrik Grubbström (Grubba) <>

Changed identifier lookup algorithm some more.

Rev: src/program.c:1.420

2002-05-01 01:08:32 by Martin Stjernholm <>

Fixed (I'd like to believe, anyway) the dumping bug involving
Tools.AutoDoc.CExtractor by making sure define_function returns the
same reference when it's called a second time and some identifiers
were overloaded during the first call.

Rev: src/program.c:1.419


2002-04-28 02:48:12 by Martin Stjernholm <>

Added a bit of doc for program.linenumbers and did some minor cleanup.

Rev: src/program.c:1.418


2002-04-26 17:11:16 by Henrik Grubbström (Grubba) <>

Added check for local functions with missing definitions.
Fixes [bug 2991].

Rev: src/program.c:1.417

2002-04-26 16:51:03 by Henrik Grubbström (Grubba) <>

Use ref.id_flags & ID_INHERITED instead of ref.inherit_offset to determine if a reference is inherited.
Don't overload local prototypes.
Fixes [bug 2991].

Rev: src/program.c:1.416


2002-04-25 10:47:40 by Henrik Grubbström (Grubba) <>

Fixed support for having INT_TYPE and FLOAT_TYPE with larger alignment restrictions than void *.

Rev: src/program.c:1.415
Rev: src/svalue.c:1.136
Rev: src/svalue.h:1.102


2002-04-17 17:03:57 by Henrik Grubbström (Grubba) <>

Ported fixate_program() fix from Pike 7.2.

Rev: src/program.c:1.414

2002-04-17 16:21:00 by Henrik Grubbström (Grubba) <>

Fixed bug in handling of nomask in end_first_pass().

Rev: src/program.c:1.312


2002-04-15 15:53:02 by Henrik Grubbström (Grubba) <>

Added identifier_ref_offset to struct inherit.
Improved handling of inherits in new-style {en,de}code_value() of programs.
Removed some dead code.

Rev: src/encode.c:1.93
Rev: src/program.c:1.311
Rev: src/program.h:1.116


2002-04-12 23:18:47 by Martin Stjernholm <>

Reverted some debug gook that got in by mistake.

Rev: src/program.c:1.413

2002-04-12 22:53:00 by Martin Stjernholm <>

Make a function pointer from this_program when possible, so it can be
used to create objects even when the class has a parent pointer.

Rev: src/program.c:1.412

2002-04-12 09:30:13 by Henrik Grubbström (Grubba) <>

Fixed type for encode_value() and encode_value_canonic().
Added byte-code relocation info.
Added new program encoding method (2).
Encoded programs should now be portable across architectures.

Rev: src/builtin_functions.c:1.357
Rev: src/encode.c:1.87
Rev: src/peep.c:1.47
Rev: src/program.c:1.310
Rev: src/program_areas.h:1.8


2002-04-09 10:33:56 by Martin Stjernholm <>

BLOCK_ALLOC() can't be followed by a semicolon; some compilers don't like
empty top level declarations.

Rev: src/interpret.c:1.257
Rev: src/program.c:1.411
Rev: src/program.h:1.156


2002-04-08 01:00:09 by Martin Stjernholm <>

Removed the kludge that tries to do DWIM on the pc fed to get_line
when machine code is used.

Rev: src/program.c:1.410


2002-04-07 15:40:02 by Henrik Grubbström (Grubba) <>


Rev: src/program.c:1.409

2002-04-07 15:24:11 by Henrik Grubbström (Grubba) <>

Changed behaviour for looking up symbols in inherited programs.
The latest symbol from the inherit with the least depth is now returned.
Fixes [bug 2581].

Rev: src/program.c:1.408


2002-03-04 21:48:50 by Martin Stjernholm <>

Store a zero when declaring a constant without a value in pass 1. This
is a kludge to avoid fatals since constants might be looked up in pass
1 programs. (We can just hope that the constant will be looked up
again later..)

Rev: src/program.c:1.407


2002-03-01 02:32:14 by Martin Stjernholm <>

Added a comment about the shaky state of affairs when a delayed
compiled program fails to be finished properly. It's essentially
impossible to reliably avoid arbitrary internal errors once that has
happened. The whole resolver stuff really needs a rewrite.

Rev: src/program.c:1.406


2002-02-27 10:01:14 by Henrik Grubbström (Grubba) <>

Added comment.

Rev: src/program.c:1.405

2002-02-27 09:59:30 by Henrik Grubbström (Grubba) <>

Fix for [bug 2767].

Rev: src/program.c:1.404


2002-02-14 15:20:48 by Henrik Grubbström (Grubba) <>

Added magic identifier UNDEFINED.
Fixes [bug 2756].

Rev: src/program.c:1.403


2002-02-06 17:26:15 by Henrik Grubbström (Grubba) <>

Fix for [bug 2094] and [bug 2727].

Rev: src/las.c:1.239
Rev: src/program.c:1.309
Rev: src/program.h:1.115

2002-02-06 17:23:24 by Henrik Grubbström (Grubba) <>

Fix for [bug 2094] and [bug 2727].

Rev: src/las.c:1.281
Rev: src/program.c:1.402
Rev: src/program.h:1.152


2002-01-31 17:52:15 by Marcus Comstedt <>

Make it possible to inherit pike programs from C programs.

Rev: src/dynamic_load.c:1.59
Rev: src/module.c:1.16
Rev: src/program.c:1.401


2002-01-16 03:12:10 by Martin Nilsson <>

Updated copyright

Rev: src/alloca.c:1.4
Rev: src/array.c:1.123
Rev: src/array.h:1.39
Rev: src/backend.cmod:1.22
Rev: src/backend.h:1.13
Rev: src/builtin_functions.c:1.419
Rev: src/builtin_functions.h:1.19
Rev: src/callback.c:1.24
Rev: src/callback.h:1.15
Rev: src/constants.c:1.34
Rev: src/constants.h:1.20
Rev: src/cpp.c:1.98
Rev: src/dlopen.c:1.28
Rev: src/docode.c:1.139
Rev: src/docode.h:1.14
Rev: src/dynamic_buffer.c:1.14
Rev: src/dynamic_buffer.h:1.12
Rev: src/efun.h:1.4
Rev: src/encode.c:1.136
Rev: src/encode.h:1.4
Rev: src/error.c:1.82
Rev: src/fd_control.c:1.38
Rev: src/fd_control.h:1.7
Rev: src/fsort.c:1.16
Rev: src/fsort.h:1.3
Rev: src/gc.c:1.180
Rev: src/global.h:1.66
Rev: src/hashtable.c:1.9
Rev: src/hashtable.h:1.6
Rev: src/interpret.c:1.256
Rev: src/interpret.h:1.107
Rev: src/iterators.cmod:1.18
Rev: src/language.yacc:1.271
Rev: src/las.c:1.280
Rev: src/las.h:1.55
Rev: src/lex.c:1.102
Rev: src/lex.h:1.20
Rev: src/main.c:1.145
Rev: src/main.h:1.17
Rev: src/mapping.c:1.146
Rev: src/mapping.h:1.41
Rev: src/module.c:1.15
Rev: src/module.h:1.5
Rev: src/module_support.h:1.9
Rev: src/modules/Gdbm/gdbmmod.c:1.16
Rev: src/modules/Gmp/mpf.cmod:1.3
Rev: src/modules/Gmp/mpq.cmod:1.4
Rev: src/modules/Gmp/mpz_glue.c:1.99
Rev: src/modules/Gz/zlibmod.c:1.43
Rev: src/modules/Regexp/glue.c:1.25
Rev: src/modules/Regexp/pike_regexp.h:1.5
Rev: src/modules/Ssleay/ssleay.c:1.15
Rev: src/modules/_math/math.c:1.42
Rev: src/modules/files/datagram.c:1.4
Rev: src/modules/files/efuns.c:1.109
Rev: src/modules/files/file.c:1.231
Rev: src/modules/files/file.h:1.20
Rev: src/modules/files/socket.c:1.58
Rev: src/modules/sprintf/sprintf.c:1.88
Rev: src/multiset.c:1.46
Rev: src/multiset.h:1.23
Rev: src/object.c:1.195
Rev: src/object.h:1.69
Rev: src/opcodes.c:1.119
Rev: src/opcodes.h:1.25
Rev: src/operators.c:1.145
Rev: src/operators.h:1.10
Rev: src/pike_error.h:1.17
Rev: src/pike_macros.h:1.29
Rev: src/pike_memory.c:1.118
Rev: src/pike_memory.h:1.31
Rev: src/pike_types.c:1.184
Rev: src/pike_types.h:1.75
Rev: src/port.c:1.50
Rev: src/port.h:1.42
Rev: src/program.c:1.400
Rev: src/program.h:1.151
Rev: src/rusage.c:1.17
Rev: src/rusage.h:1.4
Rev: src/signal_handler.c:1.213
Rev: src/signal_handler.h:1.12
Rev: src/stralloc.c:1.140
Rev: src/stralloc.h:1.64
Rev: src/stuff.c:1.16
Rev: src/stuff.h:1.13
Rev: src/svalue.c:1.133
Rev: src/svalue.h:1.101
Rev: src/time_stuff.h:1.9
Rev: src/version.c:1.134
Rev: src/version.h:1.280


2001-12-20 15:06:58 by Martin Nilsson <>

Fixed autodoc syntax bug. Removed references to specific pike versions.

Rev: src/program.c:1.399

2001-12-20 14:23:35 by Henrik Grubbström (Grubba) <>

Improved some lfun documentation.
Fixed bug in the lfun::_get_iterator() documentation.

Rev: src/program.c:1.398

2001-12-20 12:54:37 by Henrik Grubbström (Grubba) <>

Fixed a few typos in the lfun::_sprintf() documentation.

Rev: src/program.c:1.397

2001-12-20 12:52:02 by Henrik Grubbström (Grubba) <>

Improved documentation of lfun::_sprintf().

Rev: src/program.c:1.396


2001-12-17 11:08:11 by Henrik Grubbström (Grubba) <>

Fixed fatal error when calling non-existing get_default_module() in #pike.

Rev: src/program.c:1.395


2001-12-16 22:48:09 by Martin Stjernholm <>

Added magic ::_indices and ::_values.

Rev: src/docode.c:1.138
Rev: src/interpret_functions.h:1.99
Rev: src/language.yacc:1.268
Rev: src/las.c:1.278
Rev: src/object.c:1.190
Rev: src/object.h:1.67
Rev: src/program.c:1.394

2001-12-16 20:31:42 by Martin Stjernholm <>

Misc debug code.

Rev: src/program.c:1.393

2001-12-16 02:49:50 by Martin Stjernholm <>

Replaced IS_ZERO with SAFE_IS_ZERO, except where it's obvious that

Rev: src/array.c:1.121
Rev: src/builtin.cmod:1.72
Rev: src/builtin_functions.c:1.418
Rev: src/cpp.c:1.96
Rev: src/encode.c:1.135
Rev: src/interpret.c:1.254
Rev: src/interpret_functions.h:1.98
Rev: src/iterators.cmod:1.17
Rev: src/language.yacc:1.267
Rev: src/las.c:1.277
Rev: src/module_support.c:1.42
Rev: src/modules/Image/encodings/_xpm.c:1.18
Rev: src/modules/Image/encodings/ilbm.c:1.23
Rev: src/modules/Image/encodings/png.c:1.43
Rev: src/modules/Image/encodings/pvr.c:1.16
Rev: src/modules/Image/encodings/ras.c:1.15
Rev: src/modules/Image/encodings/xbm.c:1.15
Rev: src/modules/Parser/html.c:1.148
Rev: src/modules/_Image_GIF/image_gif.c:1.8
Rev: src/modules/files/efuns.c:1.107
Rev: src/modules/files/file.c:1.230
Rev: src/modules/files/socket.c:1.57
Rev: src/modules/files/stat.c:1.19
Rev: src/modules/files/udp.c:1.28
Rev: src/modules/spider/xml.c:1.47
Rev: src/modules/sprintf/sprintf.c:1.86
Rev: src/multiset.c:1.45
Rev: src/opcodes.c:1.118
Rev: src/operators.c:1.144
Rev: src/post_modules/GTK/source/gtkclist.pre:1.13
Rev: src/preprocessor.h:1.48
Rev: src/program.c:1.392
Rev: src/signal_handler.c:1.212
Rev: src/threads.c:1.177


2001-12-14 10:04:10 by Henrik Grubbström (Grubba) <>

Fix for [bug 2504].

Rev: src/program.c:1.308

2001-12-14 10:03:53 by Henrik Grubbström (Grubba) <>

Fix for [bug 2504].

Rev: src/program.c:1.391

2001-12-14 04:09:07 by Martin Stjernholm <>

Fixed cleanup of supporters. Look at force_resolve in

Rev: src/program.c:1.390


2001-12-13 11:05:57 by Martin Stjernholm <>

Fixed error handling and leaks when a delayed compile fails.

Rev: lib/
Rev: src/encode.c:1.134
Rev: src/program.c:1.389
Rev: src/program.h:1.148


2001-12-12 21:11:16 by Martin Stjernholm <>

Fixed cyclic compilation bug. Fixed bugs in low_verify_supporters.
Cleaned up the COMPILER_DEBUG printouts a bit.

Rev: src/program.c:1.388


2001-12-06 14:10:19 by Henrik Grubbström (Grubba) <>

Partial revertion of fix for [bug 2511].

Rev: src/program.c:1.387

2001-12-06 13:56:05 by Henrik Grubbström (Grubba) <>

No longer possible to index programs and get subclasses that use the parent.
Fixes [bug 2511].

Rev: src/program.c:1.386


2001-11-24 23:18:48 by Martin Stjernholm <>

Don't count mappings and programs twice. Count memory in shared mapping_data
blocks more correctly.

Rev: src/mapping.c:1.141
Rev: src/program.c:1.385


2001-11-08 23:34:34 by Fredrik Hübinette (Hubbe) <>