Fix the line counting in string function

The line counter becomes invalid, when the rules with linewrap are
used. This issue appears, because the parsing FSM does not rollback
the line counter after attempting such rule.
Add unit test for string fun in leex test suite
Fix line counting in token and tokens functions

The line counter becomes invalid, when the rules with linewrap are
used. This issue appears, because the parsing FSM does not rollback
the line counter after attempting such rule.
Unit tests for 'token' and 'tokens' are also added.
Merge branch 'master' of git-server:otp
erts: Fix erlang:port_set_data/2 for non immediate data

hsize field was not set leading to VM crash
erts: Fix race between port_set_data, port_get_data and port termination

Always update prt->data with atomic xchg-op.
Check for NULL data to detect racing port terminator.
Use NULL, as THE_NON_VALUE can be a valid pointer on debug VM.
erts: Add test case for port_set_data and port_get_data
erts: Mend port_set_data with non-immed data for halfword VM
dialyzer: fix bug concerning compiler option 'warnings_as_errors'

A typical scenario: the type digraph() is used in R16 (compilation
with the option 'warnings_as_errors' results in no warning); then the
module is analyzed by a 17 Dialyzer where digraph() is obsolete, and
since the warning is turned into an error Dialyzer fails to load the
module.

Thanks to Michael Truog.
dialyzer: Ignore ERL_COMPILER_OPTIONS when compiling

If, for instance, 'warn_unused_import' is present in
ERL_COMPILER_OPTIONS then many files in Erlang/OTP (Kernel, STDLIB,
...) cannot be analyzed by Dialyzer since the option is not present
when compiling Erlang/OTP, but 'warnings_as_errors' is.

The case that ERL_COMPILER_OPTIONS contains 'warnings_as_errors' can
only be handled by ignoring ERL_COMPILER_OPTIONS.
dialyzer: do a minor re-factoring

A minor re-factoring and generalization.
ssh: testcase
ssh: Corrected ret val from ssh_connection:subsystem/4.
Merge branch 'hb/dialyzer/warnings_as_errors/OTP-12225' into maint

* hb/dialyzer/warnings_as_errors/OTP-12225:
  dialyzer: do a minor re-factoring
  dialyzer: Ignore ERL_COMPILER_OPTIONS when compiling
  dialyzer: fix bug concerning compiler option 'warnings_as_errors'
Merge branch 'maint'

* maint:
  dialyzer: do a minor re-factoring
  dialyzer: Ignore ERL_COMPILER_OPTIONS when compiling
  dialyzer: fix bug concerning compiler option 'warnings_as_errors'
[observer] Remove note about R15B nodes in user guide

A note in the user guide says "Only R15B nodes can be observed". This
note was written because the observer_backend module did not exist in
earlier releases. It should have said "R15B or later". However, now
that we are on OTP-17, we don't think the note is necessary anymore so
it is now removed.
Merge branch 'siri/observer/remove-doc-note/OTP-12078' into maint

* siri/observer/remove-doc-note/OTP-12078:
  [observer] Remove note about R15B nodes in user guide
Merge branch 'maint'
Merge branch 'hans/ssh/closed_int/OTP-12004' into maint
Merge branch 'maint'