pike.git / CHANGES

version» Context lines:

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