~clint-fewbar/ubuntu/precise/erlang/merge-15b

« back to all changes in this revision

Viewing changes to lib/compiler/doc/src/notes.xml

  • Committer: Package Import Robot
  • Author(s): Sergei Golovan
  • Date: 2011-12-15 19:20:10 UTC
  • mfrom: (1.1.18) (3.5.15 sid)
  • mto: (3.5.16 sid)
  • mto: This revision was merged to the branch mainline in revision 33.
  • Revision ID: package-import@ubuntu.com-20111215192010-jnxcfe3tbrpp0big
Tags: 1:15.b-dfsg-1
* New upstream release.
* Upload to experimental because this release breaks external drivers
  API along with ABI, so several applications are to be fixed.
* Removed SSL patch because the old SSL implementation is removed from
  the upstream distribution.
* Removed never used patch which added native code to erlang beam files.
* Removed the erlang-docbuilder binary package because the docbuilder
  application was dropped by upstream.
* Documented dropping ${erlang-docbuilder:Depends} substvar in
  erlang-depends(1) manpage.
* Made erlang-base and erlang-base-hipe provide virtual package
  erlang-abi-15.b (the number means the first erlang version, which
  provides current ABI).

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
<chapter>
5
5
  <header>
6
6
    <copyright>
7
 
      <year>2004</year><year>2010</year>
 
7
      <year>2004</year><year>2011</year>
8
8
      <holder>Ericsson AB. All Rights Reserved.</holder>
9
9
    </copyright>
10
10
    <legalnotice>
31
31
  <p>This document describes the changes made to the Compiler
32
32
    application.</p>
33
33
 
 
34
<section><title>Compiler 4.8</title>
 
35
 
 
36
    <section><title>Fixed Bugs and Malfunctions</title>
 
37
      <list>
 
38
        <item>
 
39
          <p>
 
40
            Add '-callback' attributes in stdlib's behaviours</p>
 
41
          <p>
 
42
            Replace the behaviour_info(callbacks) export in stdlib's
 
43
            behaviours with -callback' attributes for all the
 
44
            callbacks. Update the documentation with information on
 
45
            the callback attribute Automatically generate
 
46
            'behaviour_info' function from '-callback' attributes</p>
 
47
          <p>
 
48
            'behaviour_info(callbacks)' is a special function that is
 
49
            defined in a module which describes a behaviour and
 
50
            returns a list of its callbacks.</p>
 
51
          <p>
 
52
            This function is now automatically generated using the
 
53
            '-callback' specs. An error is returned by lint if user
 
54
            defines both '-callback' attributes and the
 
55
            behaviour_info/1 function. If no type info is needed for
 
56
            a callback use a generic spec for it. Add '-callback'
 
57
            attribute to language syntax</p>
 
58
          <p>
 
59
            Behaviours may define specs for their callbacks using the
 
60
            familiar spec syntax, replacing the '-spec' keyword with
 
61
            '-callback'. Simple lint checks are performed to ensure
 
62
            that no callbacks are defined twice and all types
 
63
            referred are declared.</p>
 
64
          <p>
 
65
            These attributes can be then used by tools to provide
 
66
            documentation to the behaviour or find discrepancies in
 
67
            the callback definitions in the callback module.</p>
 
68
          <p>
 
69
            Add callback specs into 'application' module in kernel
 
70
            Add callback specs to tftp module following internet
 
71
            documentation Add callback specs to inets_service module
 
72
            following possibly deprecated comments</p>
 
73
          <p>
 
74
            Own Id: OTP-9621</p>
 
75
        </item>
 
76
        <item>
 
77
          <p>
 
78
            The calculation of the 'uniq' value for a fun (see
 
79
            <c>erlang:fun_info/1</c>) was too weak and has been
 
80
            strengthened. It used to be based on the only the code
 
81
            for the fun body, but it is now based on the MD5 of the
 
82
            BEAM code for the module.</p>
 
83
          <p>
 
84
            Own Id: OTP-9667</p>
 
85
        </item>
 
86
      </list>
 
87
    </section>
 
88
 
 
89
 
 
90
    <section><title>Improvements and New Features</title>
 
91
      <list>
 
92
        <item>
 
93
            <p>Variables are now now allowed in '<c>fun M:F/A</c>' as
 
94
            suggested by Richard O'Keefe in EEP-23.</p>
 
95
            <p>The representation of '<c>fun M:F/A</c>' in the
 
96
            abstract format has been changed in an incompatible way.
 
97
            Tools that directly read or manipulate the abstract
 
98
            format (such as parse transforms) may need to be updated.
 
99
            The compiler can handle both the new and the old format
 
100
            (i.e. extracting the abstract format from a pre-R15 BEAM
 
101
            file and compiling it using compile:forms/1,2 will work).
 
102
            The <c>syntax_tools</c> application can also handle both
 
103
            formats.</p>
 
104
          <p>
 
105
            *** POTENTIAL INCOMPATIBILITY ***</p>
 
106
          <p>
 
107
            Own Id: OTP-9643</p>
 
108
        </item>
 
109
        <item>
 
110
          <p>
 
111
            <c>filename:find_src/1,2</c> will now work on stripped
 
112
            BEAM files (reported by Per Hedeland). The HiPE compiler
 
113
            will also work on stripped BEAM files. The BEAM compiler
 
114
            will no longer include compilation options given in the
 
115
            source code itself in <c>M:module_info(compile)</c>
 
116
            (because those options will be applied anyway if the
 
117
            module is re-compiled).</p>
 
118
          <p>
 
119
            Own Id: OTP-9752</p>
 
120
        </item>
 
121
        <item>
 
122
            <p>Inlining binary matching could cause an internal
 
123
            compiler error. (Thanks to Rene Kijewski for reporting
 
124
            this bug.)</p>
 
125
          <p>
 
126
            Own Id: OTP-9770</p>
 
127
        </item>
 
128
      </list>
 
129
    </section>
 
130
 
 
131
</section>
 
132
 
 
133
<section><title>Compiler 4.7.5</title>
 
134
 
 
135
    <section><title>Fixed Bugs and Malfunctions</title>
 
136
      <list>
 
137
        <item>
 
138
          <p>
 
139
            Compiler options given in the source code using a
 
140
            <c>-compile()</c> attribute used to be included twice in
 
141
            <c>Mod:module_info(compile)</c>. They are now only
 
142
            included once at the beginning of the list of options.</p>
 
143
          <p>
 
144
            Own Id: OTP-9534</p>
 
145
        </item>
 
146
        <item>
 
147
          <p>
 
148
            beam_disasm: Handle stripped BEAM files</p>
 
149
          <p>
 
150
            beam_disasm:file/1 would crash if asked to disassemble a
 
151
            stripped BEAM file without an "Attr" chunk. (Thanks to
 
152
            Haitao Li)</p>
 
153
          <p>
 
154
            Own Id: OTP-9571</p>
 
155
        </item>
 
156
      </list>
 
157
    </section>
 
158
 
 
159
</section>
 
160
 
 
161
<section><title>Compiler 4.7.4</title>
 
162
 
 
163
    <section><title>Fixed Bugs and Malfunctions</title>
 
164
      <list>
 
165
        <item>
 
166
          <p>
 
167
            If a variable is matched out in binary matching and used
 
168
            as the size for a binary element, it would seem to be
 
169
            unbound if used in a subsequent match operation. (Thanks
 
170
            to Bernard Duggan.)</p>
 
171
          <p>
 
172
            Own Id: OTP-9134</p>
 
173
        </item>
 
174
        <item>
 
175
            <p>Eliminate incorrect warning in
 
176
            <c>sys_core_fold</c></p>
 
177
          <p>
 
178
            Own Id: OTP-9152</p>
 
179
        </item>
 
180
      </list>
 
181
    </section>
 
182
 
 
183
</section>
 
184
 
 
185
<section><title>Compiler 4.7.3</title>
 
186
 
 
187
    <section><title>Fixed Bugs and Malfunctions</title>
 
188
      <list>
 
189
        <item>
 
190
          <p>
 
191
            The <c>-export_type()</c> directive is no longer included
 
192
            among the attributes.</p>
 
193
          <p>
 
194
            Own Id: OTP-8998</p>
 
195
        </item>
 
196
      </list>
 
197
    </section>
 
198
 
 
199
 
 
200
    <section><title>Improvements and New Features</title>
 
201
      <list>
 
202
        <item>
 
203
          <p>
 
204
            The maximum number of allowed arguments for an Erlang
 
205
            function has been lowered from 256 to 255, so that the
 
206
            number of arguments can now fit in a byte.</p>
 
207
          <p>
 
208
            Own Id: OTP-9049</p>
 
209
        </item>
 
210
        <item>
 
211
          <p>
 
212
            Dependency generation for Makefiles has been added to the
 
213
            compiler and erlc. See the manual pages for
 
214
            <c>compile</c> and <c>erlc</c>. (Thanks to Jean-Sebastien
 
215
            Pedron.)</p>
 
216
          <p>
 
217
            Own Id: OTP-9065</p>
 
218
        </item>
 
219
      </list>
 
220
    </section>
 
221
 
 
222
</section>
 
223
 
34
224
<section><title>Compiler 4.7.2</title>
35
225
 
36
226
    <section><title>Fixed Bugs and Malfunctions</title>