aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/.gitignore7
-rw-r--r--lib/cosEvent/doc/src/Makefile3
-rw-r--r--lib/cosEvent/doc/src/notes.xml14
-rw-r--r--lib/cosEvent/vsn.mk6
-rw-r--r--lib/cosEventDomain/doc/src/Makefile3
-rw-r--r--lib/cosEventDomain/doc/src/ch_event_domain_service.xml6
-rw-r--r--lib/cosEventDomain/doc/src/notes.xml18
-rw-r--r--lib/cosEventDomain/vsn.mk7
-rw-r--r--lib/cosFileTransfer/doc/src/Makefile3
-rw-r--r--lib/cosFileTransfer/doc/src/notes.xml14
-rw-r--r--lib/cosFileTransfer/vsn.mk6
-rw-r--r--lib/cosNotification/doc/src/Makefile3
-rw-r--r--lib/cosNotification/doc/src/ch_BNF.xml6
-rw-r--r--lib/cosNotification/doc/src/ch_example.xml2
-rw-r--r--lib/cosNotification/doc/src/notes.xml22
-rw-r--r--lib/cosNotification/vsn.mk8
-rw-r--r--lib/cosProperty/doc/src/Makefile3
-rw-r--r--lib/cosProperty/doc/src/notes.xml14
-rw-r--r--lib/cosProperty/vsn.mk6
-rw-r--r--lib/cosTime/doc/src/Makefile3
-rw-r--r--lib/cosTime/doc/src/notes.xml14
-rw-r--r--lib/cosTime/vsn.mk6
-rw-r--r--lib/cosTransactions/doc/src/Makefile3
-rw-r--r--lib/cosTransactions/doc/src/notes.xml14
-rw-r--r--lib/cosTransactions/vsn.mk6
-rw-r--r--lib/debugger/src/dbg_ui_mon.erl10
-rw-r--r--lib/debugger/src/dbg_wx_filedialog_win.erl10
-rw-r--r--lib/debugger/src/dbg_wx_mon.erl10
-rw-r--r--lib/debugger/src/dbg_wx_mon_win.erl10
-rwxr-xr-xlib/debugger/src/dbg_wx_trace_win.erl10
-rw-r--r--lib/debugger/src/dbg_wx_win.erl10
-rw-r--r--lib/erl_interface/src/misc/ei_internal.h2
-rw-r--r--lib/ic/doc/src/Makefile3
-rw-r--r--lib/ic/doc/src/c-part.xml28
-rw-r--r--lib/ic/doc/src/ch_c_corba_env.xml2
-rw-r--r--lib/ic/doc/src/ch_c_mapping.xml24
-rw-r--r--lib/ic/doc/src/ch_erl_genserv.xml12
-rw-r--r--lib/ic/doc/src/ch_erl_plain.xml2
-rw-r--r--lib/ic/doc/src/ch_ic_protocol.xml36
-rw-r--r--lib/ic/doc/src/ch_java.xml8
-rw-r--r--lib/ic/doc/src/erl-part.xml28
-rw-r--r--lib/ic/doc/src/ic_c_protocol.xml28
-rw-r--r--lib/ic/doc/src/java-part.xml28
-rw-r--r--lib/ic/doc/src/notes.xml12
-rw-r--r--lib/ic/doc/src/old_notes.xml1565
-rw-r--r--lib/ic/vsn.mk5
-rw-r--r--lib/kernel/src/pg2.erl17
-rw-r--r--lib/orber/doc/src/Makefile6
-rw-r--r--lib/orber/doc/src/ch_contents.xml4
-rw-r--r--lib/orber/doc/src/ch_example.xml2
-rw-r--r--lib/orber/doc/src/ch_idl_to_erlang_mapping.xml56
-rw-r--r--lib/orber/doc/src/ch_install.xml6
-rw-r--r--lib/orber/doc/src/ch_interceptors.xml22
-rw-r--r--lib/orber/doc/src/ch_naming_service.xml18
-rw-r--r--lib/orber/doc/src/corba.xml5
-rw-r--r--lib/orber/doc/src/notes.xml20
-rw-r--r--lib/orber/doc/src/notes_history.xml1523
-rw-r--r--lib/orber/doc/src/orber.xml2
-rw-r--r--lib/orber/doc/src/part_notes.xml2
-rw-r--r--lib/orber/doc/src/part_notes_history.xml38
-rw-r--r--lib/orber/vsn.mk7
-rw-r--r--lib/ssh/doc/src/Makefile6
-rw-r--r--lib/ssh/doc/src/notes.xml15
-rw-r--r--lib/ssh/doc/src/notes_history.xml737
-rw-r--r--lib/ssh/doc/src/part_notes.xml3
-rw-r--r--lib/ssh/doc/src/part_notes_history.xml36
-rw-r--r--lib/ssh/vsn.mk6
-rw-r--r--lib/tools/emacs/erlang.el108
-rw-r--r--lib/tools/emacs/test.erl.indented49
-rw-r--r--lib/tools/emacs/test.erl.orig45
70 files changed, 575 insertions, 4198 deletions
diff --git a/lib/.gitignore b/lib/.gitignore
index bdc850f3b7..0cb938ea7c 100644
--- a/lib/.gitignore
+++ b/lib/.gitignore
@@ -1,3 +1,10 @@
+# erl_interface
+
+/erl_interface/bin
+/erl_interface/obj.mt
+/erl_interface/obj.st
+/erl_interface/obj
+
# megaco
/megaco/src/binary/megaco_ber_bin_drv_media_gateway_control_prev3a.erl
diff --git a/lib/cosEvent/doc/src/Makefile b/lib/cosEvent/doc/src/Makefile
index 5136c7cfb5..4b76a64b7d 100644
--- a/lib/cosEvent/doc/src/Makefile
+++ b/lib/cosEvent/doc/src/Makefile
@@ -65,6 +65,9 @@ XML_CHAPTER_FILES = \
BOOK_FILES = book.xml
+XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \
+ $(XML_PART_FILES) $(XML_CHAPTER_FILES)
+
TECHNICAL_DESCR_FILES =
GIF_FILES = \
diff --git a/lib/cosEvent/doc/src/notes.xml b/lib/cosEvent/doc/src/notes.xml
index afd1247b42..8cd7b9dd48 100644
--- a/lib/cosEvent/doc/src/notes.xml
+++ b/lib/cosEvent/doc/src/notes.xml
@@ -33,6 +33,20 @@
</header>
<section>
+ <title>cosEvent 2.1.8</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>The documentation EIX file was not generated.</p>
+ <p>Own id: OTP-8355 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
<title>cosEvent 2.1.7</title>
<section>
diff --git a/lib/cosEvent/vsn.mk b/lib/cosEvent/vsn.mk
index 953e5fc8c9..7c908d1c5d 100644
--- a/lib/cosEvent/vsn.mk
+++ b/lib/cosEvent/vsn.mk
@@ -1,7 +1,9 @@
-COSEVENT_VSN = 2.1.7
+COSEVENT_VSN = 2.1.8
-TICKETS = OTP-8201
+TICKETS = OTP-8355
+
+TICKETS_2.1.7 = OTP-8201
TICKETS_2.1.6 = OTP-7987
diff --git a/lib/cosEventDomain/doc/src/Makefile b/lib/cosEventDomain/doc/src/Makefile
index 465b726ad1..6a0d3c353a 100644
--- a/lib/cosEventDomain/doc/src/Makefile
+++ b/lib/cosEventDomain/doc/src/Makefile
@@ -62,6 +62,9 @@ XML_CHAPTER_FILES = \
BOOK_FILES = book.xml
+XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \
+ $(XML_PART_FILES) $(XML_CHAPTER_FILES)
+
TECHNICAL_DESCR_FILES =
GIF_FILES = \
diff --git a/lib/cosEventDomain/doc/src/ch_event_domain_service.xml b/lib/cosEventDomain/doc/src/ch_event_domain_service.xml
index 62378cac91..39ac915b38 100644
--- a/lib/cosEventDomain/doc/src/ch_event_domain_service.xml
+++ b/lib/cosEventDomain/doc/src/ch_event_domain_service.xml
@@ -97,9 +97,9 @@ ID2 = 'CosEventDomainAdmin_EventDomain':add_channel(ED, Ch2),
%% To connect them, we must first define a connection struct:
C1 = #'CosEventDomainAdmin_Connection'{supplier_id=ID1,
-\011\011\011\011 consumer_id=ID2,
-\011\011\011\011 ctype='STRUCTURED_EVENT',
-\011\011\011\011 notification_style='Pull'},
+ consumer_id=ID2,
+ ctype='STRUCTURED_EVENT',
+ notification_style='Pull'},
%% Connect them:
'CosEventDomainAdmin_EventDomain':add_connection(ED, C1),
diff --git a/lib/cosEventDomain/doc/src/notes.xml b/lib/cosEventDomain/doc/src/notes.xml
index fdfb21c046..0ad42948af 100644
--- a/lib/cosEventDomain/doc/src/notes.xml
+++ b/lib/cosEventDomain/doc/src/notes.xml
@@ -32,6 +32,24 @@
</header>
<section>
+ <title>cosEventDomain 1.1.8</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>Removed superfluous VT in the documentation.</p>
+ <p>Own id: OTP-8353 Aux Id:</p>
+ </item>
+ <item>
+ <p>The documentation EIX file was not generated.</p>
+ <p>Own id: OTP-8355 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
<title>cosEventDomain 1.1.7</title>
<section>
diff --git a/lib/cosEventDomain/vsn.mk b/lib/cosEventDomain/vsn.mk
index 81c0b49143..483b130819 100644
--- a/lib/cosEventDomain/vsn.mk
+++ b/lib/cosEventDomain/vsn.mk
@@ -1,7 +1,10 @@
-COSEVENTDOMAIN_VSN = 1.1.7
+COSEVENTDOMAIN_VSN = 1.1.8
-TICKETS = OTP-8201
+TICKETS = OTP-8353 \
+ OTP-8355
+
+TICKETS_1.1.7 = OTP-8201
TICKETS_1.1.6 = OTP-7987
diff --git a/lib/cosFileTransfer/doc/src/Makefile b/lib/cosFileTransfer/doc/src/Makefile
index 7769d5ef8c..2286db43ff 100644
--- a/lib/cosFileTransfer/doc/src/Makefile
+++ b/lib/cosFileTransfer/doc/src/Makefile
@@ -65,6 +65,9 @@ XML_CHAPTER_FILES = \
BOOK_FILES = book.xml
+XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \
+ $(XML_PART_FILES) $(XML_CHAPTER_FILES)
+
TECHNICAL_DESCR_FILES =
GIF_FILES = \
diff --git a/lib/cosFileTransfer/doc/src/notes.xml b/lib/cosFileTransfer/doc/src/notes.xml
index e3b7e4819a..5bb2ea68c4 100644
--- a/lib/cosFileTransfer/doc/src/notes.xml
+++ b/lib/cosFileTransfer/doc/src/notes.xml
@@ -31,6 +31,20 @@
</header>
<section>
+ <title>cosFileTransfer 1.1.10</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>The documentation EIX file was not generated.</p>
+ <p>Own id: OTP-8355 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
<title>cosFileTransfer 1.1.9</title>
<section>
diff --git a/lib/cosFileTransfer/vsn.mk b/lib/cosFileTransfer/vsn.mk
index dd92b53904..88786178fb 100644
--- a/lib/cosFileTransfer/vsn.mk
+++ b/lib/cosFileTransfer/vsn.mk
@@ -1,9 +1,11 @@
-COSFILETRANSFER_VSN = 1.1.9
+COSFILETRANSFER_VSN = 1.1.10
TICKETS = \
- OTP-8201
+ OTP-8355
+TICKETS_1.1.9 = OTP-8201
+
TICKETS_1.1.8 = OTP-7987
TICKETS_1.1.7 = OTP-7837
diff --git a/lib/cosNotification/doc/src/Makefile b/lib/cosNotification/doc/src/Makefile
index 6abcf0ef1d..bfdd2f1f8c 100644
--- a/lib/cosNotification/doc/src/Makefile
+++ b/lib/cosNotification/doc/src/Makefile
@@ -91,6 +91,9 @@ XML_CHAPTER_FILES = \
BOOK_FILES = book.xml
+XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \
+ $(XML_PART_FILES) $(XML_CHAPTER_FILES)
+
TECHNICAL_DESCR_FILES =
GIF_FILES = \
diff --git a/lib/cosNotification/doc/src/ch_BNF.xml b/lib/cosNotification/doc/src/ch_BNF.xml
index 545280a1f4..73e91e3cac 100644
--- a/lib/cosNotification/doc/src/ch_BNF.xml
+++ b/lib/cosNotification/doc/src/ch_BNF.xml
@@ -181,7 +181,7 @@ FilterID = 'CosNotifyChannelAdmin_ConsumerAdmin':
/* Character set issues */
<Ident> :=<Leader> <FollowSeq>
- | \\ < Leader> <FollowSeq>
+ | \ < Leader> <FollowSeq>
<FollowSeq> := /* <empty> */
| <FollowSeq> <Follow>
@@ -215,8 +215,8 @@ FilterID = 'CosNotifyChannelAdmin_ConsumerAdmin':
| <Other>
| <Special>
-<Special> := \\\\
- | \\'
+<Special> := \\
+ | \'
<Leader> := <Alpha>
diff --git a/lib/cosNotification/doc/src/ch_example.xml b/lib/cosNotification/doc/src/ch_example.xml
index 8cb12bd241..14c0e5c6fd 100644
--- a/lib/cosNotification/doc/src/ch_example.xml
+++ b/lib/cosNotification/doc/src/ch_example.xml
@@ -124,7 +124,7 @@ ChFac = cosNotificationApp:start_factory([]),
{AdminSupplier, ASID}=
'CosNotifyChannelAdmin_EventChannel':new_for_suppliers(Ch, 'OR_OP'),
{AdminConsumer, ACID}=
-\011'CosNotifyChannelAdmin_EventChannel':new_for_consumers(Ch,'OR_OP'),
+ 'CosNotifyChannelAdmin_EventChannel':new_for_consumers(Ch,'OR_OP'),
%% Use the corresponding Admin object to get access to wanted Proxies
diff --git a/lib/cosNotification/doc/src/notes.xml b/lib/cosNotification/doc/src/notes.xml
index c66be87c7c..29879e95fb 100644
--- a/lib/cosNotification/doc/src/notes.xml
+++ b/lib/cosNotification/doc/src/notes.xml
@@ -32,6 +32,28 @@
</header>
<section>
+ <title>cosNotification 1.1.13</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>Removed superfluous VT in the documentation.</p>
+ <p>Own id: OTP-8353 Aux Id:</p>
+ </item>
+ <item>
+ <p>Removed superfluous backslash in the documentation.</p>
+ <p>Own id: OTP-8354 Aux Id:</p>
+ </item>
+ <item>
+ <p>The documentation EIX file was not generated.</p>
+ <p>Own id: OTP-8355 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
<title>cosNotification 1.1.12</title>
<section>
diff --git a/lib/cosNotification/vsn.mk b/lib/cosNotification/vsn.mk
index 65f9812f31..fed10ee195 100644
--- a/lib/cosNotification/vsn.mk
+++ b/lib/cosNotification/vsn.mk
@@ -1,6 +1,10 @@
-COSNOTIFICATION_VSN = 1.1.12
+COSNOTIFICATION_VSN = 1.1.13
-TICKETS = OTP-8201
+TICKETS = OTP-8353 \
+ OTP-8354 \
+ OTP-8355
+
+TICKETS_1.1.12 = OTP-8201
TICKETS_1.1.11 = OTP-7987
diff --git a/lib/cosProperty/doc/src/Makefile b/lib/cosProperty/doc/src/Makefile
index 126e05ef53..baf995d35e 100644
--- a/lib/cosProperty/doc/src/Makefile
+++ b/lib/cosProperty/doc/src/Makefile
@@ -67,6 +67,9 @@ XML_CHAPTER_FILES = \
BOOK_FILES = book.xml
+XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \
+ $(XML_PART_FILES) $(XML_CHAPTER_FILES)
+
TECHNICAL_DESCR_FILES =
GIF_FILES = \
diff --git a/lib/cosProperty/doc/src/notes.xml b/lib/cosProperty/doc/src/notes.xml
index be3a8d0f5e..e80c90849f 100644
--- a/lib/cosProperty/doc/src/notes.xml
+++ b/lib/cosProperty/doc/src/notes.xml
@@ -32,6 +32,20 @@
</header>
<section>
+ <title>cosProperty 1.1.11</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>The documentation EIX file was not generated.</p>
+ <p>Own id: OTP-8355 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
<title>cosProperty 1.1.10</title>
<section>
diff --git a/lib/cosProperty/vsn.mk b/lib/cosProperty/vsn.mk
index 0e55352e42..c221e6fa4a 100644
--- a/lib/cosProperty/vsn.mk
+++ b/lib/cosProperty/vsn.mk
@@ -1,6 +1,8 @@
-COSPROPERTY_VSN = 1.1.10
+COSPROPERTY_VSN = 1.1.11
-TICKETS = OTP-8201
+TICKETS = OTP-8355
+
+TICKETS_1.1.10 = OTP-8201
TICKETS_1.1.9 = OTP-7987
diff --git a/lib/cosTime/doc/src/Makefile b/lib/cosTime/doc/src/Makefile
index 568e2cd4cc..83abc5e7c2 100644
--- a/lib/cosTime/doc/src/Makefile
+++ b/lib/cosTime/doc/src/Makefile
@@ -64,6 +64,9 @@ XML_CHAPTER_FILES = \
BOOK_FILES = book.xml
+XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \
+ $(XML_PART_FILES) $(XML_CHAPTER_FILES)
+
TECHNICAL_DESCR_FILES =
GIF_FILES = \
diff --git a/lib/cosTime/doc/src/notes.xml b/lib/cosTime/doc/src/notes.xml
index afa10980e8..9f23a8633c 100644
--- a/lib/cosTime/doc/src/notes.xml
+++ b/lib/cosTime/doc/src/notes.xml
@@ -33,6 +33,20 @@
</header>
<section>
+ <title>cosTime 1.1.8</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>The documentation EIX file was not generated.</p>
+ <p>Own id: OTP-8355 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
<title>cosTime 1.1.7</title>
<section>
diff --git a/lib/cosTime/vsn.mk b/lib/cosTime/vsn.mk
index ac5e99a0f1..db51bf39b9 100644
--- a/lib/cosTime/vsn.mk
+++ b/lib/cosTime/vsn.mk
@@ -1,6 +1,8 @@
-COSTIME_VSN = 1.1.7
+COSTIME_VSN = 1.1.8
-TICKETS = OTP-8201
+TICKETS = OTP-8355
+
+TICKETS_1.1.7 = OTP-8201
TICKETS_1.1.6 = OTP-7987
diff --git a/lib/cosTransactions/doc/src/Makefile b/lib/cosTransactions/doc/src/Makefile
index eab52d3dc9..1af9ed24b7 100644
--- a/lib/cosTransactions/doc/src/Makefile
+++ b/lib/cosTransactions/doc/src/Makefile
@@ -68,6 +68,9 @@ XML_CHAPTER_FILES = \
BOOK_FILES = book.xml
+XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \
+ $(XML_PART_FILES) $(XML_CHAPTER_FILES)
+
TECHNICAL_DESCR_FILES =
GIF_FILES = \
diff --git a/lib/cosTransactions/doc/src/notes.xml b/lib/cosTransactions/doc/src/notes.xml
index 953382ef87..41a754b034 100644
--- a/lib/cosTransactions/doc/src/notes.xml
+++ b/lib/cosTransactions/doc/src/notes.xml
@@ -33,6 +33,20 @@
</header>
<section>
+ <title>cosTransactions 1.2.9</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>The documentation EIX file was not generated.</p>
+ <p>Own id: OTP-8355 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
<title>cosTransactions 1.2.8</title>
<section>
diff --git a/lib/cosTransactions/vsn.mk b/lib/cosTransactions/vsn.mk
index 404a9ed7af..81e360ac2f 100644
--- a/lib/cosTransactions/vsn.mk
+++ b/lib/cosTransactions/vsn.mk
@@ -1,6 +1,8 @@
-COSTRANSACTIONS_VSN = 1.2.8
+COSTRANSACTIONS_VSN = 1.2.9
-TICKETS = OTP-8201
+TICKETS = OTP-8355
+
+TICKETS_1.2.8 = OTP-8201
TICKETS_1.2.7 = OTP-7987
diff --git a/lib/debugger/src/dbg_ui_mon.erl b/lib/debugger/src/dbg_ui_mon.erl
index 733310fdeb..8888075124 100644
--- a/lib/debugger/src/dbg_ui_mon.erl
+++ b/lib/debugger/src/dbg_ui_mon.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(dbg_ui_mon).
diff --git a/lib/debugger/src/dbg_wx_filedialog_win.erl b/lib/debugger/src/dbg_wx_filedialog_win.erl
index 946e23e797..9687efa981 100644
--- a/lib/debugger/src/dbg_wx_filedialog_win.erl
+++ b/lib/debugger/src/dbg_wx_filedialog_win.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(dbg_wx_filedialog_win).
diff --git a/lib/debugger/src/dbg_wx_mon.erl b/lib/debugger/src/dbg_wx_mon.erl
index 10fa090413..3f55c38d35 100644
--- a/lib/debugger/src/dbg_wx_mon.erl
+++ b/lib/debugger/src/dbg_wx_mon.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/debugger/src/dbg_wx_mon_win.erl b/lib/debugger/src/dbg_wx_mon_win.erl
index 95fc9a89b2..8ad4f4213f 100644
--- a/lib/debugger/src/dbg_wx_mon_win.erl
+++ b/lib/debugger/src/dbg_wx_mon_win.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/debugger/src/dbg_wx_trace_win.erl b/lib/debugger/src/dbg_wx_trace_win.erl
index 4f7f9baf80..3799acdc1b 100755
--- a/lib/debugger/src/dbg_wx_trace_win.erl
+++ b/lib/debugger/src/dbg_wx_trace_win.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/debugger/src/dbg_wx_win.erl b/lib/debugger/src/dbg_wx_win.erl
index a93b562a81..faf3cc178f 100644
--- a/lib/debugger/src/dbg_wx_win.erl
+++ b/lib/debugger/src/dbg_wx_win.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/erl_interface/src/misc/ei_internal.h b/lib/erl_interface/src/misc/ei_internal.h
index 9f51d1f61b..f7805efebf 100644
--- a/lib/erl_interface/src/misc/ei_internal.h
+++ b/lib/erl_interface/src/misc/ei_internal.h
@@ -149,7 +149,7 @@
{if (ei_tracelevel >= 5) ei_trace_printf(NAME,1,FORMAT,ARG1,ARG2,ARG3,ARG4, \
ARG5,ARG6,ARG7);}
-int ei_tracelevel;
+extern int ei_tracelevel;
void ei_trace_printf(const char *name, int level, const char *format, ...);
diff --git a/lib/ic/doc/src/Makefile b/lib/ic/doc/src/Makefile
index f00bba2c71..26d0932a95 100644
--- a/lib/ic/doc/src/Makefile
+++ b/lib/ic/doc/src/Makefile
@@ -73,6 +73,9 @@ XML_CHAPTER_FILES = \
BOOK_FILES = book.xml
+XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \
+ $(XML_PART_FILES) $(XML_CHAPTER_FILES)
+
GIF_FILES = \
book.gif \
notes.gif \
diff --git a/lib/ic/doc/src/c-part.xml b/lib/ic/doc/src/c-part.xml
index 91c81c8ef3..cef4399960 100644
--- a/lib/ic/doc/src/c-part.xml
+++ b/lib/ic/doc/src/c-part.xml
@@ -4,23 +4,21 @@
<part>
<header>
<copyright>
- <year>2002</year>
- <year>2007</year>
- <holder>Ericsson AB, All Rights Reserved</holder>
+ <year>2002</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
- The contents of this file are subject to the Erlang Public License,
- Version 1.1, (the "License"); you may not use this file except in
- compliance with the License. You should have received a copy of the
- Erlang Public License along with this software. If not, it can be
- retrieved online at http://www.erlang.org/.
-
- Software distributed under the License is distributed on an "AS IS"
- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- the License for the specific language governing rights and limitations
- under the License.
-
- The Initial Developer of the Original Code is Ericsson AB.
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
</legalnotice>
<title>IDL to C language Mapping</title>
diff --git a/lib/ic/doc/src/ch_c_corba_env.xml b/lib/ic/doc/src/ch_c_corba_env.xml
index 557eeffdd4..bd4b52ca34 100644
--- a/lib/ic/doc/src/ch_c_corba_env.xml
+++ b/lib/ic/doc/src/ch_c_corba_env.xml
@@ -281,7 +281,7 @@ typedef struct {
<p>By using the <em>CORBA_Environment_alloc</em>/2 function. </p>
<p>The CORBA_Environment_alloc function is defined as:</p>
<code type="none">
-\\011 CORBA_Environment *CORBA_Environment_alloc(int inbufsz,
+ CORBA_Environment *CORBA_Environment_alloc(int inbufsz,
int outbufsz);
</code>
<p>where:</p>
diff --git a/lib/ic/doc/src/ch_c_mapping.xml b/lib/ic/doc/src/ch_c_mapping.xml
index 58b026ee78..f5a921bfd2 100644
--- a/lib/ic/doc/src/ch_c_mapping.xml
+++ b/lib/ic/doc/src/ch_c_mapping.xml
@@ -770,24 +770,24 @@ CORBA_Environment* oe_env)
<p>While the <c>erlang::binary</c> idl type has the same C-definition as
a generated sequence of octets :</p>
<code type="none"><![CDATA[
-\011 module erlang
-\011 {
+ module erlang
+ {
-\011 ....
+ ....
-\011 // an erlang binary
-\011 typedef sequence<octet> binary;
-\011
-\011 };
+ // an erlang binary
+ typedef sequence<octet> binary;
+
+ };
]]></code>
<p>it provides a way on sending trasparent data between C and Erlang.</p>
<p>The C-definition (ic.h) for an erlang binary is :</p>
<code type="none">
-\011 typedef struct {
-\011 CORBA_unsigned_long _maximum;
-\011 CORBA_unsigned_long _length;
-\011 CORBA_octet* _buffer;
-\011 } erlang_binary; /* ERLANG BINARY */
+ typedef struct {
+ CORBA_unsigned_long _maximum;
+ CORBA_unsigned_long _length;
+ CORBA_octet* _buffer;
+ } erlang_binary; /* ERLANG BINARY */
</code>
<p>The differences (between <c>erlang::binary</c> and <c><![CDATA[sequence< octet >]]></c>) are :</p>
<list type="bulleted">
diff --git a/lib/ic/doc/src/ch_erl_genserv.xml b/lib/ic/doc/src/ch_erl_genserv.xml
index 972eff7c17..055b751ba1 100644
--- a/lib/ic/doc/src/ch_erl_genserv.xml
+++ b/lib/ic/doc/src/ch_erl_genserv.xml
@@ -168,18 +168,18 @@ handle_info(Info, State) ->
%% IDL specification
produce(State) ->
case catch random:uniform() of
-\\011{'EXIT',_} ->
-\\011 {stop, normal, "random:uniform/0 - EXIT", State};
-\\011RUnif ->
+ {'EXIT',_} ->
+ {stop, normal, "random:uniform/0 - EXIT", State};
+ RUnif ->
{reply, RUnif, State}
end.
init(State, S1, S2, S3) ->
case catch random:seed(S1, S2, S3) of
-\\011{'EXIT',_} ->
-\\011 {stop, normal, State};
-\\011_ ->
+ {'EXIT',_} ->
+ {stop, normal, State};
+ _ ->
{noreply, State}
end.
</code>
diff --git a/lib/ic/doc/src/ch_erl_plain.xml b/lib/ic/doc/src/ch_erl_plain.xml
index 36de46f624..1d6f84b5ea 100644
--- a/lib/ic/doc/src/ch_erl_plain.xml
+++ b/lib/ic/doc/src/ch_erl_plain.xml
@@ -75,7 +75,7 @@
<item>
<p>Main file : "plain.idl"</p>
<code type="none">
-\011
+
module rmod {
interface random {
diff --git a/lib/ic/doc/src/ch_ic_protocol.xml b/lib/ic/doc/src/ch_ic_protocol.xml
index 678fdc766c..68a01a6a46 100644
--- a/lib/ic/doc/src/ch_ic_protocol.xml
+++ b/lib/ic/doc/src/ch_ic_protocol.xml
@@ -69,9 +69,9 @@
<title>IDL Operations</title>
<p>An IDL operation is declared as follows:</p>
<code type="none">
-\011[oneway] RetType Op(in IType1 I1, in IType2 I2, ..., in ITypeN IN,
-\011out OType1 O1, out OType2 O2, ..., out OTypeM OM)
-\011N, M = 0, 1, 2, ...\011\011(2.1.1)
+ [oneway] RetType Op(in IType1 I1, in IType2 I2, ..., in ITypeN IN,
+ out OType1 O1, out OType2 O2, ..., out OTypeM OM)
+ N, M = 0, 1, 2, ... (2.1.1)
</code>
<p>`Op' is the operation name, RetType is the return type, and ITypei,
i = 1, 2, ..., N, and OTypej, j = 1, 2, ..., M, are the `in' types
@@ -146,13 +146,13 @@
<section>
<title>Call (Request/Reply, i.e. not oneway)</title>
<code type="none">
- request:\011\011 Op\011\011\011atom()\011\011N = 0\011
-\011\011\011 {Op, I1, I2, ..., IN}\011tuple()\011\011N > 0
-\011\011\011\011\011\011\011\011(3.1.1)
+ request: Op atom() N = 0
+ {Op, I1, I2, ..., IN} tuple() N > 0
+ (3.1.1)
- reply:\011\011 Ret\011\011\011\011\011M = 0
-\011\011\011 {Ret, O1, O2, ..., OM}\011\011\011M > 0
-\011\011\011\011\011\011\011\011(3.1.2) </code>
+ reply: Ret M = 0
+ {Ret, O1, O2, ..., OM} M > 0
+ (3.1.2)</code>
<p><em>Notice:</em> Even if the RetType of the operation Op is
declared to be 'void', a return value 'ok' is returned in
the reply message. That
@@ -166,9 +166,9 @@
<title>Cast (oneway)</title>
<code type="none">
- notification:\011Op\011\011\011atom()\011\011N = 0
-\011\011\011{Op, I1, I2, ..., IN}\011tuple()\011\011N > 0
-\011\011\011\011\011\011\011\011(3.2.1) </code>
+ notification: Op atom() N = 0
+ {Op, I1, I2, ..., IN} tuple() N > 0
+ (3.2.1)</code>
<p>(There is of course no return message).
</p>
</section>
@@ -184,9 +184,9 @@
<title>Call</title>
<code type="none">
- request:\011{'$gen_call', {self(), Ref}, Request}\011\011(4.1.1)
+ request: {'$gen_call', {self(), Ref}, Request} (4.1.1)
- reply:\011{Ref, Reply}\011\011\011\011\011(4.1.2) </code>
+ reply: {Ref, Reply} (4.1.2)</code>
<p>where Request and Reply are the messages defined in the previous
chapter.
</p>
@@ -195,7 +195,7 @@
<section>
<title>Cast</title>
<code type="none">
- notification: {'$gen_cast', Notification}\011\011(4.2.1) </code>
+ notification: {'$gen_cast', Notification} (4.2.1) </code>
<p>where Notification is the message defined in the previous chapter.
</p>
</section>
@@ -205,7 +205,7 @@
<title>Erlang Distribution Protocol</title>
<p>Messages (of interest here) between Erlang nodes are of the form: </p>
<code type="none">
- Len(4), Type(1), CtrlBin(N), MsgBin(M)\011\011\011(5.1) </code>
+ Len(4), Type(1), CtrlBin(N), MsgBin(M) (5.1) </code>
<p>Type is equal to 112 = PASS_THROUGH.
</p>
<p>CtrlBin and MsgBin are Erlang terms in binary form (as if created
@@ -215,10 +215,10 @@
<p>CtrlBin (of interest here) contains the SEND and REG_SEND control
messages, which are binary forms of the Erlang terms</p>
<code type="none">
-\011{2, Cookie, ToPid} ,\011\011\011\011\011(5.2) </code>
+ {2, Cookie, ToPid} , (5.2) </code>
<p>and</p>
<code type="none">
-\011{6, FromPid, Cookie, ToName} ,\011\011\011\011(5.3) </code>
+ {6, FromPid, Cookie, ToName} , (5.3) </code>
<p>respectively.
</p>
<p>The CtrlBin(N) message is read and written by erl_interface code
diff --git a/lib/ic/doc/src/ch_java.xml b/lib/ic/doc/src/ch_java.xml
index 831850f211..a189daa44b 100644
--- a/lib/ic/doc/src/ch_java.xml
+++ b/lib/ic/doc/src/ch_java.xml
@@ -711,14 +711,14 @@ public class sHelper {
// methods
public static s unmarshal(OtpInputStream in)
throws java.lang.Exception {
-\011:
-\011:
+ :
+ :
};
public static void marshal(OtpOutputStream out, s value)
throws java.lang.Exception {
-\011:
-\011:
+ :
+ :
};
};
diff --git a/lib/ic/doc/src/erl-part.xml b/lib/ic/doc/src/erl-part.xml
index b5041dce7f..8dd7001436 100644
--- a/lib/ic/doc/src/erl-part.xml
+++ b/lib/ic/doc/src/erl-part.xml
@@ -4,23 +4,21 @@
<part>
<header>
<copyright>
- <year>2002</year>
- <year>2007</year>
- <holder>Ericsson AB, All Rights Reserved</holder>
+ <year>2002</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
- The contents of this file are subject to the Erlang Public License,
- Version 1.1, (the "License"); you may not use this file except in
- compliance with the License. You should have received a copy of the
- Erlang Public License along with this software. If not, it can be
- retrieved online at http://www.erlang.org/.
-
- Software distributed under the License is distributed on an "AS IS"
- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- the License for the specific language governing rights and limitations
- under the License.
-
- The Initial Developer of the Original Code is Ericsson AB.
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
</legalnotice>
<title>IDL to Erlang language Mapping</title>
diff --git a/lib/ic/doc/src/ic_c_protocol.xml b/lib/ic/doc/src/ic_c_protocol.xml
index f895fe0723..26862addf9 100644
--- a/lib/ic/doc/src/ic_c_protocol.xml
+++ b/lib/ic/doc/src/ic_c_protocol.xml
@@ -4,23 +4,21 @@
<cref>
<header>
<copyright>
- <year>2004</year>
- <year>2007</year>
- <holder>Ericsson AB, All Rights Reserved</holder>
+ <year>2004</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
- The contents of this file are subject to the Erlang Public License,
- Version 1.1, (the "License"); you may not use this file except in
- compliance with the License. You should have received a copy of the
- Erlang Public License along with this software. If not, it can be
- retrieved online at http://www.erlang.org/.
-
- Software distributed under the License is distributed on an "AS IS"
- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- the License for the specific language governing rights and limitations
- under the License.
-
- The Initial Developer of the Original Code is Ericsson AB.
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
</legalnotice>
<title>IC C Protocol Functions</title>
diff --git a/lib/ic/doc/src/java-part.xml b/lib/ic/doc/src/java-part.xml
index 69cc0f026c..ab4049ee2a 100644
--- a/lib/ic/doc/src/java-part.xml
+++ b/lib/ic/doc/src/java-part.xml
@@ -4,23 +4,21 @@
<part>
<header>
<copyright>
- <year>2002</year>
- <year>2007</year>
- <holder>Ericsson AB, All Rights Reserved</holder>
+ <year>2002</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
- The contents of this file are subject to the Erlang Public License,
- Version 1.1, (the "License"); you may not use this file except in
- compliance with the License. You should have received a copy of the
- Erlang Public License along with this software. If not, it can be
- retrieved online at http://www.erlang.org/.
-
- Software distributed under the License is distributed on an "AS IS"
- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- the License for the specific language governing rights and limitations
- under the License.
-
- The Initial Developer of the Original Code is Ericsson AB.
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
</legalnotice>
<title>IDL to Java language Mapping</title>
diff --git a/lib/ic/doc/src/notes.xml b/lib/ic/doc/src/notes.xml
index 021a1e058f..dbafde7b4b 100644
--- a/lib/ic/doc/src/notes.xml
+++ b/lib/ic/doc/src/notes.xml
@@ -37,9 +37,21 @@
<title>Fixed Bugs and Malfunctions</title>
<list type="bulleted">
<item>
+ <p>Removed superfluous VT in the documentation.</p>
+ <p>Own id: OTP-8353 Aux Id:</p>
+ </item>
+ <item>
<p>The option c_timeout was not correctly documented.</p>
<p>Own id: OTP-8307 Aux Id: seq11390</p>
</item>
+ <item>
+ <p>Removed superfluous backslash in the documentation.</p>
+ <p>Own id: OTP-8354 Aux Id:</p>
+ </item>
+ <item>
+ <p>The documentation EIX file was not generated.</p>
+ <p>Own id: OTP-8355 Aux Id:</p>
+ </item>
</list>
</section>
</section>
diff --git a/lib/ic/doc/src/old_notes.xml b/lib/ic/doc/src/old_notes.xml
deleted file mode 100644
index 9ba0262573..0000000000
--- a/lib/ic/doc/src/old_notes.xml
+++ /dev/null
@@ -1,1565 +0,0 @@
-<?xml version="1.0" encoding="latin1" ?>
-<!DOCTYPE chapter SYSTEM "chapter.dtd">
-
-<chapter>
- <header>
- <copyright>
- <year>2003</year><year>2009</year>
- <holder>Ericsson AB. All Rights Reserved.</holder>
- </copyright>
- <legalnotice>
- The contents of this file are subject to the Erlang Public License,
- Version 1.1, (the "License"); you may not use this file except in
- compliance with the License. You should have received a copy of the
- Erlang Public License along with this software. If not, it can be
- retrieved online at http://www.erlang.org/.
-
- Software distributed under the License is distributed on an "AS IS"
- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- the License for the specific language governing rights and limitations
- under the License.
-
- </legalnotice>
-
- <title>IDL Compiler Release Notes</title>
- <prepared></prepared>
- <docno></docno>
- <checked></checked>
- <date>2003-11-19</date>
- <rev>AB</rev>
- </header>
-
- <section>
- <title>IC 4.1.8</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>IDL-files containing <c>result</c> or <c>Result</c> as,
- for example, parameter name, caused an exit with reason
- <c>bad_match</c>.</p>
- <p>Own Id: OTP-4532</p>
- </item>
- <item>
- <p>Uninitialized variables were used in <c>ic_init_ref</c> for
- C backends. </p>
- <p>Own Id: OTP-4537 <br></br>
-
- Aux Id: seq7666, ETOtr17107</p>
- </item>
- <item>
- <p><c>CORBA_Environment_alloc()</c> left some fields
- uninitialized in the returned pointer to an
- <c>CORBA_Environment</c> for C backends.</p>
- <p>Own Id: OTP-4538</p>
- </item>
- <item>
- <p>The function <c>ic_compare_refs()</c> for C backends
- could find two unequal references to be equal.</p>
- <p>Own Id: OTP-4539</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 4.1.7</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Operation names were always scoped in C server backend,
- irrespective of the setting of the option
- <c>scoped_op_calls</c>.</p>
- <p>Own Id: OTP-4521 <br></br>
-
- Aux Id: seq7643, ETOtr16925</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 4.1.6</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>For C backends generated code checks that the
- <c>_length</c> field of bounded sequences (i.e. specified
- as <c><![CDATA[sequence <TYPE, MAX>]]></c>) does not exceed the
- specified maximum length. If so, an exception is raised.</p>
- <p>Own Id: OTP-4471</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>The <c>_maximum</c> field was not set for sequence structs
- generated by the C backends.</p>
- <p>Own Id: OTP-4471 <br></br>
-
- Aux Id: seq7600, ETOtr16308</p>
- </item>
- <item>
- <p>There was a memory leak in C backends in case there was a
- decoding error in a sequence with elements of basic type.</p>
- <p>Own Id: OTP-4475</p>
- </item>
- <item>
- <p>For for C backends, IDL structs defined within an
- interface were not mapped into C structs in appropriate
- include files.</p>
- <p>Own Id: OTP-4481 <br></br>
-
- Aux Id: seq7617</p>
- </item>
- <item>
- <p>If the user, incorrectly, trap exit's but did not use the
- 'handle_info' compile option it would cause the server to
- terminate. The same problem occurred if someone,
- illegally, sent a message to the server. It could also
- happen for illegal oneway operations.</p>
- <p>Own Id: OTP-4488</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 4.1.5</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Invalid C code was generated for type short. </p>
- <p>Own Id: OTP-4450 <br></br>
-
- Aux Id: seq7582</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 4.1.4</title>
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Operation functions inherited by an interface were not
- placed in the map table in generated code for the C server
- backend. As a result such functions were not found by the
- switch function of the interface.</p>
- <p>Own Id: OTP-4448 <br></br>
-
- Aux Id: seq7582</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 4.1.3.1</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>A non-ANSI compliant construct in libic.a was changed.</p>
- <p>Own Id: -</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 4.1.3</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>For Erlang and C back-ends an IC version stamp has been
- added to generated source code. This stamp i preserved in
- compiled target code.</p>
- </item>
- <item>
- <p>For C backends an <c>assert()</c> expression has been
- added to generated code. That expression asserts that the
- result of a memory allocation size calculation is strictly
- positive. An error will result in a printout and an
- <c>abort()</c>. The assertion can be inhibited by defining
- the macro <c>NDEBUG</c> (according to ANSI C).</p>
- <p>If the assertion is inhibited, and a size calculation error
- is detected, an INTERNAL CORBA exception is set. </p>
- </item>
- <item>
- <p>An internal reorganization of C backend generator code has
- been done (addition of module <c>ic_cclient</c>). Several
- changes has been done in generated C code:</p>
- <list type="bulleted">
- <item>
- <p>The typedef <c>___generic___</c> has been replaced by
- the typedef <c>___exec_function___</c>, which has been
- made more strict; for backward compatibility the
- <c>___generic___</c> typedef is now an alias for
- <c>___exec_function___</c>.</p>
- </item>
- <item>
- <p>Function parameters that are arrays, has been changed
- to be pointers to array slices, which are equivalent
- according to ANSI C. </p>
- </item>
- <item>
- <p>The storage class specifier <c>extern</c> has been
- removed from function prototypes in header files.</p>
- </item>
- <item>
- <p>Redundant type casts have been removed from generated code.
- Also some local "generic" variables have been renamed.</p>
- </item>
- </list>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Module info vsn replaced by app_vsn.</p>
- <p>Own Id: OTP-4341</p>
- </item>
- <item>
- <p>IC-4.1.2 disabled the definition of float constants
- beginning with a zero (e.g. <c>0.14</c>).</p>
- <p>Own Id: OTP-4367</p>
- </item>
- <item>
- <p>IC did not handle constant definitions correctly for
- char, string, wchar and wstring.</p>
- <p>Own Id: OTP-4067, OTP-3222</p>
- </item>
- <item>
- <p>IC did not recognize all reserved words defined in the
- OMG specification (2.3.1). The new keywords are <c>fixed, abstract, custom, factory, local, native, private, public, supports, truncatable, 'ValueBase'</c> and
- <c>valuetype</c>. But for now this is only active for the
- <c>erl_corba</c> backend and only incorrect usage of
- <c>fixed</c>, since this datatype is now supported,
- triggers an error for this backend.</p>
- <p>Own Id: OTP-4368</p>
- </item>
- <item>
- <p>It was not possible to use wchar or wstring inside a
- union body when using the Java backend.</p>
- <p>Own Id:
- OTP-4365</p>
- </item>
- <item>
- <p>The compile options <c>this</c> and <c>handle_info</c>
- did not behave as described in the documentation. The
- <c>timeout</c> now behaves as, for example,
- <c>handle_info</c>.</p>
- <p>Own Id: OTP-4386, OTP-3231</p>
- </item>
- <item>
- <p>If we typedef a sequence, which contains a struct or a union,
- the access function <c>id/0</c> returned an incorrect IFR Id
- if a prefix pragma was used.</p>
- <p>Own Id: OTP-4387</p>
- </item>
- <item>
- <p>If an IDL file contained a prefix pragma, incorrect
- IFR-id's was generated in the IFR-registration operation
- <c>oe_register</c> for aliases (typedef) and
- attributes.</p>
- <p>Own Id: OTP-4388, OTP-4392</p>
- </item>
- <item>
- <p>For C back-ends, when encodings/decodings failed, memory
- allocated for variable size parameter types was not freed.</p>
- <p>Own Id: OTP-4391
- <br></br>
-Aux Id: seq7438, ETOtr14009</p>
- </item>
- <item>
- <p>If an IDL file contained a multiple typedef
- (e.g. typedef string str1, str2;), the <c>oe_unregister</c>
- operation failed to remove all data, in this case str2,
- from the IFR.</p>
- <p>Own Id: OTP-4393</p>
- </item>
- <item>
- <p>IC did not recognize octet-constants
- (e.g. const octet octetmax = 255;).</p>
- <p>Own Id: OTP-4400</p>
- </item>
- <item>
- <p>Negative 'long long' constants was not accepted
- (e.g. const long long MyConstant = -1;).</p>
- <p>Own Id: OTP-4401</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 4.1.2</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Merging of map's (<em>___map___</em>) using the
- <em>___merge___</em> function does not work.</p>
- <p>Own Id: OTP-4323</p>
- </item>
- <item>
- <p>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:</p>
- <pre>
-\011 union OptXList switch(boolean) {
-\011 case TRUE: integer val;
- };
- </pre>
- <p>Own Id: OTP-4322</p>
- </item>
- <item>
- <p>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).</p>
- <p>Own Id: OTP-4310</p>
- </item>
- <item>
- <p>A bug is fixed on C-IDL erlang binaries that caused
- pointer error when residing inside sequences.</p>
- <p>Own Id: OTP-4303</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 4.1.1</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>A new option 'multiple_be' is added that allows multiple backend
- generation for the same IDL file.</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>A bug is fixed on IDL types that contain underscore '_'.</p>
- <p>Own Id: OTP-3710</p>
- </item>
- <item>
- <p>A bug is fixed on IDL structs that caused scope confusion
- when types and fields of a struct had the same name.</p>
- <p>Own Id: OTP-2893</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 4.0.7</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>The Erlang binary special type is introduced, that
- allows efficient transfer of binaries between Erlang and C. </p>
- <p>Own Id:OTP-4107</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 4.0.6</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>A bug is fixed on noc backend which caused generation of erroneous code.</p>
- <p>Own Id: OTP-3812</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 4.0.5</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>The pragma code option is extended to point
- specific functions on NOC backend, not only
- interfaces.</p>
- <p></p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 4.0.4</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>A bug in pragma prefix when including IDL files is fixed.
- This caused problems for Erlang-corba IFR registrations.</p>
- <p>Own Id: OTP-3620</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 4.0.3</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Limited support on multiple file module definitions.</p>
- <p>The current version supports multiple file module definitions all
- backends except the c oriented backends.</p>
- <p>Own Id: OTP-3550</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 4.0.2</title>
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>A bug is fixed on Erlang backends.</p>
- <p>The (recently) introduced generation of files
- describing sequence and array files were even
- true for included interfaces. In the case of
- some Erlang backends this were unnecessary.</p>
- <p>Own Id: OTP-3485</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 4.0.1</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>New functionality added on Java and Erl_genserv backends.</p>
- <p></p>
- <list type="bulleted">
- <item>
- <p>On the Java client stub :</p>
- <p></p>
- <list type="bulleted">
- <item>
- <p>The Java client have now one more constructor function,
- that allows to continue with an already started connection.</p>
- </item>
- <item>
- <p><c>void __stop()</c> which sends a stop cast call to the server.
- While this causes the Erlang server to terminate, it
- sets a stop flag to the Java server environment, requesting the
- server to terminate.</p>
- </item>
- <item>
- <p><c>void __reconnect()</c> which closes the current client connection
- if open and then connects to the same server.</p>
- </item>
- </list>
- <p>The Environment variable is now declared as <c>public</c>. </p>
- </item>
- <item>
- <p>On the Java server skeleton :</p>
- <p></p>
- <list type="bulleted">
- <item>
- <p><c>boolean __isStopped()</c> which returns true if a <c>stop</c>
- message where received, false otherwise. The user must check if
- this function returns true, and in this case exit the implemented
- server loop.</p>
- </item>
- </list>
- <p>The Environment variable is now declared as <c>protected</c> which
- allows the implementation that extends the stub to access it.</p>
- </item>
- <item>
- <p>On the Erlang gen_server stub :</p>
- <p></p>
- <list type="bulleted">
- <item>
- <p><c>stop(Server)</c> which yields to a cast call to the standard
- gen_server <c>stop</c> function. This will always terminate the
- Erlang gen_server, while it will set the stop flag for the
- Java server stub.</p>
- </item>
- </list>
- </item>
- </list>
- <p>Own Id: OTP-3433</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 4.0</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>New types handled by IC.</p>
- <p>The following OMG-IDL types are added in this compiler version :</p>
- <list type="bulleted">
- <item>
- <p>long long</p>
- <p>unsigned long long</p>
- <p>wchar</p>
- <p>wstring</p>
- </item>
- </list>
- <p>Own Id: OTP-3331</p>
- <p></p>
- </item>
- <item>
- <p>TypeCode as built in type and access code files for array and sequence types.</p>
- <list type="bulleted">
- <item>
- <p>As TypeCode is a <c>pseudo</c>-interface, it is now is a built-in type on IC.</p>
- </item>
- <item>
- <p>Access code files which contain information about TypeCode, ID and Name are
- now generated for user defined arrays and sequences.</p>
- </item>
- </list>
- <p>Own Id: OTP-3392</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 3.8.2</title>
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <p>A bug is fixed on preprocessor directive expansion.</p>
- <p>When nested #ifdef - #ifndef directives, a bug caused
- improper included file expansion. This is fixed by
- repairing the preprocessor expansion function.</p>
- <p>Own Id: OTP-3472</p>
- </section>
- </section>
-
- <section>
- <title>IC 3.8.1</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Build in Erlang types support for java-backends</p>
- <p>The built-in Erlang types <c>term, port, ref</c> and <c>pid</c>
- are needed in Java backends in order to support an
- efficient mapping between the two languages.
- The new types are also supported by additional
- helpers and holders to match with OMGs Java mapping
- As a result of this, the following classes are added to
- the <c>com.ericsson.otp.ic</c> interface :</p>
- <list type="bulleted">
- <item>
- <p><c>Term,TermHelper,TermHolder</c> which represents the
- built-in Erlang type <c>term</c></p>
- </item>
- <item>
- <p><c>Ref,RefHelper,RefHolder</c> which represents the
- built-in Erlang type <c>ref</c></p>
- </item>
- <item>
- <p><c>Port,PortHelper, PortHolder</c> which represents the
- built-in Erlang type <c>port</c></p>
- </item>
- <item><c>Pid, PidHelper and PidHolder</c> which represents the
- built-in Erlang type <c>pid</c></item>
- </list>
- <p></p>
- <p>Own Id: OTP-3348</p>
- <p></p>
- </item>
- <item>
- <p>Compile time preprocessor macro variable definitions</p>
- <p>The preprocessor lacked possibility to accept user
- defined variables other than the one defined in IDL files.
- This limited the use of command-ruled IDL specifications.
- Now the build-in preprocessor allows the user to set variables
- by using the "preproc_flags" option the same way
- as using the "gcc" preprocessor.</p>
- <p>Supported flags : </p>
- <list type="bulleted">
- <item>
- <p><c><![CDATA["-D< Variable >"]]></c> which defines a variable</p>
- </item>
- <item>
- <p><c><![CDATA["-U< Variable >"]]></c> which undefines a variable</p>
- </item>
- </list>
- <p></p>
- <p>Own Id: OTP-3349</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <p>A bug on comment type expansion is fixed.</p>
- <p>The comment type expansion were erroneous when
- inherited types (NOC backend).
- This is now fixed and the type naming agree with
- the scope of the inheritor interface.</p>
- <p>Own Id: OTP-3346</p>
- </section>
- </section>
-
- <section>
- <title>IC 3.8</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>The code generated for java backend is optimized
- due to use of streams instead for tuple classes
- when (un)marshalling message calls.
- Support for building clients using asynchronous
- client calls and effective multi-threaded servers.</p>
- <p>Own Id: OTP-3310</p>
- <p></p>
- </item>
- <item>
- <p>The <c>any</c> type is now supported for java backend.</p>
- <p>Own Id: OTP-3311</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>A bug on C generated constants is fixed</title>
- <p>While the constants are evaluated and behave well when used
- inside an IDL specification their C-export were not working properly.
- The constant export definitions were not generated well :</p>
- <list type="bulleted">
- <item>
- <p>the declared C definition were erroneous ( the name did not always agree
- with the scope the constant were declared in ).</p>
- </item>
- <item>
- <p>there were no C- definition generated for the c-server backend when
- the constants were declared inside an interface.</p>
- </item>
- </list>
- <p>Own Id: OTP-3219</p>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <p>Due to optimizations in java backend, the stub initialization and usage
- differs than the previous version.</p>
- <p>Client stub interface changes:</p>
- <list type="bulleted">
- <item>
- <p>Client disconnects by calling the <c>__disconnect()</c> function instead
- for the old <c>_closeConnection()</c></p>
- <p></p>
- </item>
- <item>
- <p>All <c>marshal</c> operation functions have now the interface :</p>
- <p><c><![CDATA[void _< OpName >_marshal(Environment<, Param |, Params >)]]></c></p>
- <p>instead for</p>
- <p><c><![CDATA[OtpErlangTuple _< OpName >_marshal(< Param, | Params, >OtpErlangPid, OtpErlangRef)]]></c></p>
- <p></p>
- </item>
- <item>
- <p>All <c>unmarshal</c> operation functions have now the interface :</p>
- <p><c><![CDATA[< Ret value > _< OpName >_unmarshal(Environment<, Param |, Params >)]]></c></p>
- <p>instead for</p>
- <p><c><![CDATA[< Ret value > _< OpName >_unmarshal(< Param, | Params, >OtpErlangTuple, OtpErlangRef)]]></c></p>
- <p></p>
- </item>
- <item>
- <p>Call reference extraction is available by the client function :</p>
- <p><c>OtpErlangRef __getRef()</c></p>
- <p>instead for previous function :</p>
- <p><c>OtpErlangRef _getReference(OtpErlangTuple)</c></p>
- <p></p>
- </item>
- </list>
- <p>Server skeleton interface changes:</p>
- <list type="bulleted">
- <item>
- <p>The implementation function no longer have to contain the
- two (2) contractor functions (with <c>super()</c>). This is due
- to the fact that there is only one contractor function for each
- skeleton file :</p>
- <p><c><![CDATA[public _< interface name >ImplBase()]]></c></p>
- <p></p>
- </item>
- <item>
- <p>The parameter for the caller identity extraction function <c>_getCallerPid</c>
- is now an <c>Environment</c> variable instead for an <c>OtpErlangTuple</c>.</p>
- <p></p>
- </item>
- <item>
- <p>There is a new <c>invoke</c> function :</p>
- <p><c>OtpOutputStream invoke(OtpInputStream)</c></p>
- <p>instead for the old one :</p>
- <p><c>OtpErlangTuple invoke(OtpErlangTuple)</c></p>
- <p></p>
- </item>
- <item>
- <p>The <c>OtpConnection</c> class function used for receiving messages is now :</p>
- <p><c>OtpInputStream receiveBuf()</c></p>
- <p>instead for the old one :</p>
- <p><c>OtpErlangTuple receive()</c></p>
- <p></p>
- </item>
- <item>
- <p>The <c>OtpConnection</c> class function used for sending messages is now :</p>
- <p><c>void sendBuf(OtpErlangPid, OtpOutputStream)</c></p>
- <p>instead for the old one :</p>
- <p><c>void send(OtpErlangPid, OtpErlangTuple)</c></p>
- <p></p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 3.7.1</title>
-
- <section>
- <title>Improvements and New Features</title>
- <p>Some memory usage optimizations for the compiler were done.</p>
- </section>
-
- <section>
- <title>Fixed bugs and malfunctions</title>
- <list type="bulleted">
- <item>
- <p>A bug is fixed when C backend is used.</p>
- <p>When C-union with enumerant discriminator, the size
- calculation of the discriminator value were erroneous.
- This lead to the side effect that only the first case of the
- union were allowed.
- The error were fixed by fixing the size calculation of
- the discriminator. </p>
- <p>Own Id: OTP-3215</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 3.7</title>
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>A bug is fixed when C backend is used.</p>
- <p>When unions with enumerant discriminator
- were decoded, an error encountered in the
- union size calculation. </p>
- <p>Own Id: OTP-3209</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 3.6</title>
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>A bug is fixed when NOC backend is used.</p>
- <p>When several functions with the same name
- were found in the included file tree,
- a compile time failure occurred.</p>
- <p>Own Id: OTP-3203</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 3.5</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Noc backend optimization</p>
- <p>When NOC backend is choosen, the type code
- information on the stub functions is reduced
- to a single atom "no_tk".
- This is the default behavior. The typecode
- generation is enabled by the "use_tk" switch.</p>
- <p>Own Id: OTP-3196</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>General java backend bug fixes </p>
- <p>Protocol errors on user defined structures and
- union types are corrected.</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 3.4</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Semantic test enhancements.</p>
- <p>The compiler detects now semantic errors when enumerant
- values collide with user defined types on the same name scope.</p>
- <p>Own Id: OTP-3157 <br></br>
-</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>General java backend bug-fixes </p>
- <p>Several bugs were fixed on user defined types.</p>
- <list type="bulleted">
- <item>
- <p>Union discriminators work better when
- all possible case values are defined.</p>
- </item>
- <item>
- <p>A bug on Interface inherited operations is
- fixed that cause errors on generated server switch.</p>
- </item>
- <item>
- <p>Type definitions on included files are better generated. </p>
- </item>
- </list>
- <p>Own Id: OTP-3156 <br></br>
-</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 3.3</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>A new back-end which generates Java code according to the CORBA IDL to Java mapping for
- communication with the Erlang distribution protocol has been added to IC.
- For the moment there is no support for the Erlang types Pid, Ref, Port and Term
- but this will be added later.</p>
- <p>Own Id: OTP-2779 <br></br>
-</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Fixed the bug that the c code backends sometimes generated incorrect code for
- struct arguments. They shall always be pointers. </p>
- <p>Own Id: OTP-2732 <br></br>
-</p>
- </item>
- <item>
- <p>The code generation is fixed so the array parameters now follow the
- CORBA V2.0 C mapping.</p>
- <p>Own Id: OTP-2873 <br></br>
-</p>
- </item>
- <item>
- <p>Fixed the problem that the checking of the numbers of out-parameters always was true.</p>
- <p>Own Id: OTP-2944 <br></br>
-</p>
- </item>
- <item>
- <p>Fixed the bug that some temporary variables was not declared when c code.</p>
- <p>Own Id: OTP-2950 <br></br>
-</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 3.2.2</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Unions are now supported to agree with OMG's C mapping.</p>
- <p>Own Id: OTP-2868 <br></br>
-</p>
- </item>
- <item>
- <p>There is now a possibility to use pre- and postcondition methods on the server side
- for IC generated Corba Objects. The compiler option is documented in the ic reference manual
- and an example of how the pre- and postcondition methods should be designed and used is
- added to ic example directory (an ReadMe.txt file exists with some instructions for
- running the example code).</p>
- <p>Own Id: OTP-3068 <br></br>
-</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>The compiler ignores unknown/non supported pragma directives. A warning is raised
- while the generated code will then be the same as if the corresponding
- (unknown) pragma directive were missing. </p>
- <p>Own Id: OTP-3052 <br></br>
-</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 3.2.1</title>
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Wrong C code was generated for limited strings when they where included
- from another IDL specification.</p>
- <p>Own Id: OTP-3033 <br></br>
-</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 3.2</title>
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>The buffers for in/output used by C-stubs are now expandable.
- This fixes buffer overflow problems when messages received/sent
- do not fit in buffers.</p>
- <p>Own Id: OTP-3001 <br></br>
-</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <p>The CORBA_Environment structure has now two new fields, the buffers for in/output
- must now be dynamically allocated.</p>
- </section>
- </section>
-
- <section>
- <title>IC 3.1.2</title>
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>The generated IFR registration function for constants has been fixed
- so the parameters are correct.</p>
- <p>Own Id: OTP-2856 <br></br>
-</p>
- </item>
- <item>
- <p>Error in the C code generation of ONEWAY operations without parameters
- The bug was an decoding error in the operation header. The generated code expected one
- parameter instead of zero. This is now fixed.</p>
- <p>Own Id: OTP-2909 <br></br>
-</p>
- </item>
- <item>
- <p>Type problems on floats and booleans fixed.</p>
- <p>Erroneous code for runtime checks on float was removed and
- the internal format of the data representing the boolean value
- is upgraded.</p>
- <p>Own Id: OTP-2925 <br></br>
-</p>
- </item>
- <item>
- <p>The generated code for arrays of typedefined strings were
- erroneous in the C-backends due to a failure in the compiler internal type
- checking.</p>
- <p>Own Id: OTP-2936 <br></br>
-</p>
- </item>
- <item>
- <p>The generated code for typedefined nested sequences were erroneous
- in the C-backends. Pointer mismatches caused compilation failure.</p>
- <p>Own Id: OTP-2937 <br></br>
-</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <p>The IDL specifications must be regenerated for C due to changes in the code generation.</p>
- <p>One must regenerate IDL specifications for Erlang CORBA if there are constants in the
- specification due to previous errors in the IFR registration functions (OTP-2856).</p>
- </section>
- </section>
-
- <section>
- <title>IC 3.1.1</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Improvements on error report on unsupported types by</p>
- <p>propagating warning when declaring unions in C -backends</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>A bug is fixed when arrays that contained variable size data
- on C-backends</p>
- <p>The compiler generated erroneous code when IDL
- defined arrays that contained variable size data such
- as strings, variable size structs or sequences.</p>
- <p>Own Id: OTP-2900 <br></br>
-</p>
- </item>
- <item>
- <p>A bug is fixed when sequences that contained variable size data
- on C_backends</p>
- <p>The compiler generated erroneous code when IDL
- defined arrays that contained variable size data such
- as strings, variable size structs or other sequences.</p>
- <p>Own Id: OTP-2901 <br></br>
-</p>
- </item>
- <item>
- <p>A bug concerning bounded strings on C-backends is fixed.</p>
- <p>The compiler generated erroneous code for IDL
- defined bounded strings. Syntax errors were generated
- in special cases of typdedefined strings.</p>
- <p>Own Id: OTP-2898 <br></br>
-</p>
- </item>
- <item>
- <p>A runtime error when sequences that contained integer types is fixed.</p>
- <p>When C-clients/server that communicated with Erlang clients/servers,
- and the data send by Erlang part were a list of small numbers,
- the Erlang runtime compacts the list to a string. This caused a
- runtime error when sending sequences of integer types and all had
- value less than 256.</p>
- <p>Own Id: OTP-2899 <br></br>
-</p>
- </item>
- <item>
- <p>An OMG IDL - C mapping problem on enumerant values is fixed.</p>
- <p>The enumerant values names is now prefixed by the current scope,
- as defined in the specification.</p>
- <p>Own Id: OTP-2902 <br></br>
-</p>
- </item>
- <item>
- <p>A problem when using constants in array declarations is fixed.</p>
- <p>Array dimensions declared with constants generated erroneous code.</p>
- <p>Own Id: OTP-2864 <br></br>
-</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <list type="bulleted">
- <item>
- <p>Changes in C-generation on enumerant values.</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 3.1</title>
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>A bug is fixed on the generated structures. </p>
- <p>The generated C code for the structures corresponds now
- to direct mapping of C-structs. </p>
- <p>Own Id: OTP-2843 <br></br>
-</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <list type="bulleted">
- <item>
- <p>Included structures inside a struct are no longer pointers.</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 3.0</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Interface change for C-backends</p>
- <p>Major interface change. The new interface is CORBA 2.0
- compliant.</p>
- <p>Own Id: OTP-2845 <br></br>
-</p>
- </item>
- <item>
- <p>The C-backends functionality is improved</p>
- <list type="bulleted">
- <item>
- <p>Due to interface change and some unneeded error
- checks,the C-generated code is fairly optimized.</p>
- </item>
- </list>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Several serious bugs on decoding and memory allocation are fixed. </p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <list type="bulleted">
- <item>
- <p>Interface change on the C-backends</p>
- <p>In order to be CORBA 2.0 compatible, the new version
- generates fully incompatible C code.</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 2.5.1</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>A new backend is added : C-server</p>
- <p>This back-ends can be used to create servers,
- compatible to c-clients, and Erlang genserver clients.
- The code produced is a collection of functions for
- encoding and decoding messages and a switch that coordinates
- them. These parts can be used to create other servers as well.
- All functions are exported to header files.</p>
- <p>Own Id: OTP-2713 <br></br>
-</p>
- </item>
- <item>
- <p>The C-client functionality is improved</p>
- <list type="bulleted">
- <item>
- <p>The static buffer used for input/output is removed along
- with the <c>memset</c> function that initiated it.
- The new client is at least 20-30 percent faster.</p>
- </item>
- <item>
- <p>The internal structure of the client is changed.
- The client functions are now a collection of encoding
- and decoding message functions ruled by a specific
- call function. While the basic client generated is
- a synchronous client, the exported functions
- support the implementation of threaded asynchronous
- clients.</p>
- </item>
- <item>
- <p>The static buffer used for input/output is remove along
- with the <c>memset</c> function that initiated it.
- The new client is at least 20-30 percent faster.</p>
- </item>
- <item>
- <p>The code generated is generally improved, warnings are
- (almost) eliminated, while no unidentified variable
- errors occur.</p>
- </item>
- <item>
- <p>The IDL types unsigned shorts, shorts, floats are supported now.</p>
- </item>
- <item>
- <p>All generated functions are exported in client header files..</p>
- </item>
- </list>
- <p>Own Id: OTP-2712 <br></br>
-</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Changes in compiler usage and code generation.</title>
- <list type="bulleted">
- <item>
- <p>A new option is added for the C-server back-end : <c>c_server</c>.</p>
- </item>
- <item>
- <p>A new option is added : <c>scoped_op_calls</c>.</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>A bug oneway operations on erl_corba and erl_genserv that caused
- en exit due to internal interface error is fixed. </p>
- </item>
- <item>
- <p>A bug on oneway operations on c_genserv back-end that caused several
- variables to be unidentified is fixed. </p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <list type="bulleted">
- <item>
- <p>Interface change on the C-client</p>
- <p>The client functions are called with two extra variables, a pointer to
- an array of char - used for storage and an integer - the array size</p>
- </item>
- <item>
- <p>The IDL type <c>attribute</c> is disabled, due to some implementation problems.</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 2.1</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>The compiler now provides more in depth information (printouts) when errors occur.</p>
- <p>In some cases the compiler stops compiling
- due to an abnormal exit or incompatible input.
- In this situation, a "fatal error" may occur but the compiler will
- generate information explaining the problem.</p>
- <p>Own Id: OTP-2565 <br></br>
-</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>IC 2.0</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>The IDL compiler is now a separate application and is longer a part of Orber.</p>
- </item>
- <item>
- <p>Pragma handling implementation.</p>
- <p>Pragma ID, prefix
- and version are implemented to agree with CORBA revision
- 2.0. The compiler accepts and applies these on the
- behavior of the compiled code. <br></br>
- In this implementation,
- pragmas are accepted by the parser and applied by the use
- of ic_pragma functions. <br></br>
- All IFR-identity handling now
- passes through pragma table. As pragma handling in OMG-IDL
- is affecting the identity of an ifr-object, all identity
- handling and registration is now controlled by pragma
- functions. A hash table called "pragmatab" contains vital
- identity information used under compilation. <br></br>
-</p>
- <p>There two major pragma categories :</p>
- <list type="bulleted">
- <item>
- <p>Normal pragmas, are used in the code where
- basic definitions and statements appear. </p>
- </item>
- <item>
- <p>Under certain circumstances, ugly pragmas can now
- appear inside code, parameter lists, structure
- definitions ... etc. <br></br>
- It is quite challenging to
- allow ugly pragmas, but the effects of unlimited ugly
- pragma implementation on the parser can be enormous.
- Ugly pragmas can cause the parser source code to
- become time consuming and user unreadable. <br></br>
- In order
- to allow ugly pragmas but not destroy the current
- structure of the parser, the use of ugly pragmas is
- limited. Multiple pragma directives are allowed
- inside parameter lists, unions, exceptions,
- enumerated type, structures... as long as they are do not
- appear between two keywords or between keywords and
- identifiers. </p>
- </item>
- </list>
- <p>The pragma effect is the same for both scope and basic
- pragma rules. </p>
- <p>When compiling, an IFR-identity
- must be looked up several times but by storing identity aliases inside
- the pragma table there this an increase in both speed and
- flexibility. </p>
- <p>Own Id: OTP-2128 <br></br>
-</p>
- </item>
- <item>
- <p>Code for interface inheritance registration for the IFR
- registration code .</p>
- <p>Inherited interfaces can now
- be registered as a list of interface descriptions by
- entering code for inherited interface registration under
- new interface creation. This is achieved by correcting the
- function reg2/6 and adding two more functions,
- get_base_interfaces/2 and call_fun_str/2 </p>
- <p>Own Id:
- OTP-2134 <br></br>
-</p>
- </item>
- <item>
- <p>IFR registration checks for included IDL files.</p>
- <p>All top level definitions (with respect to the scope) -
- modules, interfaces, constants, types or exceptions - found
- in an IDL file are either defined inside the compiled IDL
- file or inside included files.
- By having an extended registration of all top level
- definitions it becomes possible to simply produce checks
- for those included by the current IDL file.
- A function call include_reg_test/1 is added in all
- OE_* files that checks for IFR-registration on all included
- IDL files. The code for that function is added inside the
- OE_* file, while the function is called under OE_*:OE_register/0
- operation. </p>
- <p>Own Id: OTP-2138 <br></br>
-</p>
- </item>
- <item>
- <p>Exception registration under IFR-operation creation.</p>
- <p>By entering code for exception registration under operation
- creation, the exceptions of an operation can be checked now.
- This is done by correcting the function get_exceptions/4
- and adding two more functions, excdef/5 and get_EXC_ID/5
- ( the last two are cooperating with the first one and
- all three are defined in the module "ictk" ). </p>
- <p>Own Id: OTP-2102 <br></br>
-</p>
- </item>
- <item>
- <p>New back-end to IDL compiler : Plain Erlang.</p>
- <p>The new back-end just translates IDL specifications
- to Erlang module calls. No pragmas are allowed.</p>
- <p>Own Id: OTP-2471 <br></br>
-</p>
- </item>
- <item>
- <p>New back-end to IDL compiler : generic server.</p>
- <p>A new back-end that translates IDL specifications
- to a standard OTP generic server.</p>
- <p>Own Id: OTP-2482 <br></br>
-</p>
- </item>
- <item>
- <p>New back-end to IDL compiler : c client generation</p>
- <p>A new back-end that translates IDL specifications
- to a C API for accessing servers in Erlang. </p>
- <p>Own Id: OTP-1511 <br></br>
-</p>
- </item>
- <item>
- <p>All records in generated files reveal own Erlang modules.</p>
- <p>In Erlang related back-ends, every structure
- which generates definition form is a record,
- (such as union, struct, exception.... ). These records are
- held in a generated Erlang files which
- contain functions that reveal record information. <br></br>
-
- The Erlang file which contain these functions is
- named after the scope of the record (similar
- to the generated module and interface files). <br></br>
-
- Three functions are available :</p>
- <list type="bulleted">
- <item>
- <p>tc/0 - returns the record type code,</p>
- </item>
- <item>
- <p>id/0 - returns the record id,</p>
- </item>
- <item>
- <p>name - returns the record name.</p>
- </item>
- </list>
- <p>Own Id: OTP-2473 <br></br>
-</p>
- </item>
- <item>
- <p>Changes in compiler usage and code generation.</p>
- <list type="bulleted">
- <item>
- <p>New compilation flags.
- New flag be ( = back-end ) which is
- used by the compiler to choose back-end.
- Default back-end is set to erl_corba.</p>
- </item>
- <item>
- <p>Stub files have an extra function oe_dependency/0
- indicating file dependency. This
- helps the user to determine which IDL files should to
- be compiled beside the compiled file. </p>
- </item>
- </list>
- <p>Own Id: OTP-2474 <br></br>
-</p>
- </item>
- <item>
- <p>The IDL generation for CORBA is changed so standard gen_server return values can be used
- from the implementation module. The change is compatible so that old values remain valid.</p>
- <p>Own Id: OTP-2485 <br></br>
-</p>
- </item>
- <item>
- <p>It's now possible to generate an API to a CORBA object that accepts
- timeout values in the calls in the same manner as gen_server.
- The option to the compiler is "timeout".</p>
- <p>Own Id: OTP-2487 <br></br>
-</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Empty file generation problem is fixed.
- When the IDL module definition did not contain
- constant definitions, the generated stub file for that module
- definition was empty. After checking the module body,
- these files will not be generated anymore.</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <list type="bulleted">
- <item>
- <p>Changes in generated files.</p>
- <p>Stub-files generated by the compiler had
- prefix "OE_" and those used by Orber
- had also a register/unregister function
- called "OE_register"/"OE_unregister" and
- a directive "OE_get_interface" passed
- to the gen_server.
- This made it difficult/irritating to use,
- for example call to the register function
- in Orber would appear as shown below:</p>
- <list type="bulleted">
- <item>
- <p>'OE_filename':'OE_register'().</p>
- </item>
- </list>
- <p>This is changed by using the prefix "oe_"
- instead for "OE_" for the above.
- A registration call in Orber is now written:</p>
- <list type="bulleted">
- <item>
- <p>oe_filename:oe_register(). </p>
- </item>
- </list>
- <p>Own Id: OTP-2440 <br></br>
-</p>
- </item>
- </list>
- </section>
- </section>
-</chapter>
-
diff --git a/lib/ic/vsn.mk b/lib/ic/vsn.mk
index ec4bb7c3a6..e0fccf4889 100644
--- a/lib/ic/vsn.mk
+++ b/lib/ic/vsn.mk
@@ -1,6 +1,9 @@
IC_VSN = 4.2.24
-TICKETS = OTP-8307
+TICKETS = OTP-8307 \
+ OTP-8353 \
+ OTP-8354 \
+ OTP-8355
TICKETS_4.2.23 = OTP-8201
diff --git a/lib/kernel/src/pg2.erl b/lib/kernel/src/pg2.erl
index fc9508a194..cb9fec2ffe 100644
--- a/lib/kernel/src/pg2.erl
+++ b/lib/kernel/src/pg2.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(pg2).
@@ -334,8 +334,11 @@ local_group_members(Name) ->
P <- member_in_group(Pid, Name)].
member_in_group(Pid, Name) ->
- [{{member, Name, Pid}, N}] = ets:lookup(pg2_table, {member, Name, Pid}),
- lists:duplicate(N, Pid).
+ case ets:lookup(pg2_table, {member, Name, Pid}) of
+ [] -> [];
+ [{{member, Name, Pid}, N}] ->
+ lists:duplicate(N, Pid)
+ end.
member_groups(Pid) ->
[Name || [Name] <- ets:match(pg2_table, {{pid, Pid, '$1'}})].
diff --git a/lib/orber/doc/src/Makefile b/lib/orber/doc/src/Makefile
index 40f5ef8708..c82db49c9b 100644
--- a/lib/orber/doc/src/Makefile
+++ b/lib/orber/doc/src/Makefile
@@ -64,7 +64,6 @@ XML_REF3_FILES = \
orber_acl.xml
XML_PART_FILES = \
- part_notes_history.xml \
part.xml \
part_notes.xml
@@ -85,10 +84,6 @@ XML_CHAPTER_FILES = \
ch_orberweb.xml \
ch_debugging.xml
-XML_HTML_FILES = \
- notes_history.xml
-
-
BOOK_FILES = book.xml
XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \
@@ -124,7 +119,6 @@ INTERNAL_HTML_FILES = $(TECHNICAL_DESCR_FILES:%.xml=$(HTMLDIR)/%.html)
HTML_FILES = $(XML_APPLICATION_FILES:%.xml=$(HTMLDIR)/%.html) \
$(XML_CHAPTER_FILES:%.xml=$(HTMLDIR)/%.html) \
- $(XML_HTML_FILES:%.xml=$(HTMLDIR)/%.html) \
$(XML_PART_FILES:%.xml=$(HTMLDIR)/%.html)
INFO_FILE = ../../info
diff --git a/lib/orber/doc/src/ch_contents.xml b/lib/orber/doc/src/ch_contents.xml
index 65383805b3..602955764d 100644
--- a/lib/orber/doc/src/ch_contents.xml
+++ b/lib/orber/doc/src/ch_contents.xml
@@ -112,8 +112,8 @@ A concise history of Orber.</p>
<title>IDL to Erlang Mapping</title>
<p>The OMG IDL mapping for Erlang, which is necessary to access the
functionality of Orber, is described, The mapping structure is
- included as the\011basic and the constructed OMG IDL types
- references, invocations\011and Erlang characteristics. An example is
+ included as the basic and the constructed OMG IDL types
+ references, invocations and Erlang characteristics. An example is
also provided.</p>
</section>
diff --git a/lib/orber/doc/src/ch_example.xml b/lib/orber/doc/src/ch_example.xml
index d4cc5ceddc..f2ccfcc7e1 100644
--- a/lib/orber/doc/src/ch_example.xml
+++ b/lib/orber/doc/src/ch_example.xml
@@ -45,7 +45,7 @@
<title>Generating Erlang Code</title>
<p>Run the IDL compiler on this file by calling the <c>ic:gen/1</c> function </p>
<code type="erl">
-\0111> ic:gen("stack").
+ 1> ic:gen("stack").
</code>
<p>This will produce the client stub and server skeleton. Among other files a stack API module named <c>StackModule_Stack.erl</c>
will be produced.
diff --git a/lib/orber/doc/src/ch_idl_to_erlang_mapping.xml b/lib/orber/doc/src/ch_idl_to_erlang_mapping.xml
index 0e2b049ab9..a97ad65f0e 100644
--- a/lib/orber/doc/src/ch_idl_to_erlang_mapping.xml
+++ b/lib/orber/doc/src/ch_idl_to_erlang_mapping.xml
@@ -286,15 +286,15 @@ typedef string<10> myString10;
typedef wstring<10> myWString10;
]]></code>
<p>If we want to define a char/string or wchar/wstring constant, we can
- use octal (\\OOO - one, two or three octal digits),
- hexadecimal (\\xHH - one or two hexadecimal digits) and unicode (\\uHHHH -
+ use octal (\OOO - one, two or three octal digits),
+ hexadecimal (\xHH - one or two hexadecimal digits) and unicode (\uHHHH -
one, two, three or four hexadecimal digits.) representation as well.
For example:</p>
<code type="none">
-const string SwedensBestSoccerTeam = "\\101" "\\x49" "\\u004B";
-const wstring SwedensBestHockeyTeam = L"\\101\\x49\\u004B";
-const char aChar = '\\u004B';
-const wchar aWchar = L'\\u004C';
+const string SwedensBestSoccerTeam = "\101" "\x49" "\u004B";
+const wstring SwedensBestHockeyTeam = L"\101\x49\u004B";
+const char aChar = '\u004B';
+const wchar aWchar = L'\u004C';
</code>
<p>Naturally, we can use <c>"Erlang"</c>, <c>L"Rocks"</c>, <c>'A'</c>
and <c>L'A'</c> as well.</p>
@@ -697,14 +697,14 @@ module DB {
module x {
struct y_z {
-\011...
+ ...
};
interface y {
-\011struct z {
-\011 ...
-\011};
+ struct z {
+ ...
+ };
};
};
</code>
@@ -815,7 +815,7 @@ module m {
const float pi = 3.14;
interface i {
-\011const float pi = 3.1415;
+ const float pi = 3.1415;
};
};
</code>
@@ -1036,19 +1036,19 @@ $> erlc +"{be,erl_template}" DB.idl
%% Description:
%%----------------------------------------------------------------------
logon(State, ID, PW) ->
-\011%% Check if the ID/PW is valid and what
-\011%% type of user it is (Common or Administrator).
-\011OE_Reply
+ %% Check if the ID/PW is valid and what
+ %% type of user it is (Common or Administrator).
+ OE_Reply
= case check_user(ID, PW) of
-\011 {ok, administrator} ->
-\011 'DB_Administrator':oe_create();
-\011 {ok, common} ->
-\011 'DB_CommonUser':oe_create();
-\011 error ->
-\011 %% Here we should throw an exception
- \011 corba:raise(....)
+ {ok, administrator} ->
+ 'DB_Administrator':oe_create();
+ {ok, common} ->
+ 'DB_CommonUser':oe_create();
+ error ->
+ %% Here we should throw an exception
+ corba:raise(....)
end,
-\011{reply, OE_Reply, State}.
+ {reply, OE_Reply, State}.
%%======================================================================
%% Internal Functions
@@ -1064,7 +1064,7 @@ logon(State, ID, PW) ->
%% Description: Initiates the server
%%----------------------------------------------------------------------
init(_Env) ->
-\011{ok, #state{}}.
+ {ok, #state{}}.
%%----------------------------------------------------------------------
@@ -1076,7 +1076,7 @@ init(_Env) ->
%% Description: Invoked when the object is terminating.
%%----------------------------------------------------------------------
terminate(_Reason, _State) ->
-\011ok.
+ ok.
%%----------------------------------------------------------------------
@@ -1090,7 +1090,7 @@ terminate(_Reason, _State) ->
%% due to code replacement.
%%----------------------------------------------------------------------
code_change(_OldVsn, State, _Extra) ->
-\011{ok, State}.
+ {ok, State}.
%%----------------------------------------------------------------------
@@ -1104,7 +1104,7 @@ code_change(_OldVsn, State, _Extra) ->
%% Description: Invoked when, for example, the server traps exits.
%%----------------------------------------------------------------------
handle_info(_Info, State) ->
-\011{noreply, State}.
+ {noreply, State}.
]]></code>
<p>Since <c>DB_Administrator</c> inherits from <c>DB_CommonUser</c>,
we must implement <c>delete</c> in the <c>DB_Administrator_impl.erl</c>
@@ -1421,11 +1421,11 @@ interface i {
</row>
<row>
<cell align="left" valign="middle">{tk_objref, IFRId, Name}</cell>
- <cell align="left" valign="middle">{tk_objref, "IDL:M1\\I1:1.0", "I1"}</cell>
+ <cell align="left" valign="middle">{tk_objref, "IDL:M1\I1:1.0", "I1"}</cell>
</row>
<row>
<cell align="left" valign="middle">{tk_struct, IFRId, Name, [{ElemName, ElemTC}]}</cell>
- <cell align="left" valign="middle">{tk_struct, "IDL:M1\\S1:1.0", "S1", [{"a", tk_long}, {"b", tk_char}]}</cell>
+ <cell align="left" valign="middle">{tk_struct, "IDL:M1\S1:1.0", "S1", [{"a", tk_long}, {"b", tk_char}]}</cell>
</row>
<row>
<cell align="left" valign="middle">{tk_union, IFRId, Name, DiscrTC, DefaultNr, [{Label, ElemName, ElemTC}]} <br></br>
diff --git a/lib/orber/doc/src/ch_install.xml b/lib/orber/doc/src/ch_install.xml
index eee2b99c92..ab5885954b 100644
--- a/lib/orber/doc/src/ch_install.xml
+++ b/lib/orber/doc/src/ch_install.xml
@@ -483,7 +483,7 @@ nodeB@hostB> orber:start().
<item>Since Orber domains, they are supposed to communicate via IIOP,
<em>MUST</em> have unique names, communication will
fail if two domains have the same name. The domain name <em>MAY NOT</em>
- contain <c>^G</c> (i.e. <c>\\007</c>).</item>
+ contain <c>^G</c> (i.e. <c>\007</c>).</item>
<tag><em>iiop_port</em></tag>
<item>If set to 0 the OS will pick any vacant port.
<br></br>
@@ -595,7 +595,7 @@ nodeB@hostB> orber:start().
the <c>interceptors</c> parameter.</item>
<tag><em>orbInitRef</em></tag>
<item>Setting this option, e.g.,
- <c>erl -orber orbInitRef [\\"NameService=corbaloc::host.com/NameService\\"]</c>,
+ <c>erl -orber orbInitRef [\"NameService=corbaloc::host.com/NameService\"]</c>,
will alter the location from where <c>corba:resolve_initial_references(Key)</c>
tries to find an object matching the given Key. The keys will also appear when
invoking <c>corba:list_initial_services()</c>. This variable overrides
@@ -605,7 +605,7 @@ nodeB@hostB> orber:start().
found, and this variable is set, it determines the location from where
<c>orber:resolve_initial_references(Key)</c> tries to find an object
matching the given Key. Usage:
- <c>erl -orber orbDefaultInitRef \\"corbaloc::host.com\\"</c>.</item>
+ <c>erl -orber orbDefaultInitRef \"corbaloc::host.com\"</c>.</item>
<tag><em>orber_debug_level</em></tag>
<item>The range is 0 to 10.
Using level 10 is the most verbose configuration.
diff --git a/lib/orber/doc/src/ch_interceptors.xml b/lib/orber/doc/src/ch_interceptors.xml
index 27b254c4bf..af8c5a45f1 100644
--- a/lib/orber/doc/src/ch_interceptors.xml
+++ b/lib/orber/doc/src/ch_interceptors.xml
@@ -188,17 +188,17 @@ out_reply_encoded({ObjTable, ChecksumModule}, ObjKey, Ctx, Op, Bin, Extra) ->
%% Interceptor functions.
-export([new_out_connection/3,
-\011 new_in_connection/3,
-\011 closed_in_connection/1,
-\011 closed_out_connection/1,
-\011 in_request_encoded/6,
-\011 in_reply_encoded/6,
-\011 out_reply_encoded/6,
-\011 out_request_encoded/6,
-\011 in_request/6,
-\011 in_reply/6,
-\011 out_reply/6,
-\011 out_request/6]).
+ new_in_connection/3,
+ closed_in_connection/1,
+ closed_out_connection/1,
+ in_request_encoded/6,
+ in_reply_encoded/6,
+ out_reply_encoded/6,
+ out_request_encoded/6,
+ in_request/6,
+ in_reply/6,
+ out_reply/6,
+ out_request/6]).
new_in_connection(Arg, Host, Port) ->
%% Since we only use one interceptor we do not care about the
diff --git a/lib/orber/doc/src/ch_naming_service.xml b/lib/orber/doc/src/ch_naming_service.xml
index 510ccf2543..5cc50d95ec 100644
--- a/lib/orber/doc/src/ch_naming_service.xml
+++ b/lib/orber/doc/src/ch_naming_service.xml
@@ -116,7 +116,7 @@ Figure 1: Contextual object relationships using the Naming Service.</icaption>
<p>In order to use the naming service you have to fetch an
initial reference to it. This is done with:</p>
<code type="none">
-\011NS = corba:resolve_initial_references("NameService").
+NS = corba:resolve_initial_references("NameService").
</code>
<note>
<p>NS in the other use-cases refers to this initial reference.</p>
@@ -208,17 +208,17 @@ Sc = corba:string_to_object("corbaname:rir:/NameService#workgroup/services/").
{BList, BIterator} = 'CosNaming_NamingContext':list(Sc, 10).
lists:foreach(fun({{Id, Kind},BindingType}) -> case BindingType of
-\011nobject ->
-\011\011io:format("id: %s, kind: %s, type: object~n", [Id, Kind]);
-\011 _ ->
-\011\011io:format("id: %s, kind: %s, type: ncontext~n", [Id, Kind])
-\011end end,
-\011Blist).
+ nobject ->
+ io:format("id: %s, kind: %s, type: object~n", [Id, Kind]);
+ _ ->
+ io:format("id: %s, kind: %s, type: ncontext~n", [Id, Kind])
+ end end,
+ Blist).
</code>
</item>
</list>
<note>
- <p>Normally a <term id="BindingIterator"><termdef>The binding iterator (Like a book mark) indicates which objects have been read from the list.</termdef></term>is helpful in situations where you have a large\011number of objects
+ <p>Normally a <term id="BindingIterator"><termdef>The binding iterator (Like a book mark) indicates which objects have been read from the list.</termdef></term>is helpful in situations where you have a large number of objects
in a list, as the programmer then can traverse it more easily.
In Erlang it is not needed, because lists are easily handled in the
language itself.</p>
@@ -427,7 +427,7 @@ lists:foreach(fun({{Id, Kind},BindingType}) -> case BindingType of
<cell align="left" valign="middle">An Id with a trailing '.' is not allowed.</cell>
</row>
<row>
- <cell align="left" valign="middle">"i\\\\/d1/i\\\\.d2"</cell>
+ <cell align="left" valign="middle">"i\\/d1/i\\.d2"</cell>
<cell align="left" valign="middle">[{"i/d1",""},{"i.d2",""}]</cell>
<cell align="left" valign="middle">Since '.' and '/' are used to separate the components, these tokens must be escaped to be correctly converted.</cell>
</row>
diff --git a/lib/orber/doc/src/corba.xml b/lib/orber/doc/src/corba.xml
index 6c89279733..cae0e09b0b 100644
--- a/lib/orber/doc/src/corba.xml
+++ b/lib/orber/doc/src/corba.xml
@@ -99,9 +99,8 @@
<em>MAY ONLY</em> be used during testing and development.</p>
<code type="none">
Example:
-\011
- corba:create('StackModule_Stack', "IDL:StackModule/Stack:1.0",
-\011 {10, test})
+
+ corba:create('StackModule_Stack', "IDL:StackModule/Stack:1.0", {10, test})
</code>
</desc>
</func>
diff --git a/lib/orber/doc/src/notes.xml b/lib/orber/doc/src/notes.xml
index 08bbf4b29c..1185b7658f 100644
--- a/lib/orber/doc/src/notes.xml
+++ b/lib/orber/doc/src/notes.xml
@@ -33,6 +33,24 @@
</header>
<section>
+ <title>Orber 3.6.15</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>Removed superfluous VT in the documentation.</p>
+ <p>Own id: OTP-8353 Aux Id:</p>
+ </item>
+ <item>
+ <p>Removed superfluous backslash in the documentation.</p>
+ <p>Own id: OTP-8354 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
<title>Orber 3.6.14</title>
<section>
@@ -403,8 +421,6 @@
</item>
</list>
</section>
- <!-- p>For information about older versions see
- <url href="part_notes_history_frame.html">release notes history</url>.</p -->
</section>
</chapter>
diff --git a/lib/orber/doc/src/notes_history.xml b/lib/orber/doc/src/notes_history.xml
deleted file mode 100644
index b493f0e379..0000000000
--- a/lib/orber/doc/src/notes_history.xml
+++ /dev/null
@@ -1,1523 +0,0 @@
-<?xml version="1.0" encoding="latin1" ?>
-<!DOCTYPE chapter SYSTEM "chapter.dtd">
-
-<chapter>
- <header>
- <copyright>
- <year>2004</year><year>2009</year>
- <holder>Ericsson AB. All Rights Reserved.</holder>
- </copyright>
- <legalnotice>
- The contents of this file are subject to the Erlang Public License,
- Version 1.1, (the "License"); you may not use this file except in
- compliance with the License. You should have received a copy of the
- Erlang Public License along with this software. If not, it can be
- retrieved online at http://www.erlang.org/.
-
- Software distributed under the License is distributed on an "AS IS"
- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- the License for the specific language governing rights and limitations
- under the License.
-
- </legalnotice>
-
- <title>Orber Release Notes History</title>
- <prepared></prepared>
- <responsible></responsible>
- <docno></docno>
- <approved></approved>
- <checked></checked>
- <date>99-02-12</date>
- <rev>A</rev>
- </header>
-
- <section>
- <title>Orber 3.5.4</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>In some cases, it was possible for a user to delete the
- NameService root context.</p>
- <p>Own Id: OTP-5202</p>
- </item>
- <item>
- <p>Invoking two, or more, concurrent oe_register operations
- it could corrupt the IFR. If this is the case, the
- INTF_REPOS system exception is raised. The risk for this
- to occur is rather slim.</p>
- <p>Own Id: OTP-5526</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.5.3</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>To avoid malicious attacks, it is now possible to configure
- Orber to only accept incoming requests up to a certain size.
- To be able to use this option, it must be supported by inet
- and SSL.</p>
- <p>Own id: OTP-5129</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.5.2</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>If a client tried to connect to Orber and immediately
- closed the connection, then the process accepting new
- connections could end up with a message in the queue
- that would never be removed.</p>
- <p>Own id: OTP-5105</p>
- </item>
- <item>
- <p>The INS corbaloc/corbaname URL:s did only accept DNS style host
- names. Now it is also possible to use, none compressed, IPv6
- addresses.</p>
- <p>Own id: OTP-5108</p>
- </item>
- <item>
- <p>When Orber was configured to use IPv6 for inter-ORB communication,
- exported IOR:s did not contain a correct IPv6 address. This did not
- cause any problems if Orber was configured to use DNS style hostname
- instead.</p>
- <p>Own id: OTP-5109</p>
- </item>
- <item>
- <p>Orber used external operations not exported in R9B.</p>
- <p>Own id: OTP-5111</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.5.1</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>When using Light IFR it was not possible unregister data
- (i.e., invoking 'MyModule':oe_unregister()).
- Introduced in Orber-3.5.0.1.</p>
- <p>Own id: OTP-5034</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.5.0.1</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>orber_ifr:contents/3 always returned an empty list when using
- Light IFR. Little or no effect.</p>
- <p>Own id: OTP-5018</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.5</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>It is now possible to configure Orber to use NAT (Network Address
- Translation) friendly parameters. A new section in the User's Guide
- describes how to handle communication via firewalls.</p>
- <p>Own id: OTP-4698</p>
- </item>
- <item>
- <p>A new module called <c>orber_diagnostics</c> have been added, which
- is intended to aid a user during the test and development phase.
- For more information, see the reference manual.</p>
- <p>Own id: OTP-4699</p>
- </item>
- <item>
- <p><c>IPv6</c> supported.</p>
- <p>Own id: OTP-4937</p>
- </item>
- <item>
- <p>Possible to configure Orber so that exported IOR:s contain
- multiple IIOP components for different interfaces.</p>
- <p>Own id: OTP-4938</p>
- </item>
- <item>
- <p>Improved typechecking of typecode supplied to the operations
- <c>orber_tc:check_tc/1</c>, <c>any:create/2</c> and
- <c>any:set_typecode/2</c>.</p>
- <p>Own id: OTP-4939</p>
- </item>
- <item>
- <p>Server objects can now be started as EXIT tolerant.</p>
- <p>Own id: OTP-4940</p>
- </item>
- <item>
- <p>Possible to use interceptors for local invocations as well.</p>
- <p>Own id: OTP-4941</p>
- </item>
- <item>
- <p>If the IFR is not explicitly used, Orber can be configured
- to use a minimal IFR to reduce memory usage and installation
- time.</p>
- <p>Own id: OTP-5001</p>
- </item>
- <item>
- <p>To avoid malicious attacks it is now possible to configure
- Orber to limit the number of concurrent connections and
- requests and the amount of IIOP fragments.</p>
- <p>Own id: OTP-5002</p>
- </item>
- <item>
- <p>The operation <c>orber:iiop_connections/0</c> now also include
- incoming connections.</p>
- <p>Own id: OTP-5004</p>
- </item>
- <item>
- <p>The function <c>orber:add_node/2</c> now accepts more options.</p>
- <p>Own id: OTP-5006</p>
- </item>
- <item>
- <p>The module <c>orber_diagnostics</c> now exports a function
- which list missing modules generated by IC and required by
- Orber.</p>
- <p>Own id: OTP-5007</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Orber's NameService did not return a NIL object reference if the total
- number of existing bindings was less than, or equal to,
- the <c>HowMany</c> parameter passed to
- <c>'CosNaming_NamingContext':list/2</c> operation. This have now been
- changed to be compliant with the OMG standard. Furthermore, the operation
- <c>'CosNaming_BindingIterator':next_n/2</c> did not handle the index
- correctly in all situations.</p>
- <p>Own id: OTP-4700</p>
- </item>
- <item>
- <p>If the Orber internal gen_server orber_iiop_pm was stopped
- in such a way that the terminate function was not invoked,
- then ghost processes would appear.</p>
- <p>Own id: OTP-5003</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <list type="bulleted">
- <item>
- <p>The work-around introduced in version 3.4.1 (OTP-4608) has
- now been removed. Make sure you are using IC-4.2 or later.</p>
- </item>
- <item>
- <p>Since the OMG has defined a default port number (2809),
- Orber no longer support the bootstrap port.</p>
- <p>Own id: OTP-5005</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.4.2.2</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Due to IFR DB lock mechanisms, concurrent creation
- of non-anonymous IFR types could still result in duplicated
- entries.</p>
- <p>Own id: OTP-4781</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.4.2.1</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>The operation <c>orber:start()</c> could return before
- all Mnesia tables were accessible.</p>
- <p>Own id: OTP-4780</p>
- </item>
- <item>
- <p>Concurrent creation of non-anonymous IFR types
- could result in duplicates in the DB.</p>
- <p>Own id: OTP-4781</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.4.2</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Improved type tests for string, wide string and sequence when
- passed via IIOP.</p>
- <p>Own id: OTP-4759</p>
- </item>
- <item>
- <p>Less (internal) processes are needed when Orber act as client-side ORB
- and communicate with another ORB. Due to this change, closed connections
- and socket errors are dealt with in a more gentle way. If the latter
- occurs, the error_logger application is used to generate an error
- report containing a description of what went wrong.</p>
- <p>Own id: OTP-4655</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>When communicating with another ORB, via SSL, and a socket error occurred,
- Orber did not recognize the error message. This occurred when Orber
- acted as client-side ORB.</p>
- <p>Own id: OTP-4656</p>
- </item>
- <item>
- <p>If an out-going connection was closed and the receiving process had not
- been scheduled yet, the close connection message was delivered before
- the correct message.</p>
- <p>Own id: OTP-4657</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <list type="bulleted">
- <item>
- <p>Since strstream is deprecated and not accepted by gcc-3.3,
- Orber no longer includes the InitalReference lib. The source
- code is still included.</p>
- <p>Own id: OTP-4767</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.4.1</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>It is now possible to use IC-versions older than 4.2. But, this is
- only temporary so it is still necessary upgrade to a correct
- version.</p>
- <p>Own id: OTP-4608</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.4</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>If a call-back module illegally caused an EXIT, clients
- residing on another ORB was not notified (hanged).</p>
- <p>Own id: OTP-4577</p>
- </item>
- <item>
- <p>The stub/skeleton-files generated by IC have been improved,
- i.e., depending on the IDL-files, reduced the size of the
- erl- and beam-files and decreased dependencies off Orber's
- Interface Repository. It is necessary to re-compile all IDL-files
- and use COS-applications, including Orber, compiled with
- IC-4.2.</p>
- <p>Own id: OTP-4576</p>
- </item>
- <item>
- <p>It is now possible to configure Orber to use the host name
- in exported IOR:s instead of the IP-number.</p>
- <p>Own id: OTP-4541</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>When Orber acted as server-side ORB and one tried to setup a
- SSL-connection and using native Interceptors at the same time
- it failed.</p>
- <p>Own Id: OTP-4542</p>
- </item>
- <item>
- <p>Oneway operations, using a multi-node Orber, failed for inter-node
- communication.</p>
- <p>Own Id: OTP-4543</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.3</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Orber now supports fragmented IIOP messages for 1.2.</p>
- <p>Own Id: OTP-4462</p>
- </item>
- <item>
- <p>Orber now has its own set of unique VMCID:s which
- is used for minor codes in system exceptions. All system exceptions raised
- by Orber now uses this VMCID base or OMG:s VMCID base. See also the function
- <c>orber:exception_info/1</c>.</p>
- <p>Own Id: OTP-4463</p>
- </item>
- <item>
- <p>Since some ORB:s, non-compliant with the OMG specification,
- have problems using IOR:s which embeds a CodeSet component, it is now
- possible to configure Orber to exclude it from exported IOR:s.</p>
- <p>Own Id: OTP-4469</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>When combining interceptors and oneway operations, Orber
- incorrectly sent a MessageError over the connection to the
- client ORB.</p>
- <p>Own Id: OTP-4460</p>
- </item>
- <item>
- <p>After (2^32)-1 requests, Orber used the request number 0 twice
- in a row.</p>
- <p>Own Id: OTP-4461</p>
- </item>
- <item>
- <p>The COMM_FAILURE exception should only be raised when connection
- problems occur. Now Orber raises the correct exceptions. Note, when
- Orber act as client side ORB you must be able to handle any of the system
- exceptions defined by the OMG. Some of the COMM_FAILURE exceptions
- have been replaced with the correct TRANSIENT and TIMEOUT exceptions.</p>
- <p>Own Id: OTP-4465</p>
- </item>
- <item>
- <p>The default port used for corbaloc and corbaname was
- incorrect. Now changed to follow the OMG standard (2809).</p>
- <p>Own Id: OTP-4466</p>
- </item>
- <item>
- <p>When Orber acted as a client-side ORB, it failed to encode
- unions with a default case (i.e. defined in the IDL-code and a
- default label used).</p>
- <p>Own Id: OTP-4472</p>
- </item>
- <item>
- <p>The operation corba:print_object/1/2 did not include host/port
- data for IIOP-1.0 IOR:s.</p>
- <p>Own Id: OTP-4483</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <list type="bulleted">
- <item>
- <p>Some of the COMM_FAILURE exceptions have been replaced with the correct
- TRANSIENT and TIMEOUT exceptions. All minor codes used by Orber
- is now based on the OMG assigned VMCIDs.</p>
- <p>Own Id: OTP-4465, OTP-4463</p>
- </item>
- <item>
- <p>The default port used for corbaloc and corbaname have been changed
- to 2809.</p>
- <p>Own Id: OTP-4466</p>
- </item>
- <item>
- <p>To reduce extra overhead Orber now uses a flag parameter,
- which makes it possible to configure Orber's behavior in different ways.
- Hence, the global activation of Local Typechecking, introduced in the previous
- version, have now been changed.</p>
- <p>Own Id: OTP-4467</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.2.13</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>It is now possible to activate automatic typechecking when
- invoking operations on CORBA Objects locally. For more
- information, see the configuration and debugging chapters
- in the User's Guide regarding the <c>local_typecheck</c>
- option.</p>
- <p>Own Id: OTP-4410</p>
- </item>
- <item>
- <p>Due to the success of the pre-compiled IIOP-trace interceptor, a less
- verbose trace interceptor, called <c>orber_iiop_tracer_silent</c>,
- have been added as well.</p>
- <p>Own Id: OTP-4257</p>
- </item>
- <item>
- <p>Orber now support the Fixed datatype defined by the OMG. To be able
- to define Fixed types in an IDL-specification, check that your current
- IC version supports this type as well. If not, the only option is
- to encapsulate it in an <c>any</c> type.</p>
- <p>Own id: OTP-4375</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>It was not possible to use the function <c>corba:print_object/2</c>,
- which was introduced in the previous release, only
- <c>corba:print_object/1</c>. Now it is also possible to use
- the <c>error_logger</c> or receive the data in string form.</p>
- <p>Own Id: OTP-4376</p>
- </item>
- <item>
- <p>The functions <c>orber_tc:principal</c> and <c>orber_tc:exception</c>
- returned incorrect.</p>
- <p>Own Id: -</p>
- </item>
- <item>
- <p>The function <c>orber_ifr:get_primitive</c> tried to access a
- non-existing (primitivdefs) table.</p>
- <p>Own Id: -</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.2.12</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Orber now check if an external IOR contains any
- TAG_ALTERNATE_IIOP_ADDRESS components when trying to setup
- a connection to another ORB.</p>
- <p>Own id: OTP-4294</p>
- </item>
- <item>
- <p>It is now possible to add TAG_ALTERNATE_IIOP_ADDRESS components
- to a local object reference. See corba:add_alternate_iiop_address/3.</p>
- <p>Own id: OTP-4294</p>
- </item>
- <item>
- <p>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.</p>
- <p>Own id: OTP-4295</p>
- </item>
- <item>
- <p>The corba module now exports a function, print_object/1/2, which
- prints IOR's in a more readable form.</p>
- <p>Own id: OTP-4296</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>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.</p>
- <p>Own Id: OTP-4298</p>
- </item>
- <item>
- <p>When invoking a Locate Request, Orber in some cases did not reply
- with a Locate Reply header (used a Reply header).</p>
- <p>Own Id: OTP-4293</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.2.11</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>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.</p>
- <p>Own id: OTP-3966</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>When looking up Initial Service (e.g. using <c>corbaloc</c>,
- <c>corbaname</c> or <c>corba:resolve_initial_references_remote/2</c>)
- and communicating via SSL, Orber used the wrong port number.</p>
- <p>Own Id: OTP-4264</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.2.10</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>It is now possible to add new initial references, which can,
- for example, be accessed via <c>corba:resolve_initial_references/1</c>
- or the <c>corbaloc</c> schema.</p>
- <p>Own Id: OTP-4258</p>
- </item>
- <item>
- <p>The orber module now exports functions, <c>iiop_connections</c>
- and <c>iiop_connections_pending</c>, which, respectively, list
- all currently open connections to other ORB's and connections
- which are in process of being set up to another ORB.</p>
- <p>Own Id: OTP-4262</p>
- </item>
- <item>
- <p>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 <c>iiop_connection_timeout</c>. 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).</p>
- <p>Own Id: OTP-4260</p>
- </item>
- <item>
- <p>One can now install Orber's NameService as disc_copies, but
- the default behavior is that Orber uses ram_copies.</p>
- <p>Own Id: OTP-4259</p>
- </item>
- <item>
- <p>A pre-compiled IIOP-trace interceptor is now
- included in the Orber release. For more information,
- see the <c>Debugging</c> chapter in the User's Guide.</p>
- <p>Own Id: OTP-4257</p>
- </item>
- <item>
- <p>It is now possible to set Orber's configuration parameters
- in, for example, an Erlang shell. Consult <c>corba:orb_init/1</c> and
- <c>orber:configure/2</c>.</p>
- <p>Own Id: OTP-4261</p>
- </item>
- <item>
- <p>The Orber release now include <c>OrberWeb</c>, which is an extension of
- the <c>WebTool</c> application (first released in R8B). Hence,
- <c>WebTool</c> must be installed to enable this feature. For more
- information, see the chapter <c>OrberWeb</c> in the User's Guide.
- <c>OrberWeb</c> is intended to be used during test and development.</p>
- <p>Own Id: OTP-4257</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>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 <c>^G</c> (i.e. <c>"\\007"</c>) in the domain name. Due to this
- change it is not possible to upgrade during run-time.</p>
- <p>Own Id: OTP-4229</p>
- </item>
- <item>
- <p>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.</p>
- <p>Own Id: OTP-4230</p>
- </item>
- <item>
- <p>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.</p>
- <p>Own Id: OTP-4263</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <list type="bulleted">
- <item>
- <p>The encoding/decoding of wchar/wstring when using IIOP-1.2
- have been updated. See above.</p>
- <p>Own Id: OTP-4263</p>
- </item>
- <item>
- <p>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.</p>
- <p>Own Id: OTP-4256</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Known bugs and problems</title>
- <list type="bulleted">
- <item>
- <p><c>OrberWeb</c> only tested with <c>Netscape-4.75</c>. Furthermore,
- until <c>WebTool</c> reaches version 1.0 OrberWeb should also
- be considered to be a beta version.</p>
- <p>Own Id: OTP-4257</p>
- </item>
- <item>
- <p><c>OrberWeb</c> do not escape arguments passed when, for example,
- creating a new context. Hence, for now you are recommended to
- only use letters.</p>
- <p>Own Id: OTP-4257</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.2.9</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>External IOR:s containing unsupported or incorrectly placed
- TaggedComponents was corrupted when Orber forwarded the
- IOR via IIOP. This bug was introduced in 3.2.6.</p>
- <p>Own Id: OTP-4170</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.2.8</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Orber now support interceptors.</p>
- <p>Own Id: -</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.2.7</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>When Orber acted as server-side and communicating via IIOP the overhead
- was unreasonably large and memory consuming (depended on the
- IDL-specification). This have now been fixed and will, especially,
- improve the performance when invoking operations with no, or simple,
- arguments on a complex interface. This change will have little effect
- on objects started as pseudo since this problem did not affect them.</p>
- <p>Own Id: OTP-4063</p>
- </item>
- <item>
- <p>When Orber tried to set up a connection to another ORB which did not
- respond all IIOP access where blocked until the TCP protocol
- generated a timeout. Now only requests to that particular ORB are
- queued.</p>
- <p>Own Id: OTP-4060</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>It was not possible to invoke the operation
- CosNaming_BindingIterator:next_one via IIOP if no more bindings
- existed.</p>
- <p>Own id: OTP-4004</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.2.6</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Registering data in the IFR overhead reduced.</p>
- <p>Own id: OTP-3904</p>
- </item>
- <item>
- <p>The overhead for the function <c>is_a/1</c> have been reduced, which also
- affects remote <c>narrow</c> operations for inherited interfaces
- (e.g. using Java or C++ ORBs).</p>
- <p>Own id: OTP-3904</p>
- </item>
- <item>
- <p>If the underlying OS was not configured to allow Erlang to
- lookup the host-name by using the short-name the result was
- always the IP-address 127.0.0.1 (loop-back). Now Orber uses
- the full name. Hence, make sure the <c>net_adm:localhost/0</c> and
- <c>inet:getaddr/2</c> return proper values.</p>
- <p>Own id: OTP-3966</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>The CONV_FRAME_CodeSetComponentInfo struct was not placed
- correctly in IOR:s. Each profile must be self-sustained
- which is why this information must be duplicated in each
- profile. Currently this only applies for the IIOP-profile
- but will also concern future protocols.</p>
- <p>Own id: OTP-3992</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.2.5</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Orber now defines the configuration variable,
- <c>iiop_setup_connection_timeout</c>, which makes it possible to
- timeout connection attempts to another ORB before the OS TCP timeout
- is activated.</p>
- <p>Own id: OTP-3961</p>
- </item>
- <item>
- <p>It is now possible to configure Orber to generate reports when abnormal
- situations occurs. For more information consult the User's Guide
- regarding the configuration parameter <c>orber_debug_level</c>.
- Note, it is not recommended to use this option for delivered systems
- since some of the reports is not to be considered as errors.</p>
- <p>Own id: OTP-3962</p>
- </item>
- <item>
- <p>Orber now accepts a list of addresses as value for the configuration
- parameter <c>orbInitRef</c>.</p>
- <p>Own id: OTP-3945</p>
- </item>
- <item>
- <p>Orber now includes services defined by the configuration parameter
- <c>orbInitRef</c> when invoking <c>corba:list_initial_services/0</c>.</p>
- <p>Own id: OTP-3946</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>When using the configuration variable 'orbDefaultInitRef' with
- a value pointing to another Orber-ORB it was not possible to
- install Orber since Orber used to create default <c>NamingContexts</c>.
- Orber no longer add these contexts.</p>
- <p>Own id: OTP-3943</p>
- </item>
- <item>
- <p>Orber accessed <c>corbaloc</c> addresses in reverse order. Now fixed.</p>
- <p>Own id: OTP-3944</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <list type="bulleted">
- <item>
- <p>When installing Orber no default <c>NamingContext's</c>, i.e.,
- <c>host</c>, <c>hosts</c>, <c>resources</c>, <c>development</c>,
- <c>factories</c> and <c>workgroup</c>, will be added. These contexts
- was defined in a cancelled specification.</p>
- <p>Own id: OTP-3942</p>
- </item>
- <item>
- <p><c>corbaloc</c> addresses are now accessed in FIFO order (instead of
- LIFO).</p>
- <p>Own id: OTP-3944</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.2.4</title>
-
- <section>
- <title>Improvements and New Features</title>
- <p>-</p>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>When communicating via IIOP using version 1.2 Orber used incorrect
- offset for reply bodies containing system exceptions, exceptions and
- location forward.</p>
- <p>Own id: OTP-3912</p>
- </item>
- <item>
- <p>Orber did not return correct IFR Id:s when raising system exceptions
- via IIOP.</p>
- <p>Own id: OTP-3911</p>
- </item>
- <item>
- <p>If two different processes concurrently manipulated a
- <c>CosNaming::NamingContext</c> the data could become corrupted.
- For single-node Orber this error occurred in version 3.2.1, 3.2.2 and
- 3.2.3. For multi-node Orber this behavior have been present at all time.</p>
- <p>Own id: OTP-3910</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <list type="bulleted">
- <item>
- <p>Since Orber now returns a different, and correct, IFR-id for
- systems exceptions other ORB:s and older versions of Orber
- might raise a different exception, probably MARSHAL or UNKNOWN.
- This only occurs when communicating via IIOP. It is not possible to
- upgrade during runtime. Use <c>orber:stop()</c>, load new version and
- restart Orber by invoking <c>orber:start()</c>.</p>
- <p>Own id: OTP-3911</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.2.3</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Improved performance for all types, simple and complex, when
- communicating via IIOP. It is not possible to upgrade during
- runtime. Use <c>orber:stop()</c>, load new version and restart
- Orber by invoking <c>orber:start()</c>.</p>
- <p>Own id: OTP-3905</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>If a pseudo object raises an exception or exits the exception
- was only returned, not thrown.</p>
- <p>Own id: OTP-3907</p>
- </item>
- <item>
- <p>Orber defined an incorrect ID for CodeSets. This may cause
- INV_OBJREF or DATA_CONVERSION exceptions to be thrown, it
- depends on the other ORB.</p>
- <p>Own id: OTP-3899</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.2.2</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>The behavior of Orber when receiving unsupported or incorrect
- messages have now been improved.</p>
- <p>Own id: OTP-3903</p>
- </item>
- <item>
- <p>Time consumed by <c>oe_MyModule:oe_register()</c> decreased.</p>
- <p>Own id: OTP-3904</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>When Orber received a 'location_forward' reply, the result
- from the second invocation was never delivered to the
- client. Now fixed.</p>
- <p>Own id: OTP-3814</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.2.1</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>It is now possible to use external <c>NamingContexts</c>
- when, for example, using
- <c>'CosNaming_NamingContextExt':bind_context/3</c>.</p>
- <p>Own id: OTP-3902</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.2</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Orber now supports IIOP-version 1.2.</p>
- <p>Own id: OTP-3901</p>
- </item>
- <item>
- <p>Improved encoding and decoding performance for IIOP requests containing
- <c>struct</c>, <c>union</c> or user defined <c>exceptions</c>.</p>
- <p>Own id: OTP-3900</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Setting the <c>bootstrap_port</c> configuration parameter to a value
- less than 1024 made it impossible to start Orber properly.
- Now fixed.</p>
- <p>Own id: OTP-3898</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.1.8</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Orber now accepts <c>Indirection/Repeated</c><c>CORBA::TypeCode</c> as input and/or
- return value when communicating via IIOP.</p>
- <p>Own id: -</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>When another ORB replied with <c>location forward</c> Orber
- failed to decode this. Now fixed.</p>
- <p>Own id: OTP-3709</p>
- </item>
- <item>
- <p>Orber failed to encode <c>CORBA::TypeCode</c> containing <c>tk_alias</c>, e.g.,
- sending an <c>#any{}</c> which encapsulates data defined by <c>typedef</c>.</p>
- <p>Own id: OTP-3689</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.1.7</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Earlier, Orber did not use the IIOP/GIOP version specified
- in an external object key when invoking an intra-ORB request.</p>
- <p>Own id: OTP-3663</p>
- </item>
- <item>
- <p>The OMG standard now support an Interoperable Naming Service.
- Initially there where two proposals of which Orber earlier
- supported one of them. Now both standards are supported.</p>
- <p>Own id: OTP-3664</p>
- </item>
- <item>
- <p>The OMG have redefined the operator, used when encoding requests via IIOP,
- for the function <c>corba_object:non_existent/1</c>. CORBA version 2.0 and
- 2.2 compliant ORB:s is supposed to support the old definition, while
- later versions, i.e., 2.3, is supposed to use the new operator
- (<c>_non_existent</c> instead of <c>_not_existent</c>). Orber accepts
- both versions.</p>
- <p>Own id: OTP-3679</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>If an Orber node crashed and was restarted the object keys could
- point to other processes than it should, which may cause problems if,
- for example, the other process terminates due to it does not handle
- unknown messages. Now Orber GC object keys for objects residing on the
- crashed node. If Orber is started as a multi-node ORB of which one or
- more nodes runs an older Orber version they can still communicate but
- with an increased overhead. Hence, all nodes should be upgraded during
- a relatively short time. If Orber is stopped, i.e., orber:stop() or
- a shutdown is generated, objects residing on that node will be terminated.</p>
- <p>Own id: OTP-3678</p>
- </item>
- <item>
- <p>If an IDL-file contains two interfaces of which the first one
- contains an exception and the second interface, which inherits the first
- one, contain an operation which raises this exception the IFR
- failed since multiple references where found when invoking
- orber_ifr:lookup_id/2. Now fixed.</p>
- <p>Own id: OTP-3665</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <list type="bulleted">
- <item>
- <p>To be able to start Orber as lightweight the mnesia application
- cannot be listed in the "orber.app" file. You might find it
- necessary to add 'mnesia' to the applications-list.
- For example, you cannot upgrade an older version
- of Orber (not started as lightweight) to this version without
- adding mnesia to the application dependencies list.</p>
- <p>Own id: OTP-3666</p>
- </item>
- <item>
- <p>The function <c>corba_object:non_existent/1</c> have been updated
- to follow the CORBA 2.3 standard. Hence, Intra-ORB communication
- with ORB:s not supporting this standard will fail. The operation
- <c>corba_object:not_existent/1</c> allow users to use the old standard.
- Consult the ORB vendor's documentation to decide which function to use.</p>
- <p>Own id: OTP-3679</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.1.6</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Cosmetic update of internal functions.</p>
- <p>Own id: -</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.1.5</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>When decoding TypeCode for an object reference, e.g., as a part of
- an #any{}, Orber failed. This is no longer the case. </p>
- <p>Own id: OTP-3631</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.1.4</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>The function <c>start_lightweight/1</c> have been added to the
- <c>orber</c> module. This function allow us to start orber as
- lightweight without, or override, the configuration parameter
- <c>-orber lightweight</c>.</p>
- <p>Own id: -</p>
- </item>
- <item>
- <p>A new configuration parameter, 'iiop_connection_timeout Secs', is now
- available. This parameter's purpose, is to terminate the socket
- connection on the client side if a time span of Secs seconds have passed.
- The connection will, however, NOT be terminated if a client still waits
- for a reply. For the last scenario to happen, the client have been
- configured to use a larger timeout value than the configuration
- parameter 'iiop_connection_timeout' have been set to.</p>
- <p>Own id: -</p>
- </item>
- <item>
- <p>Up until now, invoking an an operation with an extra Timeout parameter
- (using the IC option: ic:gen(IdlFile, [{timeout,"module::interface"}])),
- only applied to local Objects. Now, using the IC option above, when
- compiling the stubs, and adding the extra Timeout parameter, a timeout
- will also be triggered when calling Objects residing on other ORB:s.
- The return value, after a timeout has been triggered, have changed from
- an EXIT message to raising the system exception COMM_FAILURE. For more
- information, about how this feature interacts with the configuration
- parameter 'iiop_timeout', consult the documentation.</p>
- <p>Own id: -</p>
- </item>
- <item>
- <p>When using invalid intra-ORB configuration, i.e., incorrect
- Port/IP-address, when trying to connect to another ORB,
- a CRASH REPORT was generated if the configuration
- parameter '-boot start_sasl' was used. This behavior has now changed.</p>
- <p>Own id: -</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>If a client-side ORB terminated the IIOP connection immediately there
- was a possibility that the server responsible detecting this did not.</p>
- <p>Own id: OTP-3593</p>
- </item>
- <item>
- <p>Setting the configuration parameter 'iiop_timeout' did not result in a
- correct behavior, i.e., no timeout triggered.</p>
- <p>Own id: OTP-3555</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <list type="bulleted">
- <item>
- <p>When using the IC option, ic:gen(IdlFile, [{timeout,"module::interface"}]),
- an EXIT was the timeout result. Now, the system exception COMM_FAILURE is
- raised.</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.1.3</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Orber did not ignore unrecognized TaggedProfiles. Other vendors may have
- registered own TAG's with the OMG. These TAG's are valid but not
- necessarily handled by other vendors.</p>
- <p>Own id: OTP-3514</p>
- </item>
- <item>
- <p>When passing Object references over IIOP, decoding local references could
- fail. Now fixed.</p>
- <p>Own id: OTP-3515</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.1.2</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Previously the OMG have published two suggestions for <c>Interoperable Name Service</c>,
- of which, the <c>CORBA 3</c> specify <c>orbos/98-10-11</c> to be implemented.
- Unfortunately, the Interoperable Name Service Orber supports, is the one not chosen.
- Hence, the <c>InitialReferences.idl</c> will not be according to the future standard.
- The modules name is now changed from <c>CORBA</c> to <c>Orber</c>. This will affect
- code which are using this interface. The idl specification must be recompiled and
- then <c>CORBA</c> must be changed to <c>Orber</c> in the client.</p>
- <p>Own id: OTP-3468, OTP-3155</p>
- </item>
- <item>
- <p>Now possible to run oe_unregister when the IDL-specification contains
- exceptions correctly.</p>
- <p>Own Id: OTP-3447</p>
- </item>
- <item>
- <p>Now possible to run oe_unregister when the IDL-specification contains
- attributes.</p>
- <p>Own Id: OTP-3439</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <p>The change in <c>InitialReferences.idl</c> to clash with the Corba standard implies changes
- in code that use this interface. See the OTP-3468 and OTP-3155 in the <c>Fixed Bugs and Malfunctions</c>
- chapter above.</p>
- </section>
- </section>
-
- <section>
- <title>Orber 3.1.1</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>When introducing the configuration parameter <c>ip_address</c>
- it was no longer possible to have the same default behavior
- as before. Now fixed.</p>
- <p>Own Id: OTP-3431</p>
- </item>
- <item>
- <p>The internal request number handling never checked if maximum reached.
- Now the counter restart at 0 after reaching max.</p>
- <p>Own Id: OTP-3415</p>
- </item>
- <item>
- <p>Orber did not handle locate-requests correctly, i.e., not able to
- recognize the new internal representation of object references.</p>
- <p>Own Id: OTP-3414</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.1</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>It is now possible to start Orber as lightweight.</p>
- <p>Own Id: -</p>
- </item>
- <item>
- <p>It is now possible to create pseudo objects, i.e., not server objects.</p>
- <p>Own Id: -</p>
- </item>
- <item>
- <p>One new system exception introduced; 'BAD_QOS'.</p>
- <p>Own Id: -</p>
- </item>
- <item>
- <p>Orber now supports the types 'long long' and 'unsigned long long'</p>
- <p>Own Id: -</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Encoding typecode for complex exceptions (non-empty body) was not done
- correctly.</p>
- <p>Own Id: OTP-3390</p>
- </item>
- <item>
- <p>orber_iiop_pm crashed when it received an 'EXIT'. Now fixed.</p>
- <p>Own Id: OTP-3391</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.0.1</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Orber is now able to handle upgrade properly.</p>
- <p>Own Id: -</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Orber 3.0</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>It is now possible to use secure IIOP connections to and from Orber.
- Orber currently only supports security with the help of SSL and not SECIOP.</p>
- <p>Own Id: OTP-1510</p>
- </item>
- <item>
- <p>It is now possible to start Orber objects as supervisor children using
- Module_Interface:oe_create_link/2 or corba:create_link/4 as the start function.</p>
- <p>Own Id: -</p>
- </item>
- <item>
- <p>It is now possible to start a Orber object and be able to tell apart if it is in
- the process of being restarted or has permanently terminated. This is also the reason
- for introducing <c>objectkeys_gc_time</c> configuration parameter.</p>
- <p>Own Id: -</p>
- </item>
- <item>
- <p>The service CosEvent has been removed from orber and become its own application, called cosEvent.</p>
- <p>Own Id: -</p>
- </item>
- <item>
- <p>The service CosTransactions is now available as a separate application, called cosTransactions.</p>
- <p>Own Id: OTP-1741</p>
- </item>
- <item>
- <p>Three new system exceptions, 'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK'
- and 'INVALID_TRANSACTION', introduced. Required by the cosTransactions application.</p>
- <p>Own Id: -</p>
- </item>
- <item>
- <p>An configuration variable ip_address has been added, so it's possible
- to listen on a specific ip interface on a multi interface host.
- The value is the ip address as a string or a tuple of four integers,
- default value is all interfaces.</p>
- <p>Own Id: OTP-3294</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>set- and get-operations for the 'any'-module now behaves properly.</p>
- <p>Own Id: OTP-3355</p>
- </item>
- <item>
- <p>Orber can now handle IORs which contain more than one "Tagged Profile".</p>
- <p>Own Id: OTP-3266</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Incompatibilities</title>
- <list type="bulleted">
- <item>
- <p>CosEvent include paths have changed since it is now a separate application, called cosEvent.</p>
- </item>
- <item>
- <p>The internal representation of object references have changed. Orber do, however,
- recognize the old representation. But object references (created by Orber 2.2.2 or older)
- stored and used through several Orber upgrades may not be supported.</p>
- </item>
- <item>
- <p>The functions oe_create/2 and oe_create_link/2 now take an
- options list as its second argument. Orber still allow
- oe_create*(Env, {Type,RegName}) to be used, but may not in future releases.</p>
- </item>
- </list>
- </section>
- </section>
-</chapter>
-
diff --git a/lib/orber/doc/src/orber.xml b/lib/orber/doc/src/orber.xml
index da5fd05f98..05036667cc 100644
--- a/lib/orber/doc/src/orber.xml
+++ b/lib/orber/doc/src/orber.xml
@@ -558,7 +558,7 @@
<desc>
<p>This function installs all the necessary mnesia tables and
load default data in some of them. If one or more Orber tables
- already exists the installation fails. The function\011
+ already exists the installation fails. The function
<em>uninstall</em> may be used, if it is safe, i.e., no other
application is running Orber.</p>
<p>Preconditions:</p>
diff --git a/lib/orber/doc/src/part_notes.xml b/lib/orber/doc/src/part_notes.xml
index 0ff4453d8c..10b3a64373 100644
--- a/lib/orber/doc/src/part_notes.xml
+++ b/lib/orber/doc/src/part_notes.xml
@@ -30,8 +30,6 @@
<description>
<p>The Orber Application is an Erlang implementation of a CORBA Object
Request Broker.</p>
- <p>For information about older versions see
- <url href="part_notes_history_frame.html">release notes history</url>.</p>
</description>
<xi:include href="notes.xml"/>
</part>
diff --git a/lib/orber/doc/src/part_notes_history.xml b/lib/orber/doc/src/part_notes_history.xml
deleted file mode 100644
index 624865014e..0000000000
--- a/lib/orber/doc/src/part_notes_history.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="latin1" ?>
-<!DOCTYPE part SYSTEM "part.dtd">
-
-<part>
- <header>
- <copyright>
- <year>2004</year>
- <year>2007</year>
- <holder>Ericsson AB, All Rights Reserved</holder>
- </copyright>
- <legalnotice>
- The contents of this file are subject to the Erlang Public License,
- Version 1.1, (the "License"); you may not use this file except in
- compliance with the License. You should have received a copy of the
- Erlang Public License along with this software. If not, it can be
- retrieved online at http://www.erlang.org/.
-
- Software distributed under the License is distributed on an "AS IS"
- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- the License for the specific language governing rights and limitations
- under the License.
-
- The Initial Developer of the Original Code is Ericsson AB.
- </legalnotice>
-
- <title>Orber Release Notes History</title>
- <prepared>Niclas Eklund</prepared>
- <docno></docno>
- <date>2004-09-15</date>
- <rev>1.0</rev>
- </header>
- <description>
- <p>The Orber Application is an Erlang implementation of a CORBA Object
- Request Broker.</p>
- </description>
- <include file="notes_history"></include>
-</part>
-
diff --git a/lib/orber/vsn.mk b/lib/orber/vsn.mk
index 8ccdc9792c..ccba631fb5 100644
--- a/lib/orber/vsn.mk
+++ b/lib/orber/vsn.mk
@@ -1,7 +1,10 @@
-ORBER_VSN = 3.6.14
+ORBER_VSN = 3.6.15
-TICKETS = OTP-8201
+TICKETS = OTP-8353 \
+ OTP-8354
+
+TICKETS_3.6.14 = OTP-8201
TICKETS_3.6.13 = OTP-7987
diff --git a/lib/ssh/doc/src/Makefile b/lib/ssh/doc/src/Makefile
index d2907a39d7..e02f04e7ad 100644
--- a/lib/ssh/doc/src/Makefile
+++ b/lib/ssh/doc/src/Makefile
@@ -53,8 +53,8 @@ XML_REF3_FILES = \
ssh_sftp.xml \
ssh_sftpd.xml \
-XML_PART_FILES = part_notes.xml part_notes_history.xml
-XML_CHAPTER_FILES = notes.xml notes_history.xml
+XML_PART_FILES = part_notes.xml
+XML_CHAPTER_FILES = notes.xml
BOOK_FILES = book.xml
@@ -70,8 +70,6 @@ EXTRA_FILES = \
$(XML_REF3_FILES:%.xml=$(HTMLDIR)/%.html) \
$(XML_CHAPTER_FILES:%.xml=$(HTMLDIR)/%.html)
-# notes_history.html \
-
MAN3_FILES = $(XML_REF3_FILES:%.xml=$(MAN3DIR)/%.3)
diff --git a/lib/ssh/doc/src/notes.xml b/lib/ssh/doc/src/notes.xml
index 54e0cf9059..ef49bb8b3d 100644
--- a/lib/ssh/doc/src/notes.xml
+++ b/lib/ssh/doc/src/notes.xml
@@ -29,6 +29,19 @@
<file>notes.xml</file>
</header>
+ <section><title>Ssh 1.1.8</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>Old release notes removed.</p>
+ <p>Own Id: OTP-8356 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+
+ </section>
+
<section><title>Ssh 1.1.7</title>
<section><title>Fixed Bugs and Malfunctions</title>
@@ -581,8 +594,6 @@
</list>
</section>
- <!-- p>For information about older versions see
- <url href="part_notes_history_frame.html">release notes history</url>.</p -->
</section>
</chapter>
diff --git a/lib/ssh/doc/src/notes_history.xml b/lib/ssh/doc/src/notes_history.xml
deleted file mode 100644
index bfebcd4bf4..0000000000
--- a/lib/ssh/doc/src/notes_history.xml
+++ /dev/null
@@ -1,737 +0,0 @@
-<?xml version="1.0" encoding="latin1" ?>
-<!DOCTYPE chapter SYSTEM "chapter.dtd">
-
-<chapter>
- <header>
- <copyright>
- <year>2009</year>
- <year>2009</year>
- <holder>Ericsson AB, All Rights Reserved</holder>
- </copyright>
- <legalnotice>
- The contents of this file are subject to the Erlang Public License,
- Version 1.1, (the "License"); you may not use this file except in
- compliance with the License. You should have received a copy of the
- Erlang Public License along with this software. If not, it can be
- retrieved online at http://www.erlang.org/.
-
- Software distributed under the License is distributed on an "AS IS"
- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- the License for the specific language governing rights and limitations
- under the License.
-
- The Initial Developer of the Original Code is Ericsson AB.
- </legalnotice>
-
- <title>SSH Release Notes History</title>
- <prepared></prepared>
- <responsible></responsible>
- <docno></docno>
- <approved></approved>
- <checked></checked>
- <date></date>
- <rev>A</rev>
- <file>notes_history.xml</file>
- </header>
-
- <section><title>Ssh 0.9.9.6</title>
-
- <section><title>Improvements and New Features</title>
- <list>
- <item>
- <p>
- Updated asn1 file due to change in the asn1 compiler.
- This has no semantical effect on the ssh application.</p>
- <p>
- Own Id: OTP-7246</p>
- </item>
- <item>
- <p>
- Allows for the option {fd, FD} in listen and connect
- calls. The option is passed on to gen_tcp:listen and
- gen_tcp:connect</p>
- <p>
- Own Id: OTP-7247</p>
- </item>
- </list>
- </section>
-</section>
-
- <section><title>Ssh 0.9.9.5</title>
-
- <section><title>Fixed Bugs and Malfunctions</title>
- <list>
- <item>
- <p>
- Putty version 0.60 sends ignore messages, which hanged
- the OTP ssh server.</p>
- <p>
- Own Id: OTP-7076</p>
- </item>
- <item>
- <p>
- ssh_cm hanged when connection was closed during
- handshake. (Triggered by putty 0.60 client.)</p>
- <p>
- Own Id: OTP-7089</p>
- </item>
- <item>
- <p>
- Fixed crash in server when receiving an empty ignore-msg.
- (From the putty 0.60 client.)</p>
- <p>
- Own Id: OTP-7135</p>
- </item>
- </list>
- </section>
-
-
- <section><title>Improvements and New Features</title>
- <list>
- <item>
- <p>
- Now uses the base 64 encode/decode function in stdlib.</p>
- <p>
- Own Id: OTP-6486</p>
- </item>
- <item>
- <p>
- Removed runtime dependency on asn1.</p>
- <p>
- Own Id: OTP-6570</p>
- </item>
- <item>
- <p>
- Documentation update of ssh.</p>
- <p>
- Own Id: OTP-7063 Aux Id: seq10789 </p>
- </item>
- <item>
- <p>
- Same listener is used for both sshd and sftpd. Previously
- the sftpd server had to be run on a separate port, now
- the sshd listener will start an sftpd server when an sftp
- client connects.</p>
- <p>
- Own Id: OTP-7090 Aux Id: seq10675 </p>
- </item>
- <item>
- <p>
- Kebord-interactive support, according to rfc 4256, has
- been added to the ssh client. Also the option
- <c>quiet_mode</c> has been added so that unwanted banners
- may be suppressed.</p>
- <p>
- Own Id: OTP-7106 Aux Id: seq10841 </p>
- </item>
- </list>
- </section>
-
- </section>
-
- <section><title>Ssh 0.9.9.4</title>
-
- <section><title>Improvements and New Features</title>
- <list>
- <item>
- <p>
- [sftpd] - Root parameter now behaves as expected,
- instead of making sftpd malfunction.</p>
- <p>
- Own Id: OTP-7057 Aux Id: seq10830 </p>
- </item>
- </list>
- </section>
- </section>
-
- <section><title>Ssh 0.9.9.3</title>
-
- <section><title>Fixed Bugs and Malfunctions</title>
- <list>
- <item>
- <p>
- The sftp-server could crash if a "ls" was done on the
- client, and a file was removed while ssh_sftpd:list_dir
- was reading the directory, an error code from
- read_file_info wasn't handled properly. This fix makes ls
- return an error code instead.</p>
- <p>
- Own Id: OTP-6854 Aux Id: seq10740 </p>
- </item>
- <item>
- <p>
- Fixed bugs in prompting in ssl_cli. Prompts like \003>
- were written as \300>. Also, newlines and returns was
- removed.</p>
- <p>
- Own Id: OTP-6917 Aux Id: seq10773 </p>
- </item>
- </list>
- </section>
-
- <section><title>Improvements and New Features</title>
- <list>
- <item>
- <p>
- [sftpd] - New option "root" to set the root of the
- sftp-server and the callback module for file handling now
- has a state parameter.</p>
- <p>
- Own Id: OTP-7075 Aux Id: seq10675 </p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Ssh 0.9.9.2</title>
- <section>
- <title>Better error-handling in ssh_sshd:listen</title>
- <list type="bulleted">
- <item>
- <p>The caller was hanged when listening with ssh_sshd:listen
- (or ssh_sftpd:listen) on a port and IP already in use.
- Now an error is returned instead.</p>
- <p>Own Id: OTP-6727</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fix in ssh_sftpd</title>
- <list type="bulleted">
- <item>
- <p>Cd ../.. didn't work when connecting to a ssh_sftpd server.</p>
- <p>Own Id: OTP-6727</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Ssh 0.9.9.1</title>
-
- <section>
- <title>Minor Makefile changes</title>
- <list type="bulleted">
- <item>
- <p>Removed use of <c><![CDATA[erl_flags]]></c> from Makefile.</p>
- <p>Own Id: OTP-6689</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Ssh 0.9.9</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>A race condition that could make the server crash if a
- client sent a SSH_MSG_USERAUTH_REQUEST packet immediately
- after its SSH_MSG_SERVICE_REQUEST, is removed.</p>
- <p>Own Id: OTP-6379 Aux Id: seq10523 </p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Ssh 0.9.8</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Corrected minor bugs and removed dead code found by
- dialyzer.</p>
- <p>Own Id: OTP-6524</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Ssh 0.9.7</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>[sftp] - The function ssh_sftp:make_symlink/3 was not
- fully implemented.</p>
- <p>Own Id: OTP-6446</p>
- </item>
- <item>
- <p>[ssh] - An internal value was, due to a bug, always set
- to undefined even when it was not, this could lead to
- connections being wrongly refused.</p>
- <p>Own Id: OTP-6450</p>
- </item>
- <item>
- <p>A pattern matching was missing "/binary" resulting in
- that the internal function ssh_xfer:decode_acl/2 did not
- work as expected.</p>
- <p>Own Id: OTP-6458</p>
- </item>
- <item>
- <p>[sftp] - read_link/2 did not return the documented value</p>
- <p>Own Id: OTP-6471</p>
- </item>
- <item>
- <p>Removed debugg printouts from ssh_cli.erl</p>
- <p>Own Id: OTP-6483</p>
- </item>
- <item>
- <p>[sftp, ssh] - The connection timeout was overridden by an
- internal gen_server default timeout.</p>
- <p>Own Id: OTP-6488 Aux Id: seq10569 </p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Ssh 0.9.6</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Removed debug printout from production code.</p>
- <p>Own Id: OTP-6348 Aux Id: seq10510 </p>
- </item>
- <item>
- <p>[sftpd] - When the sftp client ends the session the
- server will now behave correctly and not leave the client
- hanging.</p>
- <p>Own Id: OTP-6349 Aux Id: seq10510 </p>
- </item>
- <item>
- <p>[sftpd] - No longer used files were not closed until the
- session was ended.</p>
- <p>Own Id: OTP-6350 Aux Id: seq10514 </p>
- </item>
- <item>
- <p>[sftpd] - File rename requests sent by sftp version 3
- clients were not handled.</p>
- <p>Own Id: OTP-6352 Aux Id: seq10513 </p>
- </item>
- <item>
- <p>[sftpd] - Request that did not fit into one ssh message
- were not handled.</p>
- <p>Own Id: OTP-6353 Aux Id: seq10515 </p>
- </item>
- <item>
- <p>Removed error logging of auth method none, as this is not
- an error but rather a feature, that is used to get
- initial information from the server.</p>
- <p>Own Id: OTP-6414</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>[sftpd] - Added new option to specify a callback module
- for the sftpd-server file handling. The default callback
- module uses file and filelib.</p>
- <p>Own Id: OTP-6356 Aux Id: seq10519 </p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Ssh 0.9.5</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>The data window in SSH wasn't resized in the ssh_cli
- receive data, this made the ssh_cli-server hang if more
- than 64K data was received at one time. The option
- tcp_nodelay was added, for nodelay in tcp connections.</p>
- <p>Own Id: OTP-6231</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>SSH 0.9.4</title>
-
- <section>
- <title>Reported Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Unnecessary explicit start of crypto application
- in ssh application. This has been removed. The
- app-file specifies that ssh depends on the crypto app.
- This is enough. See also the
- <seealso marker="ssh">ssh</seealso> module.</p>
- <p>Also changed some error reports to info reports.</p>
- <p>Own Id: OTP-6183</p>
- <p>Aux Id: Seq 10383</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>SSH 0.9.3</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Added way for cli to get peer name</p>
- <p>Own Id: OTP-6138</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>SSH 0.9.2</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Added some options to listen</p>
- <p>Own Id: OTP-6070</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>SSH 0.9.1</title>
- <section><title>Ssh 0.9.9.4</title>
-
- <section><title>Improvements and New Features</title>
- <list>
- <item>
- <p>
- [sftpd] - Root parameter now behaves as expected,
- instead of making sftpd malfunction.</p>
- <p>
- Own Id: OTP-7057 Aux Id: seq10830 </p>
- </item>
- </list>
- </section>
- </section>
-
- <section><title>Ssh 0.9.9.3</title>
-
- <section><title>Fixed Bugs and Malfunctions</title>
- <list>
- <item>
- <p>
- The sftp-server could crash if a "ls" was done on the
- client, and a file was removed while ssh_sftpd:list_dir
- was reading the directory, an error code from
- read_file_info wasn't handled properly. This fix makes ls
- return an error code instead.</p>
- <p>
- Own Id: OTP-6854 Aux Id: seq10740 </p>
- </item>
- <item>
- <p>
- Fixed bugs in prompting in ssl_cli. Prompts like \003>
- were written as \300>. Also, newlines and returns was
- removed.</p>
- <p>
- Own Id: OTP-6917 Aux Id: seq10773 </p>
- </item>
- </list>
- </section>
-
- <section><title>Improvements and New Features</title>
- <list>
- <item>
- <p>
- [sftpd] - New option "root" to set the root of the
- sftp-server and the callback module for file handling now
- has a state parameter.</p>
- <p>
- Own Id: OTP-7075 Aux Id: seq10675 </p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Ssh 0.9.9.2</title>
- <section>
- <title>Better error-handling in ssh_sshd:listen</title>
- <list type="bulleted">
- <item>
- <p>The caller was hanged when listening with ssh_sshd:listen
- (or ssh_sftpd:listen) on a port and IP already in use.
- Now an error is returned instead.</p>
- <p>Own Id: OTP-6727</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Fix in ssh_sftpd</title>
- <list type="bulleted">
- <item>
- <p>Cd ../.. didn't work when connecting to a ssh_sftpd server.</p>
- <p>Own Id: OTP-6727</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Ssh 0.9.9.1</title>
-
- <section>
- <title>Minor Makefile changes</title>
- <list type="bulleted">
- <item>
- <p>Removed use of <c><![CDATA[erl_flags]]></c> from Makefile.</p>
- <p>Own Id: OTP-6689</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Ssh 0.9.9</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>A race condition that could make the server crash if a
- client sent a SSH_MSG_USERAUTH_REQUEST packet immediately
- after its SSH_MSG_SERVICE_REQUEST, is removed.</p>
- <p>Own Id: OTP-6379 Aux Id: seq10523 </p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Ssh 0.9.8</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Corrected minor bugs and removed dead code found by
- dialyzer.</p>
- <p>Own Id: OTP-6524</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Ssh 0.9.7</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>[sftp] - The function ssh_sftp:make_symlink/3 was not
- fully implemented.</p>
- <p>Own Id: OTP-6446</p>
- </item>
- <item>
- <p>[ssh] - An internal value was, due to a bug, always set
- to undefined even when it was not, this could lead to
- connections being wrongly refused.</p>
- <p>Own Id: OTP-6450</p>
- </item>
- <item>
- <p>A pattern matching was missing "/binary" resulting in
- that the internal function ssh_xfer:decode_acl/2 did not
- work as expected.</p>
- <p>Own Id: OTP-6458</p>
- </item>
- <item>
- <p>[sftp] - read_link/2 did not return the documented value</p>
- <p>Own Id: OTP-6471</p>
- </item>
- <item>
- <p>Removed debugg printouts from ssh_cli.erl</p>
- <p>Own Id: OTP-6483</p>
- </item>
- <item>
- <p>[sftp, ssh] - The connection timeout was overridden by an
- internal gen_server default timeout.</p>
- <p>Own Id: OTP-6488 Aux Id: seq10569 </p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Ssh 0.9.6</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Removed debug printout from production code.</p>
- <p>Own Id: OTP-6348 Aux Id: seq10510 </p>
- </item>
- <item>
- <p>[sftpd] - When the sftp client ends the session the
- server will now behave correctly and not leave the client
- hanging.</p>
- <p>Own Id: OTP-6349 Aux Id: seq10510 </p>
- </item>
- <item>
- <p>[sftpd] - No longer used files were not closed until the
- session was ended.</p>
- <p>Own Id: OTP-6350 Aux Id: seq10514 </p>
- </item>
- <item>
- <p>[sftpd] - File rename requests sent by sftp version 3
- clients were not handled.</p>
- <p>Own Id: OTP-6352 Aux Id: seq10513 </p>
- </item>
- <item>
- <p>[sftpd] - Request that did not fit into one ssh message
- were not handled.</p>
- <p>Own Id: OTP-6353 Aux Id: seq10515 </p>
- </item>
- <item>
- <p>Removed error logging of auth method none, as this is not
- an error but rather a feature, that is used to get
- initial information from the server.</p>
- <p>Own Id: OTP-6414</p>
- </item>
- </list>
- </section>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>[sftpd] - Added new option to specify a callback module
- for the sftpd-server file handling. The default callback
- module uses file and filelib.</p>
- <p>Own Id: OTP-6356 Aux Id: seq10519 </p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>Ssh 0.9.5</title>
-
- <section>
- <title>Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>The data window in SSH wasn't resized in the ssh_cli
- receive data, this made the ssh_cli-server hang if more
- than 64K data was received at one time. The option
- tcp_nodelay was added, for nodelay in tcp connections.</p>
- <p>Own Id: OTP-6231</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>SSH 0.9.4</title>
-
- <section>
- <title>Reported Fixed Bugs and Malfunctions</title>
- <list type="bulleted">
- <item>
- <p>Unnecessary explicit start of crypto application
- in ssh application. This has been removed. The
- app-file specifies that ssh depends on the crypto app.
- This is enough. See also the
- <seealso marker="ssh">ssh</seealso> module.</p>
- <p>Also changed some error reports to info reports.</p>
- <p>Own Id: OTP-6183</p>
- <p>Aux Id: Seq 10383</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>SSH 0.9.3</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Added way for cli to get peer name</p>
- <p>Own Id: OTP-6138</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>SSH 0.9.2</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Added some options to listen</p>
- <p>Own Id: OTP-6070</p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>SSH 0.9.1</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>Fixes in ssh_sftp, changes of timeout handling,
- expand_fun moved to io:setopts</p>
- <p>Own Id: OTP-5877 Aux Id: OTP-5781 </p>
- </item>
- </list>
- </section>
- </section>
-
- <section>
- <title>SSH 0.9</title>
-
- <section>
- <title>Improvements and New Features</title>
- <list type="bulleted">
- <item>
- <p>The previously undocumented and UNSUPPORTED <c><![CDATA[ssh]]></c>
- application has been updated and documented. This release
- of the <c><![CDATA[ssh]]></c> application is still considered to be a
- beta release and (if necessary) there could still be
- changes in its API before it reaches 1.0.</p>
- <p>Also, more cryptographic algorithms have been added to
- the <c><![CDATA[crypto]]></c> application.</p>
- <p>*** POTENTIAL INCOMPATIBILITY ***</p>
- <p>Own Id: OTP-5631</p>
- </item>
- </list>
- </section>
- </section>
- </section>
-
-</chapter>
-
-
diff --git a/lib/ssh/doc/src/part_notes.xml b/lib/ssh/doc/src/part_notes.xml
index f87efffe5c..700f76200c 100644
--- a/lib/ssh/doc/src/part_notes.xml
+++ b/lib/ssh/doc/src/part_notes.xml
@@ -31,8 +31,7 @@
<description>
<p>This document describes the changes made to the SSH application.
</p>
- <p>For information about older versions see
- <url href="part_notes_history_frame.html">release notes history</url>.</p> </description>
+ </description>
<xi:include file="notes.xml"/>
</part>
diff --git a/lib/ssh/doc/src/part_notes_history.xml b/lib/ssh/doc/src/part_notes_history.xml
deleted file mode 100644
index 49f72fd3db..0000000000
--- a/lib/ssh/doc/src/part_notes_history.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="latin1" ?>
-<!DOCTYPE part SYSTEM "part.dtd">
-
-<part>
- <header>
- <copyright>
- <year>2004</year>
- <year>2007</year>
- <holder>Ericsson AB, All Rights Reserved</holder>
- </copyright>
- <legalnotice>
- The contents of this file are subject to the Erlang Public License,
- Version 1.1, (the "License"); you may not use this file except in
- compliance with the License. You should have received a copy of the
- Erlang Public License along with this software. If not, it can be
- retrieved online at http://www.erlang.org/.
-
- Software distributed under the License is distributed on an "AS IS"
- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- the License for the specific language governing rights and limitations
- under the License.
-
- The Initial Developer of the Original Code is Ericsson AB.
- </legalnotice>
-
- <title>Ssh</title>
- <prepared>Ingela Anderton Andin</prepared>
- <docno></docno>
- <date></date>
- <rev></rev>
- <file>part_notes.xml</file>
- </header>
- <include file="notes_history"></include>
-</part>
-
-
diff --git a/lib/ssh/vsn.mk b/lib/ssh/vsn.mk
index 016fb30c69..2b9df4ae60 100644
--- a/lib/ssh/vsn.mk
+++ b/lib/ssh/vsn.mk
@@ -1,9 +1,11 @@
#-*-makefile-*- ; force emacs to enter makefile-mode
-SSH_VSN = 1.1.7
+SSH_VSN = 1.1.8
APP_VSN = "ssh-$(SSH_VSN)"
-TICKETS = OTP-8121 \
+TICKETS = OTP-8356
+
+TICKETS_1.1.7 = OTP-8121 \
OTP-8277 \
OTP-8278 \
OTP-8201
diff --git a/lib/tools/emacs/erlang.el b/lib/tools/emacs/erlang.el
index b352ae7cce..4fc4826238 100644
--- a/lib/tools/emacs/erlang.el
+++ b/lib/tools/emacs/erlang.el
@@ -3955,15 +3955,16 @@ Return nil if inside string, t if in a comment."
(nth 2 stack-top))))
(t
(goto-char (nth 1 stack-top))
- (cond ((looking-at "[({]\\s *\\($\\|%\\)")
- ;; Line ends with parenthesis.
- (erlang-indent-parenthesis (nth 2 stack-top)))
- (t
- ;; Indent to the same column as the first
- ;; argument.
- (goto-char (1+ (nth 1 stack-top)))
- (skip-chars-forward " \t")
- (current-column))))))
+ (let ((base (cond ((looking-at "[({]\\s *\\($\\|%\\)")
+ ;; Line ends with parenthesis.
+ (erlang-indent-parenthesis (nth 2 stack-top)))
+ (t
+ ;; Indent to the same column as the first
+ ;; argument.
+ (goto-char (1+ (nth 1 stack-top)))
+ (skip-chars-forward " \t")
+ (current-column)))))
+ (erlang-indent-standard indent-point token base 't)))))
;;
((eq (car stack-top) '<<)
;; Element of binary (possible comprehension) expression,
@@ -4047,33 +4048,8 @@ Return nil if inside string, t if in a comment."
0))
base)) ;; old catch
(t
- ;; Look at last thing to see how we are to move relative
- ;; to the base.
- (goto-char token)
- (cond ((looking-at "||\\|,\\|->")
- base)
- ((erlang-at-keyword)
- (+ (current-column) erlang-indent-level))
- ((or (= (char-syntax (following-char)) ?.)
- (erlang-at-operator))
- (+ base erlang-indent-level))
- (t
- (goto-char indent-point)
- (cond ((memq (following-char) '(?\( ?{))
- ;; Function application or record.
- (+ (erlang-indent-find-preceding-expr)
- erlang-argument-indent))
- ;; Empty line, or end; treat it as the end of
- ;; the block. (Here we have a choice: should
- ;; the user be forced to reindent continued
- ;; lines, or should the "end" be reindented?)
-
- ;; Avoid treating comments a continued line.
- ((= (following-char) ?%)
- base)
- ;; Continued line (e.g. line beginning
- ;; with an operator.)
- (t (+ base erlang-indent-level)))))))))
+ (erlang-indent-standard indent-point token base 'nil)
+ ))))
))
((eq (car stack-top) 'when)
(goto-char (nth 1 stack-top))
@@ -4105,21 +4081,55 @@ Return nil if inside string, t if in a comment."
(+ 2 (nth 2 stack-top)))
((looking-at "::[^_a-zA-Z0-9]")
(nth 2 stack-top))
- (t
- (goto-char (nth 1 stack-top))
- (cond ((looking-at "::\\s *\\($\\|%\\)")
- ;; Line ends with ::
- (+ (erlang-indent-find-preceding-expr 2)
- erlang-argument-indent))
- ;; (* 2 erlang-indent-level))
- (t
- ;; Indent to the same column as the first
- ;; argument.
- (goto-char (+ 2 (nth 1 stack-top)))
- (skip-chars-forward " \t")
- (current-column))))))
+ (t
+ (let ((start-alternativ (if (looking-at "|") 2 0)))
+ (goto-char (nth 1 stack-top))
+ (- (cond ((looking-at "::\\s *\\($\\|%\\)")
+ ;; Line ends with ::
+ (if (eq (car (car (last stack))) 'spec)
+ (+ (erlang-indent-find-preceding-expr 1)
+ erlang-argument-indent)
+ (+ (erlang-indent-find-preceding-expr 2)
+ erlang-argument-indent)))
+ (t
+ ;; Indent to the same column as the first
+ ;; argument.
+ (goto-char (+ 2 (nth 1 stack-top)))
+ (skip-chars-forward " \t")
+ (current-column))) start-alternativ)))))
)))
+(defun erlang-indent-standard (indent-point token base inside-parenthesis)
+ "Standard indent when in blocks or tuple or arguments.
+ Look at last thing to see in what state we are, move relative to the base."
+ (goto-char token)
+ (cond ((looking-at "||\\|,\\|->\\||")
+ base)
+ ((erlang-at-keyword)
+ (+ (current-column) erlang-indent-level))
+ ((or (= (char-syntax (following-char)) ?.)
+ (erlang-at-operator))
+ (+ base erlang-indent-level))
+ (t
+ (goto-char indent-point)
+ (cond ((memq (following-char) '(?\( ?{))
+ ;; Function application or record.
+ (+ (erlang-indent-find-preceding-expr)
+ erlang-argument-indent))
+ ;; Empty line, or end; treat it as the end of
+ ;; the block. (Here we have a choice: should
+ ;; the user be forced to reindent continued
+ ;; lines, or should the "end" be reindented?)
+
+ ;; Avoid treating comments a continued line.
+ ((= (following-char) ?%)
+ base)
+ ;; Continued line (e.g. line beginning
+ ;; with an operator.)
+ (t
+ (if (or (erlang-at-operator) (not inside-parenthesis))
+ (+ base erlang-indent-level)
+ base))))))
(defun erlang-indent-find-base (stack indent-point &optional offset skip)
"Find the base column for current stack."
diff --git a/lib/tools/emacs/test.erl.indented b/lib/tools/emacs/test.erl.indented
index 1d91b2f155..1ccced9177 100644
--- a/lib/tools/emacs/test.erl.indented
+++ b/lib/tools/emacs/test.erl.indented
@@ -44,6 +44,24 @@
b
}).
+-record(record3, {a = 8#42423 bor
+ 8#4234,
+ b = 8#5432
+ bor 2#1010101
+ c = 123 +
+ 234,
+ d}).
+
+-record(record4, {
+ a = 8#42423 bor
+ 8#4234,
+ b = 8#5432
+ bor 2#1010101
+ c = 123 +
+ 234,
+ d}).
+
+
-define(MACRO_1, macro).
-define(MACRO_2(_), macro).
@@ -51,8 +69,10 @@
-type ann() :: Var :: integer().
-type ann2() :: Var ::
- 'return' | 'return_white_spaces' | 'return_comments'
- | 'text' | ann().
+ 'return'
+ | 'return_white_spaces'
+ | 'return_comments'
+ | 'text' | ann().
-type paren() ::
(ann2()).
-type t1() :: atom().
@@ -89,7 +109,7 @@
fun((nonempty_maybe_improper_list('integer', any())|
1|2|3|a|b|<<_:3,_:_*14>>|integer()) ->
nonempty_maybe_improper_list('integer', any())|
- 1|2|3|a|b|<<_:3,_:_*14>>|integer()).
+ 1|2|3|a|b|<<_:3,_:_*14>>|integer()).
-type t20() :: [t19(), ...].
-type t21() :: tuple().
-type t21(A) :: A.
@@ -116,6 +136,22 @@
(T :: tuple()) -> R3 :: bar:typen().
-spec mod:t2() -> any().
+
+-spec handle_cast(Cast :: {'exchange', node(), [[name(),...]]}
+ | {'del_member', name(), pid()},
+ #state{}) -> {'noreply', #state{}}.
+
+-spec handle_cast(Cast ::
+ {'exchange', node(), [[name(),...]]}
+ | {'del_member', name(), pid()},
+ #state{}) -> {'noreply', #state{}}.
+
+
+-spec get_closest_pid(term()) ->
+ Return :: pid()
+ | {'error', {'no_process', term()}
+ | {'no_such_group', term()}}.
+
-opaque attributes_data() ::
[{'column', column()} | {'line', info_line()} |
{'text', string()}] | {line(),column()}.
@@ -282,7 +318,10 @@ indent_basics(X, Y, Z)
c
),
-
+ call(2#42423 bor
+ #4234,
+ 2#5432,
+ other_arg),
ok;
indent_basics(Xlongname,
#struct{a=Foo,
@@ -496,7 +535,7 @@ indent_catch() ->
B = catch oskar(X),
A = catch (baz +
- bax),
+ bax),
catch foo(),
C = catch B +
diff --git a/lib/tools/emacs/test.erl.orig b/lib/tools/emacs/test.erl.orig
index 049fc21286..9b4203120b 100644
--- a/lib/tools/emacs/test.erl.orig
+++ b/lib/tools/emacs/test.erl.orig
@@ -44,6 +44,24 @@
b
}).
+-record(record3, {a = 8#42423 bor
+ 8#4234,
+ b = 8#5432
+ bor 2#1010101
+ c = 123 +
+234,
+ d}).
+
+-record(record4, {
+ a = 8#42423 bor
+ 8#4234,
+ b = 8#5432
+ bor 2#1010101
+ c = 123 +
+ 234,
+ d}).
+
+
-define(MACRO_1, macro).
-define(MACRO_2(_), macro).
@@ -51,8 +69,10 @@
-type ann() :: Var :: integer().
-type ann2() :: Var ::
- 'return' | 'return_white_spaces' | 'return_comments'
- | 'text' | ann().
+ 'return'
+ | 'return_white_spaces'
+ | 'return_comments'
+ | 'text' | ann().
-type paren() ::
(ann2()).
-type t1() :: atom().
@@ -116,6 +136,22 @@ t15(),t20(),t21(), t22(),t25()}.
(T :: tuple()) -> R3 :: bar:typen().
-spec mod:t2() -> any().
+
+-spec handle_cast(Cast :: {'exchange', node(), [[name(),...]]}
+ | {'del_member', name(), pid()},
+ #state{}) -> {'noreply', #state{}}.
+
+-spec handle_cast(Cast ::
+ {'exchange', node(), [[name(),...]]}
+ | {'del_member', name(), pid()},
+ #state{}) -> {'noreply', #state{}}.
+
+
+-spec get_closest_pid(term()) ->
+ Return :: pid()
+ | {'error', {'no_process', term()}
+ | {'no_such_group', term()}}.
+
-opaque attributes_data() ::
[{'column', column()} | {'line', info_line()} |
{'text', string()}] | {line(),column()}.
@@ -282,7 +318,10 @@ Y =:= 4711 ->
c
),
-
+ call(2#42423 bor
+ #4234,
+ 2#5432,
+ other_arg),
ok;
indent_basics(Xlongname,
#struct{a=Foo,