diff options
Diffstat (limited to 'lib')
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, |