Bug fix release     : otp_src_R8B-1
Build from snapshot : 20020412
 
This is a bug fix release R8B-1. You can download the full source
distribution or the patch that take R8B-0 up to R8B-1.
 
  http://www.erlang.org/download/otp_src_R8B-1.tar.gz
  http://www.erlang.org/download/otp_src_R8B-0to1.patch.gz
  http://www.erlang.org/download/otp_src_R8B-1.readme (this file)

If you have access to the Ericsson intranet you can find the same files at

  http://erlang.ericsson.se/opensource/download/

To patch the previous release "otp_src_R8B-0" you use a patch program
that understand the "unified" patch format and do
 
  % cd otp_src_R8B-X
  % gzip -dc /location/of/patch/file/otp_src_R8B-0to1.patch.gz | patch -p1
 
For installation instructions please read the README that is part of
the distribution.

There is no support for building a Windows version from source.
The Windows binary distribution can be downloaded from

  http://www.erlang.org/download/otp_win32_R8B-1.exe

The documentation at http://www.erlang.org will be updated. You can
also download the complete HTML documentation or the Unix manual files

  http://www.erlang.org/download/otp_html_R8B-1.tar.gz
  http://www.erlang.org/download/otp_man_R8B-1.tar.gz

The bug fixes and improvements in this release is described in the
release notes below. For some OTP applications there are more detailed
release notes in the HTML documentation.

We also want to thank those that sent us patches, suggestions and bug
reports,
 
The OTP Team



  -- erts kernel stdlib runtime_tools ---------------------------------------

        OTP-4251 - The rpc behaviour has accidentally changed from R6B to R7B,
                   so that an rpc:call() to a function that calls
                   erlang:throw(Term) no longer returns Term, but rather
                   {badrpc, {'EXIT, {{nocatch, Term}, _}}}.
                   This has now been changed back to the original behaviour.

        OTP-3509 - A race condition in dist_ac has been removed.
                   The documentation didn't clearly state that all
                   distributed applications depend on (at least) kernel
                   and stdlib (kernel and stdlib should be part of
                   "applications" in the .app file). This has now been
                   added to the app(4) manual page.
                   The following has also been changed in the system
                   documentation (not shipped with patches):
                   PREVIOUSLY:
                   When distributed applications are specified, it is
                   advised that the sync_nodes functionality in the kernel
                   application is used. If not used, and several nodes are
                   started at the same time, the node that comes up first
                   will start all applications, and the other nodes will
                   take over the applications when they come up.
                   NOW:
                   When distributed applications are specified, it is
                   required that the sync_nodes functionality in the
                   kernel application (see kernel(6)) is used to synchronize
                   all involved nodes. If not used, the distribution
                   mechanism for distributed applications will not
                   function correctly.

        OTP-4191 - A bug in disk_log:unblock/1 that could cause
                   messages to be processed in wrong order has been fixed.
                   Write errors no longer terminate the disk log process.

        OTP-4227 - When an application that depended upon another that
                   had been started but crashed (supervisor killed),
                   tried to start but failed (as expected), the return
                   value was {error, no_report}, which now has been
                   corrected to {error, {not_running, App}}.

        OTP-4224 - If poll() is missing the function prototype for
                   driver_select() was incorrect. Other small build problems
                   on MacOS X 10.1 where corrected as well.

        OTP-4181 - Solaris embedded support was extended to other Unix
                   platforms. Mainly improvements in the run_erl/to_erl
                   Unix commands.

        OTP-4179 - spawn_opt/4 used 0 as default value for fullsweep_after
                   instead of the default value used by spawn/3, and
                   spawn_link/3. This caused all processes spawned by
                   spawn_opt/4 (e.g. all gen_servers) to always use
                   fullsweep if the fullsweep_after option wasn't
                   explicitly set. spawn_opt/4 has now been changed to use
                   the same default value as spawn/3, and spawn_link/3.

        OTP-4184 - Due to unstable resolving mechanisms in the host OS,
                   the inet_gethost_native service may timeout, which in turn
                   can make net_kernel crash. This is fatal to the OTP system.


        OTP-4185 - The spawn bifs didn't fail with badarg as they should
                   if the argument list wasn't a list; instead, the
                   spawned process immediately exited. All spawn BIFs
                   now fail with badarg if they are passed a bad argument
                   as argument list. 
                   spawn BIFs which take funs as arguments and remote
                   spawn BIFs could fail with other errors than badarg
                   when passed bad arguments. All spawn BIFs now fail
                   with badarg when they fail due to bad arguments.


        OTP-4189 - Documentation of the previously undocumented
                   proc_lib:spawn_opt/4, and the spawn_opt
                   option of gen_server:start, and gen_fsm:start
                   has been added.

        OTP-4190 - Due to a bug in the Solaris system call gethrtime, which
                   is used for the Erlang internal time correction, implicit 
                   (internal) time correction is now disabled on certain 
                   hardware/software platforms.

        OTP-4244 - Distribution table entries used for hidden nodes can
                   now be reused.
                   The distribution table is a table used internally in
                   the Erlang run-time system. An entry in the
                   distribution table contains information about a node.
                   The distribution table can contain at most 256 entries
                   (one of them is used for the local node). An entry
                   will be reserved the first time a node needs to store
                   information about a specific remote node, and this
                   entry will normally never be reused for information
                   about another remote node. When a hidden node is
                   disconnected, the distribution table entry used for
                   the hidden node will be unreserved, so that it later
                   can be reused. This is the only event that unreserves
                   an entry. Events that reserves an entry are:
                   * A pid, a port, or a reference from previously
                   unknown node enters the node. (for example:
                   a pid originating from an unknown node is received
                   in a message from another node).
                   * A new connection to a previously unknown node.
                   nodes(known) (BIF) returns a list of all nodes that
                   there currently are distribution table entries reserved
                   for.

        OTP-4255 - The set_net_ticktime/[1,2] and get_net_ticktime/0
                   functions has been added to the net_kernel module
                   (see net_kernel(3)) which makes it possible to change
                   the net_tick time during operation.

        OTP-4267 - sl_alloc release 2 has been introduced in the emulator.
                   By default sl_alloc release 1 is enabled. For
                   information on how to enable sl_alloc release 2, etc,
                   see the sl_alloc(3) man page.

        OTP-4273 - When setting the process flag 'save_calls', the process got 
                   scheduled out more often than without the flag. This is no 
                   longer the case.

        OTP-4276 - The supervisor module could behave incorrectly during 
                   code change, simple_one_for_one supervised children 
                   got duplicate childspecs after upgrade causing the
                   supervisor to crash. The SupFlags from Module:init was
                   also ignored by the code_change callback in supervisor.
                   Both these malfunctions are now corrected.

        OTP-4277 - Same as OTP-4276 above.

        OTP-4283 - A special purpose Bif to be used when communicating with 
                   unreliable C nodes is added. This Bif is only recommended
                   for special purposes. It's named erlang:send_nosuspend/2
                   and the process gets a boolean reply telling if the message
                   could be sent without the driver blocking (suspending) the 
                   erlang process due to excessive driver output queue length.

        OTP-4291 - The send_nosuspend does now also appear in a version with 
                   an optionlist. The single allowed option is noconnect, which
                   makes the bif simply return 'false' when sending to a node 
                   not currently connected.

        OTP-4300 - The call ets:test_ms({0,3},[{{1.47,'_'},[],['$_']}]). and 
                   similar comparisons between small integers and values
                   stored on the heap could crash the emulator. The necessary
                   checks are now added to avoid this.

        OTP-4309 - Huge timechanges on linux could make erlang confused, this
                   is now corrected.

        OTP-4312 - System flags (+ command line arguments) taking values
                   weren't handled correctly. If the value and the system
                   flag were separated by whitespace some flags didn't
                   work (e.g. +A 10). If multiple system flags with their
                   corresponding values were passed, and the flags and
                   the values were separated by whitespace, all of these
                   flags were replaced by the last one passed. These bugs
                   have now been corrected.

        OTP-4313 - More memory block types (most of the existing ones)
                   are now identified by the instrumented emulator.

        OTP-4314 - Memory blocks in the emulator that are guaranteed never
                   to be removed are placed in a special block at the
                   beginning of the emulators heap segment if there are
                   space left in it. This special block has been called
                   the definite alloc block. The size of the definite
                   alloc block can be set with the +d system flag (see
                   the erl(1) manpage) (default size is 2 Mb).

                   The tuple {definite_alloc, BlockSize, UsedSize} that
                   is part of the list returned from
                   erlang:system_info(allocated_areas) can be used to
                   determine how much that is used of the definite alloc
                   block.

        OTP-4222 - When the match spec {set_seq_token, _, _} was used to
                   start sequential tracing, it crashed the heap of the 
                   process it was running from, and corrupted heap data
                   or crashed the emulator. This bug has now been 
                   corrected.

        OTP-4218 - Messages received from ports does no longer reset the
                   seq trace token for the receiving process. This might
                   be regarded as an incompatibility, 
                   but presumably desired. Now the seq trace token does
                   not get swallowed by file operations, io operations,
                   and other kernel/stdlib functions that use ports in 
                   their implementation.

        OTP-4183 - The tool Fprof in application Tools has been improved.
                   See OTP-4183 in the tools section.

        OTP-4301 - Negative field sizes in construction of binaries using
                   the bit syntax would crash the emulator. Corrected.

        OTP-4265 - application:start/1,2 could in some cases return an
                   erroneous error reason if the application callback function
                   Module:start/2 returned {error,Reason}. 

        OTP-4204 - lists:sort/2 and lists:merge/3 were not stable. 
                   lists:ukeysort/3 and lists:usort/2 could leave duplicates. 
                   A bug in lists:umerge/3 has been fixed.

        OTP-4327 - There are new functions bchunk/2,3 in the disk_log module
                   that are to be used like chunk/2,3 but return objects as
                   binaries. 

        OTP-4268 - Bug fixes in Dets: delete_object after insert on a table of
                   set type could cause crash; it was sometimes impossible to
                   open a fragmented table; init_table did not always call
                   InitFun exactly once; delete_all_objects did not handle
                   fixed tables correctly. The function init_table recognizes
                   the new options min_no_slots and format. The new function
                   bchunk can be used in conjunction with init_table for
                   copying open tables efficiently.

        OTP-4326 - The file_sorter module now provides an easy way of passing
                   a value from input functions to output functions: if the
                   last input function returns {end_of_input, Value}, the
                   first output function is called with the argument
                   {value, Value}.

        OTP-4208 - Traversing a read only Dets table no longer results in a
                   crash.

        OTP-4220 - When converting a version 8 Dets file or repairing a
                   version 9 Dets file containing sufficiently large objects,
                   the resulting file was sometimes badly formed. This has
                   been fixed.

        OTP-4221 - The file_sorter module now recognises a format called
                   binary which compares binaries using the standard order
                   of terms.

  -- compiler ---------------------------------------------------------------

        OTP-4194 - Using the 'not' operator in guards could crash the emulator.

        OTP-4219 - A bug in the compilation of bit syntax matching
                   could cause parts of the binary to be skipped.

  -- erl_interface ----------------------------------------------------------

        OTP-4217 - The function ei_x_encode_binary() was added.

        OTP-4333 - A memory allocated bug was corrected in ei_x_encode_term().

  -- os_mon -----------------------------------------------------------------

        OTP-4225 - OpenBSD support for OS_MON contributed by Daniel Neri.

  -- orber ------------------------------------------------------------------

        OTP-3966 - If the underlying OS was not configured to allow Erlang
                   to use the fully qualified host name the result could an
                   incorrect IP-address. Hence, if you want to upgrade to
                   Orber-3.2.11 and the fully qualified name must be used
                   you must upgrade your kernel version. Most likely, this
                   change will NOT cause any problems, but if in
                   doubt please contact support or use the mailing-list.
                   See also the release notes for Orber-3.2.6.

        OTP-4264 - When looking up Initial Service (e.g. using corbaloc,
                   corbaname or corba:resolve_initial_references_remote/2)
                   and communicating via SSL, Orber used the wrong port number.

        OTP-4293 - When invoking a Locate Request, Orber in some cases did not 
                   reply with a Locate Reply header (used a Reply header).

        OTP-4294 - Orber now check if an external IOR contains any
                   TAG_ALTERNATE_IIOP_ADDRESS components when trying to setup
                   a connection to another ORB. It is now possible to add
                   TAG_ALTERNATE_IIOP_ADDRESS components to a local object
                   reference. See corba:add_alternate_iiop_address/3.

        OTP-4295 - Orber now allows unions with no default value defined and a 
                   discriminator out of range to be sent via IIOP. The
                   value-field is set to the atom undefined.

        OTP-4296 - The corba module now exports a function, print_object/1/2,
                   which prints IOR's in a more readable form.

        OTP-4298 - Since "all" ORB's accept ISO-8859-1 encoding of chars and
                   strings, Orber assumed that it could be used at all time
                   to reduce the overhead. The JDK-1.3 only accepts ISO
                   646:1991 IRV (US-ASCII), even though ISO-8859-1 is default,
                   which is why Orber now checks which codeset is accepted.

        New Features:

        OTP-4258 - It is now possible to add new initial references,
                   which can, for example, be accessed via
                   corba:resolve_initial_references/1 or the corbaloc schema.

        OTP-4262 - The orber module now exports functions, iiop_connections
                   and iiop_connections_pending, which, respectively, list
                   all currently open connections to other ORB's and
                   connections which are in process of being set up to
                   another ORB.

        OTP-4260 - Orber now allows the user to define an interval of ports
                   which Orber is may use (i.e. ports on the local machine)
                   when trying to connect to another ORB. This behavior is
                   useful if Orber resides behind a firewall which only allow
                   applications to use certain ports when communicating with
                   the outside world. If this option is set, it is absolutely
                   necessary to set iiop_connection_timeout.
                   If not, there is risk that Orber run out of ports, which
                   will result in communication failure. This option cannot be
                   used when using SSL since it does not support this feature.
                   The default behavior is
                   that any available port will be used (as before).

        OTP-4259 - One can now install Orber's NameService as disc_copies, but
                   the default behavior is that Orber uses ram_copies.

        OTP-4257 - A pre-compiled IIOP-trace interceptor is now included in
                   the Orber release. For more information, see the Debugging
                   chapter in the User's Guide.
                   The Orber release now include OrberWeb, which is an
                   extension of the
                   WebTool application (first released in R8B). Hence,
                   WebTool must be installed to enable this feature. For more
                   information, see the chapter OrberWeb in the User's Guide.
                   OrberWeb is intended to be used during test and development.

        OTP-4261 - It is now possible to set Orber's configuration parameters
                   in, for example, an Erlang shell. Consult corba:orb_init/1
                   and orber:configure/2.

        Fixed Bugs:

        OTP-4229 - When setting up two Orber ORB's, where one of the ORB's
                   domain name was a prefix of the other ORB's, communication
                   via IIOP would fail. To eliminate any further configuration
                   problems, one may not use ^G (i.e. "\007") in the domain
                   name. Due to this change it is not possible to upgrade
                   during run-time.

        OTP-4230 - When using a mix of IIOP-versions (1.0 vs 1.1/1.2) and
                   sending/receiving IOR's to/from Orber could result in a
                   MARSHAL exception.

        OTP-4263 - Encoding/decoding of wchar/wstring when using IIOP-1.2 do
                   now follow the OMG standard. If your ORB do not follow the
                   standard, contact support for information how to make a
                   work-around to solve this problem. In most cases it is
                   sufficient to configure the ORB's to communicate via
                   IIOP-1.1.

        Incompatibilities:

        OTP-4263 - The encoding/decoding of wchar/wstring when using IIOP-1.2
                   have been updated. See above.

        OTP-4256 - Orber no longer returns a 'EXIT' message when trying to
                   install Orber, i.e., invoking orber:install/1/2, on a
                   disc-less node. But if if the installation fails due to
                   any other reason, Orber still return a 'EXIT' message.

        Known bugs and problems:

        OTP-4257 - OrberWeb only tested with Netscape-4.75. Furthermore,
                   until WebTool reaches version 1.0 OrberWeb should also be
                   considered to be a beta version. OrberWeb do not escape
                   arguments passed when, for example, creating a new context.
                   Hence, for now you are recommended to only use letters.

  -- cosNotification --------------------------------------------------------


        OTP-4340 - If one tries to set an unavailable/incorrect property or 
                   property value, an exception is thrown. In some cases the 
                   exception was not correct, which would cause problems if 
                   communicating via IIOP.
        OTP-4272 - When using Filter's, with the QoS OrderPolicy set to
                   FifoOrder, and passing a sequence of structured events,
                   they could be delivered in the wrong order.
        OTP-4272 - If Filter's where attached to Supplier proxies it could
                   cause the Proxy to terminate.

  -- megaco -----------------------------------------------------------------

        OTP-4224 - Fixed Makefile.in for the flex scanner. Removed
                   unnecessary '-lfl' link option.

        OTP-4236 - Memory leak in the flex scanner. Message larger then
                   approx. 1000 bytes cannot be decoded. Will cause a core
                   dump! Note that this will only be a problem if the flex
                   scanner has been configured as encoding/decoding module!

        -------- - Added another binary decoder; per_bin. To be able to use
                   the per_bin encoder the ASN.1 application of version 1.3.2
                   or later is needed for R8B systems. For R7B01,
                   ASN.1 of version 1.3.1.3 or later must be used.

        -------- - Installed source was not placed in their proper
                   (sub-) directory.

        OTP-4212 - The megaco application now forwards unexpected replies.
                   This is done with a call to handle_unexpected_trans/3.

        OTP-4213 - Megaco leaves entries in the megaco_replies table.

        OTP-4299 - Handling of comments in text messages incorrect.
                   For the ordinary text codec comments did not work. 
                   For the flex text codecs, double quoted strings in
                   comments did not work.
        OTP-4288 - The streams field in MediaDescriptor, has been made 
                   optional in order to comply with IGv6 6.50. It
                   does also mean that the new default value is asn1_NOVALUE.
        OTP-4290 - The user arguments was not supplied to the callback
                   function handle_unexpected_trans as described by
                   megaco_user.

        -------- - The scanner item of system info has been removed and instead
                   been replaced by text_config. Also no longer contains any
                   MFA info. From now on, just the text config.


  -- inets ------------------------------------------------------------------

        OTP-4241 - Function reading http body returns a deep list. This error
                   was introduced as of inets-2.6.0.

        OTP-4243 - Request timeout calculation incorrect.

        OTP-4233 - Listener process dies with reason normal when listen socket
                   closes unexpectedly. If the listener process dies with
                   reason normal, the manager will now open a new listen
                   socket if needed and create a new listener.

        OTP-4231 - Changing of disk log format failes. Restart of webserver
                   after change of disk log format (DiskLogFormat) fails 
                   with arg_mismatch.

        OTP-4228 - Incorrectly formated disk log entries. term_to_binary
                   was (incorrectly) used for the external format.

        OTP-4210 - Added a new configuration directive LogFileFormat,
                   that alter the file-format of the log files.

        OTP-4207 - Calculation of content length incorrect.

        OTP-4195 - mod_disk_log returns an error reason that reflects the
                   error. When disk_log not can open a log file.

        OTP-4159 - Request headers now read a chunk at a time (see the
                   {active,once} inet option) for socket type ip_comm.

        OTP-4281 - When opening the disk log (mod_disk_log), an open attempt 
                   is made without a size option. If the file exist, then it
                   is opened. If the file does not exist, then another attempt 
                   is made, this time with the size option.

  -- mnesia -----------------------------------------------------------------

        OTP-4187 - Using mnesia:dump_tables/1 or mnesia:change_table_copy(Tab,
                   Node, disc_copies) on a ram node (schema in ram) causes a
                   crash in earlier mnesia-3.10.* releases.

        OTP-4215 - If a mnesia node was restarted during a checkpoint (also
                   affects backups) the checkpoint would be trashed, which
                   could lead to hangings, crashes and other undesired
                   behaviours, including that the checkpoint could delete
                   other applications ets tables.

        OTP-4318 - Checkpoints could crash mnesia when mnesia nodes started.

        OTP-4319 - Some schema operations could return {atomic, ok} but still 
                   fail to commit the operation on nodes with disc, e.g. 
                   transform_table.

        OTP-4320 - Mnesia left disk_log files opened in some cases, which
                   could lead to crashes.

        OTP-4325 - mnesia:transform_table didn't work if table had indecies,
                   it returned {atomic, ok} but the meta-data was not
                   transformed.

        OTP-4292 - Transform table on disc_copies tables, sometimes fail to
                   store the transformed records to disc.

        OTP-4338 - An empty (ram_copies table) file could be created when
                   unpacking a fallback. 

        OTP-4338 - Removed a possibility for getting inconsistent tables
                   during table copying.  

        OTP-4338 - mnesia:select/[2|3] now works with fragmented tables.

  -- snmp -------------------------------------------------------------------

        OTP-4206 - Crypto keys changed from string to list.

        OTP-4209 - SNMP date diff check changed according to
                   RFC 2579 (was according to RFC 1903).

        OTP-4282 - When opening a log file, the failure reason was not
                   checked. Instead it was assumed to be {badarg,size} (when
                   opened without the size option, this means the file does
                   not exist). This is usually correct, but just to be on the
                   safe side the test has been changed to make sure that no
                   other results get through.

        OTP-4279 - Added possibility to specify own error report module
                   (instead of the default, snmp_error). This is done with a
                   new application config directive: snmp_error_report_mod,
                   see configuration parameters. Also added a size limit to
                   the snmp_error module. Messages larger then 1024 chars will
                   be truncated. Added a very simple error report module,
                   snmp_error_io, which writes the message to stdout using
                   the io module (without any limitations).

        OTP-4250 - Test manager does not send error message in quiet mode. If
                   the request to the manager contains an erroneous oid, no
                   information is sent back to the client (that started the
                   manager). See quiet config parameter for the new reply
                   value. Added two new functions for oid to/from aliasname
                   conversion, to be used by the test manager users, see
                   oid_to_name and name_to_oid.

        OTP-4278 - Handling of large erroneous SNMP messages corrected.
                   Encoding of the reply to these messages failed due to a bug
                   in the length encoding. Also corrected counter increments.

  -- ssl --------------------------------------------------------------------

        OTP-4305 - All options for gen_tcp are now allowed in SSL, except the
                   option <c>reuseaddr</c>.

  -- ic ---------------------------------------------------------------------

        OTP-3222 - The IDL-compiler now (at last) supports integer literals
                   also in hexadecimal and octal notation according to CORBA
                   standard.
                   From the standard ...
                   Chapter 3.2.5 Literals
                   Integer Literals
                   An integer literal consisting of a sequence of digits is
                   taken to be decimal (base ten) unless it begins with 0
                   (digit zero). A sequence of digits starting with 0 is taken
                   to be an octal integer (base eight). The digits 8 and 9 are
                   not octal digits. A sequence of digits preceded by 0x or 0X
                   is taken to be a hexadecimal integer (base sixteen). The
                   hexadecimal digits include a or A through f or F with
                   decimal values ten through fifteen, respectively. For
                   example, the number twelve can be written 12, 014, or 0XC.

        OTP-4323 - Merging of map's (___map___) using the ___merge___ function
                   did not work.

        OTP-4322 - Error in generated C decode/encode functions for union's
                   with discriminator where the union has no value for all
                   discriminator values. E.g. a union with discriminator
                   boolean where only the discriminator value TRUE has a
                   corresponding union value. 
                   Here is how such a thing would look in IDL:
                        union OptXList switch(boolean) {
                                case TRUE: integer  val;
                        };

        OTP-4310 - Scoped op calls ('{scoped_op_calls, true}') does not handle 
                   module/function names beginning with capital letter (e.g.
                   Megaco should be 'Megaco') for oneway operations
                   (handle_cast).

        OTP-4303 - A bug is fixed on C-IDL erlang binaries that caused
                   pointer error when residing inside sequences.

  -- debugger ---------------------------------------------------------------

        OTP-4201 - Parts of the code, mainly for the GUI, has been
                   rewritten in order to make Debugger more robust and
                   efficient.
                   The functionality remains the same but behaviour and
                   appearance have changed slightly. Modules must have
                   been compiled with the option debug_info set in
                   order to be interpreted, only modules for which
                   this is true are shown in the Interpret window.

  -- tools ------------------------------------------------------------------

        OTP-4226 - The Emacs mode for Erlang was changed for compatibility
                   with Emacs 21.

        OTP-4313 - More memory block types (most of the existing ones)
                   are now identified by the instrumented emulator.

        OTP-4183 - The tool Fprof in application Tools has been improved:
                   It now uses the 'caller' call trace match spec to get
                   more reliable call stack information.
                
                   There are more alternatives for the analysis listing,
                   sorting options, summary, etc.

                   The analysis listing format has been changed so 
                   standard Erlang parsing tools can be used to process
                   the listing.

                   A bug in the emulator that caused call trace match
                   spec 'caller' to give erroneous return value for 
                   some guard BIFs when used in the body of a function
                   has been corrected. The BIFs in question were:
                   erlang:[abs/1, element/2, float/q, hd/1, length/1,
                   node/1, node/0, round/1, self/0, size/1,
                   tl/1, trunc/1, 'and'/2, 'or'/2, 'xor'/2,
                   'not'/1, '>'/2, '>='/2, '<'/2, '=<'/2,
                   '=:='/2, '=/='/2, '/='/2, '+'/2, '-'/2,
                   '*'/2, '/'/2, 'div'/2, 'rem'/2, 'bor'/2,
                   'band'/2, 'bxor'/2, 'bsl'/2, 'bsr'/2, 
                   'bnot'/2, '-'/1, '+'/1]

                   The BIF erlang:yield/0 has been fixed so that 
                   it does not bump the reduction count, and
                   the calling process gets scheduled out faster.
                   Previously, BIFs could be called between
                   erlang:yield/0 and schedule out. Now, 
                   erlang:yield/0 is also invisible in a call trace.

                   A new trace flag has been added that makes all
                   trace timestamps be in cpu time, not wallclock time.
                   See erlang:trace/3. This feature only works on OS'es
                   that supports high resolution CPU time measurements
                   (currently just Solaris), and has to be activated
                   explicitly with a flag 'cpu_time' to fprof:trace/1
                   and related.

  -- misc -------------------------------------------------------------------

        OTP-4216 - Corrections of the HTML documentation to conform to the
                   standard "HTML 4.01 Transitional". 

        OTP-3784 - Building from source may fail if INSTALL_PROGRAM is
                   defined before configure is run. The make files for
                   creating a FreeBSD port defined the install program
                   to use "-s" for stripping a binary and this will
                   fail for installing scripts. The make files are
                   changed to use INSTALL_SCRIPT for scripts.

  -- EOF --