-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathChangeLog
853 lines (807 loc) · 46.3 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
Version ??
* Copied project from googlecode to github. [WJC]
* removed dead aqua version [WJC]
Version 2.5.2-post
* update mask.pl to deal with blurbs. [WJC]
* Alter resize code to use ioctl() instead of calling out to resize. [DEC]
* Add url shortening feature to url.pl [MJR]
* Change default web browser to firefox on non-Windows and non-OSX
platforms (those have a standard system for opening URLs with the
user's default browser) [MJR]
* add test suite (run 'make test') [WJC]
* begin to enforce coding standards (via test suite.) [WJC]
* Bump minimum perl to 5.6.1 [WJC]
* add badly-formatted collapsible sends to IRC to support the "many small
sends" model used there. Replaces older fragile method of queueing sends
[WJC]
* expansion fixes - flab; -> ~FliesLikeABrick;
/who sdn<tab> -> /who ~Sue D. Nymme
[WJC]
* add "once every 5m" handling to %on handlers: fire the handler no more
than once every time interval [WJC]
Version 2.5.2
* [TLily/Server.pm] Fixes to SSL. [MJR]
* [Makefile.PL] Extutils::MakeMaker was upgraded in Perl 5.8.8, and broke
our processPL() override, causing it to produce invalid Makefiles. [MJR]
* [TLily/ExoSafe.pm, TLily/Util.pm] Fixes for 5.6.x Perls. [WJC]
* [tlily.PL] Bump minimum perl to 5.5.3 [WJC]
* [TLily/Server/IRC.pm] Numerous IRC improvements. [MD]
Version 2.5.1
* [TLily/Server.pm, TLily/Config.pm] Merge in Phreaker's SLCP SSL patches;
activate with -secure on commandline, or by setting $secure in your
config. [MJR]
* [extensions/server.pl, TLily/Server/IRC.pm] Modify to all specifying
a server port, and (untested) SSL support, by using 'ircs:' instead of
'irc:' in the server specifier. Also modify the /join command to
allow for channel passwords. [MJR]
* [tools/tlily_build] TLily::Event uses TLily::Version, but came before
TLily::Version in the single-file build. Moved TLily::Version to be
the first module in the single-file build. [MJR]
* [TLily/Server/IRC.pm, TLily/Server/IRC/Driver.pm] Reworked IRC support
by subclassing Net::IRC as TLily::Server::IRC::Driver, overriding addfh()
and removefh() so we can use TLily's event loop. This is incomplete,
however, as it current only covers io events, and not timed events.
The latter is TBD. [MJR]
* [tlily.global] Add a comment about $noauto config variable. [MJR]
* [TLily/Server/IRC.pm] New module for IRC support. [WJC]
* [extensions/cj.pl] Many new CJ commands, some code cleanup [WJC]
* [TLily/ExoSafe.pm,TLily/Extend.pm] Fix bug #1119 - Loading non-
existant extensions in single-file failed ungracefully.
* Rework internal POD help system system to work to use new file access
layer, and uses Pod::Text instead of backticking to perldoc, so it now
works in Windows and in single-file installs. [MJR]
* Add a simple file-access layer to ExoSafe that allows for TLily to
access the contents of component files whether it's normal or single-
file install. [MJR]
* [tools/build_tlily] Fix curses single-build build (Was still trying
to include removed Curses modules. [MJR]
* Finally removed the Curses UI, as Josh requested [WJC]
* [extensions/defiance.pl] A bot extension for handling Defiance Radio [JDW]
* [extensions/deblurb.pl] Fixed handling of blurb changes [RBJ]
* [extensions/profane.pl] Add extension to convert someone's sends into
obscenities. [RBJ]
* [extensions/deblurb.pl] Add extension to remove blurbs from a given user's
public, private, and SLCP events. [RBJ]
* [extensions/slcp_output.pl] Add $stampseconds geekknob to allow the user
to display timestamps with seconds. [RBJ]
* [aqua/] Moved all OSX build items into aqua from root. [WJC]
Version 2.4
* [Makefile.PL] Revamped build system.
* [extensions/infobot.pl] Tlily-based infobot [JDW]
* [extensions/group.pl] Reformat group info [WJC]
* [extensions/dontcare.pl] New extension to chop a given user's sends
if they exceed a certain length.
* [extensions/mask.pl] Mask a user to a group name; useful for people
who change pseodos frequently. [WJC]
* [extensions/osxspeak.pl] OS/X analog of win32speak.pl [WJC]
* [TLily/UI/Curses] Added "intelligent" input history browsing, allowing
to move line-by-line within a multi-line send. [DPN]
* [TLily/Server/SLCP.pm] Fixed expansion problems when a user /renames
from a name similar to a discussion name. [SMC]
* [TLily/Server/SLCP.pm,extension/slcp_state.pl] Tigerlily now notices
discussion destruction, and removes their names from its database. [SMC]
* [TLily/Server/SLCP.pm] Added support for '~' to match only users. [SMC]
* [extensions/keepalive.pl] When re-connecting to a lost connection, fixed
bug that prevented keepalive pings. [SMC]
* [extensions/keepalive.pl] keepalive now uses the proper OOB ping, instead
of /why [JDW]
* [extensions/gag.pl] Add '%gag topic <foo>', which will gag based on the
content of sends instead of the sender.
* [TLily/UI/Curses.pm,TLily/UI/Curses/StatusLine.pm,TLily/UI/Curses/Text.pm,
extensions/ui.pl] Allow the text window to be split into multiple
subwindows. [BEW]
* [extensions/status.pl] If $clockseconds is set, the statusline clock
will display seconds. [BEW]
* [TLily/UI/Curses/StatusLine.pm] When the window's width is changed,
redraw the status line correctly. [BEW]
* [TLily/UI/Curses.pm] Fix for window resizing from Mike Sawyer. [DPN]
* [extensions/autohere.pl] Added autohere, which will automatically
'/here' the user when they send a message.
* [tlily.global] Set max_scrollback to 10000 by default. [DPN]
* [extensions/on.pl] Changed %on behavior to be compatible with what
it used to be: the default for the notify flag is now 'always'. [DPN]
* [extensions/namethatblurb.pl] Added the amazingly silly namethatblurb
extension, which prints the appropriate blurb when it sees "<name>'s
blurb" in a send. [DPN]
* [extensions/on.pl] Added new flag to %on: 'notify (yes|no|always)',
which marks whether %on should trigger based on the event's notify
status (must be on, must be off, doesn't matter). [RBJ]
* [TLily/UI/Curses/Input.pm] Bugfix: spurious ^s should no longer appear
in the input area. [DPN]
* [TLily/UI/*] Restructured the Curses UI into a generic "TextWindow" UI
and a mediation layer called "FoiledAgain". Provided a FoiledAgain
backends for Curses and Win32::Console, which now work identically. [JDW]
* Made tlily work well with a vanilla activestate [win32] perl installation,
without additional modules or cygwin. This will become the preferred
way to run tlily on win32, and should be much more reliable than the
cygwin/curses-based version. [JDW]
Version 2.3
* [extensions/url.pl] Multiline URIs in /review, /memo and /info should be
correctly assembled now much more than they were, though URIs that end
exactly at the end of the line now will be wrong. Since they are
pretty rare compared to wrapped URIs, it seemed a fair trade-off. [DCL]
* [extensions/ui.pl] kill-sentence, as in Emacs, bound to M-k. [DCL]
* [extensions/ui.pl] zap-to-char, as in Emacs, bound to M-z. [DCL]
* [TLily/UI/Curses.pm,extensions/leet.pl,extensions/paste.pl,
extensions/ui.pl] Now you *can* have your multiline paste leet'd,
but if you do we will find you and kill you. Key command intercepts
are now a list internally rather than a single item, so various
modes are not mutually exclusive. [DCL]
* [extensions/leet.pl,extensions/paste.pl,extensions/ui.pl] leet-mode,
paste-mode and input-search-mode all ignored the return value of
intercept_u, so they didn't detect failure to enter their mode because
of already being in another mode. (You can't have your multiline paste
leet'd. Oh darn.) [DCL]
* [extensions/keepalive.pl] keepalive will now try to keep all connected
servers alive, not just the one focused when the interval expires. [DCL]
* [TLily/Server/SLCP.pm] During startup, some server output would be
inadvertently lost because a text event handler was stopping processing of
all text that did not match what it was looking for. [DCL]
* [Makefile.PL] Detect the presence of Curses or Tk support at build time
to determine which UIs to include, or fail if neither Curses nor Tk is
available. [DCL]
* [TLily/Event.pm] Show named event registration/reception/deregistration
based on the setting of event_debug, which is interpreted as a regular
expression matched against a string that is the event type followed by
the file name the handler was established in. For example, starting
tlily with "-send_debug=blurbless" will cause blurbless.pl's registration
(and subsequent call) of a 'server_connected' handler to be matched
against the string "server_connected:during extensions/blurbless.pl". [DCL]
* [TLily/Event.pm] Registering a named event handler from within a handler
could cause erroneously repeated handler execution (and perhaps not run
some, but I haven't really thought about that possibility much).
* [TLily/Server.pm] Show all data sent to server if send_debug is set. [DCL]
* [extensions/startup.pl] Startup file/memo processing would send extraneous
(harmless) empty lines to the server. [DCL]
* [TLily/ExoSafe.pm] Add a __FILE__ identifier to each compartment
to make finding the source of an eval (eg, an event handler) easier. [DCL]
* [extensions/blurbless.pl] Changed the handlers around a little so
that a server_connected event triggers registering of the text/prompt
handlers, allowing blurbless to work for connections beyond the first one.
* [extensions/autoreview.pl] Don't unregister the connected_handler, so
that autoreview will work for connections beyond the first one.
* [extensions/multicore.pl] Add support for @SERVER/Command and
*/Command [WJC]
* [extensions/blurb.pl] changed config var to server_all, added support
for %here, %away [WJC]
* [TLily/Server/SLCP.pm, extensions/expand.pl] Fixed up a few bugs in
multiserver expand. Always add the @Server when expanding to a target
which exists on multiple servers. [DPN]
* [tlily.PL] Use current perl when calling find_eagain. [DPN]
* [tlily.global] Changed default server to "rpi.lily.org". [DPN]
* [README] Added an example to (hopefully) clarify .cf usage. [WJC]
* [TLily/Server.pm] Fixed error reporting on failed server connect. [DPN]
* [extension/after.pl] PR # 844 [WJC]
* [extensions/set.pl] Added config var help [WJC]
* [extensions/expand.pl] Fixed up tab-expansion to work with
multiserver names. [DPN]
* [TLily/Server/SLCP.pm] Added 'save_crufty_renames' knob to preserve
the old, broken behavior on renames. This feature is intentionally
undocumented. [DPN]
* [TLily/Server/SLCP.pm] When a user renamed, the entry for their old
name was not correctly deleted. Fixed. [DPN]
* [TLily/UI/Curses/Text.pm] Added scrollback expiration. There may still
be some bugs in it; use with caution. It is controlled by the
'max_scrollback' variable. [RBJ]
* [TLily/UI/Curses.pm] Fixed resize bug (PR#550). Finally. [RBJ]
Version 2.2
* [everything] Updated hostnames and copyright dates. [DPN]
* [extensions/program.pl] Fixed PR#848 & 850 (reedit & indented comments)[CWS]
* [extensions/gag.pl] Added rudimentary support for %gag <group> [WJC]
* [extensions/server.pl] Fixed PR#812 (error msg on invalid core) [WJC]
* [Makefile.PL, tlily.PL, TLily/Config.pm, TLily/ExoSafe.pm, TLily/Extend.pm,
TLily/User.pm] Changed build system; the new one has less features,
but builds tlily as a single, movable file. [DPN]
* [extensions/blurb.pl] Removed #@$#@ filter, added multi-server support [WJC]
* [extensions/slcp_output.pl,extensions/ui.pl,tlily.global] Add new
styles to tag server names in pub,priv,emote messages. [RBJ]
* [extensions/stripper.pl] Strip leading spaces from input sent to server.
* [extensions/source.pl] You can source memos now. [WJC]
* [extensions/url.pl] Add regex support to %url show; '%url show <regex>'
will now show the last URL matching the regex. [RBJ]
* [extensions/blurb.pl] New extension, auto-blurb-compression [WJC]
* [extensions/http_parse.pl] Merged changes from http2_parse back in [WJC]
* [extensions/http2_parse.pl] Deleted, merged back into http_parse [WJC]
* [TLily/Server/HTTP.pm] bugfix + addition of callback, used by the
http2 "protocol" [WJC]
* [extensions/http2_parse.pl] Added another httpd parsing mechanism
that stores the web page in memory rather than dumping it to a file. [WJC]
* [extensions/pinhead.pl] Updated tlily1.x print call [WJC]
* [extensions/gag.pl] Updated tlily1.x print call [WJC]
* [extensions/misc.pl] New config vars to help suppress output [WJC]
* [extensions/after.pl] Added support for multi-line commands [WJC]
* [extensions/keepalive.pl] Added help for vars. [WJC]
* [extensions/stock.pl] Rewrite, removed dep on 'wget', uses config vars
now [WJC]
* [extensions/xmms.pl] Fixes, added ability to play a URL. [MJR]
* [extensions/xmms.pl] New extension; allows user to control Xmms from
within tlily. [WJC]
* [TLily/User.pm] Fixed so that the POD indexer only looks at files ending
in .pl, .pm, or .pod. [MJR]
* [extensions] Added POD docs to more extensions. [MJR]
* [UI/Tk] Added dump_to_file method for %dumpscrollback. [CWS]
* [UI] Added %dumpscrollback, which lets you dump the scrollback buffer to
a file. [JDW]
* [tlily.PL, extensions/on.pl] Changed the formatting of SLCP sends to
allow event attributes to modify presentation. [RBJ]
* [extensions/slcp_output.pl] Changed the formatting of sends to allow
event attributes to modify presentation. [DPN]
* [extensions/on.pl] Added the ability to set event attributes from a
%on handler. [DPN]
* [tlily.global, extensions/blurbless.pl] New extension. If
$config{enter_blurbless} is true, automatically bypass the "please
enter a blurb" prompt with no blurb. [DCL]
* [TLily/UI/Curses/Text.pm] Default pager value for text widget set based
on $config{page}. [DCL]
* [extensions/keepalive.pl] Changing $config{keepalive_interval}
after keepalive is loaded now affects the working interval. [DCL]
* [tlily.global, TLily/UI/Curses.pm, extensions/ui.pl] New function,
mark_output, by default bound to M-m. Used to print a blank line to the
screen, so you can mark where you have read up to. [DCL]
* [extensions/ui.pl, TLiLy/UI/Curses/Input.pm] Include the current input
line in an isearch. Save the prefix string before searching.
Also fixed a bug where the entered line was being appended to history
even when it was identical to the previous line. The code was clearly
trying to avoid this but had an off-by-one error. [DCL]
* [TLiLy/UI/Curses/Input.pm] previous_history and next_history could
cause the history to become permanently edited. New function
save_history_excursion retains copy of the original history entry,
which is restored by accept_line. [DCL]
* [TLily/UI/Curses.pm] $config{scroll_to_bottom_on_input}, like xterm. [DCL]
* [extensions/ui.pl, TLiLy/UI/Curses/Input.pm] Mucho hacking on the
search mechanism. toggle-input-search-mode is now isearch-backward,
and isearch-forward was added. Typing a key bound to backward-delete-char
while in input_search_mode will just erase the last character of the search
instead of terminating input_search_mode. C-r/C-s will look for the next
match in the same direction, or will switch directions. If the
current search string is empty when C-r/C-s would cause a search
for the next match, the last search is recalled. Typing C-g will
quit searching and return everything to the state it was in before
searching started. C-l will refresh the screen without exiting. Any
other special character exits input_search_mode, as was true before, but
now the history position is set based on where search stopped. Can now
search for the string "0"; could not before. Case folded searching works,
configurable with $config{case_fold_search}. [DCL]
* [TLily/UI/Curses/Input.pm] Even when the input string is empty,
accept_line now resets history position to the end, like shells do. [DCL]
* [TLily/UI/Curses/Input.pm] Fixed a bug in search_history where the
search was done as regexp search but the setting of point was done
as a literal search. [DCL]
* [extensions/ui.pl] Fixed bug in input_search_mode where the search
string would not build on the current text region if more
characters matched. [DCL]
* [TLily/Event.pm] Reordered the dispatching of events so that timed
handlers are processed before named hanflers. This fixes the problem
of named events sent by timed handlers having to wait for the select
loop to timeout. [CWS]
* [TLily/Extend.pm] In load(), when testing to see if the argument
is an existing file, insist that a "/" be present in the name, to
prevent from accidentally loading a file from the directory that
tlily was started in if it happens to have the same name as an
extension. To explicitly load a file from the current directory,
prepend it with "./". [DCL]
* [TLily/UI.pm, README] Use $config{bindings} in inherit_global_bindings,
in addition to %gbind. [DCL]
* [extensions/source.pl, extensions/startup.pl] '#' is now a comment
character when it starts a line. [DCL]
* [extensions/url.pl] Do not bound urls with <url>...</url>. [DCL]
* [TLily/Server/SLCP.pm] Don't try to use $ui->print when reporting
an error with export if $ui is not defined. [DCL]
* [TLily/UI.pm, TLily/UI/Curses.pm, extensions/ui.pl] %bind with
one argument will print the binding for the key, and with no
arguments will print all of the bindings. [DCL]
* [TLily/Server/Event.pm] Configurable event_timeout. [DCL]
* [extensions/url.pl] Capture URLs in text events (but still needs a
little work to figure out wrapped URLs). Length of default list
configurable via $config{url_list_count}. Format of list
configurable via $config{url_list_format}. [DCL]
* [TLily/UI/Curses.pm, TLily/UI/Curses/Input.pm] backward-sentence,
forward-sentence, capitalize-word, down-case-word, up-case-word
tranpose-words and quoted insert (the last has a few problems with
display, but still has utility). The sentence commands use the boolean
$config{doublespace_period} (default: 0) to determine whether the
end of a sentence should have two spaces. The word commands use
$config{word_characters} (string, default "") to determine what
sort of characters besides alphanumerics are word characters. [DCL]
* [extensions/startup.pl] Set no_startup_memo on the command line to not
attempt to find a lilyStartup memo at the server. [DCL]
* [extensions/slcp_parse.pl] Added support for queueing %NOTIFY events
before the initial SLCP sync. (No more "> #1739 kills Kazrak.") [SMC]
* extended %on to support variable expansion, unregistering and listing
handlers, and regexp matching. [JDW]
Version 2.1.1
* Bugfix release - Release 2.1 had several old files that should have
been included.
Version 2.1
* [TLily/UI/{Curses,Tk}.pm] Enable/disable output based on
$config{quiet}. [CWS]
* [extensions/status.pl] changed the clock format to remove the
leading 0. [CWS]
* [TLily/UI/Curses/Input.pm, extensions/ui.pl] Added input history
searching! [MJR]
* [TLily/UI/Curses.pm] Changed the key bindings for scroll up/down.
M-[ was a pretty bone-headed choice on my part.
They're now M-, & M-. [MJR]
* [extensions/status.pl] Made the statusline clearly indicate when not
connected to any servers. [MJR]
* [extensions/info.pl] Added lily help editing [MJR]
* [TLily/UI/Tk.pm] First shot at a Tk UI. [CWS]
* [various] Fixed bug in columnize_list, converted program.pl and
spellcheck.pl to use it.
* [various] Changed calls to old cmd_process to the new per-server one.
removed Command.pm. [JDW]
* [TLily/Config.pm] Removed old debugging print. [CWS]
* [tlily.PL] Made loading of TLily::Bot dependent on $config{bot}. [CWS]
* [TLily/Bot.pm] Fixed the import method to not pass the class name. [CWS]
* [various] Added more of the multiserver stuff, especially the addition
of TLily::Server::find() and TLily::Server::active(), and the complete
change in behavior of TLily::Server::name(). Also moved columnize_list
into TLily::Utils. Major hacking on program.pl. [MJR]
* [TLily/Utils.pm] New file to hold common functions, like edit_text
and diff_text. [MJR]
* [TLily/Server/SLCP.pm] Added mutli-server aware cmd_process. May
eventually remove TLily/Command.pm [MJR]
* [extensions/slcp_parse.pl] TLily looked for %SLCP-SYNC anywhere
in a line, not just at the beginning. Fixed. [MJR]
* Extended TLily::Server::SLCP::fetch() to also fetch verbs, and
added program.pl with verb editing [MJR]
* Fixed the client-name-and-version-not-set problem. [CWS]
* [TLily/Event.pm] Hopefully fixed the lost-handler bug. [CWS]
* [TLily/Daemon/HTTP.pm]
* [extensions/http_parse.pl] Stopped http_parse from opening a socket
on load. [SMC]
* [extensions/ctc.pl] Added %ctc start and %ctc stop commands, ctc
module will not start daemon on load. [SMC]
* [tlily.global] Added ctc.pl and http_parse.pl to @load [SMC]
Version 2.0
* Added %memo. [DPN]
* Added GPL. [CWS, JDW]
* New install w/ Makefile.PL (removed Build.PL) [CWS]
* new implementation of ctc protocol [SMC]
* spellchecker [JDW]
* Re-integration of various things.. [JDW]
* New UI code, event queue code, and tons of other changes [DPN]
* SLCP, beginnings of multiserver. Server object. [JDW]
* Radical changes so mind-numbingly profound that they will blow your mind.
[ALL]
Version 1.0.4-post
* [extensions/parse.pl] Bugfix for /who output and names with spaces. [DPN]
Version 1.0.4
* [extensions/parse.pl] Parser fixes to cope with the changed lily output
format for /who. This should hopefully work on all servers -- it
autodetects based on the /who headers. [DPN]
* [extensions/keepalive.pl] Changes to keepalive: I think it should actually
work now. [DPN]
Version 1.0.3
* [Build.PL] Remove lilybot on a 'perl Build.PL clean'
* [LC/CTerminal.pm] Changed the 'use POSIX' line to only include the one
function that I know of that we use(iscntrl). [CWS]
* [Build.PL] Modified to install the UI directory and modules. [CWS]
* [LC/Httpd.pm, extensions/httpd.pl] Http daemon using tlily internals.
Second stage in client-to-client communications [SMC]
* [extensions/parse.pl, LC/User.pm] First-cut attempt at handling emotes
as sends. (Enabling URL parsing in emote discs.) [DPN]
* [LC/SubClient.pm] Changed use of IO::Select to ui_select() so we don't
get any strange interactions between the two. [SMC]
* [LC/Bot.pm] Created, separating out the generic bot code from lilybot.PL.
Version 1.0.2
* [LC/UI/Native.pm] Don't replace the killbuffer with a zero-length
string. (i.e., ^U when point is at the start of line shouldn't
update the killbuffer.) [DPN]
* [extensions/url.pl] Made "view" a synonym for "show". [DPN]
* [LC/UI/Native.pm] Fixed a bug which caused C-w to stop working. [DPN]
* [extensions/httpd.pl] Simple http daemon, the first stage in my
client-to-client communications project. [SMC]
* [LC/Extend.pm] Fixed Extend.pm again so that it exports the
extension_unload() function for use by extensions. [MJR]
* [LC/StatusLine.pm] Fixed a bug where if the system time got set
back, the statusline would not update until the time caught back
to where it was before. [MJR]
* [LC/UI] Added ui.pl extension and other infrastructure. We now have fully
functional multi-window support in tlily!
* [LC/UI/OutputWindow] Created a new UI module. Sort of a "status window"
at this point.
* [LC/UI] Major overhaul of UI subsystem. Created LC::UI:: modules for each
UI. Also created a LC::UI::SSFE module as an example.
* [extensions/url.pl] Bugfix: Netscape doesn't like commas in arguments
to openURL, so replace them with %2c. [DPN]
* [extensions/program.pl] Preliminary version of an extension for
to enable server maintenance. This version contains a very hackish
verb editor. [MJR]
* [LC/Extend] Modified to gracefully handle errors during extension
loading. [MJR]
* [extensions/url.pl] Cleaned up handling of URLs ending in punctuation.
* [extensions/url.pl] Added "tag_urls" config option to specify the
URL number of each captured URL. Added support for "%url ##" where
## <= 0; this shows URLs off the bottom of the list. [DPN]
* [tlily.global] Added examples for autoreview. [DPN]
* [extensions/autoreview.pl] Added the 'autoreview' extension. [DPN]
* [extensions/pipes.pl] Create temp files with mode 0600, and delete them
when finished with them. [DPN]
Version 1.0.1
* [extensions/parse.pl] Possible fix for an obscure parser bug. [DPN]
* [extensions/view.pl, extensions/log.pl] IO::File bug fix [MJR]
* [LC/SubClient.pm] Fixed so it works again. [SMC]
* [LC/User.pm] Added % command abbreviation capability. [MJR]
* [extensions/set.pl] Added a return 0 to end of unset_handler() [MJR]
* [LC/UI.pm] Added customizable scroll up/down functions. [MJR]
* [extension/biff.pl] Minor tweaks and bug fixes. [MJR]
* [lilybot.PL] Extensive modifications. Try the "help" command. [JDW]
* [extensions/biff.pl] Redesign and rewrite, added RPI lightweight POP
mail check support. [MJR]
* [LC/Extend.pm] Modified to work with ExoSafe.pm [MJR]
* [LC/ExoSafe.pm] New file - replaces Safe, providing namespace
seperation without the problems of Safe.pm [MJR]
* [Build.PL] Change version handling to accomodate new versioning [CWS]
* [LC/CTerminal.pm] Added definitions for the home and end keys. [CWS]
* [LC/UI.pm] Made home and end do something. [CWS]
* [extensions/startup.pl] added a %help. [CWS]
* [extensions/startup.pl] The Startup file is now lily/tlily commands,
processed as input events. [CWS]
* [LC/Event.pm] Corrected example and description for timed handlers.
Changed Code => Call. [CWS]
* [tlily.global] Added default for @prefer, and changed @slash's default
to (undef). [CWS]
* [LC/Config.pm] Upon finding an array type config var, if its value is
(undef), set the variable to be an empty list. [CWS]
Version 1.0
* [LC/State.pm] Fixed discussion substring expansion. [DPN]
* [extensions/pipes.pl] Stop repeatedly writing to a closed handle. [DPN]
* [LC/UI.pm] Fixed a bug when typing more than one line of input while a
prompt is visible. (The "paste bug".) [DPN]
* [extensions/helper.pl] Added a %helper extension for editing help text
with ?gethelp and ?sethelp [SMC]
* [extensions/source.pl] Added a %source extension to interpret a file as
a list of user commands [SMC]
* [LC/TTerminal.pm] Fixed so that you can load TTerminal with no
Term::Size and indeed no /etc/termcap :) [JDW]
Version 0.9b
* [LC/UI.pm] Possible fix for Josh's persistant prompt bug? [DPN]
* [extensions/expand.pl] Fixed a minor expansion bug. [DPN]
* [extensions/look.pl] Added some () messages to look. [JDW]
* [extensions/look.pl] Fix bug that passed non-alpha chars to look. [MJR]
Version 0.9a
* [LC/Extend.pm] Better error handling, reporting. [DPN]
* [extensions/gag.pl] Made %gag work with the new ui_filter [SMC]
* [tlily.PL] Better error handling on failed connect to server. [DPN]
* [extensions/parse.pl] Eliminated spurious quoting of event elements. [DPN]
* [LC/StatusLine.pm] Fixed bug with UI chars in blurbs. [DPN]
* [LC/UI.pm] Added filters. [DPN]
* [LC/UI.pm, LC/User.pm, extensions/parse.pl] Pulled out tags code [DPN]
* [extensions/info.pl] Tiny change to properly clean up. [SMC]
* [misc] Added lilybot to distribution. [JDW]
* [LC/Client.pm] Separated from tlily.PL [JDW]
* [misc] Major hacks to make it possible to load tlily with no UI [JDW]
* [extensions/smartexit.pl] Made UI output "conformant" [()'s] [WJC]
* [extensions/gag.pl] Made UI output "conformant" [()'s] [WJC]
* [extensions/after.pl] Display shows time handler will go off,
added unload() to remove handlers set while extension
was loaded. [WJC]
Version 0.8c
* [extensions/parse.pl] Quick parser hack to survive the addition of
%beginmsg/%endmsg to emotes. [DPN]
* [LC/NoTerminal.pm] Added NoTerminal terminal module for debugging and
porting. (what a hack ;) [JDW]
* [LC/Config.pm] Add -h and -host as synonyms for -server. [CWS]
* [extensions/zone.pl] Moved test for $zonetype and $zonedelta so users can
set them dynamically without reloading. [CWS]
* [extensions/set.pl] Removed %ENV/$TL_VERSION hack. [CWS]
* [LC/Config.pm] Fixed it so %ENV and $TL_VERSION are not included in
%config. [CWS]
* [extensions/autojoin.pl] New extension: automatically joins discussions
when they are created. Not loaded by default. [CWS]
* [extensions/countdown.pl] Allow the user to specify the formatting of
the time via $countdown_fmt. [CWS]
* [extensions/set.pl] Fixed some of the regexps so as to allow setting of
countdown_fmt. [CWS]
* [extension/set.pl] Added %unset and %show to unset and display config
variables, respectively. [CWS]
Version 0.8b
* [extensions/parse.pl] Refixed parser to display the lily banner,
/infos, and /info sets properly. Oy. [DPN]
* [extensions/parse.pl] Fixed parser to display the lily banner
correctly [SMC]
* [extensions/misc.pl] Added support for !! to execute last !command [SMC]
* [LC/State.pm, extensions/expand.pl] Added emote_oops. [DPN]
* [extensions/zone.pl, LC/StatusLine.pm] Fix overflows when $zonedelta or
$clockdelta pushes the time over
24 hours. [SMC]
* [LC/Extend.pm] Load extensions properly when a path is specified. [DPN]
* [extensions/after.pl] %after lists afterids. %after cancel <id>
cancels an after. [CWS]
* [Build.PL] Allow the releaser to edit the announcement message. [CWS]
Version 0.8a
* [extensions/parse.pl] Parser tweak: handle private sends in /reviews. [DPN]
* [extensions/look.pl] Output in a columnar format, limit lines. [DPN]
* [extensions/irc.pl] Extension using the SubClient interface to use irc from
within tigerlily. [JDW]
* [LC/SubClient.pm] Added support for subclients and the %irc command to
support dsirc as a subclient. [JDW&SMC]
Version 0.7b
* [extensions/parse.pl] Fixed the stalls during /reviews (could be faster
still, though) [SMC]
* [extensions/set.pl] Make space the default separation character [CWS]
* [extensions/expand.pl, extensions/info.pl] Make changes to @slash effective
immediately [CWS]
* [LC/Config.pm] Fixed some command line parsing problems that would
cause infinite loops [CWS]
* [LC/State.pm] Handle 'me' as a destination. [DPN]
* [extensions/parse.pl] Yet another attempt at making /info set work. [DPN]
* [LC/parse.pm, extensions/parse.pl] Made the parser an extension. [DPN]
* [tlily.PL] Catch SIGPIPE. [DPN]
* [extensions/countdown.pl] Countdown timer on the statusline. [DPN]
* [LC/User.pm] Fixed the laggy signals problem. [DPN]
Version 0.7a
* [extensions/info.pl] Fixed /info override to correctly recognize /info [CWS]
* [extensions/info.pl] Fixed %info edit to only change the info if you made
a change to the edit buffer [SMC]
* [extensions/info.pl] Added %export [JDW]
* [extensions/smartexit.pl] Fix recognition of /det and /bye [FeRD@RPI][CWS]
* [LC/Config.pm] Added some pod docs [CWS]
* [LC/UI.pm] Changed Paste mode keymapping to M-p to match documentation
* [README] Describe %color_attrs, %mono_attrs, and @slash better to prevent
faq's about how to make /info do what %info does and how to
set colors [CWS]
* [LC/Config.pm] callbacks on %config, $config{mono_attrs}, and
$config{color_attrs} are now supported via
register_config_callback() [CWS]
* [LC/Config.pm] %config, $config{mono_attrs}, and $config{color_attrs} are
now tied hashes [CWS]
* [LC/UI.pm] When $config{mono} is toggled, change colors as
appropriate [CWS]
* [LC/UI.pm] When $config{color_attrs} or $config{mono_attrs} is changed,
do a ui_set() to change the color [CWS]
* [LC/Config.pm] When $config{load} or $config{slash} are updated, process
them for '-' removals [CWS]
* [extensions/set.pl] Added %set command to help set %config vars [CWS]
* [Build.PL] Check to see if the user has the Curses and Term::Size
modules [CWS]
* [Build.PL] New option: -p <dir> specifies a prefix to use. All other
related paths are derived from it. [CWS]
* [Build.PL] New target: uninstall: uninstalls tlily using the paths
in build.cache. Does not uninstall site config file. [CWS]
* [Build.PL] At the end of release, prompt the developer to send an
announcement message to [email protected] [CWS]
* [Build.PL] New target: announce: Allows developer to send a release
announcement asynchronously from the release [CWS]
* [Build.PL] Don't let non-developers try to release or announce [CWS]
* [extensions/url.pl] %url viewing code. [JDW]
* Lots of little changes to make tlily work better under -w. [DPN]
* [LC/parse.pm] Fix to make emotes parse properly during a /review [SMC]
* [LC/UI.pm] moved gag code into the UI, so now we can ungag and see what
was said [JDW]
* load vinfo by default, but send _no_ replies automatically. [JDW]
* [extensions/help.pl] modified %help prefix to ? instead of * [JDW]
* [extensions/autoreply.pl] modified autoreply and log to use the
status line [JDW]
* [LC/StatusLine.pm] Reworked status line processing to allow extensions
to access the status line [JDW]
Version 0.6e
* [LC/CTerminal.pm] Relaxed requirement for Term::Size to show warning [JDW]
* [extensions/info.pl] Added %help. [JDW]
* [extensions/view.pl] Fixed, improved %help. [JDW]
* [LC/Extend.pm] Added some additional output and error messages [JDW]
* [extensions/autoreply.pl] Added. Automated responses to private sends [JDW]
* [extensions/look.pl] Added a chomp() to remove exess newlines. [DPN]
* [extensions/info.pl, tlily.global] Added an 'editor' config var. [DPN]
* [LC/State.pm] Added -f option to %sync. [DPN]
* [extensions/help.pl] Tweaked help output. [DPN]
* [extensions/pipes.pl] Be careful of what you suggest... :> [DPN]
* [LC/parse.pm] Tweak for datestamps in reviews. [DPN]
* [LC/parse.pm] Fix for signals in sends. [DPN]
* [LC/State.pm] Make @prefer ignore case. [DPN]
Version 0.6d
* [LC/UI.pm] Fixed the problem with newlines in output. [DPN]
* [LC/UI.pm] Better error reporting when a terminal module fail. [DPN]
* [LC/parse.pm] Bugfixes for parsing sends. Removed quotewords. [DPN]
* [LC/UI.pm] Added a "paste mode", in which newlines are mapped into spaces.
Use M-p to toggle it on and off. [DPN]
* [LC/CTerminal.pm, LC/TTerminal.pm] Better handling of terminal resizes.
We now require the Term::Size module. [DPN]
Version 0.6c
* [extensions/expand.pl] Added help for oops and also.
* [extensions/after.pl] Extension to run a command after a delay [CWS]
* [LC/State.pm] Bugfix: handle renames properly. [DPN]
* [LC/StatusLine.pm] Bugfix for blurbs containing a < or \. [DPN]
* [extensions/misc.pl] Added an %echo command. [DPN]
* [LC/State.pm] New configuration variable: 'prefer'. See the README. [DPN]
* [extensions/hidesend.pl] New extension: don't display user's sends.
Useful for people with message_echo turned on. [DPN]
* [*/*] Extended the way user input is handled; the parser now parses
userinput events and generates events for different forms of input.
The new events are: ccommand, scommand, usend, and uunknown. [DPN]
* [LC/parse.pm] Fixed a bug involving the characters --> at the end of
a line. [DPN]
* [extensions/after.pl] Extension to run a command after a delay [CWS]
Version 0.6b
* [README] The repository is now on einstein.to. [CWS]
* [tlily.PL] removed a couple extraneous use stmts. [CWS]
* Removed use of the POSIX module where possible and necessary. LC/UI.pm
still needs a replacement for isprint() before removing its use of the
POSIX module. LC/CTerminal.pm and LC/TTerminal.pm may keep their use
of the POSIX module. (This change is for Win32) [CWS]
* [extensions/misc.pl] Fixed !command handling. [DPN]
* [tlily.PL] Require perl 5.003_07. [DPN]
* [LC/smartexit.pl] Extension to exit on disconnect iff the user did a
/det or /bye. [DPN]
* [tlily.PL] Added $exit_on_disconnect variable. [DPN]
* [LC/parse.pm] Untested patch to make consulting sends work. [DPN]
* [extensions/info.pl] Removed dependancy on IO::File.
* [LC/Config.pm, extensions/autologin.pl] Added the 'noauto' option, to
suppress autologin. [DPN]
* [LC/Extend.pm, extensions/vinfo.pl] Added a 'vinfo' command, to allow
automatic transmission of version information. (Disabled by default.)
[DPN]
Version 0.6a
* [README] Documented the terminal features. [DPN]
* [LC/UI.pm, LC/CTerminal.pm, LC/TTerminal.pm, tlily.PL,
extensions/terminal.pl] Added support for multiple terminals. [DPN]
* [extensions/misc.pl] Added %version command [CWS]
* [extensions/expand.pl] Added a tab-ring (try starting at a blank line
and pressing tab a few times). Added expansion after commas. [DPN]
* [LC/parse.pm] Added a "Raw" field to events. [DPN]
* [extensions/keepalive.pl] New extension -- pings the server periodically
to verify the connection state. [DPN]
* [LC/parse.pm] Discovered a bit of leftover debugging output. [DPN]
Version 0.5c
* [LC/Extend.pm] Permit extensions access to $@. This makes life better
for the %eval command. [DPN]
Version 0.5b
* [LC/State.pm, LC/StatusLine.pm] Synchronization state appears on status
line. [DPN]
* [LC/parse.pm] Fixed a parser bug involving < or \ in blurbs. [DPN]
* [extensions/misc.pl] %eval prints the result of the eval'd expr. [DPN]
* [extensions/info.pl] Fixed the breeding backslash bug. [DPN]
* [extensions/zone.pl] Activate the zone extension if zonetype is set [CWS]
* [LC/Config.pm] Forgot a shift @ARGV in one of the if statements
processing the command line [CWS]
* [LC/Config.pm] the -m/-mono option wasn't being special-cased like
it should have been in the command line parser [CWS]
* [tlily.PL] the ?: construct to choose the mono/color choice hash
didn't work right -- yanked it out to a full if() stmt [CWS]
Version 0.5a
* [Build.PL] Bugfix: The perl library 'use lib (...' line shouldn't have
the trailing "/LC" on it [CWS]
* Mention 'perl Build.PL -h' in the README [CWS]
* [LC/Config.pm] The @load and @slash lists weren't being evaluated
correctly for "-" entries [CWS]
* [Build.PL] Add -f option to force overwrite when installing files.
It actually removes each existing file before installing the new
one [CWS]
* [Build.PL] When releasing, update the first line of the changelog to
reflect the version being released [CWS]
* Colors are now set from the %color_attrs and %mono_attrs arrays set
in the config files [CWS]
Version 0.5
* Major Change: Config files; See README for more details. [CWS]
* [Build.PL] Improved version number handling. [CWS]
* [Build.PL] Added -i option to ignore the build cache. [CWS]
* [Build.PL] If the install dirs are for the current dir, ask the user
if they want to be re-asked for the paths. [CWS]
* [LC/UI.pm] Bugfix: If ^W was pressed while in the middle of text, the
cursor wasn't repositioned properly. [CWS]
* [Build.PL] Instead of asking for separate dirs for the extensions and
library(LC), ask for 1 library dir that will contain the extensions,
library, and global config file, and one that will hold the site
config file. [CWS]
* [extensions/zone.pl] If $zonetype is set to 12, timestamps will be
displayed in a 12 hour clock. [CWS]
* [LC/StatusLine.pm] If $clocktype is set to 12, the statusline clock will
be displayed in a 12 hour clock. [CWS]
* [LC/StatusLine.pm] If $clockdelta is set, the statusline clock will be
zonedelta-ed similar to what the zone module does for timestamps. [CWS]
* Autologin. [DPN]
* Send collapsing. [DPN]
* Trap SIGWINCH, and try to do something appropriate. [DPN]
* Fixed a bug where the parse rules for discussions the user creates/
destroys weren't being applied properly. [DPN]
* Fixed ludicrous bug involving terminal widths != 80 characters. [DPN]
* Fixed problems with overly-long sendlists. [DPN]
* Ctrl-c must be pressed twice within a 5-second period to exit. [DPN]
* Fixed the bug that caused tlily to complain about a sysread() error. [DPN]
* Auto-detect mono terminals. [DPN]
Version 0.4a
* Bugfix: The handler registering functions were not returning the correct
ID to extensions. [DPN]
* Added prompt handing on the input line. [DPN]
* Complete rewrite of the text window code. It should now be significantly
faster. [DPN]
* Extensions to load may now be specified by either a filename, or just
an extension name. If just an extension name is used, then the
extension search path will be used. [DPN]
* Changed page up/down to M-v/C-v. [DPN]
* Meta keys now function. [DPN]
* [extensions/look.pl] Removed debugging 'foo' printf. [CWS]
* [Build.PL] Added -c option to use current directories. [CWS]
* [extensions/startup.pl] New extension; snarfs ~/.lily/tlily/Startup
on a connected event. [CWS]
* [tlily.PL] Played with login stuff so client options are sent at the
blurb prompt and, therefore, we get the %connected option at RPI. [CWS]
* [LC/Event.pm] Fixed documentation; dispatch_event takes 1 arg, a
hashref. [CWS]
* [extensions/look.pl] Look extension: perform a look(1) on the word under
the cursor. [DPN]
* [LC/StatusLine.pm] Added a clock. [DPN]
* [LC/Event.pm, LC/Extend.pm] Added support for I/O and timed events. [DPN]
* [extensions/expand.pl] added code to reset the sendlist more appropriately
when /oops-ing or /also-ing; enabled with $config{oops} and $config{also};
when set to "/", intercepts /oops and /also, when set to "%", adds
commands %oops and %also, when set to "/%" or "%/", does both. [CWS]
* [tlily.PL] Commented out some unused variables and fixed some typos to
make perl -w happier. [CWS]
* The parser should now catch sends from the user. (<< and <-) [DPN]
* Parser bug fix: *** (10:00) User has attached *** was parsed incorrectly
if the date was in there. [DPN]
* [tlily.PL] Fixed bug which caused ~/.lily/tlily/init not to be read. [CWS]
* [Build.PL] Tells you how to install when you only make tlily and
your directories aren't the current dir. [CWS]
* [Build.PL] Now accepts 'tlily' as a target on the command line. [CWS]
* [Build.PL] Tilde(~) expansion will be done on all paths entered by the
user. [CWS]
Version 0.3b
* Moved !command and %eval into an extension, and fixed a !cmd bug. [DPN]
* Fixed the unknown-command-sent-to-server bug. [DPN]
* Fixed the slow-more-update bug. [DPN]
* Zone extension: fixed the negative-time bug. [DPN]
* Minor UI bugfix involving the input line's attributes. [DPN]
* The Build script will now cache whether the directories in the cache
file are for the local directory, and warn you not to do an install. [CWS]
* If you try to install while your cached directories are for the local
directory, the Build script asks you if you really want to install. [CWS]
* The Build script explains better about the module library directory
(that you shouldn't add the trailing /LC) when asking for it. [CWS]
Version 0.3a
* Build script now asks what paths you want to use and caches them,
rather than making you edit Build.PL to set them.
* Build script makes all generated files read-only to discourage editing.
* perl Build.PL release now works.
* Sendgroup expansion (=) now works.
* Extensions may be loaded and unloaded during a lily session.
* Timezone rewriting works again, through the 'zone' extension.
* Groups are supported (the expander knows about them).
* -- MORE -- works.
* The password does not appear in the command history.
* Command handlers' arguments' no longer have trailing whitespace. (As of
0.2c, they were receiving a terminating \n, which made just about every
command handler break.)
Version 0.2c
* Fixed a bug which made 0.2b unable to run.
Version 0.2b
* Redesigned the event model.
* Began documenting; Event.pm and State.pm have manpages.
* Added a README and ChangeLog.
* Loadable extensions, thanks to Josh.
* Build script, thanks to Albert.
Version 0.2a
* /info edit
* complete redesign of parsing engine and event handling.
* here/away status on status line.
Version 0.1f
* full /who and /what parsing
* tab completion
Version 0.1e
* Help now mentions -zonedelta option.
* A few more server messages are recognized, thanks to Silent Bob.
* Network input routines are rewritten.
* A truly obscure bug involving printing the sequence '\<' is now fixed.
* Gagging is implemented: %gag <user>
* Perl code now requires %eval <code>, instead of just %code.
Version 0.1d
* password no longer echos.
* user-entered text now has an attribute
* timezone rewriting added
Version 0.1c
* Silly me. I made a foolish error when merging Josh's info patch. Fixed.
* /info set now works for discussions. Really.
Version 0.1b
* /info set now works for discussions.
* Private messages to multiple destinations are parsed correctly.
* C-d deletes the character following the cursor.
* Turning your blurb off is noticed.
* C-w deletes the word preceding the cursor.
* The status line is drawn in reverse when in mono mode.
* C-u now repositions the cursor properly.
* Internal handling of control characters is cleaner.
* Backslashes are no longer invisible.
Version 0.1a
* It has many, many bugs. Tell us about them.