pike.git
/
CHANGES
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/CHANGES:13:
o pike -x When starting pike with the -x parameter, the pike process will run the named script in Tools.Standalone, giving the rest of the arguments as command-line switches. This is a convenient way of running rsif (replace string in file) and pv (the image viewer you may be familiar with from Tools.PV). o unbug o Unicode 3.2.0
-
All charts
has
been updated to Unicode 3.2.0. This applies both to
-
the Unicode module as well as Pike-global functionality such as
+
All charts
have
been updated to Unicode 3.2.0. This applies both to
+
the Unicode module as well as
to
Pike-global functionality such as
upper_case/lower_case. unicode_to_string() also has support for surrogate and byteorder make handling. o Extended random() random() now works on float, array, multiset and mapping (and int/object). o delay()/sleep() sleep() no longer busywaits. o search(string, int) / has_value(string, int) Both of these methods now handle both looking for strings and
-
integers
;
search("hi, ho!", ',') or has_value("Nope.", ' ')
, for
-
instance
.
+
integers
(ie single characters). eg
search("hi, ho!", ',') or
+
has_value("Nope.", ' ').
Language additions: ------------------- o foreach(X; Y; Z) The foreach statement has been extended to allow iterations over mappings, multisets and any object that implements the iterator interface (see below). To make it possible to use this conveniently, a new syntax has been added to get both the index and the value in each iteration:
pike.git/CHANGES:59:
starting with the first element while mappings are visited in some arbitrary order (each element is still visited only once, though). o Iterators As noted above, an iterator interface has been added that is now used in various places to iterate over different data structures. Not only the built-in data types are supported, but actually any object that fulfills the interface for iterators: When iterating over an object o, o->_get_iterator() is called to
-
get an iterator object.
It
should at least have
two
functions
-
index() and value() to get the index and value at the current
-
position, a function `+=(int steps) to advance the
current
-
position the specified number of steps, and a `!() that
returns
-
zero if the position hasn't reached the end of the data set.
+
get an iterator object.
An
iterator object
should at least have
+
two
functions,
index() and value()
,
to get the index and value
+
at the current position, a function `+=(int steps) to advance the
+
current
position the specified number of steps, and a `!() that
+
returns
zero if the position hasn't reached the end of the data set.
Also, if the object o lacks a _get_iterator function, it's assumed to be an iterator itself. This makes it possible to pass an iterator explicitly to e.g. the foreach statement. The built-in data types also have iterator classes with this interface. They are found as Array.Iterator, Mapping.Iterator, etc and can be used to iterate over these data types in some custom fashion. This is especially useful for mappings and multisets, which cannot be iterated over directly in any other way. For
pike.git/CHANGES:173:
o Standards.FIPS10_4 o Standards.ID3 ID3 tags decoder/encoder. Supports versions: 1.0, 1.1, 2.2-2.4. Frequently used in MP3 files for encapsulating metadata. o Standards.RDF o System.Time
+
o System.Timer o Stdio.FakeFile o Stdio.GZipFile o Tools.PV Convenience tool that sets up a canvas with GTK, presents a picture on it and delivers a number of image inspection and manipulation options.
pike.git/CHANGES:306:
Lookup of identifier "foo" in B(): B-+-foo All versions of Pike | +-A---foo o Protocols.LDAP.client The return code from all methods was changed to follow Pike's logic better. 0 is now a failure. The old behaviour is emulated in
-
compatibility layer.
+
a
compatibility layer.
o dirname Now correctly returns a directory instead of just stripping the
-
part after nearest directory
seprator
.
+
part after
the
nearest directory
separator
.
o LR LR has been moved to Parser.LR and the API has been chnged. FIXME: More about this? o wmml documentation removed Use the documentation in the refdoc directory instead. o .build_lobotomize_crypto removed Use the Makefile target lobotomize_crypto to lobotomize Pike.
-
Should preferably be executed in unused tree
right
from CVS.
+
Should preferably be executed in
an
unused tree
straight
from CVS.
C level/development changes: ----------------------------
-
o Some global
defines
has
been renamed to avoid name clashes.
+
o Some global
symbols
have
been renamed to avoid name clashes.
sp -> Pike_sp fp -> Pike_fp fatal -> Pike_fatal empty_string -> empty_pike_string o --with-internal-profiling o Module symbols not available from other modules.