0a9461ea0abd1cd970e92f17a631d2c565880032
[sxemacs] / etc / NEWS
1 -*- mode:outline -*-
2 \f
3 * Introduction
4 ==============
5
6 This file presents the changes in recent SXEmacs versions.  It
7 primarily documents user-visible (interface) changes, but also
8 includes internal changes of possible interest to the users.  When
9 describing new features, we try to also document ways of reverting to
10 the old behavior, where applicable.  If you dislike a recent change in
11 how SXEmacs behaves, this file might contain a remedy.
12
13 Use `C-c C-f' to move to the next equal level of outline, and
14 `C-c C-b' to move to previous equal level.  `C-h m' will give more
15 info about the Outline mode.  Many commands are also available through
16 the menubar.
17
18 Users who would like to know which capabilities have been introduced
19 in each release should look at the appropriate section of this file.
20
21
22 \f
23 * Changes in SXEmacs 22.1.16 (Hillman Hunter)
24 =============================================
25
26 ** Developer Stats
27
28            Nelson Ferreira -- 124 commits
29
30               Steve Youngs --  62 commits
31     Horst G. Burkhardt III --   6 commits
32              Evgeny Zajcev --   3 commits
33             Ruediger Meier --   3 commits
34          Sebastian Freundt --   1 commit
35
36 ** Bugs closed in this release:
37
38 132, 141, 152, 155, 156, 158, 160, 161, 162, 163, 165, 169, 170, 171,
39 172, 173, 174, 176, 181
40
41 ** Multimedia fixes/updates -- Ferreira, Youngs.
42
43 SoX and FFmpeg support was brought back and mostly fixed.  PulseAudio
44 has been brought back, and support for "media roles" was added.
45
46 ** Build chain fixes/updates -- Meier, Ferreira, Burkhardt, Youngs
47
48 A lot of work went into stamping out compiler warnings and errors to
49 give us a much cleaner/safer build.
50
51 ** FFI updates -- Zajcev, Youngs.
52
53 ** Don't reset the cursor upon exit on a TTY -- Youngs.
54
55 ** Contrib updates/fixes/additions -- Ferreira, Youngs.
56
57 ** Make docs compatible with Texinfo 5.x -- Youngs.
58
59 ** Support Unix user/group lookups -- Ferreira.
60
61 ** XDG compliance -- Youngs.
62
63 SXEmacs now looks for user files in locations that are much more
64 inline with modern standards and conventions.
65
66 `user-init-directory' is now ${XDG_CONFIG_HOME}/sxemacs or
67 ~/.config/sxemacs if $XDG_CONFIG_HOME is not set.
68
69 User packages will now be searched for in ${XDG_DATA_HOME}/sxemacs
70 (~/.local/share/sxemacs).
71
72 The old legacy directory `~/.sxemacs' is still supported, and in fact
73 will still be used if the XDG directories don't exist and it (the
74 legacy dir) does.  A user can also force use of the legacy directory
75 if they so choose.
76
77 ** Add wildcard support to #'find-file et al. -- Youngs.
78
79 ** Fix coding cookies -- Youngs.
80
81 ** "In-tree builds" are no longer supported. -- Youngs.
82
83 If you want to build SXEmacs, do the right thing and build OUTSIDE of
84 the source tree.
85
86 ** TTY related fixes/updates -- Ferreira.
87
88 ** Various minor updates/tweaks/fixes -- Burkhardt, Ferreira, Youngs.
89
90
91 * Changes in SXEmacs 22.1.15 (Goggomobil)
92 =========================================
93
94 ** Developer Stats
95
96            Nelson Ferreira -- 435 commits
97
98          Sebastian Freundt --  87 commits
99               Steve Youngs --  63 commits
100                 Rudi Meier --  12 commits
101              Evgeny Zajcev --   7 commits
102     Horst G. Burkhardt III --   4 commits
103                Aidan Kehoe --   2 commits
104                JD Horelick --   1 commit
105
106 ** Bugs closed in this release:
107
108 76, 78, 88, 106, 108, 112, 121, 122, 125, 126, 127, 128, 131, 134,
109 135, 136, 137, 138, 139, 140
110
111 ** Coverity integrity scan fixes -- Ferreira.
112
113 Coverity (http://www.coverity.com/) offers source code integrity
114 analysis scans.  These scans often uncover bugs and security issues
115 that would otherwise go unnoticed.  When we first scanned the SXEmacs
116 code base with the Coverity scanner we had ourselves roughly 500
117 "defects".  Nelson Ferreira has pretty much single-handedly fixed them
118 ALL!!  Well done, Nelson and thanks a million!!!
119
120 ** Build related fixes/updates -- Ferreira, Freundt, Horelick, Meier,
121                                   Youngs.
122
123 Amongst the many, many, build chain updates I can also report that
124 SXEmacs will now build and run on OpenIndiana.  Go us!
125
126 There were also fixes for: SuSe, PowerPC, MacOS, FreeBSD, NetBSD.
127
128 There were also many compiler warning fixes from Nelson and
129 Sebastian.
130
131 ** FFI tweaks/fixes -- Keheo, Youngs, Zajcev.
132
133 ** Bitrot removal -- Burkhardt, Youngs.
134
135 Over the years things get old, obsolete, and forgotten.  We've gone
136 through and cleaned house.  Say goodbye to aRts, GTK1, tooltalk, and a
137 heap of rubbish in lib-src.
138
139 *** aRts -- Burkhardt.
140 *** GTK 1 -- Youngs.
141 *** tooltalk / CDE -- Youngs.
142 *** lib-src -- Youngs.
143
144 ** Whitespace cleanup -- Youngs.
145
146 Every file in the repository has had all trailing and otherwise
147 spurious whitespace removed/fixed.  Obviously not an entirely critical
148 thing, but tidy is tidy. :-)
149
150
151 ** Support libpng 1.5.x -- Youngs.
152
153
154 * Changes in SXEmacs 22.1.14 (Geo)
155 ==================================
156
157 We switched to git!  And this release cycle was all about updating the
158 build chain, version strings, and docs and whatnot from tla-isms to
159 git-isms. 
160
161 You can now grab the SXEmacs sources via git with...
162
163    git clone http://git.sxemacs.org/sxemacs
164
165
166 * Changes in SXEmacs 22.1.12 (Fiat)
167 ===================================
168
169 ** Bugs closed in this release:
170
171 69, 86, 107, 109, 110, 111, 113, 114, 115, 117, 118, 120
172
173 ** Build chain fixes and updates -- Ferreira, Freundt, Youngs.
174
175 *** Fix building without eye-candy (*bars, widgets, etc)
176 *** Begin work on getting SXEmacs built on Arm Linux
177 *** Fix NetBSD 5 build
178 *** Mac OS build fixes
179
180 ** Source tree reorganisation -- Ferreira.
181
182 Nelson put a lot of working into reorganising the SXEmacs source tree
183 hierarchy.  There are now several subdirectories under `src'...
184
185         src/database -- has the database code
186         src/ent      -- has the "Enhance Number Types" code
187         src/events   -- has the "events" code
188         src/media    -- has all the multimedia code
189         src/mem      -- has memory related code
190         src/mule     -- has the MULE stuff
191         src/ui       -- has the UI code common to all toolkits
192         src/ui/Gtk   -- has the old (non-working) GTK 1 code
193         src/ui/TTY   -- has the TTY UI code
194         src/ui/X11   -- has the X11 UI code
195         src/ui/lwlib -- has the Lucid stuff
196
197 This was done with the view to making maintenance and debugging
198 easier, and also to simplify adding new features.
199
200 ** FFI improvements, updates, and enhancements -- Zajcev
201
202
203 * SXEmacs 22.1.11 was never released.
204
205 See ChangeLog.d/ChangeLog-22.1.11 for all the changes in the
206 22.1.11 dev cycle, and for why it was not released.
207
208 * Changes in SXEmacs 22.1.10 (Excalibur)
209 ========================================
210
211 ** Bugs closed in this release:
212
213 41, 65, 74, 75, 79, 80, 81, 82, 83, 84, 85, 87, 89, 90, 91, 92, 93,
214 94, 95, 96, 97, 99, 100, 101, 102, 104
215
216 ** Cool New Sexy Stuff -- Zajcev, Ferreira, Freundt, Youngs.
217
218 Of course every release must have some cool new stuff.  Here's what's
219 new in this release...
220
221 *** User defined readers
222 *** It's possible to display video in a glyph object in a buffer.
223 *** SXEmacs is now a fairly decent image viewing/manipulation app.
224
225 There's an undo/redo stack, zoom in/out, rotate, chop/crop, red-eye
226 reduction.  There is a whole swag of transformations supported:
227 charcoal, contrast, despeckle, edge, enhance, equalise, gausian blur,
228 negate, normalise, oil painting, radial blur, 3D button effect,
229 sharpen, solarise, and swirl.
230
231 Who needs The Gimp when you have SXEmacs!
232
233 *** Added some MacOS icons.
234 *** Support for sqlite3 via FFI
235 *** New way for SXEmacs to handle different file types.
236
237 It allows you to have #'find-file take different actions based on a
238 predicate.  See the new variable `find-file-magic-files-alist'.
239
240 *** Enable PNG transparent backgrounds
241
242 Unfortunately this doesn't work if you use a background pixmap.
243
244 *** FFI callbacks implemented.
245 *** Dbus support via FFI (not completed)
246
247 This should be considered very much incomplete and experimental.  Only
248 rudimentary support is there so far.
249
250 ** Build chain fixes/improvements -- Burkhardt, Ferreira, Freundt, Youngs.
251
252 Quite a few build chain related changes were made in this release,
253 including...
254
255 *** Work around a bug in GCC 4.5.0
256 *** Powerpc/BSD cpu detection
257 *** A Freedesktop.org compliant sxemacs.desktop file is now installed.
258 *** Updated FFmpeg detection.
259 *** OpenSSL 1.0.0 detection.  OpenSSL is no on by default.
260 *** Fix a link error when building with no MPQ
261 *** Fix a minor bison related issue (YYSTYPE)
262 *** Fix building with latest SoX
263 *** Fix --without-x builds
264 *** Fix many C compiler warnings and elisp byte-compiler warnings.
265 *** Fix install for non-FFI and non-Mule builds
266 *** Fix etags build for systems without getopt_long
267 *** Fix (hopefully) parallel builds
268 *** Fix BDWGC-enabled builds
269
270 ** Minor updates to BDWGC code -- Freundt.
271
272 ** Catch up with latest ffmpeg API changes -- Freundt.
273
274 ** Fix for latest ediff -- Ferreira.
275
276 Changes emacs-internal to escape-quoted.
277
278 ** Fix for subwindow resizing -- Zajcev.
279
280 ** Various additions/updates to the contrib directory -- Ferreira
281
282 ** FFI improvements -- Zajcev
283
284 ** ENT fixes -- Freundt.
285
286 ** TTY fixes -- Ferreira.
287
288 ** Cleaner dump file (less pollution from the build/src dir) -- Freundt, Youngs.
289
290 ** Improve #'file-basename -- Ferreira
291
292 It can now take a 2nd arg for extension stripping.
293
294 ** Misc doc fixes/updates -- Burkhardt, Ferreira, Freundt, Zajcev, Youngs.
295
296 * Changes in SXEmacs 22.1.9 (Edsel)
297 ===================================
298
299 ** Bugs closed in this release:
300
301 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 45, 46, 47, 48, 49, 50, 51,
302 53, 54, 55, 56, 57, 58, 59, 60, 61, 62
303
304 See http://issues.sxemacs.org/ for the details.
305
306 ** Build chain fixes and improvements -- Freundt, Ferreira.
307
308 Better detection of ALSA, ffmpeg, libffi, libbind, and many other
309 various bits and pieces.
310
311 General build related fixes were made for MacOS, Solaris, HPUX, and of
312 course, Linux.
313
314 ** New function, #'mapfam -- Freundt.
315
316 This new function is an extrememly powerful replacement for _all_ of
317 the current map functions.  It not only can do the job of the
318 existing map functions, but can also convert any sequence to any
319 other sequence.  Lots of other cool features as well, see its doc
320 string for full details.
321
322 ** Init file migration code removed -- Youngs.
323
324 We feel that it is better to NOT mess with other emacsen's set ups.
325
326 ** Compiler warning fixes -- Freundt.
327
328 ** PNG images optimised for size -- Burkhardt.
329
330 All of the PNG images that we ship have been optimised for size.
331
332 ** Re-work auto-autoloads loading a little -- Ferreira.
333
334 Priority is given to packages installed under ~/.sxemacs/ and care is
335 taken to eliminate those "foo-autoloads already loaded" warnings.
336
337 ** Support 256 colour terminals -- Ferreira.
338
339 Support for 256 colour terminals and colour resolution through
340 approximation for tty devices.
341
342 ** New FFI util, ffi-magic.el -- Youngs.
343
344 Uses libmagic to guess file type.
345
346 ** Cool new stuff in the contrib directory -- Youngs, Ferreira.
347
348 There are tla hook scripts, build scripts, and build-report scripts.
349
350 ** New garbage collector BDWGC -- Freundt.
351
352 SXEmacs can now use the Boehm-Demers-Weiser garbage collector.  It is
353 still experimental at this stage and there are known bugs (memory
354 leak).  If you have plenty of RAM it is quite usable, and noticably
355 faster than non-BDWGC SXEmacsen.  This new feature is not on by
356 default.  To get it, configure with --with-experimental-features=all.
357
358 ** Support for BSD's MP removed -- Freundt.
359
360 ** Emodule search path/loading fixes -- Youngs.
361
362 Emodule load path has been made sane.  #'load-module and
363 #'locate-module have both been vastly improved and both have
364 completion. 
365
366 ** FFI improvements -- Youngs.
367
368 The FFI code has been improved so that it can be compatible with
369 XEmacs 21.5 for when they merge our FFI into their code base.  Also
370 #'ffi-load and #'ffi-load-library no longer need to be given a file
371 extension as part of the arg to allow for different platforms having
372 different shlib extensions.
373
374 Also, some UI enhancements were added to ffi-curl.el and
375 ffi-taglib.el.
376
377 ** Etags improvements -- Youngs.
378
379 A bit of "UI" has been added to etags.el, as well as some code
380 optimising.
381
382 ** Various minor tweaks, fixes, and documentation -- Burkhardt, Ferreira,
383       Freundt, Wallington, Youngs.
384
385
386 * Changes in SXEmacs 22.1.8 (Daimler)
387 =====================================
388
389 ** Bugs closed in this release: 22, 24, 26, 27, 29, 31
390
391 You might notice a double up of bug numbers here from the previous
392 release.  The index got reset and so some bug ID numbers were
393 re-issued.
394
395 ** Build chain fixes, improvements -- Freundt, Ferreira, Youngs.
396
397 We now have a libtool-based build chain.
398
399 ** Minor improvements to packages bootstrapping -- Youngs.
400
401 ** User's custom file renamed to custom-${USER}.el -- Youngs.
402
403 The old variant, custom.el is still used if that file exists.
404
405 ** Sync XEmacs 21.5's cus-*.el, autoload.el, subr.el -- Youngs.
406
407 Amongst other things, this sync brings custom-defines, many new custom
408 widgets, and an implementation of the `:inherit' face keyword.
409
410 ** Skiplist fixes -- Freundt.
411
412 ** Introduce custom printers -- Zajcev.
413
414 ** Update GPL licenced stuff to GPL version 3 -- Youngs.
415
416 ** Add a rc.d inspired init mechanism -- Ferreira.
417
418 ** Font lock improvements -- Ferreira.
419
420 ** Byte compile defcustom init values, saving lisp values for correct editing -- Kehoe.
421
422 Sync from XEmacs 21.5.
423
424 ** Improve interactivity of custom prompting -- Verna.
425
426 Sync from XEmacs 21.5.
427
428 ** Resize echo area when needed -- Aichner, Turnbull, Youngs.
429
430 Sync from XEmacs 21.5.  Don't confuse this with rsz-minibuffer.el in
431 the packages,  This is different, the minibuffer and echo area are 2
432 different things.
433
434 ** #'describe-function (C-h f) prints global keybindings for commands -- Kehoe, Youngs.
435
436 Sync from XEmacs 21.5.
437
438 ** New `%b' spec for #'format -- Freundt, Kehoe.
439
440 This is for converting between ints and bit vectors.
441
442 ** Sample init file updated -- Youngs.
443
444 ** Fix the bug exposed by our weak-tests.el -- Youngs.
445
446 ** Update the man page -- Youngs.
447
448 ** Support character classes in regexps -- Freundt.
449
450 ** Misc trivial changes such as doc fixes, typos, etc -- Burkhardt,
451      Freundt, Ferreira, Youngs.
452
453
454 * Changes in SXEmacs 22.1.7 (De Lorean)
455 =======================================
456
457 ** Bugs closed in this release: 13, 20, 21, 24, 25, 27, 28, 31
458
459 ** Much reworking of the build chain -- Freundt, Ferreira, Youngs.
460
461 Quite a bit has changed here, a few options have been changed, added,
462 or removed.  So if you haven't been following the development it might
463 pay you to have a look at our configure's --help output.
464
465 ** Fix emodule loading on 64bit machines -- Freundt.
466
467 ** Security fix in movemail.c (mktemp()->mkstemp()) -- Youngs.
468
469 ** Etags synched up to upstream 17.32 -- Burkhardt, Youngs.
470
471 ** Updates/fixes to dllists/skiplists -- Freundt, Ferreira.
472
473 ** Lots of updates in the ENT area (Enhanced Number Types) -- Freundt.
474
475 Some stuff has been moved to an external emodule, "ASE" (Algebraic
476 Structures for ENT or "ASE Supersedes ENT").  Also directed graphs
477 have been introduced (sparse representation only so far).  And
478 introduce heaps (dense, dynamic, and week).
479
480 ** cl.el meets C -- Freundt.
481
482 We've begun work on implementing the common lisp macros as an external
483 emodule.  The main focus here is speed, and initial benchmarks are
484 _very_ exciting... The emod version of #'dotimes (#'cl:dotimes) can be
485 nearly 200 times faster than its elisp counterpart!
486
487 This isn't finished yet, but watch future releases.
488
489 ** package-suppress mechanism ported from XEmacs 21.5 -- Freundt, Youngs.
490
491 ** Asynchronous version of #'curl:download added called #'curl:download& -- Freundt.
492
493 ** Font-lock improvements, especially on TTYs -- Ferreira.
494
495 ** Fix info search path -- Ferreira.
496
497 ** Change default setting for progress guages to be off -- Youngs.
498
499 ** Multimedia updates/fixes -- Freundt, Youngs.
500
501 Lots of reworking has been done here, especially with PulseAudio,
502 ffmpeg, and threading of the audio jobs etc.  Support for gstreamer
503 and xine has been dropped, and libmagic added.
504
505 ** New macro to define "toggle" variables #'define-toggle-variable -- Zajcev
506
507 I wouldn't normally list a single new macro in this file, but this one
508 deserves a mention.  It sets up toggle variables, including
509 #'turn-on-VAR, #'turn-off-VAR, and #'toggle-VAR.  Very nifty.
510
511 ** Many many compiler warnings have been fixed -- Freundt, Youngs.
512
513 Almost all byte-compiler warnings have been fixed in our build.  And a
514 good deal of the warnings in the C code of a standard build has been
515 fixed as well.
516
517 ** GC fixes/updates -- Freundt.
518
519 ** A contrib directory has been added to the tree -- Freundt.
520
521 So far there are patches in there to pop3.el, smtpmail.el, and
522 starttls.el which takes advantage of some of SXEmacs' cool native
523 features like OpenSSL.
524
525 Watch this space for more nifty things.
526
527 ** Minor misc fixes (typos etc) -- Zajcev, Burkhardt, Freundt, Ferreira, Youngs.
528
529 ** Documentation updates:
530         o sppm.texi -- Burkhardt, Youngs.
531         o lispref.texi -- Freundt, Youngs.
532         o tips.texi -- Freundt.
533         o building.texi -- Youngs.
534         o processes.texi -- Ferreira.
535         o internals.texi -- Freundt.
536
537 * Changes in SXEmacs 22.1.6 (Cadillac)
538 ======================================
539
540 ** ENT (Enhanced Number Types) updates and fixes -- Freundt, Ferreira.
541
542 ** MM (MultiMedia) updates and fixes -- Freundt, Ferreira, Youngs.
543
544 ** FFi (Foreign Function Interface) updates -- Freundt, Zajcev.
545
546 ** New ffi-gcrypt.el -- Freundt.
547
548 ffi-gcrypt.el brings GnuPG's libgcrypt bindings to SXEmacs.
549
550 ** Line/column numbers in modeline are now padded -- Ferreira.
551
552 ** New skiplists -- Freundt.
553
554 This is a basic implementation of Pugh's skip lists.  Their efficiency
555 is overwhelming when compared to alists or plists.  They also perform
556 better on insertion and removal than large hash-tables (due to the
557 resizing/rehashing which takes place).  They can be created almost as
558 fast as lisp lists and thus beat hash-tables there, too.
559
560 ** Fix module (DSO) load paths -- Youngs.
561
562 ** SXEmacs maintainer turned 40 -- Mr and Mrs Youngs.
563
564 This is a recurring bug that was first discovered on June 19th, 1966.
565
566 ** Test suite updates/improvements -- Turnbull, Youngs.
567
568 ** Etags updates/fixes -- Ferreira, Youngs.
569
570 Sync to Francesco's version 17.20 etags.  And major surgery on
571 etags.el to make it usable, fixing completion and support for the
572 "include" directive.
573
574 ** Fix raw string parsing -- Kehoe.
575
576 A problem that arose in lisp-interaction-mode, where raw strings
577 were parsed as normal strings if you did a C-j after them, becase
578 forward-sexp couldn~t handle them.
579
580 ** Sync bytecomp-runtime.el with XEmacs 21.5 -- Youngs.
581
582 The significance of this is that SXEmacs now has all those cool
583 with,if,when,and-boundp macros for clean byte-compiler warning
584 suppression.
585
586 ** OpenSSL updates/fixes/improvements -- Freundt.
587
588 A rewrite of the old handshake functions.  SSL connections can be
589 established as before: open a network-stream, call ossl-ssl-handshake
590 on it and store the result.  The new implementation provides also
591 support for certificate authorities (CA), for peer certificates and,
592 using the network-server-streams, secure listening sockets.  This will
593 allow to connect/accept to/from servers/clients which require valid
594 peer certificates.
595
596 ** New PulseAudio support -- Freundt.
597
598 PulseAudio is the successor to PolypAudio.  Because there were so few
599 users using Polyp (think we counted 2 and they're both SXEmacs
600 developers) SXEmacs support for PolypAudio was replaced by PulseAudio
601 support. 
602
603 ** New Caching compiled regular expressions -- Freundt.
604
605 All you really need to do to use them is assign them (the regexp) to a
606 variable.  Here's an example...
607
608   (let ((reg1 "^;+\\s-")
609         (reg2 "\\s-+;+"))
610     (while (and (re-search-forward reg1 nil t)
611                 (re-search-forward reg2 nil t))
612       ...))
613
614 instead of:
615
616   (while (and (re-search-forward "^;+\\s-" nil t)
617               (re-search-forward "\\s-+;+" nil t))
618     ...)
619
620 The former construct will store the compiled regular expressions in the
621 object property list of `reg1' and `reg2' on the first iteration of
622 `while', all following iterations will then use the already compiled
623 regexps.  The latter construct will behave as before, the regular
624 expression is compiled and stored, but since the string is hard-coded in
625 the buffer, it will be newly generated (with empty object-plist of
626 course) during every cycle of the while loop.
627
628 ** Cleaner dump file -- Freundt, Youngs.
629
630 The portable dump file was getting polluted with things in the
631 packages load-path causing all sorts of undefined and unexpected
632 impossible to track down bugs.  No longer!
633
634 ** Fix many many byte-compiler warnings in building core lisp -- Youngs.
635
636 ** Fix building without emodules -- Ferreira.
637
638 ** New Support emodules on MacOS -- Ferreira.
639
640 ** Fix BerkeleyDB detection on NetBSD -- Ferreira.
641
642 ** New SXEmacs icons added to dist -- Ferreira.
643
644 ** Major restructuring of the build chain and install layout -- Freundt.
645
646 SXEmacs is now pretty much a completely autotool'd project... automake,
647 autoheader, the whole 9 yards.  And if that wasn't enough, we are now
648 also, to the best of our knowledge, reasonably FHS-compliant with our
649 install.
650
651 The changes to the install directory hierarchies are:
652
653            now go to...                before went to...
654   lisp     share/sxemacs-22.1.6/lisp/  lib/sxemacs-22.1.6/lisp/
655   etc      share/sxemacs-22.1.6/etc/   lib/sxemacs-22.1.6/etc/
656   info     share/info/                 lib/sxemacs-22.1.6/info/
657   headers  include/sxemacs/22.1.6/     lib/sxemacs-22.1.6/<arch>/include/
658
659 Packages are now searched for in
660
661   $prefix/share/sxemacs/{{s,}xemacs,mule,site}-packages/
662
663 instead of $prefix/lib/sxemacs/.../
664
665 ** DnD dragged out and dropped on /dev/null -- Freundt.
666
667 ** Misc build fixes -- Freundt, Ferreira, Youngs.
668
669 ** Fix `tags' Makefile target -- Youngs.
670
671 ** Fix bug in `lib-complete' -- Freundt.
672
673 The bug was causing `find-library' to visit the .elc instead of the
674 .el if you were running SXEmacs in-place from the build tree.
675
676 ** Fix stack overflow crash in mapconcat -- Ferreira.
677
678 ** Large update of about.el -- Freundt, Ferreira, Youngs.
679
680 See: M-x about-sxemacs
681
682 ** Various documentation updates/fixes/improvements -- Freundt, Ferreira, Youngs.
683
684
685 * Changes in SXEmacs 22.1.5 (Bugatti)
686 =====================================
687 First up, this release has turned into a purely maintenance/bugfix
688 release.  SXEmacs 22.1.4 had several build-related issues that this
689 release addresses.
690
691 ** version.sh fix -- Youngs.
692
693 Fix a problem with the wrong version being generated.
694
695 ** Autoconf fixes -- Youngs, Ferreira, Freundt.
696
697 Lots of changes to the autoconf configure script
698
699         - Recognise $CFLAGS environment variables
700         - X toolkit autodetection redone
701         - TTY autodetection fixed
702         - PostgreSQL detection properly reported
703         - Change allowed values for menubars, dialogs, widgets
704                 menubars -- no athena or motif
705                 dialogs  -- no lucid
706                 widgets  -- no lucid
707         - Set configure's "bugreport address" to
708           http://issues.sxemacs.org. 
709         - Fix gdbm/berkdb detection
710         - Improve libc version detection
711
712 ** New Makefile target (build-report) -- Kuehl.
713
714 `make build-report' is a convenience target.  It automatically
715 captures make output to files that `M-x build-rpt' knows about.  It
716 also runs `make check'.  The SXEmacs developers recommend that you use
717 this target to build SXEmacs.
718
719 ** PROBLEMS updated -- Kuehl, Freundt.
720
721 Document SELinux/libffi issues and GMP/mpfr Fedora issues.
722
723 ** pdump/ENT fix for *BSD -- Freundt.
724
725 ** Documentation updates/fixes -- Youngs, Ferreira, Freundt.
726
727
728 * Changes in SXEmacs 22.1.4 (Bentley Turbo)
729 ===========================================
730
731 ** Many more image formats via FFI/libWand -- Freundt.
732
733 FFI-enabled SXEmacs can load up libWand and thus display any image
734 format that libWand (ImageMagick) supports.
735
736 ** Lots of updates to the ENT (Enhanced Number Types) code -- Freundt.
737
738 ** Mule is on by default -- Youngs.
739
740 ** Embeddable keyboard macros -- Kuehl.
741
742 This means that the following sort of thing is possible:
743
744       C-x ( bar C-x )
745       C-x ( foo C-x e C-x )
746     
747       C-x e
748       => foo bar
749
750 ** Default widgets/dialogs to Athena instead of Motif -- Youngs.
751
752 ** OpenSSL updates -- Freundt.
753
754 Digest, encryption, and decryption routines that operate on files has
755 been added.  Previously this was only available for buffers.
756
757 ** Build reports have been revamped -- Youngs, Freundt.
758
759 The SXEmacs build report no longer conflicts with the XEmacs
760 build-report.el.  Plus ours also reports on shared lib dependencies
761 and config.h stuff.  Sending from Gnus is also supported.
762
763 ** FFI updates/fixes -- Youngs, Zajcev, Freundt.
764
765 ** Ability to build postscript, pdf, and html docs -- Ferreira.
766
767 ** Double linked lists and bloom filters implemented -- Freundt.
768
769 Bloom filters are a space and time-efficient way to decide about the
770 membership of an element to a given set. Using lisp-lists or vectors,
771 one usually has to traverse the entire list or vector, before
772 membership can be decided.  Using hash tables, membership decision is
773 in O(1) (bloom filters also decide in O(1)), but the hash-table's size
774 grows proportionally with the number n of elements, thus its space
775 complexity is O(n), whereas Bloom filters take a constant amount of
776 space regardless how many elements are in it.
777
778 ** Lightning fast recursive version of directory-files -- Freundt.
779
780 It's called `directory-files-recur' and in some situations it is even
781 faster than GNU's find(1).
782
783 ** Portuguese added to etc/HELLO -- Ferreira.
784
785 ** Massive improvements, enhancements for multimedia (audio) -- Freundt.
786
787 SXEmacs supports several "sound servers" like: OSS, NAS, ESD, Polypaudio,
788 ALSA, aRts, and Jack.  And media streams can be handled by sndfile, ffmpeg,
789 sox, mad, xine, gstreamer.  The SXEmacs developers recommend Polyp/ffmpeg
790 whenever possible.
791
792 And yes, SXEmacs _can_ play mp3 files. :-)
793
794 ** Autoconf fixes/updates -- Youngs, Freundt.
795
796 All of the enable/disable options have been converted to with/without
797 options.  This allows us to sort them into groups.
798
799 Also fixes were made to allow building on FreeBSD and NetBSD.
800
801 ** Big update for the FAQ -- Youngs, Freundt.
802
803 ** Server Sockets! -- Ferreira.
804
805 SXEmacs now has server sockets (Yay!).  See
806 `open-network-server-stream'.
807
808 ** Compiler fixes (gcc 2.95) -- Freundt.
809
810 ** bug-reporter update -- Youngs.
811
812 `report-sxemacs-bug' now directs people to our BugZilla installation
813 at http://issues.sxemacs.org/
814
815 ** Documentation updates/fixes/improvements -- Youngs, Ferreira, Freundt.
816
817
818 * Changes in SXEmacs 22.1.3 (BMW)
819 =================================
820
821 ** OpenSSL updates, improvements, and fixes -- Freundt.
822
823 ** FFI updates, and fixes -- Zajcev.
824
825 FFI now defaults to "on" if libffi can be found at configure time.  It
826 you don't want this, use: `--disable-ffi'.
827
828 FTP downloads with `curl:download' is working properly now.  And with
829 HTTP transfers you can transfer just the HTTP header for a file if you
830 wish.
831
832 ** Extent/glyph fixes -- Sidwell, Kuehl.
833
834 ** 32 mouse buttons supported -- Youngs.
835
836 (global-set-key [(button32)] 'some-function) is valid in SXEmacs.
837
838 ** Modeline tweaks -- Ferreira.
839
840 Move line/column number indicators to left side (aka XE 21.5)
841
842 ** M-x uptime -- Youngs.
843
844 Every good OS has an uptime util, SXEmacs is no exception.  Reports
845 uptime in various formats.
846
847 ** ia64 build fixes -- Lesjak.
848
849 ** `C-h n' will no longer find NEWS files from packages -- Youngs.
850
851 ** List of package mirrors updated -- Aichner, Skyttä.
852
853 ** Bootstrappable PUI -- Youngs.
854
855 SXEmacs no longer needs to have _any_ packages pre-installed before
856 PUI can be used.  See (Info-goto-node "(sxemacs)Bootstrapping PUI").
857
858 ** Bignums, and a whole swag of sexy new number goodness -- Freundt.
859
860 Bignums, bigfloats, and ratios that you may know from XEmacs 21.5 are
861 now in SXEmacs.  That and a whole lot more...
862
863 Features provided when all of the library demands are met:
864     
865   (featurep 'bigz) and 
866   (featurep 'bignum)       <=> if MPZ from GMP or BSD MP is present
867   
868   (featurep 'bigq) and
869   (featurep 'ratio)        <=> if MPQ from GMP is present
870   
871   (featurep 'bigf) and
872   (featurep 'bigfloat)     <=> if MPF from GMP is present
873   
874   (featurep 'bigfr)        <=> if MPFR is present
875   
876   (featurep 'bigc)         <=> if MPC is present
877   
878   (featurep 'number-types) <=> if one of the above features is
879   provided
880
881 For complete details see: (Info-goto-node "(lispref)Enhanced Number Types")
882
883 ** Raw strings -- Kuehl.
884
885 SXEmacs tries to relieve backslashitis by implementing raw strings.
886 You'll imediately notice the benefit of raw strings when use them for
887 those hairy regexps.  Consider the regular expression (from
888 font-latex.el)... 
889
890   "\\(?:^\\|[^\\]\\)\\(?:\\\\\\\\\\)*\\(\\\\[@A-Za-z]+\\)"
891
892 As a raw string it could be written as...
893
894   #r"\(?:^\|[^\]\)\(?:\)*\(\\[@A-Za-z]+\)"
895
896 Most of the SXEmacs core lisp code has been converted over to using
897 raw strings whereever appropriate.
898
899 ** Improved font-locking in a TTY -- Ferreira.
900
901 To illustrate this...
902
903   $ sxemacs -nw -vanilla
904
905 ...and look at the modeline.  Now open a .c file and turn on
906 font-lock... 
907
908   C-x C-f /path/to/file.c RET
909   M-x font-lock-mode RET
910
911 ** Compiler fixes -- Zajcev.
912
913 ** SXEmacs can no longer be built with a C++ compiler -- Youngs.
914
915 To build SXEmacs you will need a C compiler at least the equivalent of
916 GCC 2.95.3.  Building with a C++ compiler is no longer supported.
917
918 ** Autoconf fixes, updates -- Freundt, Kuehl, Youngs.
919
920 All autoconf options now have a help string (for ./configure --help)
921 and the default setting for each option is noted.
922
923 ** PostgreSQL auto-detection improved -- Youngs.
924
925 If pg_config is in your $PATH, SXEmacs will add PostgreSQL support at
926 configure/build time.
927
928 ** Documentation (Texinfo) updates -- Freundt, Youngs.
929
930 The SXEmacs manual is now called "sxemacs" instead of "xemacs".  C-h
931 C-i sxemacs RET to read it.
932
933 Most of the Texinfo docs now have been updated to say "SXEmacs"
934 whereever appropriate instead of "XEmacs".
935
936 ** GTK (version 1.2) build fixes -- Youngs.
937
938
939 * Changes in SXEmacs 22.1.2 (Audi)
940 ==================================
941
942 ** autoconf 2.59 compatible configure scripts -- Youngs, Purvis.
943
944 Many configure options have changed.  Please run `./configure --help'
945 to see what the new options are.
946
947 ** Most win32 code is now gone -- Youngs, Freundt.
948
949 ** `describe-installation' report libc version on Slackware -- Youngs.
950
951 ** etags.c updated to Francesco's version 17.11 -- Youngs.
952
953 ** Support `ls --dired' properly -- Sperber.
954
955 ** FFI (Foreign Function Interface) updates -- Zajcev.
956
957 One of the most exciting things is that this version of SXEmacs can
958 download files from the internet _without_ the need of any XEmacs
959 packages being installed.  If you have libcurl and enable FFI in
960 SXEmacs at build time, you can:
961
962         (require 'ffi-curl)
963         (curl:download "http://www.somedomain.com/path/file"
964                        "/tmp/file")
965
966 To put your mind at ease, libcurl is _NOT_ needed to build SXEmacs.
967 The above will work even if you install libcurl after
968 building/installing SXEmacs.
969
970 ** Don't echo GC messages for non-string GC'ing -- Zajcev.
971
972 This drastically reduces the number of "Garbage Collecting" messages
973 that you see in the echo area.  Garbage collection is still happening,
974 it is just not in your face as much.
975
976 ** movemail.c security fixes -- Oskarsson.
977
978 ** PUI's *packages* buffer enhancements -- Koch.
979
980 ** Saner fallbacks for `backup-buffer' -- Youngs.
981
982 Based on an idea from JWZ, if the backup can't be written, try in
983 `auto-save-directory', and if that fails, fall back to $HOME.
984
985 ** OpenSSL support -- Freundt.
986
987 Of course. The OpenSSL library itself is actually separated into two
988 libraries: libcrypto and libssl.  libcrypto is the part which comes to
989 elisp with the current API.  libssl is planned for the near future.
990
991 With this interface/gateway we now have access to the wonderful world
992 of static cryptography (static here means no handshake/protocols/etc.).
993
994 The API contains:
995
996 - the OpenSSL PRNG = (pseudo) random number generator to provide
997   generating cryptographically secure randomness
998
999 - the OpenSSL MDs (message digests) to provide all sorts of hashing
1000   (we had an md5 implementation already)
1001
1002 - the HMAC aka keyed hashing aka message authentication code to provide
1003   hashes secured by a password
1004
1005 - the CIPHER engine (i.e. symmetric crypto systems) to provide
1006   encryption/decryption routines secured by a password
1007
1008 - the PKEY engine (i.e. asymmetric crypto systems) to provide generation
1009   and distribution of private/public key pairs (as probably known by
1010   gpg)
1011
1012 - the HYBRIDe engine aka PKCS aka public key crypto systems to provide
1013   encryption based on (foreign) public keys and decryption with own
1014   private keys to provide also digital signatures and verification (as
1015   probably known by gpg)
1016
1017 ** Remove most of the generated files from the repo -- Youngs, Freundt.
1018
1019 ** Allow suppression of WM decorations -- Turnbull.
1020
1021 This makes balloon-help windows infinitely better behaved.  Thank you
1022 very much, Steve T.
1023
1024 ** Fontify *scratch* buffer according to user's settings -- Kehoe.
1025
1026 ** Fix bug hanging SXEmacs when yanking > 260kb -- Kehoe.
1027
1028 ** lispref manual updated for SXEmacs -- Freundt.
1029
1030 ** PostgreSQL updates (mainly doc updates) -- Frenudt.
1031
1032
1033 * Changes in SXEmacs 22.1.1 (Aston Martin)
1034 ==========================================
1035
1036 ** user-init-directory set to ~/.sxemacs -- Youngs.
1037
1038 Symlinking this to your old ~/.xemacs directory is enough to get up
1039 and running with SXEmacs.
1040
1041 ** Packages hierarchy default set to $prefix/lib/sxemacs -- Youngs.
1042
1043 Symlinking this to your old $prefix/lib/xemacs directory is enough to
1044 get up and running with SXEmacs.  SXEmacs will do this for you when
1045 you do `make install'.
1046
1047 ** Rename items in the menubar -- Slusar, Youngs.
1048
1049 ** Beginnings of FFI -- Zajcev.
1050
1051 FFI is "Foreign Function Interface" and will allow access to functions
1052 and libraries outside of SXEmacs from within lisp.  Not completed yet,
1053 but the basic infrastructure is in place.
1054
1055 ** FreeBSD build fixes -- Slusar.
1056
1057 ** M-x report-sxemacs-bug -- Youngs.
1058
1059 For now, this is just a wrapper around report-xemacs-bug with the
1060 appropriate variables set to SXEmacs values.
1061
1062 ** Fix etags.c -- Slusar.
1063
1064 Avoid a segv.
1065
1066 ** M-x build-report -- Youngs.
1067
1068 Make it work for SXEmacs.
1069
1070 ** Fix major bug in regex.c
1071
1072 This fixed a whole swag of crashes involving regexps and
1073 syntax-tables. 
1074
1075 ** Sync up with XEmacs 21.4 -- Various Developers.
1076
1077
1078 * Changes in SXEmacs 22.1.0 (Alfa Romeo)
1079 ========================================
1080
1081 This is the first release of SXEmacs.  It is a fork of XEmacs
1082 21.4.16.  The vast majority of the changes between SXEmacs 22.1.0 and
1083 the code it descended from, XEmacs 21.4.16, are purely renaming
1084 "XEmacs" to "SXEmacs".