summaryrefslogtreecommitdiff
path: root/elisp/erbot/ChangeLog
blob: 0af41f31f13c65a00e8984802dedc6cf3eb020b5 (plain)
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
2007-12-06  D. Goel  <deego3@gmail.com>

	* erbc.el (fsi-replace-regexp): fix call to `error'.
	(fsi-merge-generic): Ditto.	
	(fsi-mv): "
	(fsi-replace-string): "
	and many other functions and files: Ditto.
	
2007-11-23  Dave Goel  <deego@gnufans.org>

	* COPYING: Replace by GPL v. 3

	* erbot.el and all other files: Change GPL v. 2 to 3.

2007-07-22  Michael Olson  <mwolson@gnu.org>

	* README.txt: Mention examples/dotemacs-mybot.

	* examples/dotemacs-mybot: New file that is the example .emacs for
	the bot.

2007-07-19  Michael Olson  <mwolson@gnu.org>

	* erbot.el (erbot-reply): Don't force the message through without
	flood protection.  Since ERC 5.1, ERC has very good flood
	protection, so make use of it.

2007-04-11  Vivek Dasmohapatra  <vivek@etla.org>

	* erbim.el (fs-unicode-describe): add usage instructions 
	(erbim-search-by-description): search for unicode characters by 
	description.
	(fs-unicode-find): bot-ui wrapper for erbim-search-by-description
	including usage message.
	(erbim-name-by-codepoint): changed output format to use #xXXX

2007-01-28  Vivek Dasmohapatra  <vivek@etla.org>

	* erbot.el (erbot-join-servers): `erc' takes :keyword style
	parameters in emacs22, the old argument list no longer works.
	Work out which erc version we're using and alter the call
	appropriately.

2007-01-27  Vivek Dasmohapatra  <vivek@etla.org>

	* erbutils.el (erbutils-describe-variable): help-button-xref
	has changed in emacs22, make this function work with it.

2006-11-28  Michael Olson  <mwolson@gnu.org>

	* erbot.el (erbot-join-servers): Make this work with the ERC
	development branch.

2006-09-28  D Goel  <deego@gnufans.org>

	* erbc.el (fsi-describe-from-english): smarter self search
	(fsi-generalize-search-term): new, for above.

2006-08-21  Michael Olson  <mwolson@gnu.org>

	* erbot.el (erbot-install): Remove check for erc-backend-version,
	since it no longer exists.  Use featurep instead.  This fixes a
	failure to join channels issue with the ERC development branch.

2006-05-18  Vivek Dasmohapatra  <vivek@etla.org>

	* erbtranslate.el (fsi-translate): If we can't make sense 
	of the call (not enough arguments) emit a usage message.

2006-05-17  Michael Olson  <mwolson@gnu.org>

	* contrib/translate.el (translate-load-pairs): Docfix.

	* erbtranslate.el (fsi-translate-list-services): Use
	translate-program, not erbn-translate-program, since the latter
	does not exist.

2006-05-12  Vivek Dasmohapatra  <vivek@etla.org>

	* contrib/translate.el: the symbol -> string coercion is not 
	required for arguments to translate.el, that's something
	specific to user-visible erbot functions.

	* erbtranslate.el: most translation code moved to translate.el
	fsi-translate-web-page temporarily disabled till I've tested
	it a bit more and made the implementation a little smarter
	than it currently is. (It should check ti see if a web page 
	service is actualy available)

2006-05-10  D Goel  <deego@gnufans.org>

	* erbtranslate.el: update authors

2006-05-10  Vivek Dasmohapatra  <vivek@etla.org>

	* erbtranslate.el (fsi-translate-list-pairs): destination language
	should also be searched for with a case insensitive predicate.

2006-05-09  D Goel  <deego@gnufans.org>

	* erbtranslate.el: update authors

2006-05-09  Vivek Dasmohapatra  <vivek@etla.org>

	* erbtranslate.el (fsi-translate-list-pairs): improved help, return
	more information when < N pairs, where N is currently 20. (Always 
	return full list if both origin and destination are both supplied)
	(erbtranslate-full-name): returns a "full name" for a language,
	consisting of all its human-readable aliases.
	(erbtranslate-unsupported-langs): list of languages emacs can't utf-8
	encode yet.
	(fsi-translate): abort for non-unicodable languages like Arabic and 
	Hebrew.
	(fsi-translate): Use full names of languages in error messages.
	(fsi-translate-list-pairs): Use full names of languages in messages.

2006-05-08  Vivek Dasmohapatra  <vivek@etla.org>

	* erbtranslate.el (erbtranslate-parse-pair): parse the output of
	erbn-translate-program --list-pairs.
	(erbtranslate-load-pairs): load the map of available translations.
	(fsi-translate-list-pairs): Alter this function so that it only lists
	possible translations when both an origin and a destination language
	have been specified. Otherwise just tells the user how many matching
	language pairs there are.
	(fsi-translate-list-pairs): coerce the arguments into strings first.
	(erbtranslate-parse-pair): some (one?) language codes are 3 letter.
	I thought this was non-canonical but that's what translate returns,
	so we must support it.
	(erbtranslate-parse-pair): tidy up error message
	(erbtranslate-req-to-pair): new. take the (possibly non-canonical)
	language names from the user and map them to the canonical language
	codes that translate expects.
	(fsi-translate): map human-friendly language names in translation 
	request to canonical language codes.
	(fsi-translate): use the coerced-strings, not the raw language args.

2006-05-08  D Goel  <deego@gnufans.org>

	* erbtranslate.el (erbn-translate-program): new.  Make the program customizeable.
	

	* contrib/shs.el: New shs.el, cleans up temporary files.

2006-04-24  D Goel  <deego@gnufans.org>

	* erbtranslate.el: DECLARE SAFE. Uses call-process now.

	* erball.el: require erbtranslate.

	* erbutils.el (erbutils-enabled-check): new function.  

	* erbtranslate.el: revamp the file to make it secure, not yet final.

2006-04-20  D Goel  <deego@gnufans.org>

	* erbot.el (erbot-safe-p): Improve this function a bit.
	(erbot-safe-nocontrol-p): new.

	* erbot-lispy.el (erbot-lispy-safe-p): change name from erbot-lispy-safep

	* erbot.el (erbot-safe-p): change name from erbot-safep

	* erbc.el (erbn-url-functions-p): new variable.  Disallow url's
	unless enabled here.  Else potential freeze.
	(erbn-internal-web-page-time): rename from the one below.
	(fs-internal-web-page-time): rename to the one above
	(erbn-url-functions-p): add bug discoverer's name in docstring.
	(fsi-get-more-invocation-string): new function.
	(fsi-limit-lines): Make the bot spit something useful instead of
	,more, when using weird erbn-char.

2006-04-19  D Goel  <deego@gnufans.org>

	* erbtranslate.el: fix minor doc typo

2006-04-17  D Goel  <deego@gnufans.org>

	* erbtranslate.el: adapted from indio's myerc.el.  Work in
	progress. INSECURE.  DO NOT USE THIS FILE.

2006-04-07  D Goel  <deego@gnufans.org>

	* erbot.el (erbot-safe-make): Exception to control characters:
	Allow \t

2006-03-21  D Goel  <deego@gnufans.org>

	* erbot.el (erbot-safe-make): new function.
	(erbot-reply): call erbot-safe-make before replying.

2006-02-28  Michael Olson  <mwolson@gnu.org>

	* ChangeLog: Remove use of CVS Revision tag.

2006-02-27  D Goel  <deego@gnufans.org>

	* erbc2.el (fs-apply): SECURITY FIX!  Also, disable when
	paranoid.  Ditto for funcall.

	* erbot.el (erbot-paranoid-p): Make this new variable a catchall
	for security. t by default.  No enablings like erbot-setf-p,
	etc. will work unless this is non-nil. If this is non-nil, erbot
	is paranoid, it will not allow apply, setf, funcall, sregex,
	etc. even if the corresponding variables are turned on.

2006-02-26  Michael Olson  <mwolson@gnu.org>

	* erbc.el (fs-flame): Concat multiple arguments together to form
	the flame target, unless there are only 2 arguments and the last
	one is a number.  In that case, we pick the specified flame.

2006-01-10  D Goel  <deego@gnufans.org>

	* erbc5.el (symbol-name): minor: provide this fs-function.


2006-01-05  Michael Olson  <mwolson@gnu.org>

	* README.txt (NOTE): Add directions for getting the units file for
	contrib/units.el.

	* contrib/units.el: Newly-added file that is recommended on the
	ErbotInstallation page of emacswiki.org.


2006-01-01  D Goel  <deego@gnufans.org>

	* erblisp.el (erblisp-check-args): Promote to a macro.  This macro
	first removes any arguments that can't be evalled. This happens,
	when, for example, the user-defined function contained &optional,
	&rest, etc.

	* erbot.el (erbot-remote): erc-coding-system-for-target was not
	defined for older versions of erc.

2005-12-31  Vivek Dasmohapatra  <vivek@etla.org>

	* erbmsg.el (fs-memo): if a memo command was not recognised,
	emit an error so we know it happened.
	(fs-memos): If someone had no memos, return the help-memo
	text too - makes it easier for people to figure out how it
	all works.

2005-12-30  Vivek Dasmohapatra  <vivek@etla.org>

	* erbot.el (erbot-remote): Decode the incoming data properly
	paying attention to erc's inbound coding system.
	(erbot-reply): Now that the inbound data is (hopefully) cleanly
	decoded we shouldn't need to force the outbound coding.
	In emacs21, mule-ucs may be required for this to work.

2005-11-10  D Goel  <deego@gnufans.org>

	* erbot.el (erbot-safep): Make a minor change, to try to render
	this function live up to its name: make it deem any newlines
	unsafe.  Because of the way the engine works, this change has no
	effect on erbot at this time.
	(erbot-safep): minor correction to last change.

2005-11-09  Michael Olson  <mwolson@gnu.org>

	* erbot.el (erbot-reply): Make erbot-safep check each line of the
	split reply.  Split the string on both \n and \r.  Together, this
	fixes an exploit in user-defined functions, which involved
	returning a string like "^Mquit".

2005-11-08  Michael Olson  <mwolson@gnu.org>

	* erblisp.el (erblisp-max-list-length): New option that determines
	how long a sand-boxed list or expression may be.
	(erblisp-safe-length): New function that checks the given list to
	make sure it isn't too long.  It's able to handle nested lists as
	well.
	(erblisp-check-args): New function that calls erblisp-safe-length
	with the correct args.
	(erblisp-sandbox): Use erblisp-check-args.

	* erbc3.el (fsi-defun): Add erblisp-check-args invocation to each
	newly-created user function.

2005-10-12  Michael Olson  <mwolson@gnu.org>

	* erbot.el (erbot-join-servers): Use fboundp check;
	erc-compute-port is a function.

2005-10-05  D Goel  <deego@gnufans.org>

	* erbot.el (erbot-join-servers): `erc-compute-port' seems to be
	undefined for my older ERC (4.0).  So, I
	reverted to old behavior when it is undefined.  Did I do it right?

2005-10-05  Michael Olson  <mwolson@gnu.org>

	* erbot.el (erbot-join-servers): Call `erc-compute-port' instead
	of using the value of `erc-port', since by default erc-port is
	nil.

2005-09-02  D Goel  <deego@gnufans.org>

	* .*.el: Get rid of all string properties everywhere, especially
	right at the source, for extra security.

	* erbc.el (fsi-read): minor: read-> read-from-string for more
	safety
	(erbn-read): new
	(fsi-read-from-string): new
	(fsi-describe-variable): use erbn-read for safety
	(fsi-require): ditto

	* erbbdb.el (erbbdb-add): ditto

2005-08-31  D Goel  <deego@gnufans.org>

	* erbot.el (erbot-nickserv-p): Add auto-identify code, also enable
	by default, see doc for erbot-nickserv-p for how to make changes
	to your bot's .emacs.  This is now required by freenode for
	privmsgs to work.
	(erbot-nickserv-p): Unde default behavior change.  The default
	behavior of erbot remains as xbefore: to *not*idontify by
	default.

2005-08-28  Michael Olson  <mwolson@gnu.org>

	* contrib/wtf.el: Add to copyright notice.
	(wtf-alist): Move FTBFS to the "Additional terms go here" section.

2005-08-22  Jose E. Marchesi  <jemarch@gnu.org>

	* contrib/haiku.el (fs-haiku): New file

2005-08-16  D Goel  <deego@gnufans.org>

	* contrib/wtf.el (wtf-alist): add ("FTBFS" . "failure to build from source")

2005-08-15  Michael Olson  <mwolson@gnu.org>

	* contrib/wtf.el: I received permission to receive these terms in
	the public domain.
	(wtf-alist): Add "TWAT".
	(wtf-is): Fix Emacs21 issue.

2005-08-11  Michael Olson  <mwolson@gnu.org>

	* contrib/wtf.el (wtf-match-string-no-properties): New function
	that is like match-string-no-properties, but works when that
	function is not defined.
	(wtf-get-term-at-point): New function that looks for term at
	point.
	(wtf-is): Make use of `wtf-get-term-at-point'.

	* Makefile (clean realclean distclean fullclean): Remove *~ files
	in contrib directory.

2005-07-09  Michael Olson  <mwolson@gnu.org>

	* erball.el: Make sure that the user knows if bbdb cannot be
	found.  Otherwise they will get a non-working bot!
	(erball-compilation-paths): Add path to BBDB.

2005-07-02  Michael Olson  <mwolson@gnu.org>

	* erball.el (erball-compiling-p): Use a custom routine instead of
	`assoc' to detect "--compile-erbot" since the latter does not seem
	to work on Emacs 22.

2005-07-01  Michael Olson  <mwolson@gnu.org>

	* erball.el (erball-compilation-paths-rel-to): New variable
	populated by `--paths-rel-to ARG' on the emacs command line,
	taking the value of ARG.
	(erball-compiling-p): New variable that is non-nil when
	`--compile-erbot' is included on the emacs command line.  This is
	used to indicate that we want to compile erbot from a Makefile.
	(erball-compilation-paths): Elements to add to load-path when the
	compilation flag, erball-compiling-p, is set.
	(erball-files): Automatically populate this if erball-compiling-p
	is set.
	(erball-compile): If erball-compiling-p is set, use a simpler
	routine.

	* Makefile: New file that allows erbot to be compiled and
	installed.  Edit the top of the file to indicate where to find
	emacs and where to install the files.

	* README.txt (URL): Add brief mention of how to compile and
	install erbot.

2005-06-09  Michael Olson  <mwolson@gnu.org>

	* contrib/wtf.el: New file that contains a list of acronyms in
	`wtf-alist' and the `wtf-is' command to look up a definition.

	* erbtrain.el (erbtrain-utils-teach-acronyms): Use `wtf.el' to
	teach the given bot some common acronyms.

2005-04-28  D Goel  <deego@gnufans.org>

	* erbc3.el (fsi-pf-load): Make this error msg more informative. 

	* erbc5.el (fsi-ignore-errors-else-string): new. 

2005-04-01  D Goel  <deego@gnufans.org>

	* erbc4.el (fsi-kick): Move from erbc.el to here. 
	

2005-04-01  Michael Olson  <mwolson@gnu.org>

	* erbot.el (erbot-doctor): Create separate doctor sessions for
	each channel or query buffer so that responses make sense to the
	user.

2005-02-21  S Freundt  <hroptatyr@gna.org>

	* erbmsg.el: (erbmsg-notify-msg-on-JOIN) [fix] add function set-alist for
	compatibility to FSF emacsen

2004-07-26  S Freundt  <hroptatyr@gna.org>

	* erbmsg.el: (erbmsg-notify-msg-on-JOIN)
	- fixed bug with last-access used for the first time

2004-06-26  S Freundt  <hroptatyr@gna.org>

	* erbmsg.el: 
	- added dump routines to dump message hash tables to hard disk
	- added routines for restoring from dumped message files
	- added interval within erbot does not notify on channel joins
	- added erbmsg-new-msg-(pre|post)-hook

2004-06-13  S Freundt  <hroptatyr@gna.org>

	* erbot.el: added new var erbot-on-new-erc-p 
	and handlers for new erc-backend facilities.

	erc versions >1.660 use erc-backend.el to handle server
	events. erbot is now aware of these new handlers by
	determining the value `erbot-on-new-erc-p' when calling
	`erbot-install'.
	The new backend handlers' values are evaluated within
	`erbot-remote' fun.

2004-05-07  D Goel  <deego@gnufans.org>

	* erbwiki.el: Security, add new functions. 

	USING LINES < 0.3 FOR WIKI TRAINING WAS A SECURITY RISK, WE
	THINK.. THOUGH WE HAVEN'T FIGURED OUT HOW TO EXPLOIT IT.
	lines 0.3 and later fix that risk.

	Also add new functions to erbwiki.el suitable for parsing more
	wikis.
	

2004-04-06  D Goel  <deego@gnufans.org>

	* erbc.el (fs-kick): Kicking syntax different?  remove nil?

2004-03-28  D Goel  <deego@gnufans.org>

	* erbcompat.el: name Sebastian as the author :)

	* erbwiki.el (erbwiki-get-fields): remove '... since not
	recognized by xemacs

2004-03-22  D Goel  <deego@gnufans.org>

	* erball.el (noninteractive): dunnet should be required only for
	noninteractive, else it starts a session!

2004-03-21  D Goel  <deego@gnufans.org>

	* erbc3.el: Redefine and move fs-setq here. 
	(fs-defun): This function was defined twice. Remove the first
	definition. 

	* erbc.el (fs-find-variable-internal): add cosmetic space. 
	(obarray): redefine and mv fs-setq to erbc3

2003-12-30  D Goel  <deego@gnufans.org>

	* erbc.el (reverse): add fs-reverse