pike.git
/
CHANGES
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/CHANGES:13:
o Several declarations and definitions (most notably the debug and runtime flags) have moved from main.h to pike_embed.h, in an attempt to add support for embedding. o New `[..] operator function. Range operations have been separated from the `[] operator function and is handled by a new `[..] which provides greater control in how the range bounds are specified. For compatibility, if there is no `[..] then `[] is still called for range operations.
+
FIXME: Describe relation with Pike.INDEX_FROM_BEG/END & OPEN_BOUND.
+
o Generalized this and this_program. It is now possible to refer to inherits in objects. Example: class A { int a; void foo() { werror("A\n"); } } class B { inherit A; int b; void foo() { werror("B\n"); }
pike.git/CHANGES:90:
the new variable. This fixes issues GTK, GTK2 and sendfile had with the new backend implementation. NOTE! NOTE! Changed the argument for backend callbacks! NOTE! NOTE! The argument is now a struct Backend_struct * when called at entry (was NULL). NOTE! The argument is now NULL when called at exit (was 1). NOTE!
-
o Process.popen
-
Process.popen is now able to run in nonblocking mode. If a second
-
argument is provided a file object will be opened with that mode
-
and return, enabling two way communication with the new process.
-
+
o bin/precompile.pike Voidable pointer types are no longer promoted to mixed. o cpp The preprocessor now supports macro expansion in the #include and #string directives. o PIKE_PORTABLE_BYTECODE --with-portable-bytecode is now the default. Pike programs that have been dumped on one architecture now can be decoded on another.
pike.git/CHANGES:137:
and an explicit create(). o Warnings for unused private symbols. The compiler now checks that all symbols that have been declared private actually are used. o Unicode Case information and the Unicode module are updated to Unicode 5.0.0.
+
o protected
+
The modifier protected is now an alias for the modifier static.
-
+
Extensions and New Functions o ADT.BitBuffer
-
read() added. Bugfixes.
+
-
o
ADT.Priotity_queue
-
Fixed
pop
bug
.
+
Added read() method that reads whole bytes from the buffer and
+
returns
as
a string
.
o ADT.Queue
-
Added _sizeof, _values
+
-
+
It is now possible to use sizeof() and value() on a Queue object.
+
+
o ADT.Stack
+
+
Stack objects can now be cast to arrays.
+
o ADT.Struct
-
Signed integers.
-
Structs can be Items in other Structs.
-
_sizeof in every Item.
+
-
o
ADT.Relation.Binary
-
iterator
API
fix.
-
Fixed
creating
relation
with
initial
relation.
-
Added
cast
to
mapping
.
+
-
New
Item
class
SByte,
SWord
and
SLong
represents
a
signed byte,
+
word
and longword respectively
.
-
+
- The Item classes int8, uint8, int16, uint16, int32, uint32, int64
+
and uint 64 are aliases for already existing Item classes.
+
+
- sizeof() now works for empty Struct objects.
+
+
- sizeof() can be used on individual Item objects.
+
+
- Struct objects can now be used as Items in other Structs.
+
+
FIXME: Example
+
o Array
-
Added combinations()
-
Bugfixed Array.diff3
-
Added push(), pop(), shift() and unshift() for Perl weirdos.
+
-
o
Cache
-
Data.recursive_low_size
()
now
supports
floats.
-
thread
fixes
+
-
New function combinations
()
returns
all
combinations of a
+
specified length with elements from a given array.
-
+
- Added push(), pop(), shift() and unshift() functions for Perl
+
weirdos.
+
o Calendar
-
Fixed bugs in discordian. year off by 1166 and now 5 month per year.
-
Islamic days start at sunset
-
New national day
-
fixed hour formatting for format_smtp()
-
Time: * and / now handle floats. split implemented.
-
how_many() now returns the correct value. was off by one.
-
Updated timezone information.
+
-
o
Crypto.Random
-
Now
thread
safe
.
+
-
Added
new
calendar Badi, used in the Baha'i religion
.
-
+
- Fixed bugs in discordian, where the year() was off by 1166 and
+
now() was off 5 month per year.
+
+
- Time objects now handle * and / with floats. A split() method has
+
been added for more advanced splitting. FIXME: Example
+
+
- A new formatting method format_ext_time_short() has been added to
+
Time objects.
+
+
- Timezones are now read from /etc/localtime, if available.
+
o Debug
-
count_objects() added.
+
-
+
The new function count_objects() will return the different kinds of
+
objects existing within the Pike process. Useful when trying to
+
pinpoint a leak of Pike objects.
+
+
o Error
+
+
The new function mkerror() will normalize any thrown value into a
+
proper error object (or 0).
+
o Filesystem
-
ignore_error added to traverse
+
-
+
Traversion has been extended with two new create arguments. The
+
first one is a flag to supress errors and the other is a sorting
+
function which will be applied to the entries in every directory.
+
This callback can also be used to filter the directory entries.
+
o Float
-
Added isnan()
+
-
+
The function isnan() can be used to check if a float is Not a
+
Number.
+
+
> Float.isnan(Math.inf/Math.inf);
+
(1) Result: 1
+
o Geography.Position
-
Now possible to encode.
+
-
+
It is now possible to encode Position objects with encode_value().
+
o GLUE
-
mipmap to flags
-
supports clamped textures in BaseTexture and BaseDWIM
+
-
+
- The default event callback will now exit both on Exit and Escape
+
events.
+
+
- The texture, list and light id generators will now be created
+
after we are sure that GL has been initialized, to prevent crashes
+
on several systems.
+
+
- BaseTexture and BaseDWIM now supports clamped textures.
+
+
- Several bug fixes.
+
o Image.Dims
-
supports TIFF
+
-
o
_Image
?
-
Added
support
for
DOS
EPS
+
Support
for
parsing
out
the
dimensions
of TIFF files has been added.
o Int
-
inf + operations
+
-
+
Int.inf is an object that can be used as an infinitly large integer.
+
o Locale.Charset
-
+
FIXME: Rewrite
Remapped and documented the use of the private character space. ISO-IR non-spacers are now converted into combiners. Added some support for pluggable character sets. Added GB18030/GBK UTF-EBCDIC unicode prefix, e.g. unicode-1-1-utf-7 CP949 GBK (cp936) DIN-31624 (ISO-IR-38) ISO-5426:1980 (ISO-IR-53) ISO-6438:1996 (ISO-IR-39, ISO-IR-216) ISO-6937:2001 (ISO-IR-156) o MIME
-
Fix for casting MIME.Message objects to strings
-
Added remapping variants of the encode words functions.
+
-
+
- Added remapping variants of the encode words functions with
+
encode_word_text_remapped(), encode_word_quoted(),
+
encode_words_quoted_remapped() and
+
encode_words_quoted_labled_remapped().
+
+
- Added workaround for a bug in Microsoft Internet Explorer where it
+
forgets to properly quote backslashes in the Content-Disposition
+
field.
+
+
- Fixed a bug that could occur when casting MIME.Message objects to
+
strings.
+
o Odbc
-
+
FIXME: Rewrite
Now supports UnixODBC properly. Fixed various issues with Unicode. o Parser.Pike
-
Now uses parser written in C.
-
Fixed parsing of #string
+
-
+
Parsing of Pike has been rewritten in C for increased performance.
+
#string directives should be handled correctly now.
+
o Parser.RCS
-
+
FIXME: Rewrite
Handle broken RCS files better.
-
+
o Parser.XML.NSTree
+
+
- Added add_child_before() and add_child_after() methods to the
+
NSNode object.
+
+
- Fixed crash bug.
+
o Parser.XML.Tree
-
+
FIXME: Rewrite
Added rendering of DTD ENTITY nodes. The renderer now knows about the internal_subset attribute for the DOCTYPE tag. Added rendering of DTD ELEMENT nodes. Added functions to inser new childe node. Moved parser code into the nodes allowing for extendability. set_tag_name() simple-stuff AbstractSimpleNode, VirtualNode, SimpleNode. Node.zap_tree o Pike
-
get_runtime_info()
-
Encoder, Decoder, Codec
+
-
+
- A new function get_runtime_info() has been added which returns
+
information about current ABI, if automatic bignums are enabled,
+
what bytecode method is used, the size of native floats and
+
integers and the native byte order.
+
+
- The constants INDEX_FROM_BEG, INDEX_FROM_END and OPEN_BOUND has
+
been added for use with the `[..] operator API.
+
+
- The functions low_check_call(), get_return_type() and
+
get_first_arg_type(). FIXME!
+
o Process
-
run()
-
spawn_pike()
-
Extended system() to pass args to spawn()
-
New popen implementation.
+
-
o
protected
-
The
modifier
protected
is
now
an
alias
for
the
modifier
static
.
+
-
The
new
function
spawn_pike()
will
spawn
a
Pike
process similar to
+
the
current
one, using the same binary file, master and module
+
paths
.
-
+
- The new function run() is an easy interface that will run a
+
process and return a mapping with all the outputs and exit code.
+
+
+
- Process.popen is now able to run in nonblocking mode. If a second
+
argument is provided a file object will be opened with that mode
+
and return, enabling two way communication with the new process.
+
+
- The system() function has been extended to be able to pass stdin,
+
stdout and stderr arguments to the spawn() call it performs.
+
o Protocols.DNS Added support for NAPTR (RFC 3403) records. Fix for TTL parsing in SRV records. gethostbyname() now returns IPv6 addresses too, if available. Improved support for T_TXT. o Protocols.Bittorrent Support for gzipped and compact tracker responses. 30% faster hashing of files.
pike.git/CHANGES:315:
o ADT.Set ADT.Set implements a datatype for sets. These sets behave much like multisets, except that they are restricted to containing only one instance of each member value. From a performance viewpoint, it is probably more efficient for a Pike program to use mappings to serve as sets, rather than using an ADT.Set,so ADT.Set is mainly provided for the sake of completeness and code readability.
+
o Arg
+
o Protocols.DNS_SD This module provides an interface to DNS Service Discovery. The functionality of DNS-SD is described at <http://www.dns-sd.org/>. Using the Proctocols.DNS_SD.Service class a Pike program can announce services, for example a web site or a database server, to computers on the local network. When registering a service you need to provide the service name. service type, domain and port number. You can also optionally
pike.git/CHANGES:392:
These incompatible changes can be solved by adding #pike 7.6 to your source file or starting Pike with -V7.6. o Array.transpose_old This function is removed. o _Charset This internal module has had most of its content removed.
+
o Crypto
+
The old crypto functions from Pike 7.4 has been removed. These
+
functions produced a warning when used in Pike 7.6.
+
o Debug.describe_program The API for this debug function has changed. o Image.Image The functions select_colors(), map_closest(), map_fast() and map_fs() has been removed. Use Image.Colortable operations instead. o Parser.XML The XML parsers are now stricter in verifying the correctness of the XML. The function compat_allow_errors can be called in the
pike.git/CHANGES:432:
Functions new() and new_string() has been removed. Use make_version1(-1)->encode() and make_version1(-1)->str() instead. o Stdio The functions read_file(), read_bytes(), write_file() and append_file() now always throw errors upon errors, to allow easier use as errno doesn't have to be checked. read_file() and read_bytes() still returns 0 if the file does not exists. o The modules Mird, Perl, Pipe and Ssleay have been removed.
+
+
+
backport:
+
+
Calendar.pmod/events/regional
+
Calendar.pmod/TZnames.pmod
+
+
update(?):
+
+
Geography.pmod/Countries.pmod
+
MIME.pmod/ext...
+
+
fixme:
+
Process.locate_binary