pike.git / CHANGES

version» Context lines:

pike.git/CHANGES:63:    The Pike debugger unbug has been significtly optimized.      o Module system.    Both dynamic and static modules appears as objects and they both    support having an identifier _module_value, which will then be    what is presented by the resolver as the module. _module_value can    be a constant, thus preventing the program from being    automatically cloned.       - Master: - ------- + The Pike master: + ----------------      o The new option --dumpversion prints out the Pike version in a more    easily pared way than --version.      o The master now supplies argv to the started application, so it can    use the create method for execution. Some people find it a more    elegant solution than having a main function.      o The -e Pike environment has been improved with a lot of convenience    wrappings. When compiling code with pike -e the macro NOT(X) will    expand to !(X) and CHAR(X) to 'X', making it easier to solve quote    problems from a shell. If the return from a pike -e statement is a    positive integer it will be used as pikes exit code. If the return    value is a string it will be outputed, with a "\n" added, if it    lacked one. Finally there is a predefined variable env that contains    the environment variables as a string:string mapping.    -  +    Building and installing pike:   ----------------------------- - o bundles - o no tpike - o installs documentation (_nodoc) +     -  + o To simplify the process of building Pike source distributions it is +  now possible to bundle less common libraries such as Nettle with +  Pike. The bundle, found in the bundle directory, will be compiled +  and statically linked if the no matching library is found on the +  system.    -  + o The Pike build process no longer builds a bootstrap pike, used to +  run various small programs to generate source files. This means that +  in order to build Pike from CVS you need the latest major version of +  Pike installed on your system. Pike source distributions contains +  the generated files and is not affected (except it compiles in less +  time). +  + o By default pike want you to build a documentation source file, i.e. +  "make && make doc && make install". This makes it possible for third +  party modules to integrate its documentation into the system Pike +  documentation. If you do not want to build a documentation source +  file, use "make install_nodoc" instead of "make install". +  +    Language additions:   -------------------      Changes and additions to -x utilities:   --------------------------------------      o rsif    rsif can now work recursively in a file structure if given the    flag -r or --recursive. Example:    pike -x rsif -r 7.4 7.6
pike.git/CHANGES:285:       void draw_frame() {    call_out(draw_frame, 0.02); // 1/(50 fps)    do_gl_code();    GLUE.swap_buffers();    }         o _ADT   o Geography RT38 +    o Int -  +  The Int module contains a few functions and constants that deals +  specifically with the integer data type. Currently it contains +  parity and byte swapping functions and constants for the system +  maxint and minint. +    o Pike.Security -  +  Functions and classes that deals with the Pike security system +  (requires Pike to be compiled with --with-security to be present) +  are stored in this module. Beware that the Pike security system is +  still very experimental.      o Protocols.HTTP.Session    Handles an HTTP connection as a session, with cookies, redirects,    HTTP keep-alive etc.      o Bz2    Support for the compression format used by the bzip2 program. The -  module interface is identical with the Gz module. +  module interface is almost identical with the Gz module, so +  changing between Bz2 and Gz is just a matter of a few characters +  difference.      o Process.Process -  +  The Process.Process class is extended to handle a time out +  callback and a read callback, to better manage processes in an +  asunchronous way. +    o Error -  +  The beginning of the Pike exception hiearchy. Even though it is +  work in progress, it is already usable. +  +  > mixed err = catch( 1/0 ); +  > err; +  (1) Result: Error.Math("Division by zero.\n") +  > object_program(err)==Error.Math; +  (2) Result: 1 +    o Float -  +  Here constants and functions that deals specifically with the +  float data type is stored. Currently contains only various +  constants that describe the precision and limitations of the float +  type Pike is compiled with. +    o Protocols.Bittorrent      o Protocols.LMTP/Protocols.SMTP    Protocols.LMTP Implements a server for the Local Mail Transfer    Protocol, LMTP, as specified in RFC2033. This module has been well    tested against Postfix clients. Protocols.LMTP is based on a new    server implementation in Protocols.SMTP.      o Protocols.OBEX    An implementation of the IrDA(R) Object Exchange Protocol. OBEX is
pike.git/CHANGES:339:       foreach(owlset->find_statements(0,    owlset->rdf_type,    owlset->owl_Class);    array statement)    write("- %O\n", statement[0]);       return 0;    }    + o Array +  The Array module has been extended with Array.all and Array.any +  which determines if all or any of the elements in an array meets a +  given condition. Also the function Array.partition has been added, +  which divides the elements of an array into two arrays, selected +  by a given condition.    - o Parser.RCS + o Function +  The Function module has been extended with the fixpoint combinator +  "Y", useful when writing recursive lambdas, a curry function, to +  partially evaluate a function call, and a callback caller function +  that protects the caller from exceptions in the callback function.    - o Array.any - o Array.all - o Array.partition - o Function.call_callback - o Function.Y - o Function.curry -  +    o Thread    Thread.Fifo and Thread.Queue has been extended with try_*    varieties of all functions that can block and with functions that    makes them both implement the same interface. Both also have    fallbacks for running in nonthreaded mode.      o Filesystem.Traversion -  +     The Filesystem.Traversion iterator is a handy way to descend into    a directory structure (depth first) and perform actions on all or    some of the files.       Example:       foreach(Filesystem.Traversion("."); string dir; string file)    if(file[-1]=='~' || file=="core") rm(dir+file);      o Calendar module
pike.git/CHANGES:384:   o SSL      o Sql.Provider      o EXIF    The EXIF module is now much more robust than before and can handle    some of the erroneous EXIF tags some cameras procduce. Extended    support for Nikon cameras.      o Standards.IDNA +  This module implements various algorithms specified by the +  Internationalizing Domain Names in Applications (IDNA) memo by the +  Internet Engineering Task Force (IETF), RFC 3490.    -  +    Optimizations:   --------------      o Instantiation and destruction of pike-classes is now significantly faster.      o Handling of bignums has been optimized, especially conversion    to/from normal integers.      o String case conversion is now five times faster than before on    average.