~ubuntu-branches/ubuntu/intrepid/ecl/intrepid

« back to all changes in this revision

Viewing changes to src/CHANGELOG

  • Committer: Bazaar Package Importer
  • Author(s): Peter Van Eynde
  • Date: 2006-06-21 09:21:21 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20060621092121-txz1f21lj0wh0f67
Tags: 0.9h-20060617-1
* New upstream version
* Updated standards version without real changes. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
 
10
10
 - ECL compiles and passes tests in OpenBSD/x86.
11
11
 
 
12
* Unicode support: (contributed by Brian Spilsbury)
 
13
 
 
14
 - Unicode strings (24-bits characters) are now supported as data structure,
 
15
   though they do not print and read properly.
 
16
 
12
17
* Visible changes:
13
18
 
14
19
 - Many functions have got now the prefix "ecl_" so as to avoid namespace
104
109
   effect as SI::SET-BUFFERING-MODE's argument.
105
110
 
106
111
 - ECL can be built against locally installed copies of the Boehm-Weiser
107
 
   garbage collector, as far as they are recent. This has been checked with
108
 
   OpenBSD & Ubuntu. You may need to supply appropiate LDFLAGS & CFLAGS for the
 
112
   garbage collector, if they are recent. This has been checked with OpenBSD &
 
113
   Ubuntu. You may need to supply appropiate LDFLAGS & CFLAGS for the
109
114
   configuration to detect the headers.
110
115
 
 
116
 - ECL can now compile files with constants that do not print readably, such as
 
117
   CLOS objects. In those cases, MAKE-LOAD-FORM is used to recreate these
 
118
   constants. The only case where this fail is when the "unreadable" constant
 
119
   is part of a circular structure (contributed by Brian Spilsbury).
 
120
 
 
121
 - The second value of MACROEXPAND-1 is true whenever a macroexpansion
 
122
   happened; in other words, whenever an macro function was called. MACROEXPAND
 
123
   on the additionally checks whether the macroexpanded form is eq to the
 
124
   original one and complains of the infinite loop that results.
 
125
 
 
126
 - Configuration flag --with-tcp defaults to true.
 
127
 
 
128
 - [Win32] Add a :SYSTEM key argument to C::BUILDER, used when building a program,
 
129
   to specify the type of executable. Possible values are :CONSOLE, to build a
 
130
   console program, and :WINDOWS, to build a Windows program. The second case makes
 
131
   only sense when the program contains some GUI (M. Goffioul).
 
132
 
 
133
 - The compiler is slightly faster by avoiding use of EVAL.
 
134
 
 
135
 - APROPOS, APROPOS-LIST and EXT:HELP* are now case insensitive.
 
136
 
111
137
* MOP compatibility:
112
138
 
113
139
 - SLOT-VALUE, SLOT-BOUNDP, etc, together with MOP SLOT*-USING-CLASS generic
196
222
              (faa))))
197
223
   A form (FOO 3) produced 4 before the bug was fixed.
198
224
 
 
225
 - The compiler now admits THE forms with type (VALUES ...), though they are
 
226
   ignored.
 
227
 
 
228
 - (DEFPACKAGE ... (:IMPORT NIL)) failed to import symbol NIL.
 
229
 
 
230
 - The compiler and the interpreter now share the same environment
 
231
   structure. This is important for issues like shadowing. Take the
 
232
   following code:
 
233
        (defmacro foo () 2)
 
234
        (defmacro test (symbol &environment env)
 
235
                (and (macro-function symbol env) t))
 
236
        (defun doit () (flet ((foo () 1)) (test foo))))
 
237
   If interpreted, DOIT is properly defined to return NIL, because the function
 
238
   FOO shadows the global macro definition. If compiled, MACRO-FUNCTION was
 
239
   unable to detect the shadowing definition. (B. Spilsbury)
 
240
 
 
241
 - The compilation of function calls with more than 64 arguments produced wrong
 
242
   code in some cases. The code for this has been reworked and unified with
 
243
   code for multiple value calls and other structures such as unwind-protect
 
244
   forms.
 
245
 
 
246
 - The functions created by MACROLET must be compiled taking into account other
 
247
   enclosing MACROLET and SYMBOL-MACRO definitions. This allows one to write
 
248
   something like
 
249
        (defun a ()
 
250
          (symbol-macro ((x 1))
 
251
            (macrolet ((m () x))
 
252
              (m))))
 
253
        (a) => 1
 
254
   This has been achieved by merging the C and bytecodes compiler environments.
 
255
   We have tried to implement this questionable feaure in the safest way, so
 
256
   that references to local variables, functions, blocks and tags cause an error.
 
257
        > (defun a (x)
 
258
           (macrolet ((m () x))
 
259
             (m)))
 
260
        In a MACROLET function you tried to access a local variable, X,
 
261
        from the function in which it appears.
 
262
        Top level.
 
263
        >>
 
264
 
199
265
* Documentation:
200
266
 
201
267
 - The HTML manuals now use CSS for a more appealing look.