1
22013-07-15    Steve Slaven <bpk@hoopajoo.net>
3        * version bumps
4        * pull from kalev
5        * debian file updates
6
72013-07-13    Gustav Hållberg <gustav@gmail.com>
8        * stop using bzero() and check a few return values
9
102013-07-10    Kalev Lember <kalevlember@gmail.com>
11        * build: Error out if curses libraries weren't found
12        * README: Update the link to MUME
13        * wrap_print: Fix an endless loop with 0-length strings
14
152013-03-25    Kalev Lember <kalevlember@gmail.com>
16        * Enable TCP keep-alive
17
182011-10-01    Kalev Lember <kalevlember@gmail.com>
19        * Use AC_SEARCH_LIBS for libdl
20
212009-09-01    Steve Slaven <bpk@hoopajoo.net>
22        * bump
23
242009-09-01    Kalev Lember <kalev@smartlink.ee>
25        * Match prompts longer than terminal width
26        * plugtest.c: fix segmentation fault at load time
27        * Create empty ChangeLog if we build from git tree
28
292009-04-30    Steve Slaven <bpk@hoopajoo.net>
30        * Version bump
31
322009-04-22    Steve Slaven <bpk@hoopajoo.net>
33        * Changed to gpl2+
34
352009-04-21    Steve Slaven <bpk@hoopajoo.net>
36        * Update license to gpl2+
37
382009-04-20    Kalev Lember <kalev@smartlink.ee>
39        * Symlink powwow-movieplay to powwow-movie2ascii.
40        * Rename muc to powwow-muc.
41        * Rename movie_play to powwow-movieplay.
42        * Move "follow" and "catrw" to noinst_PROGRAMS.
43
442009-04-14    Steve Slaven <bpk@hoopajoo.net>
45        * Bump
46        * Include powwow.6.utf-8 in the dist
47        * version bump
48
492009-04-11    Steve Slaven <bpk@hoopajoo.net>
50        * Updated rcs type for mkdist
51        * This is the pre-rcs history, appended to the Changelog when
52          autogenerated
53        * This is autogenerated
54
552009-04-11    Kalev Lember <kalev@smartlink.ee>
56        * cmd.c: Fix a small memory leak in ptrdup2.
57
582009-04-08    Kalev Lember <kalev@smartlink.ee>
59        * Rename movie.c -> movie_play.c
60        * Add a configure option to select plugin directory.
61        * configure.in: Display summary at the end of configure run.
62        * cmd2.c: Move aliases/actions back to default group if it was
63          specified as '*'.
64        * Rename ChangeLog.old -> ChangeLog.
65        * Add more files to .gitignore.
66
672009-04-08    Jahara <nschimme@gmail.com>
68        * cmd2.c: Fixed setting alias/action groups back to default.
69
702009-03-25    Kalev Lember <kalev@smartlink.ee>
71        * Remove autogenerated files.
72        * autogen.sh: New script to regenerate autotools files.
73        * powwow.doc: Update IAC GA related documentation.
74
752009-01-17    Gustav Hållberg <gustav@gmail.com>
76        * fixed minor bug when running out of memory, introduced by
77          0bae10b19a62e285746e2a4aad963928018d1a53
78        * properly handle when tty writes block; fixes possible lock-up
79          introduced by 277a06dbb45f4f249bb3f09d524ae064c842b7c5
80        * bugfixed #capture together with multibyte output locales
81          such as UTF-8
82        * semi-properly handle IACs in MPI messages
83        * removed unused variable
84        * added #addstatic command
85        * added .gitignore
86        * cleaned up #option code and added '#option list'
87        * fixed formatting errors in '#help'
88        * support different man page encodings
89        * make --enable-bsd default on OS X (darwin) hosts
90        * support ./configure --disable-FEATURE
91        * minor typo fixes
92        * bugfixes for characters read from tty with high bit set
93        * disallow #rebind of key sequence which is the prefix of
94          another sequence
95        * fixed memory leak caused by 'ptr' variables not getting their
96          "signature" set
97        * set better $TITLE when viewing help texts
98        * cleaned up the man page a bit
99        * corrected spelling of Mattias Engdegård's last name
100        * bugfixed error message for '#action <some-unknown-action>'
101        * fixed tty_raw_write to take a size_t length instead of int
102        * manually buffer data written to tty with USE_LOCALE; this
103          fixes buffering problems for some platforms
104        * when compiling with GCC, use attribute((format, (printf, ...))
105          for tty_printf
106        * fixed problem when a tcp packet ends with an unterminated
107          escape code
108        * fixed some compilation warnings
109        * renamed _cmd_init() to initialize_cmd() and added a function
110          prototype for it
111        * changed file encoding to utf-8
112
1132008-01-09    Steve Slaven <bpk@hoopajoo.net>
114        * More version bumps
115        * Version number bump
116
1172007-10-10    Steve Slaven <bpk@hoopajoo.net>
118        * Switched to using pointers to save the last space because
119          counters could be off if there were ansi sequences
120
1212007-10-09    Steve Slaven <bpk@hoopajoo.net>
122        * Version isn't a valid keyword
123        * Fix debian version numbers
124        * Version bump
125        * This should change the option +wrap to do word wrapping
126          instead of just line wrapping
127        * Don't try and load non-.so files in cmd_module
128
1292007-03-08    Steve Slaven <bpk@hoopajoo.net>
130        * This should again fix the double-free bug that was once fixed
131          in perlwow
132
1332006-12-07    Steve Slaven <bpk@hoopajoo.net>
134        * Fixed version numbers
135
1362006-11-08    Steve Slaven <bpk@hoopajoo.net>
137        * This fixed #bind and #rebind problems, patch from kalev lember
138
1392006-10-20    Steve Slaven <bpk@hoopajoo.net>
140        * More checks for building in cygwin
141
1422006-03-24    Steve Slaven <bpk@hoopajoo.net>
143        * Removed malloc.h since it's obsolete, fixed follow.c to not
144          use tty_read_fd since it looks like a copy-paste job that
145          didn't get fixed and causes brokenness on bsd
146        * Fixed maintainer line
147
1482006-02-06    Steve Slaven <bpk@hoopajoo.net>
149        * Updated debian build, bumped version
150
1512006-02-02    Steve Slaven <bpk@hoopajoo.net>
152        * Fixed up copyright symbols and display (Dain)
153        * Fixes crash if non-latin-1 character is entered before
154          connecting to a server (Dain)
155
1562006-01-31    Steve Slaven <bpk@hoopajoo.net>
157        * Fixes bugged #var $(expression). bug #1: It was possible to
158          create variables with illegal names. bug #2: Expressions like
159          "-30" or "+5" were incorrectly interpretted as named variables
160          which were then completely inaccessible. bug #3: Deletion of
161          existing named variable via #var $(expression)= caused crash.
162          (pointer to var-node was not set)
163        * Better handling of line continuation (Elestir)
164        * 1. Allows empty-line matching using regexp. E.g.: gagging of
165          all empty lines #action %empty ^$=
166        * Fixes operator . (dot) which didn't check for valid index
167          range. (Elestir)
168        * Make speedwalk execute aliases if defined instead of just
169          sending directions (Elestir)
170        * Allow configuring the group delimiter to any arbitrary string
171        * A patch that fixes a problem with not restoring the fcntl
172          flags for stdout before running a #! command.
173
1742005-11-22    Steve Slaven <bpk@hoopajoo.net>
175        * Fix for segfault when viewing a single alias from Kalev Lember
176          <kalev@smartlink.ee>
177
1782005-11-13    Steve Slaven <bpk@hoopajoo.net>
179        * This is the new config for mkdist
180        * These are autogenerated files and don't need to be tracked
181
1822005-11-11    Steve Slaven <bpk@hoopajoo.net>
183        * Updated news in preparation for release
184
1852005-10-28    Steve Slaven <bpk@hoopajoo.net>
186        * Added arch and maintainer to debian files
187        * Added #speedwalk to documentation
188        * Added #speedwalk command for using speedwalks even if you have
189          opt_speedwalk set to off
190
1912005-10-27    Steve Slaven <bpk@hoopajoo.net>
192        * Updated where to send patches/bug reports in man page
193        * Updated version numbers, added COPYING file to shared dist to
194          that #help copyright works
195        * This fixes a tiny memory leak caused by not freeing the copy
196          of a variable if used in a comparison on the left side,
197          valgrind output:
198
1992005-10-21    Steve Slaven <bpk@hoopajoo.net>
200        * Added some casts because byte is unsigned char and some
201          functions in main wanted to have signed chars, this was the
202          previous behaviour but the compiler spit out warnings, now it
203          shouldn't anymore.
204
2052005-09-16    Steve Slaven <bpk@hoopajoo.net>
206        * Fix warnings during muc compile
207
2082005-09-13    Steve Slaven <bpk@hoopajoo.net>
209        * Updated news and some debian control files
210
2112005-08-30    Steve Slaven <bpk@hoopajoo.net>
212        * Fixed initializing default completions using new command
213          structures
214
2152005-06-10    Steve Slaven <bpk@hoopajoo.net>
216        * Added #module documentation
217
2182005-06-03    Steve Slaven <bpk@hoopajoo.net>
219        * Applied patch from Michael Sterrett <mr_bones_@gentoo.org>
220          that fixes the code that locates the copyright file
221
2222005-04-05    Steve Slaven <bpk@hoopajoo.net>
223        * Changed some contact info to bpk@hoopajoo.net for bug reports
224        * Added documentation of the #group command and line
225          continuation
226        * Added line-continuation support to the #ex command
227
2282005-04-04    Steve Slaven <bpk@hoopajoo.net>
229        * Updated build-process information and updated where bugs and
230          patches should be sent to
231
2322005-03-22    Steve Slaven <bpk@hoopajoo.net>
233        * Updated news
234        * Added 1.2.8 news, fixed but in upcase/downcase word (Dain)
235
2362005-03-21    Steve Slaven <bpk@hoopajoo.net>
237        * Updated debian version, make #module loaded objects export
238          their symbols globally (needed to allow binary xs modules in
239          perl to get to each others symbols)
240        * A rough overview of module support
241        * use tty_printf since printf will not work with locales
242        * Install powwow.doc and powwow.help in $pkgdatadir/ and also
243          set POWWOW_DIR to match so that online help should be found
244          after a "make install"
245        * Added help on #module
246        * Moved #module before #movie
247        * Wide character (locale) support from Dain, changed output of
248          the compiled options line since there are more compile time
249          options now
250        * Internally renamed some option flags to match their #opt
251          counterparts: echo_int => opt_info echo_key => opt_keyecho
252          echo_ext => opt_echo
253        * Convert all `' to "" as per the powwow-1.2.6-dain patch. Note
254          I did not apply the patch since 1.2.7 has some differences to
255          1.2.5 with regard to command handling and things, so I'm
256          applying the diff parts by hand mostly
257        * Don't include dlfcn.h if no libdl
258        * Check for libdl
259        * Do not include #module support if there is no libdl
260
2612005-03-13    Steve Slaven <bpk@hoopajoo.net>
262        * Updated to include the debian build files in the make dist,
263          also regenerated some of teh automake/conf stuff
264
2652005-03-12    Steve Slaven <bpk@hoopajoo.net>
266        * Made #module print messages prefixed with #module instead
267          of #lib, also display the path to the library that was
268          loaded so that if testing new libraries you can tell which
269          one was found :p
270        * Changed #module to not require the .so extension, and added
271          some checks for _GNU_SOURCE in ptr.h so that modules compiled
272          with GNU externsions will work with powwow.h (like perl)
273        * Changed the #module command to handle searching multiple
274          (currently compiled in) library paths, and remove the
275          requirement for the .so part of the filename so that in future
276          versions we can support .dll under cygwin
277        * Initial revision
278        * New repository initialized by cvs2svn.
279
280Changes from 1.2.4 to 1.2.5 (Massimiliano Ghilardi, ...) 21 Jan 2002
281 	* Added append-mode to #capture: use #capture >file-name
282	* Cleaned #spawned commands interface: text they print on
283	  standard output *MUST* terminate with a newline ('\n')
284	  in order for powwow to execute it.
285 	* Fixed missing #include <time.h> in main.h.
286 	* Fixed broken matching of #mark patterns starting with $
287	* Added the following user-contributed patches:
288	  * Put also 1-char lines into history;
289	  * Do not capture/movie data coming from spawned commands;
290	  * Fixed a bug in command parser.
291
292Changes from 1.2.3 to 1.2.4 (Massimiliano Ghilardi) 24 May 2000
293	* Added support for IAC GA as end-of-prompt marker.
294	* Added #request [prompt][editor][all]
295	* Fixed missing/slow prompt redrawing under some circumstances
296	  if #isprompt <number> was used.
297
298Changes from 1.2.2 to 1.2.3 (Massimiliano Ghilardi) 18 Jan 2000
299	* Fixed `#spawn' command that was completely screwed up.
300	  Also fixed CTRL-C not to kill spawned commands.
301	* Sending/receiving data to/from spawned commands erased the prompt
302	  instead of reprinting it. Fixed.
303	  (If you don't like powwow to show the prompt before executing
304	  lines from spawned commands, set #option +compact)
305
306Changes from 1.2.1 to 1.2.2 (Massimiliano Ghilardi) 10 May 1999
307	* Fixed `#delim custom' to accept whatever character as delimiters.
308	  Previously stopped before the first word-delimiting char (argh!)
309	* Fixed screen corruption when doing some editing functions
310	  (&del-word-right, &del-word-left, &complete-word, &complete-line,
311	  parentheses flashing) while data comes from the MUD.
312	* Fixed a line redrawing bug when inserting chars on terminals
313	  with VT100-like wrapglitch.
314	* Fixed SEGFAULT on #send, #emulate, #exe of a numeric expression.
315	* Fixed stupid SEGFAULT when cancelling an editing session.
316	* Fixed sending/receiving latin-1 '\377' (ASCII char 255) as IAC IAC
317	  to conform telnet protocol, both directly and inside MPI messages.
318	* Fixed matching #actions, #prompts and #marks on MUD data splitted
319	  into multiple fragments.
320	* Fixed line length calculation when receiving '\r' in the middle
321	  of a line.
322	* Fixed extra prompt redrawing in #option +compact mode.
323	* Added #option sendsize and #option autoclear.
324	  Changed default not to send window size upon connecting.
325	  (if the MUD asks it, the window size is sent anyway)
326	  Use #option +sendsize to automatically send it when you connect.
327	* Added command #rawsend.
328	* Removed bits of ANSI code giving problems
329	  with really picky non-ANSI compilers
330
331Changes from 1.2.0 to 1.2.1 (Massimiliano Ghilardi) 20 Nov 1998
332	* Fixed a typo in Makefile.
333	* Reversed order of saved #history lines.
334	* Fixed out-of-bound array accesses in tcp_find() and tcp_show()
335	  which could give SEGFAULT on #connect, #snoop and #zap.
336	* Fixed buggy loop in saving #history in definition file that could
337	  create a huge temporary file, filling the filesystem.
338	* Fixed sporadic SEGFAULT when hitting backspace and some other
339	  editing keys.
340	* Math operator `?' could freeze due to buggy code.
341	  Systems providing GNU memmem() didn't experience the problem
342	  as it was used instead of my replacement code.
343	* Enhanced support for terminals with VT100-like wrapglitch:
344	  on them, the rightmost character of every line is used too.
345	* Fixed wrapping in #printing strings containing ASCII chars > 127
346	  when #option wrap is on.
347	* Fixed incorrect drawing of prompt and command line under some
348	  circumstances.
349	* Fixed wrong wrapping of lines immediately after the prompt
350	  in #option +wrap mode.
351	* Removed extra newlines sent after each line in `#send <filename'
352	  and `send !command'.
353	* Fixed a few off-by-one errors causing corruption in #movie/#capture
354	  and (reprint) buffers.
355	* Powwow now discards all \r received immediately before or after \n,
356	  to avoid troubles when strange data comes just before the prompt.
357	* Changed MPI key to `unsigned int' because MUME uses a 32 bit
358	  unsigned value for it.
359	* Cleaned up remote file editing not to leave stale files in /tmp.
360	* Cleaned up multiple connections support:
361	  Fixed spurious `#too many open connections' errors.
362	  Fixed prompt drawing glitches when getting data from subsidiary
363	  connections.
364
365Changes from 1.1.7 to 1.2.0 (Massimiliano Ghilardi) 05 Oct 1998
366	* Copyright change. Powwow is now GPL-ed.
367	* Version number bump. I hope there aren't many bugs left.
368	  If you are coming from 1.0.x versions, read this file and powwow.doc
369	  carefully, many things have changed!
370	* Fixed double-newline printing after each line if #option +wrap
371	  was set.
372	* Suppressed useless reprinting of files sent back to MUD
373	  using MUME remote editing protocol.
374	* Updated a few details in docs.
375	* Some old compilers choked on bits of ANSI code. Fixed.
376	* Fixed extra newline after prompt in #movie and #capture
377	  when #setvar buffer is not zero.
378	* Fixed extra \r at beginning of a line under rare circumstances.
379	* #delim now unescapes the custom delimeters.
380	* Added missing close() when remote host closes connection.
381	* Rewrote the code to merge lines received in two (or more) fragments.
382	* Added `#help warranty' and `#help copyright' to conform GPL :-/
383
384Changes from 1.1.6 to 1.1.7 (Massimiliano Ghilardi) 15 Sep 1998
385	* Changed meaning and effect of #prompt and #isprompt.
386	  If you used them, re-read their docs in powwow.doc!
387	* Alias names containing spaces are now rejected too.
388	  Relaxed rules a little, unbalanced () {} or ""
389	  now just print a warning instead of causing an error.
390	* Added #option reprint.
391	* Old #prompts were not removed on #load. fixed.
392	* Fixed SEGFAULT when chaining very long strings:
393	  #("foo..." + "bar...")
394	* Fixed small compiling problems on some platforms.
395	* Fixed an off-by-one error in math operator >:
396	* Fixed math operator `=' bug on copying empty strings.
397	* Fixed a crashy bug in #reset var.
398	* Fixed some quirks in unescaping strings:
399	  ending backslashes caused SEGFAULT,
400	  sequences like \\\``` were unescaped incorrectly.
401	* Fixed incorrect code in #mark and #action that
402	  mismatched patterns containing two or more wildcards.
403
404Changes from 1.1.5 to 1.1.6 (Massimiliano Ghilardi) 03 Sep 1998
405	* Added circular backbuffer for #capture and #movie.
406	  Can be enabled/disabled/resized with #setvar buffer.
407	* Sanitized aliases: powwow now rejects alias names containing
408	  unbalanced special chars ""(){} . Example:
409	  #alias (=#print   is illegal, while
410	  #alias "("=#print is ok.
411	  #alias {}=#print  is ok,
412	  #alias \\{=#print is ok too as it matches \{ and _not_ {
413	* Removed a redundant alias unescaping. If #alias foo=\\bar
414	  then `foo' now sends `\bar' instead of `bar'.
415	* Fixed a compatibility problem when reading #binds of new savefiles
416	  using old versions of powwow.
417	* Fixed some problems with #var on numbered variables.
418	* Fixed #internal error, selflookup_sortednode() failed!
419	  that affected 1.1.5
420	* Fixed SEGFAULT upon #exe \; (introduced in 1.1.5).
421	* When getting data from the MUD after a prompt which set #isprompt
422	  the data is now printed as a separate line even if it doesn't start
423	  with a newline. Helps turning things like
424	      * HP:Fine>You hit the wolf's head hard.
425	  into
426	      * HP:Fine>
427	      You hit the wolf's head hard.
428	  Anyway, such data has _always_ been considered separate
429	  from the prompt if it set #isprompt, i.e. #action patterns like
430	  "^You hit the wolf" already worked in the above case.
431
432Changes from 1.1.4 to 1.1.5 (Massimiliano Ghilardi) 30 Aug 1998
433	* Massive code cleanup.
434	* Finished removing size limits on strings, text lines and variables.
435	* Renamed `#settimer' as `#setvar timer' and `#lines' as `#setvar lines'
436	  Added `#setvar mem' to set/edit/remove length limit on text/strings.
437	* Powwow now stops command execution after any error.
438	* #key now works also with editing keys.
439	* Added #keyedit command. "#keyedit &prev-line" runs
440	  the editing function `&prev-line' and so on.
441	* Added "&insert-string <string>" editing function.
442	* Added #mark ^pattern, which matches only at line start.
443	* Decreased CPU usage when/after a lot of variables, aliases or marks
444	  are created.
445	* Added `*' and `*=' math operator for strings.
446	* Fixed math operators ^^=, ||= and &&= to always return 0 or 1.
447	* Fixed SEGFAULT when creating more than 100 variables.
448	  (bug introduced in 1.1.0)
449	* Fixed SEGFAULT when realloc()ing very big strings.
450	* Fixed memory leaks when running out of memory.
451	* Fixed escaping/printing of nasty strings like
452	  backslash + control char.
453	* Fixed some redrawing glitches on very long input lines.
454	  Input lines bigger than the whole window are still not drawn
455	  correctly. Same problem on prompts longer than a line.
456	* Fixed #prompts to fully work also on prompts received inside
457	  a set of newline-terminated lines.
458	* Documented #prompt, #capture and #movie to work only for
459	  the main MUD connection
460
461Changes from 1.1.3 to 1.1.4 (Massimiliano Ghilardi) 23 Jul 1998
462	* Renamed `movie_play' to `movie'. Will do the replay if invoked as
463	  `movie_play' and will convert to ASCII if invoked as `movie2ascii'
464	* Fixed a 1.1.1 bug that could cause a lot of missed binds.
465	* Finished adding ANSI prototypes. Renamed some files and remixed
466	  some code in the process.
467	* Removed -DUSE_TERMIO. If you used it, no problem.
468	  If you didn't use it, you must now add -DUSE_SGTTY.
469	* Fixed a few compiling problems on OSF1 and other systems
470	  with really annoying compilers.
471	* Fixed missing sig_oneshot on systems without SA_ONESHOT
472	* Fixed input of chars with high bit set (again).
473
474Changes from 1.1.2 to 1.1.3 (Massimiliano Ghilardi) 21 Jul 1998
475	* Variable names are now expressions too. This means that
476	  @("foo"+"bar") is the variable @foobar.
477	* Added `just in time' substitution: ${varname} @{varname} and #{expr}
478	  Not yet implemented for regexp patterns, sorry.
479	  This introduces a subtle incompatibility with older versions,
480	  as now also text coming from $n substitution gets unescaped.
481	  Sorry again. (see powwow.doc for details).
482	* #action and #prompt did not work when using an expression
483	  as pattern. Now fixed.
484	* Fixed small bug in anonymous actions. Someone still using them?
485	* powwow_help renamed powwow.help
486	* Fixed a bug in #alias: $1..$9 all contained the first word ($1)
487	* Fixed math operators . : .? :? .< .> <. >. :< :> <: >: which
488	  segfaulted on empty strings (bug introduced in 1.1.0)
489	* Made SIGINT signal handler non-permanent to allow interrupting
490	  system calls like connect(). Partially reverses the change in 0.9.3
491	* Undone a change Gustav made in 0.9.3: now #connect with no args
492	  always lists the open connections. To open a new connection you must
493	  give at least one argument, for example #connect main.
494	* Changed edit function &redraw-line not to clear prompt.
495	  Use &redraw-line-noprompt to get the old behaviour.
496	* Added #movie command to record all output from the MUD
497	  and local commands to a file, adding timestamps to allow replay
498	  at correct speed. Also added `movie_play' standalone program
499	  to actually do the replay.
500
501Changes from 1.1.1 to 1.1.2 (Massimiliano Ghilardi) 16 Jun 1998
502	* The wildcard `$' now correctly matches single words only
503	  both in #actions and in #marks.
504	  It was (again!) matching also multiple words like `&'
505	* Fixed up attr and noattr math operators, which broke in 1.1.0
506	* Added workaround for buggy terminals which create empty lines with
507	  coloured background when using #hilite <whatever> on <colour>.
508	  Must compile with -DBUG_ANSI to enable it.
509
510Changes from 1.1.0 to 1.1.1 (Massimiliano Ghilardi) 11 Jun 1998
511	* Added some changes from 1.0.1 that didn't go in 1.1.0.
512	  The 1.0.x and the 1.1.x trees are indipendent...
513	* Wrote a memmem() replacement for systems that don't have it.
514	* Decreased CPU usage when receiving lots of text from the terminal
515	  (for example using cut-n-paste)
516	* Continued adding ANSI prototypes.
517
518Changes from 1.0.0 to 1.1.0 (Massimiliano Ghilardi) 20 May 1998
519	* Splitted 1.0.x and 1.1.x source trees.
520	* Started adding ANSI function prototypes.
521	  Old K&R compilers still work.
522	* Removed all size limits in all strings, text lines and variables.
523	  Also allowed '\0' (ASCII zero) in strings.
524	  It was a _huge_ task! Probably messed up all and everything.
525	* Side effect of the above: lines of arbitrary length received from
526	  the MUD should now work perfectly (at least as long as you have
527	  enough memory)
528
529Changes from 1.0.0 to 1.0.1 (Massimiliano Ghilardi) 18 May 1998
530	* Changed name of some files (Changelog, Hacking, Compile.how,
531	  Config.demo)
532	* Fixed #capture and #record to save text from main connection only.
533	* Fixed a buffer overrun in $last_line when receiving lines longer
534	  than 1024 chars. Hopefully lines up to 4095 chars will now work.
535	* Fixed message "Creating %s" when creating a new definition file.
536	* Added `catrw' standalone mini-program for splitting powwow output
537	  in multiple windows (quick tutorial in powwow.doc, section #write)
538	* Added #rebindall and #rebindALL
539
540Changes from 0.9.9 to 1.0.0 (Massimiliano Ghilardi) 13 May 1998
541        * Disabled NAGLE for tcp connections (set TCP_NODELAY option)
542	  which should hopefully increase performance during lossy conditions
543	  (idea and code contributed by Finne Arne Gangstad)
544	* Cleaned up error handling. Powwow tries really hard to report
545	  any system call error, quitting only when there is really no hope.
546	  Anyway, if you get a '#system call error' message, you should
547	  seriously consider quitting as soon as possible since either
548	  the connection is messed up or your system is running
549	  out of resources.
550	* Removed extra newline after prompt bug when in #option -compact mode,
551	  introduced in 0.9.7
552	* Fixed $last_line to contain last non-empty line from the MUD.
553	* Updated config.demo with definitions for time-inside-prompt
554	  and other things.
555
556Changes from 0.9.8 to 0.9.9 (Massimiliano Ghilardi) 12 May 1998
557 	* Changed rx.h to regex.h in includes
558	* Fixed behaviour on prompts and lines received in multiple packets:
559	  0.9.7 and 0.9.8 sometimes print garbage.
560	* Added some flush()es in the code to cope with the new
561	  terminal I/O buffering.
562
563Changes from 0.9.7 to 0.9.8 (Massimiliano Ghilardi) 11 May 1998
564	* Fixed compile problems on AIX (got out of sync).
565	* Fixed a stupid bug that caused all actions to be regexp
566	  (introduced in 0.9.7)
567	* Introduced a more efficient terminal I/O buffering.
568
569Changes from 0.9.6 to 0.9.7 (Massimiliano Ghilardi) 11 May 1998
570	* Increased stability when receiving extremely long lines (>1024 bytes)
571	  The fix is only partial, powwow can still crash on lines slightly
572	  shorter than 4096 bytes when a lot of #marks are used.
573	* Cleaned up the names of various #defines
574	  In particular, USETERMIO is now USE_TERMIO and
575	  TELNETBUG is now BUG_TELNET
576	* Added #option autoprint, to automatically print lines matched
577	  by #actions.
578	* Added #spawn command.
579	* Added #prompt command. Just like #action, but matches both on
580	  prompts and on normal text.
581	* #actions now work differently on prompts:
582	  prompts are not matched immediately against #actions,
583	  but only after a \n arrives from the MUD, just in case they are
584	  actually normal lines received in multiple packets and not prompts.
585
586	  Thanks to the this change, powwow behaves better on lines received
587	  in two (or more) packets.
588	  See the file powwow.doc, section `#prompt' for the gory details.
589
590Changes from 0.9.5 to 0.9.6
591                   (Gustav Hållberg, Massimiliano Ghilardi) 16 Oct 1997
592	* Fixed a nasty security hole in MPI messages
593	* Fixed handling of \; at the end of a command
594	* Fixed some other problems:
595	  short messages from MUD could interfere with remote editing,
596	  #bind escape sequences containing \0 were incorrectly printed/saved
597
598Changes from 0.9.4 to 0.9.5
599                   (Gustav Hållberg, Massimiliano Ghilardi) 18 Sep 1997
600	* Continued code cleanup
601	* Allowed aliases starting with `#'
602	* Removed #speedwalk, #info, #echo, #keyecho, #compact and #debug
603	  and turned them into #options: `#option echo' and so on.
604	  For compatibility, `#echo' is aliased to `#option echo' and so on.
605	* Fixed a dangerous bug making cursor jump to start of typed text
606	  when receiving a line that wraps. The bug appeared in 0.9.4,
607	  so blame Gustav ;)
608	* Fixed an old bug making powwow sometimes miss a bind
609        * Made the command from a bound key appear with `#hilite' setting
610        * Made a DEFAULT_HELP_DIR define in powwow.c
611	* Changed to from ' ' to ` ' in some messages
612
613Changes from 0.9.3 to 0.9.4 (Massimiliano Ghilardi) 04 Sep 1997
614	* Included all the huge changes made by Gustav Hållberg:
615	  I really have no time to double-check them all.
616	  If something works in 0.9.2 but is broken in 0.9.4,
617	  you know who to bother :)
618	* Small esthetic changes in the source, no effects on executable
619	* Changed identifier for regexp #actions from ']' to '%'
620
621Changes from 0.9.2 to 0.9.3 (Gustav Hållberg) 11 Aug 1997
622	* Fixed so packets ending with \r*\n\r* set promptstr to ""
623	* Made all signal handlers permanent (sig_permanent)
624	* Debugged and reinstalled #option (it was commented out for some
625	  obscure reason (Massimiliano: I never finished it...)),
626	  allowing storage of command history and word
627	  completions in the savefile. Added the 'exit' option to allow
628	  powwow to autoexit when the last connection closes
629	* #echo, #info, #wrap and #debug now get saved in the savefile
630	* Made repetitive use of &complete-word and &complete-line cycle
631	  through possible completions
632	* Made a memory-safe strdup (called str_dup)
633	* When starting a child viewer/editor, that process' TITLE
634	  environment variable is set to something appropriate (?)
635	* Regular expressions (Extended POSIX regexp)
636	  available for actions; uses GNU rx.
637	* Actions with label "" forbidden
638	* Added the #delim command to change word delimeter mode
639	* Whenever main_conn changes permanently, linemode is set to 0 and
640	  promptstr to ""
641	* Fixed a crashy bug in the >: operator
642	* Fixed the notorious extra-space-on-insert bug (both 'ic' and 'im'
643	  shall NOT be sent if you want to insert something) and a VT100
644	  mode bug while I was feeling creative
645	* Made the local editing protocol respect prompts (i.e. they get
646	  rewritten after protocol messages are shown). After texts are sent
647	  back to the mud, the output buffer is flushed (no more pressing
648	  ENTER after you've stopped editing!)
649	* Fixed a few bugs in #mark; pattern "&" doesn't crash anymore.
650	  Patterns with consecutive wildcards never worked, so I forbade them.
651	  It could be implemented, but I hardly think it's worth it
652	* Added the ANSIBUG compiler directive to fix the bug in some terms
653	  that show new lines in the current output attrib (screws #mark e.g.)
654	* Made '#connect' without parameters try to open a connection
655	  titled 'main' to 'hostname' (if specified) if no conns are open.
656	  The initstr from #init will be used in this case
657	* Added &transpose-words, &upcase-word and &downcase-word (defaults
658	  to M-t, M-u and M-l). Repetition of the latter two changes case
659	  of the whole line
660	* Changed default key names to be more emacs-like (C-b, Ret etc)
661	* Made #host get written to the savefile iff *hostname != 0, and
662	  if powwow is started as 'powwow filename', without any #host in
663	  the file, #init is ran immediately
664	* Fixed a bug in cmd_print() that didn't cope with $0 not being set
665	* Allowed \0 to be part of a bound key's escape sequence. New format
666	  for #bind allows octal \012 be part of the string representation
667	  of the esc seq (chars with high bit set get saved in octal now)
668	* Made permanent variables $last_line and $prompt
669	* Made "#var" without arguments list all defined named variables
670
671Changes from 0.9.1 to 0.9.2 (Massimiliano Ghilardi) 04 Jun 1997
672	* Added #keyecho command toggle echo of bound keys.
673	  Previously, this was controlled by the generic #echo command.
674	* CTRL-C can now safely interrupt blocking commands like
675	  #connect and #bind.
676	* POWWOWDIR is now used correctly in all cases:
677	  not only when starting powwow with a filename but also when using
678	  #load, #save or #file
679	* Changed #file syntax. Now you need = before the save-file.
680	  Putting = alone undefines the save-file and disables autosave
681	  when you quit.
682	* Cleaned up naming conventions: 'session' means editing session
683	  while 'connection' means remote host connection.
684	* Fixed handling of 8 bit chars typed from keyboard
685	* Fixed '#reset bind' which was not reloading cursor binds
686	* Fixed remote host name spelling in files generated by #save.
687	* Fixed a bug that caused powwow to crash when failing to
688	  connect to a mud.
689
690Changes from 0.9.0 to 0.9.1 (Massimiliano Ghilardi) 31 Apr 1997
691	* New connections opened with #connect are set as main connection.
692	  You will have to switch back manually if you need it.
693	* Cleaned up multiple connection support. Better error handling.
694	* Cleaned up TELNETBUG support. I did not use it recently,
695	  and was out of sync.
696	* Enhanced #bind syntax: now you can specify control codes
697	  sent by your keyboard directly from the command line.
698	  As a side effect, #exe <file now works also on files created
699	  with #save
700	* Added #rebind command. Changes the control codes associated
701	  to a key binding without changing its name or its effect.
702	* Added #quit command.
703
704Changes from 0.8.6 to 0.9.0 (Massimiliano Ghilardi) 29 Apr 1997
705        * Added FreeBSD support in make_it (thanks to Jaako Knuutila)
706        * Cleaned up terminal interface.
707	* #save and #load now accept a filename as argument
708	* Handle SIGQUIT as SIGINT: use to stop long or infinite loops
709	* Now can switch main connection on the fly with ##<connection-name>
710	* Allow powwow #commands also on subsidiary connections
711
712Changes from 0.8.5 to 0.8.6 (Paolo Gatti, Massimiliano Ghilardi) 28 Apr 1997
713        * Finally and definitively changed the name to powwow.
714	  Previously, sometimes the program was referred to as pow-wow
715	  and sometimes as powwow, generating confusion.
716        * Partial port of powwow to AmigaDOS. Incomplete, will NOT compile.
717	  Paolo abandoned the project, so maybe it will just never compile.
718	* Fixed a bug causing extra new-lines on screen when powwow received
719	  strange data sequences like ASCII codes 10 13
720	  (on DOS, new-line is 13 10, while on UN*X is 10 only)
721        * Fixed a bug in #mark not matching correctly the wildcard $
722        * Powwow crashed #loading files containing empty lines. Fixed
723
724Changes from 0.8.4 to 0.8.5 (Massimiliano Ghilardi)
725	* Fixed a bug introduced by updating files from cancan 2.6.0b sources
726	  (happened in version 0.8.3): powwow was sendind TWO new-line chars
727	  instead of one immediately after every password.
728
729Changes from 0.8.3 to 0.8.4 (Massimiliano Ghilardi)
730	* Fixed (I hope definitively) an ancient bug:
731	  some lines were sometimes printed twice or not printed at all.
732	  It is still the bug that appeared in version 0.4...
733	  The bug was almost fixed in version 0.8b but reintroduced in 0.8.3
734
735Changes from 0.8b to 0.8.3 (Massimiliano Ghilardi)
736	* Slightly changed version numbering (0.8.3 instead of 0.8c)
737	* #save and #load are now safe even in case of errors
738	  (example: `disk full')
739	* hitting a #bind-ed key now echoes the corresponding command
740	  only if #echo is on
741        * updated term.c (terminal handling code) and tel.c (telnet code)
742	  with files from cancan 2.6.0b (yes, I shamelessly copied them)
743	  No external changes anyway (unless I introduced some bugs)
744          note: beam.c NOT updated/copied
745        * 'follow' standalone mini-program added (see README.follow)
746        * #key is now explicitly stated not to support editing keys.
747	  They cannot be added cleanly without rewriting the line-editing code
748	  from scratch ('#key up' and '#key return' give the biggest problems)
749	  and I don't have the time for that right now
750        * blink attribute added
751        * Now can use multiple attributes in #mark, #hilite, #color
752	  example: #mark *An Orc*=inverse bold blue on red
753	  Note: bold, blink, underline and inverse must appear BEFORE colors
754	* fixed some bugs:
755	* changed "VERSION" to "POWWOW_VERSION" in powwow.c.
756	  It seems some compilers use VERSION for internal purposes...
757	* #wrap mode was discarding lines containing only escape sequences
758	  (example: color codes coming from the MUD)
759        * #hilite was restoring hilight attributes after EVERY line
760	  coming from the MUD
761	* self-recursive aliases were causing crash after 100 loops instead
762	  of trapping error and reporting '#error: stack overflow'
763	  (not always, and not on all OS). Now they are completely safe.
764	  Note: they still eat 1MB of memory (10K per loop - released
765	  immediately after)
766
767Changes from 0.8a to 0.8b (Massimiliano Ghilardi)
768	* hexadecimal numbers added (and in any other base)
769	  can be used only from calculator, prefix is #
770	* '#write' command added
771	* fixed a bug with #nice affecting #load
772	  now #load places actions/marks in memory in the same order as
773	  config file, indipendently from #nice value.
774	  Also, default #nice changes from 1 (top) to 0 (bottom)
775	* fixed a bug in #save that sometimes caused crashes and destroyed
776	  config file
777	* now word completion (issued with TAB key) checks
778	  word completion list _before_ built-in commands
779
780Changes from 0.8 to 0.8a (Massimiliano Ghilardi)
781	* remind me NEVER to work on Sunday, because I filled version 0.8 with
782	  these bugs (now fixed):
783	  - some debugging stuff was not deleted from official version
784	  - deleting a named variable could cause a crash
785	  - creating a named variable was giving a message even while reading
786	    a definition file
787	  - #settimer was not working due to a change in version 0.8
788	  - forgot to say that #map variable was added
789	* #rand, #map and #timer variables renamed rand, map and timer
790	  (removed the #) - sorry for the change but it was necessary.
791	* removed limit of 50 named variables of each kind (numeric and string)
792	  now the only limit is the memory available
793
794Changes from 0.7b to 0.8 (Massimiliano Ghilardi)
795	* #mark now accepts wildcards ($ for a single word, & for a string)
796	* named variables are now supported
797	* #assign renamed #var (I never liked the name 'assign' ...)
798	  also, #var can be used to delete variables from memory
799	* #nice command added. It sets/shows priority of new actions/marks
800
801Changes from 0.7a to 0.7b (Finn Arne Gangstad)
802        * make_it now also works for sunos 5.x, irix 5.x and hpux 9.x
803
804Changes from 0.7 to 0.7a (Massimiliano Ghilardi)
805	* fixed a _HUGE_ hole in security: $n in actions was matching also ;
806	  (but not spaces) so robotic actions gave a chance to other players
807	  to force you (*AAARGH*)
808	* startup changed: now powwow does not clear screen when executed,
809	  but jumps to the end of screen (this avoids mess in the first lines
810	  you get from the mud)
811
812Changes from 0.6d to 0.7 (Massimiliano Ghilardi)
813	* finally fixed the unpleasant bug of auto-wrap making confusion when
814	  receiving lines that contain escape sequences
815	  (the fix in 0.6d was far from satisfactory)
816	* high-intensity colours added (for the terminals that support them)
817	* #assign can be used to put the contents of a variable on input line
818	* number of global variables raised to 50, max lenght of string
819	  variables raised to 512 bytes
820	* #settimer command added, '#time' variable changed into '#timer'
821	* fixed a bug: math operator >= was wrong, worked as <=
822
823Changes from 0.6c to 0.6d (Massimiliano Ghilardi)
824	* break key now is also used to stop command-parsing. Useful to stop
825	  long or infinite loops without exiting from powwow.
826	* #stop command added. It disables all active delayed commands.
827	* #mark now works also with prompts (was not implemented before)
828	* fixed an ancient bug with #action not working on lines splitted into
829	  multiple data packets by telnet.
830	* fixed two other ancient bugs:
831	  #mark not working on auto-wrapped words
832	  and auto-wrap making confusion when receiving lines that contain
833	  escape sequences (only partially fixed to be honest)
834	* Now the unescaping is performed ALSO on quoted strings, when powwow
835	  evaluates them. Thus there might be to update your definition file
836	  if it contains escapes placed in strings.
837
838Changes from 0.6b to 0.6c (Massimiliano Ghilardi)
839	* If you have problems with #rand, random() and srandom() (typically
840	  your compiler is unable to find the functions) you can define
841	  NO_RANDOM at compile time. (temporary solution)
842	* Now also editing keys can be redefined
843	* #assign command added (same syntax of #print, #send and #exe)
844	* Now you can specify start and end line of a file or output of Bourne
845	  shell command when using #print, #send, #exe, #emulate or #assign
846	* #debug command added (try it in test mode...)
847	* Now #echo, #info, #speedwalk and #debug also accept 'on' or 'off'
848
849Changes from 0.6 to 0.6b (Massimiliano Ghilardi)
850	* #emulate command added (same syntax of #print, #send and #exe)
851	* now also prompts can be intercepted by #actions
852	  (but cannot be 'gagged')
853	* powwow can run in test-mode without being connected to a MUD
854
855Changes from 0.5 to 0.6 (Massimiliano Ghilardi)
856	* more debug work
857	* #exe, #send and #print extended to use shell commands and files
858	  Also, #send replaces #read
859	* #time variable added
860	* #rand function added
861	* #connect now supports a different remote host for each connection
862	  (i.e. you can now play on different MUDs with the same invocation
863	  of powwow)
864
865	Ideas coming from Cancan 2.5.1c and implemented on powwow 0.6:
866
867	* output to the remote host is buffered up and sent all at once in the
868	  main loop, to reduce the number of network packets. Long aliases
869	  might benefit from this, as would repeated commands (#10 buy bread).
870	* #help now works on commands. A help file is needed and provided.
871	* new command: #record, records lines you type in a file
872	* source changed so path for helpfile is taken from environment
873	  variable POWWOWHELP (if this variable is not defined, powwow looks
874	  in current directory)
875	* to print the message of the day, must define MOTDFILE in compiling
876	  with the name (and complete path) of the file containing the message
877	* Now compiles on BSD/386 as well, automatically detected by make_it
878
879Changes from 0.4 to 0.5 (Massimiliano Ghilardi)
880	* Heavy debug work, since 0.4 was an alpha version
881	  (it is not a good idea to place here the huge list of bugs fixed...)
882	* added #history to list/execute commands in history
883	  Note: #history commands are not placed in history...
884	* now internal commands can be abbreviated, for example #al can be used
885	  istead of #alias. However, internal commands are still completed
886	  using TAB
887
888Changes from Cancan 2.5.0b to powwow 0.4 (Massimiliano Ghilardi)
889	* Inline calculator, with both global and local variables, and C-like
890	  syntax
891	* added commands #(), #print, #send, #exe to use inline calculator
892	* added commands #if-#else, #for and #while.
893	* added #key, #save, #load, #save, #lines, #info, #echo, #compact,
894	  #net, #clock, #time
895	* added #in and #at to define/edit delayed commands
896	* #mark and all attrib-related commands now accept also the attribute
897	  'none'
898	* #marks and #actions now are not automatically sorted (to sort them,
899	  define SORT in compiling). #aliases and #binds instead are always
900	  sorted.
901	* #aliases can be self-recursive now (it is potentially dangerous,
902	  powwow will not enter a very long - but not infinite - loop)
903	* Must not escape ';' anymore to place multiple commands in #alias,
904	  #action or #bind. Instead, multiple commands must be surrounded by
905	  braces, { and }
906	* #action changed syntax (not need double quotes anymore, but need one
907	  of > < + - = before label) See powwow.doc for details
908	  Lines matched with #action are not printed on screen automatically,
909	  must use a #print to echo them
910	* #gag is suppressed (not needed anymore), and #add is now a command
911	* Escaping technique changed. Now unescaping '\\\#' gives '\\#' (i.e.
912	  remove one \ each time), and you can also escape \, in this way:
913	  \` gives \ alone, \`` gives \` and so on. So for example, if you
914	  want to place a \ at the end of an #action pattern, you must write
915	  \` , to avoid escaping the = after the pattern
916	* Some bugs of Cancan fixed (small things, expecially wrapping)
917
918Changes from 2.5.0a to 2.5.0b (Finn Arne Gangstad)
919	* Fixed bug with client aborting when window was resized.
920
921Changes from 2.5.0 to 2.5.0a (Finn Arne Gangstad)
922	* Various tweaks to make it compile on most systems.
923
924Changes from 2.4.4 to 2.5.0 (Mattias Engdegård)
925	* the length of the prompt is now correctly calculated
926	  even if it contains escape sequences (for muds with coloured prompt).
927	* built-in commands are always completed with tab and aren't stored in
928	  the word list
929	* #hilite and #mark now accept general attributes: ansi colours and
930	  bold, underline, inverse.
931	* the #action command has changed syntax; now double quotes are
932	  required around the pattern, but they can be named. Actions can be
933	  turned on and off.
934	* the keydefs list contains all keyboard bindings. The #bind command
935	  can define new keys.
936	* the #alias, #action, #bind and #mark commands can now put a
937	  definition line in the input buffer for easy editing.
938	  The keys M-p and M-n are no longer used.
939	* some new files, new source module discipline with external
940	  declarations only in header files.
941	* added the file `Hacking' with some advice.
942	* mapping functions cleaned up. #map now displays ssss as 4s.
943	* the definition file is tagged with a file version, to make it easier
944	  to recognize older save formats.
945	* cancan now displays a motd file whose location is set at compile
946	  time (see Makefile).
947	* define TELNETBUG to work around an NCSA telnet 2.2 colour bug.
948	  #stdcolour can be used to set the background colour if TELNETBUG is
949	  defined.
950
951Changes from 2.4.3 to 2.4.4 (David Gay)
952	* telnet window size option supported
953
954Changes from 2.4.2 to 2.4.3
955        * added term support
956	* added #hilite to hilite user entered text
957	* added #mark and #unmark to mark special keywords...
958	* changed #identify to allow it to send alias' or commands to the
959	  mud when beginning/ending an editing session.
960	* changes the Makefile a bit to support termcancan
961
962Changes from 2.4.1 to 2.4.2
963	* Added multiple-session support with following # commands:
964	  '#connect', '#zap', '#snoop', '##'
965	* Added numeric keypad movement, keypad sends commands
966	  n,e,s,w,u,d and exits.. (not on all systems)
967	* Easier editing of actions with meta-p and meta-n (not on all systems)
968	* Changed the 'make_it' script a bit, so that it echoes the make
969	  command it executes.
970
971Changes from 2.4.1 to 2.4.1b
972	* Improved modularity of source, new files cmd.c, cmd.h
973
974Changes from 2.4.0 to 2.4.1
975	* Changed & in actions to match a single word for backward
976	  compatibility.  &0..&9 still match multi-worded text.
977	* Now compiles on HP-UX (at least HP-UX 9.01A )
978	* Included a 'make_it' script that automatically compiles cancan for
979	  Linux, IRIX, AIX, ULTRIX, DolphinOS, SunOS and HP-UX sytems.
980
981Changes from 2.3.6 to 2.4.0
982	* Extended param substitution for & to &0..&9.
983	* Added '&&' syntax for delayed param substitution.
984	* Added '#init' command to send initialization string on connect.
985	* Added '#speedwalk' to toggle speedwalk on and off.
986	* Added '#map' with automapping.
987	* Added '#retrace' to retrace steps.
988	* Added sorting for alias and action lists, which is disabled if
989	  compiled with -DNOSORT.
990	* Added compile option -DNOSHELL to remove '#!' shell escape function.
991
992Changes from Cancan 2.3.5 to 2.3.6
993	* Fixed a bug with MUME's spinning delay bars and word wrap.
994	* & can now be escaped. This allows for aliases that create aliases,
995	  and other things.
996	* Added this change log (not too early)
997	* Checks the window size after being suspended, in case it was
998	  changed.
999	* Lines longer than screen width because of invisible spaces and/or
1000	  trailing CR:s are not unnecessarily wrapped.
1001
1002