ChangeLog 310 KB
Newer Older
1
2
2003-08-24  David Byers  <byers@lysator.liu.se>

3
4
5
	* commands1.el (kom-create-conf): Ask about keep-commented when
	creating conference.

6
7
8
9
10
	* NEWS-0.48: Updated to here.

	Support setting keep-commented:
	* commands2.el (kom-set-keep-commented): New command.

11
12
2003-08-20  David Byers  <byers@lysator.liu.se>

David Byers's avatar
David Byers committed
13
14
15
16
	More work on bug 459:
	* vars.el.in (lyskom-default-conference-strategy): Documented this
	variable.

17
18
19
20
21
22
23
24
25
	Support saving most recent input:
	* completing-read.el (lyskom-read-conf-saved-inputs): New
	variable.
	(lyskom-read-conf-save-input): New function.
	(lyskom-read-conf): Call it to save user input.
	(lyskom-read-conf-guess-initial): Support arguments to strategy
	functions.
	(lyskom-default-conference-saved): New function.

26
27
2003-08-17  David Byers  <byers@lysator.liu.se>

David Byers's avatar
David Byers committed
28
29
30
31
32
	Fix bug 1044:
	* lyskom-buttons.el (lyskom-view-url-windows): Protect execution
	of w32-shell-execute from errors (e.g. caused by bad settings).
	(lyskom-view-url-windows): Added a bunch of paths to iexplore.exe.

33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
	Support UTC time in the server:
	* startup.el (lyskom): Select UTC time format if the server
	supports it.

	* utilities.el (lyskom-set-connection-format): New function.

	* parse.el (lyskom-parse-time): Use lyskom-create-time-from-utc.
	Convert day-of-year to starting from one.
	(lyskom-init-parse): Add the parse buffer as a child of the main
	buffer so UTC setting is propagated to it.

	* komtypes.el (lyskom-create-time-from-utc): Simplified. It seems
	that the right thing to do is pass zero in TZ to encode-time. This
	should speed things up slightly in normal cases. Handle case when
	server does not use UTC.

	* services.el: (initiate-get-last-text): Commented out since we
	can't convert local time to UTC, which this function requires.

52
53
54
55
56
57
58
59
	Go over EMPTY and MUSTMATCH parameters to lyskom-read-conf-stat:
	* startup.el (kom-start-anew): Don't allow EMPTY when logging on.

	* filter.el (kom-filter-subject): Don't use /=. Use not eq
	instead.
	(kom-filter-author): Same here.
	(kom-filter-text): Same here.

60
	* commands2.el (kom-create-aux-item): Set MUSTMATCH when reading
61
62
63
64
65
66
67
68
69
70
71
72
73
74
	conference name.

	* vars.el.in (lyskom-default-conference-strategy): Default for
	kom-set-permitted-submitters new-permitted-submitters-q is empty.

	* commands1.el (kom-change-presentation): Don't allow EMPTY when
	reading conf name (it means the same as the default initial
	value).
	(kom-change-conf-motd): Same here.
	(kom-set-presentation): Same here.
	(kom-set-motd-text): Same here.
	(kom-remove-presentation): Same here.
	(kom-change-password): Same here.

75
76
77
78
	* macros.el (lyskom-with-external-functions): Work even if
	byte-compile-unresolved-functions is not bound (e.g. in
	check-strings.el and when not compiled).

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
	Make initial value for reading confs more configurable:
	* filter.el (kom-filter-author): Simplified. Initial values are
	now computed in completing-read.el, not here.

	* completing-read.el (lyskom-read-conf-guess-initial): Added
	PROMPT parameter.
	(lyskom-get-initial-conf-strategy): Added PROMPT parameter.
	Operate on new format. Combine prompt-specific, command-specific
	and default configuration.

	* vars.el.in (lyskom-default-conference-strategy): New format.
	Removed lyskom-default-conference-self as default.

	* completing-read.el (lyskom-default-conference-last-author): New
	function. 

	Pass symbols or lists to lyskom-read-conf-stat and friends:
	* startup.el (kom-start-anew): Pass symbol as prompt to
	lyskom-read-conf-stat.

	* review.el (lyskom-review-by-to): Pass symbol as prompt to
	lyskom-read-conf-stat.
	(lyskom-unread-by-to): Same.

	* filter.el (kom-filter-subject): Pass symbol as prompt to
	lyskom-read-conf-stat.
	(kom-filter-author): Same.
	(kom-filter-text): Same.

	* faqs.el (kom-change-conf-faq): Pass symbol as prompt to
	lyskom-read-conf-stat.
	(kom-list-faqs): Same.

	* edit-text.el (kom-edit-add-recipient): Pass symbol as prompt to
	lyskom-read-conf-stat.
	(kom-edit-add-bcc): Same.
	(kom-edit-add-copy): Same.
	(kom-edit-move-text): Same.

	* completing-read.el (lyskom-read-conf): Support list as prompt.

	* commands2.el (kom-status-conf): Pass symbol as prompt to
	lyskom-read-conf-stat.
	(kom-status-person): Same.
	(kom-set-garb-nice): Same.
	(kom-set-permitted-submitters): Same.
	(kom-set-super-conf): Same.
	(kom-set-personal-label): Same.
	(kom-is-person-member-of-conference): Same.
	(kom-will-person-read-text): Same.

	* commands1.el (kom-delete-conf): Pass symbol as prompt to
	lyskom-read-conf-stat.
	(kom-review-presentation): Same.
	(kom-unread-presentation): Same.
	(kom-add-member): Same.
	(kom-add-self): Same.
	(kom-change-priority): Same.
	(kom-sub-member): Same.
	(kom-sub-self): Same.
	(kom-change-presentation): Same.
	(kom-change-conf-motd): Same.
	(kom-set-presentation): Same.
	(kom-set-motd-text): Same.
	(kom-remove-presentation): Same.
	(kom-unset-conf-motd): Same.
	(kom-go-to-conf): Same.
	(lyskom-write-text): Same.
	(kom-change-name): Same.
	(kom-change-parenthesis): Same. Also moved initial to vars.el.in.
	(kom-change-supervisor): Same.
	(kom-change-password): Same.
	(kom-who-is-on-in-conference): Same.
	(kom-who-is-present-in-conference): Same.
	(lyskom-add-helper): Same.
	(kom-sub-recipient): Same.
	(lyskom-read-cross-reference-and-get-aux-item): Same. Also cleanup.
	(lyskom-read-link): Same.

158
159
2003-08-16  David Byers  <byers@lysator.liu.se>

160
161
162
163
164
	Work on supporting UTC timestamps from the server:
	* komtypes.el (lyskom-create-time-from-utc): New function.

	* utilities.el (lyskom-days-in-year): New function.

David Byers's avatar
David Byers committed
165
166
167
168
169
170
171
172
173
	Support for new server calls:
	* parse.el (lyskom-parse-scheduling-info): New function.

	* komtypes.el (scheduling-info): New datatype.

	* services.el (initiate-get-scheduling): New function.
	(initiate-set-scheduling): New function.
	(initiate-set-connection-time-format): New function.

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
	Handle async-text-aux-changed:
	* async.el (lyskom-parse-async): Handle async-text-aux-changed.

	* aux-items.el (lyskom-aux-item-modify-list): New function.

	* komtypes.el (text-stat): Make aux-items field read-write.

	Major cleanup of compatibility code:
	* compatibility.el: Cleaned up compatibility code a lot. We no
	longer provide fake versions of MULE-related functions or any
	other function that other code might take to mean there's some
	major feature in Emacs. The only definitions we make in the
	standard namespace are "safe" functions. Removed functions that
	are not used. Simplified some of the macros. Moved code here from
	utilities.el.
	(lyskom-gnu-keysym,lyskom-xemacs-keysym): Removed swedish chars
	from the lists since we don't use lyskom-keys for that any more.

	* commands2.el (kom-diff-texts): split-string to
	lyskom-split-string.

	* compatibility.el (coding-system-type): New compatibility def.
	(coding-system-property): New compatibility def.
	(split-string): Provide compatibility definition for split-string.

	* lyskom-rest.el (lyskom-unity-text): Use compatibility functions
	for MULE stuff.

	* macros.el (lyskom-end-of-compilation): Don't remove
	compatibility definitions from the list of warnings for unresolved
	functions since this serves no purpose and hides actual errors.

	* lyskom-rest.el (lyskom-unity-text): coding-system-type to
	lyskom-coding-system-type.

	* option-edit.el (lyskom-widget-click): event-point to
	lyskom-event-point.

	* slow.el (kom-slow-click-or-yank): event-closest-point to
	lyskom-event-closest-point.

	* utilities.el (lyskom-unicase-char): char-to-int to
	lyskom-char-to-int.

	* lyskom-rest.el (lyskom-fill-message-initial-wrap): char-to-int
	to lyskom-char-to-int.
	(lyskom-fill-message): Same here.
	(lyskom-is-loaded): Same here.

	* faces.el (lyskom-setup-faces-for-buffer): frame-property to
	lyskom-frame-property.

	* review.el (lyskom-get-texts-by-and-to): mapcar2 to
	lyskom-mapcar2.

	* lyskom-rest.el (lyskom-split-user-area): mapcar2 to
	lyskom-mapcar2.

	* feature.el (lyskom-list-features): mapcar2 to lyskom-mapcar2.

	* slow.el (lyskom-expand-slow-command): char-before to
	lyskom-char-before.

	* option-edit.el (lyskom-widget-click): event-point to
	lyskom-event-point.

	* lyskom-buttons.el (kom-button-click): event-point to
	lyskom-event-point. event-glyph to lyskom-event-glyph.
	(kom-popup-menu): Same here.

	* mship-edit.el (lp--entry-set-background): find-face to
	lyskom-find-face.
	(lp--entry-set-foreground): Same here.

	* lyskom-rest.el (lyskom-face-default-p): find-face to
	lyskom-find-face.

	* aux-items.el (lyskom-maybe-add-face-to-string): find-face to
	lyskom-find-face.

	* mship-edit.el (lp--format-entry): lyskom-face-background-name to
	lyskom-face-background. lyskom-face-foreground-name to
	lyskom-face-foreground.
	(lp--redraw-entry-mark): Same here.

	* lyskom-rest.el (lyskom-verified-read-enter): minibuffer-message
	to lyskom-minibuffer-message.

	* command.el (lyskom-command-complete-word): minibuffer-message to
	lyskom-minibuffer-message.

	* utilities.el (lyskom-maybe-recode-string): multibyte-string-p to
	lyskom-multibyte-string-p.
	(lyskom-string=): multibyte-string-p to
	lyskom-multibyte-string-p.

	* compatibility.el (lyskom-string-width): multibyte-string-p to
	lyskom-multibyte-string-p.

	* buffers.el (lyskom-recode-buffer-name): multibyte-string-p to
	lyskom-multibyte-string-p.

	* compatibility.el (lyskom-string-width): string-make-unibyte to
	lyskom-string-make-unibyte. string-make-multibyte to
	lyskom-string-make-multibyte.

	* lyskom-rest.el (lyskom-filter): string-as-unibyte to
	lyskom-string-as-unibyte.
	(lyskom-prot-a-format-string): Same here.
	(lyskom-prot-a-format-raw-string): Same here.

	* mime.el (lyskom-mime-string-charset): find-charset-string to
	lyskom-find-charset-string.

	* utilities.el (lyskom-truncate-string-to-width): char-width to
	lyskom-char-width.

	* view-text.el (lyskom-format-text-footer): string-width to
	lyskom-string-width.

	* completing-read.el (lyskom-read-session-resolve-ambiguity):
	string-width to lyskom-string-width.

	* utilities.el (lyskom-check-configuration): coding-system-get to
	lyskom-coding-system-get.

	* mime.el (lyskom-mime-string-charset):
	find-coding-systems-for-charsets to
	lyskom-find-coding-systems-for-charsets
	(lyskom-mime-string-charset): coding-system-get to
	lyskom-coding-system-get.

	* parse.el (lyskom-parse-coded-string): check-coding-system to
	lyskom-check-coding-system.

	* mime.el (lyskom-mime-charset-coding-system): check-coding-system
	to lyskom-check-coding-system.

	* lyskom-rest.el (lyskom-prot-a-format-string): string-bytes to
	lyskom-string-bytes.
	(lyskom-prot-a-format-raw-string): string-bytes to
	lyskom-string-bytes.

	* flags.el (lyskom-save-options): string-bytes to
	lyskom-string-bytes.

	* utilities.el (lyskom-compute-char-classes): decode-coding-string
	to lyskom-decode-coding-string.
	(lyskom-string=): decode-coding-string to
	lyskom-decode-coding-string.

	* parse.el (lyskom-parse-coded-string): decode-coding-string to
	lyskom-decode-coding-string.

	* mime.el (lyskom-mime-decode-string): decode-coding-string to
	lyskom-decode-coding-string.

	* parse.el (lyskom-parse-string): decode-coding-string to
	lyskom-decode-coding-string.

	* flags.el (lyskom-read-options-eval-get-holerith):
	decode-coding-string to lyskom-decode-coding-string.
	(lyskom-get-holerith): decode-coding-string to
	lyskom-decode-coding-string.

	* compatibility.el (lyskom-buggy-decode-coding-string):
	decode-coding-string to lyskom-decode-coding-string.

	* buffers.el (lyskom-recode-buffer-name): decode-coding-string to
	lyskom-decode-coding-string.

	* aux-items.el (lyskom-aux-item-decode-data): decode-coding-string
	to lyskom-decode-coding-string.

	* compatibility.el (lyskom-buggy-encode-coding-string):
	encoded-coding-string to lyskom-encode-coding-string.

	* utilities.el (lyskom-maybe-recode-string): encode-coding-string
	to lyskom-encode-coding-string.
	(lyskom-unicase): encode-coding-string to
	lyskom-encode-coding-string.

	* mime.el (lyskom-mime-encode-string): encode-coding-string to
	lyskom-encode-coding-string.

	* lyskom-rest.el (lyskom-prot-a-format-string):
	encode-coding-string to lyskom-encode-coding-string.

	* language.el (lyskom-get-menu-string): encode-coding-string to
	lyskom-encode-coding-string.

	* keyboard-menu.el (lyskom-keyboard-menu-keys-for-string):
	encode-coding-string to lyskom-encode-coding-string.

	* flags.el (lyskom-save-options): encode-coding-string to
	lyskom-encode-coding-string.

	* buffers.el (lyskom-recode-buffer-name): encode-coding-string to
	lyskom-encode-coding-string.

	* aux-items.el (lyskom-aux-item-encode-data): encode-coding-string
	to lyskom-encode-coding-string.

	* startup.el (lyskom): set-process-coding-system to
	lyskom-set-process-coding-system.

	* parse.el (lyskom-init-parse): set-buffer-multibyte to
	lyskom-set-buffer-multibyte.

	* mship-edit.el (lp--maybe-update-unreads): Use
	lyskom-next-property-bounds, not next-text-property-bounds.

	* lyskom-rest.el (lyskom-do-special-inserts): Use
	lyskom-next-property-bounds, not next-text-property-bounds.

	* view-mode.el (lyskom-view-base-mode): set-keymap-parent to
	lyskom-set-keymap-parent.

	* language.el (lyskom-set-language-keymaps): set-keymap-parent to
	lyskom-set-keymap-parent.

	* completing-read.el (lyskom-minibuffer-local-must-match-map):
	set-keymap-parent to lyskom-set-keymap-parent.

	* command.el (lyskom-command-minibuffer-local-must-match-map):
	set-keymap-parent to lyskom-set-keymap-parent.

	* commands2.el (lyskom-help-get-keylist): map-keymap to
	lyskom-map-keymap. Removed other branches since map-keymap is
	always defined now.

	* mship-edit.el (lp--calculate-distance): signum to lyskom-signum.

	* commands1.el (lyskom-window-width): frame-width to
	lyskom-frame-width.

	* lyskom-rest.el (lyskom-format-aux-help): int-to-char to
	lyskom-int-to-char.

	* commands2.el (lyskom-help): characterp to lyskom-characterp

	* keyboard-menu.el (lyskom-read-from-menu): characterp to
	lyskom-characterp.

	* lyskom-rest.el (lyskom-format-aux-help): characterp to
	lyskom-characterp.

	* regexp.el (lyskom-re-convert-finalize-result): characterp to
	lyskom-characterp.
	(lyskom-re-convert-finalize-result): Same here.

	* mime.el (lyskom-mime-string-charset): Use :mime-charset next to
	mime-charset (Gnus does this ans says it is the Emacs 22 way).

428
429
2003-08-15  David Byers  <byers@lysator.liu.se>

David Byers's avatar
David Byers committed
430
431
432
433
434
435
436
437
438
439
	* view-text.el (lyskom-get-text-belongs-to): New function.

	Fix bug 301:
	* commands1.el (kom-move-text): Move attachments and footnotes
	together with the text.
	(kom-sub-recipient): Remove recipient from attachments and
	footnotes too.
	(lyskom-add-helper): Add recipients to attachments and footnotes
	too.

David Byers's avatar
David Byers committed
440
441
442
443
444
	Fix bug 623:
	* commands2.el (kom-set-unread): Delete conf-stat from cache
	before prompting. Fixed error handling.

	Better handling of minibuffer reading:
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
	* completing-read.el (lyskom-read-conf): Don't call
	lyskom-with-lyskom-minibuffer since it's integrated in
	lyskom-completing-read now.
	(lyskom-read-session-resolve-ambiguity): Same here.

	* lyskom-rest.el (lyskom-verified-read-from-minibuffer): Don't
	call lyskom-with-lyskom-minibuffer since it's integrated in
	lyskom-read-from-minibuffer now.

	* commands2.el (kom-calculate): Don't call
	lyskom-with-lyskom-minibuffer since it's integrated in
	lyskom-read-from-minibuffer now.
	(kom-set-personal-label): Same here.

	* command.el (lyskom-read-extended-command): Don't use
	lyskom-with-lyskom-minibuffer since it's integrated in
	lyskom-completing-read now.

	* utilities.el (lyskom-completing-read): Moved here from
	compatibility.el and turned into a regular function. Integrate
	lyskom-with-lyskom-minibuffer and lyskom-with-magic-minibuffer.
	(lyskom-read-from-minibuffer): Ditto.

	* commands1.el (kom-sub-self): Undo previous change. The new
	configuration mechanism takes care of things.
	(kom-go-to-conf): Same here.

	Even better defaults for initial conference:
	* compatibility.el (lyskom-completing-read): Use defsubst in Gnu
	Emacs so we can advise it.

	* vars.el.in (lyskom-default-conference-strategy): New variable.

	Rewrote magic minibuffer handling:
	* utilities.el (lyskom-magic-minibuffer-pre-command): New
	function.
	(lyskom-magic-minibuffer-before-change): New function.
	(lyskom-magic-minibuffer-post-command): New function.
	(lyskom-magic-minibuffer-cancel): New function.
	(lyskom-magic-minibuffer-mangle-initial): New function.
	(read-from-minibuffer): New advice.
	(completing-read): New advice.
	(lyskom-magic-minibuffer-add-advice): New function.
	(lyskom-magic-minibuffer-cancel-advice): New function.
	(lyskom-with-magic-minibuffer): New macro.

Ulrik Haugen's avatar
Ulrik Haugen committed
491
492
2003-08-15  Ulrik Haugen  <qha@lysator.liu.se>

493
494
495
496
497
498
499
500
501
	* english-strings.el (local): Changed "what conference" -> "which
	conference" in conf-to-check-mship-of, conf-to-list-faqs.

	* english-strings.el, swedish-strings.el (local): Renamed
	conf-to-faq -> conf-to-list-faqs.

	* faqs.el (kom-list-faqs): Caller changed.

	Fix for bug 1082.
Ulrik Haugen's avatar
Ulrik Haugen committed
502
503
504
505
506

	* faqs.el (kom-list-faqs): Removed hard coded string when asking
	for conference.

	* english-strings.el, swedish-strings.el (local): added
507
	conf-to-faq.
Ulrik Haugen's avatar
Ulrik Haugen committed
508

David Byers's avatar
David Byers committed
509
510
2003-08-14  David Byers  <byers@lysator.liu.se>

511
512
513
514
	* completing-read.el (lyskom-read-conf): Cancel magic in
	minibuffer-exit-hook to avoid triggering bugs in Gnu Emacs 20.7
	(and probably all earlier versions).

515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
	Update NEWS file:
	* NEWS-0.48: Updated to here.

	Don't show nil in message area when silently saving settings:
	* flags.el (lyskom-save-options): Support nil message properly.
	(lyskom-save-options-2): Ditto.
	(lyskom-save-options-3): Ditto.

	Suppoert non-interactive use of kom-list-new-conferences etc:
	* vars.el.in (kom-auto-confirm-new-conferences): New variable.

	* commands2.el (lyskom-list-new-conferences): Support
	auto-confirmation.

	* lyskom-rest.el (lyskom-do-format): Better error reoprting
	(report argument number and actual argument).
	(lyskom-format-aux-help): Provide data for error reporting.

	* faqs.el (kom-list-server-faqs): Updated documentation.

	New commands:
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
	* services.el (initiate-first-unused-conf-no): New function.
	(initiate-first-unused-text-no): New function.
	(initiate-find-next-conf-no): New function.
	(initiate-find-previous-conf-no): New function.

	* commands2.el (kom-set-personal-label): Use capitalized strings
	for conf, pers and text.
	(lyskom-list-new-conferences): New function.
	(kom-list-new-persons): New command.
	(kom-list-new-conferences): New command.

	* commands1.el (lyskom-read-cross-reference-and-get-aux-item): Use
	capitalized strings for conf, pers and text.
	(lyskom-read-link): Same here.

551
552
553
554
	Handle async-new-presentation and async-new-motd correctly:
	* async.el (lyskom-parse-async): Set the correct buffer when
	looking for confs in the cache.

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
	Show more stats in non-extended display:
	* commands2.el (kom-status-server): Show text, conf and person
	statistics in the default display.

	Cace get-stats-description:
	* services.el (initiate-get-stats-description): Use cache.

	* vars.el.in (lyskom-stats-description): New variable.

	* parse.el (lyskom-parse-stats-description): Cache result.

	Show some boottime info:
	* commands2.el (kom-status-server): Show server start time and
	soem basic statistics in the default display.

	Cache static-server-info:
	* parse.el (lyskom-parse-static-server-info): Update cache.

	* services.el (initiate-get-boottime-info): Use cache.

	More fine-grained control over extended status:
	* commands2.el (kom-status-server): Only show full server stats if
	the appropriate extended status information is on.

	* utilities.el (lyskom-extended-status-information): New function.

	* commands2.el (kom-status-conf): Set
	kom-extended-status-information to t on entry if it contains conf.
	(kom-status-server): Set kom-extended-status-information to t on
	entry if it contains server.
	(kom-status-person): Set kom-extended-status-information to t on
	entry if it contains pers.

	* aux-items.el (lyskom-print-elisp-client-read-faq): Use
	lyskom-extended-status-information to check for extended status
	information.

	* vars.el.in (kom-extended-status-information): Updated variable
	documentation.

David Byers's avatar
David Byers committed
595
596
597
598
599
600
601
602
603
	Fix bug 1080:
	* commands2.el (kom-status-server): Use point-max, not point, to
	figure out where insertion starts and ends (lyskom-insert always
	inserts at point-max but does not always move point).

	Fix bug 1081:
	* lyskom-rest.el (lyskom-format-aux): Set pad-length to nil when
	no pad-length is specified.

604
605
2003-08-13  Ulrik Haugen  <qha@lysator.liu.se>

606
607
608
	* vars.el.in (kom-default-language): Updated the variable
	documentation.

609
610
611
	* lyskom-rest.el (lyskom-is-loaded): Handle the case when
	kom-default-language is a list.

612
613
2003-08-13  David Byers  <byers@lysator.liu.se>

614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
	Work on bug 1075:
	* parse.el (lyskom-parse-static-server-info): New function.

	* services.el (initiate-get-boottime-info): New function.

	* vars.el.in (lyskom-static-server-info): New variable.

	* komtypes.el (static-server-info): New type.

	Fix bug 1078:
	* vars.el.in (lyskom-global-variable-types): Change read of
	integer.
	(kom-default-mark): Put this both in the common area and the elisp
	area. This is a good thing when we set it to values that are not
	legal according to the protocol specification.

	* flags.el (lyskom-flag-read-integer): When reading integers,
	accept nil too.

633
634
635
636
637
	Delete initial value on change:
	* completing-read.el (lyskom-read-from-minibuffer-clear-initial):
	New function.
	(lyskom-read-conf): Put it into before-change-functions in
	minibuffer-setup-hook.
638
639
640
641
642
	(lyskom-read-conf): Set pre-command-hook and post-command-hook.
	(lyskom-read-from-minibuffer-cancel-magic): New function.
	(lyskom-read-from-minibuffer-pre-command): New funtion.
	(lyskom-read-from-minibuffer-post-command): New function.
	(lyskom-minibuffer-point): New variable.
643
644
645
646
647
648

2003-08-12  David Byers  <byers@lysator.liu.se>

	* async.el (lyskom-parse-async): Handle async 20.
	(lyskom-parse-async): Handle async 21.

649
650
651
652
2003-08-05  Per Cederqvist  <ceder@ceder.dyndns.org>

	* completing-read.el (lyskom-read-conf): Typographic doc fix.

653
654
655
656
657
658
659
2003-08-05  Johan Sundstrm  <jhs@lysator.liu.se>

	* commands1.el (kom-go-to-conf): Never suggest going to the
	conference you are already in. It is a very annoying default.
	(kom-sub-self): Never suggest dropping out of your mailbox. It
	is about the last conference you are likely to want to leave.

660
661
662
663
664
2003-08-04  David Byers  <byers@lysator.liu.se>

	* commands2.el (kom-status-server): Show ascent and descent rates
	for statistics.

665
666
667
668
2003-08-04  Johan Sundstrm  <jhs@lysator.liu.se>

	* edit-text.el (lyskom-edit-fcc-text): Fix for bug 1073.

David Byers's avatar
David Byers committed
669
670
2003-08-03  David Byers  <byers@lysator.liu.se>

671
672
673
674
675
676
677
678
	* commands2.el (kom-status-server): Show statistics about the
	server.

	* lyskom-rest.el (lyskom-format-aux-help): Added support for
	formatting floats.
	(lyskom-format-aux): Support setting fraction length for floats.
	(lyskom-format-units): New function.

679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
	Support get-stats server call:
	* utilities.el (lyskom-get-server-stats): New function.

	* komtypes.el (server-stats): New type.

	* parse.el (lyskom-parse-float): New function.
	(lyskom-parse-stats): New function.

	* komtypes.el (stats-description): New type.
	(stats): New type.

	* parse.el (lyskom-parse-stats-description): New function.
	(lyskom-parse-stats-array): New function.

	* services.el (initiate-get-stats-description): New function.

	More work on bug 900 (now nags about presentations):
David Byers's avatar
David Byers committed
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
	* vars.el.in (kom-dont-complain-about-missing-presentation): New
	variable.

	* utilities.el (lyskom-nag-about-presentation): New function.

	* startup.el (kom-start-anew): Use new function to nag about
	presentation.

	* commands1.el (lyskom-write-text): Nag about presentation.
	(kom-write-comment): Here too.

	* lyskom-rest.el (lyskom-format-aux-help): Added support for F
	format letter (fill paragraph).
	(lyskom-do-insert): Ditto.

711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
	Coherent and useful defaults reading conference names:
	* filter.el (kom-filter-subject): Don't set default when reading
	conference name (the default default is better). Also cleaned up
	the code some (it was downright embarrasing).
	(kom-filter-author): Same here (sans the cleaning).
	(kom-filter-text): Same here.

	* edit-text.el (lyskom-edit-add-recipient/copy): Don't set default
	when reading conference name (the default default is better).

	* faqs.el (kom-review-faq): Don't set default when reading
	conference name (the default default is better).
	(kom-change-conf-faq): Same here.
	(kom-list-faqs): Same here.

	* review.el (lyskom-review-by-to): Don't set default when reading
	conference name (the default default is better).
	(lyskom-unread-by-to): Same here.

	* commands2.el (kom-status-person): Don't set default when reading
731
 	conference name (the default default is better).
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
	(kom-send-message): Fall back to the default default when reading
	recipient name (better than the empty string, I think).

	* commands1.el (kom-write-text): Don't set default when reading
	conference name (the default default is better).
	(kom-review-presentation): Pass nil as the initial for
	lyskom-read-conf-stat.
	(kom-unread-presentation): Same here.
	(kom-add-self): Same here.
	(kom-change-priority): Same here.
	(kom-sub-member): Same here.
	(kom-sub-self): Same here.
	(kom-go-to-conf): Same here.
	(kom-list-created-conferences): Same here.
	(kom-change-password): Same here.
	(kom-who-is-on-in-conference): Same here.
	(kom-who-is-present-in-conference): Same here.
	(kom-change-parenthesis): Pass lyskom-pers-no in initial.
	(kom-sub-recipient): Use default INITIAL if no better choice is
	found.
	(lyskom-add-helper): Same here.
	(kom-move-text): Same here.
	(kom-move-text-tree): Same here.

	* command.el (def-kom-command): Added binding of
	lyskom-command-point.

	* completing-read.el (lyskom-read-conf): Handle loads of different
	types for INITIAL.
	(lyskom-read-conf-guess-initial): New function that guesses a
	default for conference reading commands. The default is the first
	that fits the predicate of the conference under point, the current
	conference and the current person.

766
767
768
769
770
771
772
773
2003-07-31  David Byers  <byers@lysator.liu.se>

	Make moving memberships work again:
	* mship-edit.el (lp--update-membership): Get priority from entry,
	not membership (which is *all* wrong).
	(lp--mode): Show the correct keymap in documentation.
	(lp--mode-map): Added binding for C-k.

774
775
2003-07-30  David Byers  <byers@lysator.liu.se>

David Byers's avatar
David Byers committed
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
	Keep membership buffer updated changing membership types:
	* reading.el (lyskom-insert-membership): Added calls to
	lp--update-buffer.
	(lyskom-replace-membership): Added calls to lp--update-buffer.
	(lyskom-remove-membership): Added calls to lp--update-buffer.

	* lyskom-rest.el (lyskom-check-go-to-conf): Added calls to
	lp--update-buffer.

	* commands2.el (kom-change-message-flag): Added calls to
	lp--update-buffer.

	* commands1.el (kom-add-self): Added calls to lp--update-buffer
	when de-passivating.
	(lyskom-sub-member): Added calls to lp--update-buffer.

792
793
794
795
796
797
	* lyskom-rest.el (lyskom-get-holerith-list): Return list in
	original order.
	(lyskom-split-user-area): Don't reverse the list here.

	* flags.el (lyskom-flag-write-symbol-list): Fixed stupid bug.

798
799
800
801
802
803
804
805
806
807
808
2003-07-28  David Byers  <byers@lysator.liu.se>

	Better support for message-flag and no-of unread when joining:
	* commands1.el (lyskom-go-to-conf): Ask for number of unread when
	joining.
	(kom-add-self): Ask for message-flag when de-passivating.
	(lyskom-add-member-answer): Ask for message-flag when adding self.

	* lyskom-rest.el (lyskom-check-go-to-conf): Ask for message-flag
	when de-passivating a membership.

809
	Some more work for kom-handle-membership:
810
811
812
813
814
815
816
817
818
	* mship-edit.el (lp--create-buffer): Made the header and footer
	adapt to the window width like the contents do.
	(lp--toggle-passive): New command. Also added binding.

	* check-strings.el (lcs-split-format-string): Reflect changes to
	lyskom-format-format here.

	* lyskom-rest.el (lyskom-list-unread-mapping): Removed unused
	variable.
819
	(lyskom-format-aux-help): Added format directive l.
820
821
	(lyskom-format-aux): Support arbitrary pad characters.

David Byers's avatar
David Byers committed
822
823
2003-07-27  David Byers  <byers@lysator.liu.se>

824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
	Like bug 755 but for footnotes:
	* utilities.el (lyskom-maybe-get-footnoted-text): New function.

	* vars.el.in (kom-pick-text-no-strategy-alist): Added better
	default for kom-sub-footnote.

	* commands1.el (kom-sub-comment): Print a message when there are
	no comments to the text rather than continue.
	(kom-sub-footnote): Ditto, for footnotes.

	Fix bug 755:
	* utilities.el (lyskom-maybe-get-commented-text): New function.

	* vars.el.in (kom-pick-text-no-strategy-alist): Added defaults for
	kom-sub-comment.

	* edit-text.el (lyskom-edit-insert-miscs): Make the read-only
	marking on the separator non-sticky at the end.

David Byers's avatar
David Byers committed
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
	Fix bug 747:
	* commands2.el (lyskom-status-pers-list-one-membership): New
	function.
	(kom-status-person): Use it.

	Fix bug 709:
	* faqs.el (kom-list-faqs): New command.
	(kom-list-server-faqs): New command.
	(lyskom-do-list-faqs): New function.

	* lyskom-rest.el (lyskom-next-property-bounds): New function.
	(lyskom-do-special-inserts): Use it. Added end parameter.
	(lyskom-do-insert): Pass end parameter.

	* lyskom-buttons.el (lyskom-button-transform-text): Do links from
	kom-text-buttons after the hard-coded stuff.

David Byers's avatar
David Byers committed
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
	Fix bug 761:
	* startup.el (kom-start-anew): Set lyskom-is-administrator to nil
	after logging on.

	Fix bug 1058:
	* edit-text.el (lyskom-edit-insert-miscs): Make the separator
	read-only.

2003-07-26  David Byers  <byers@lysator.liu.se>

	Minor fixes:
	* commands1.el (kom-sub-self): Restrict this command to
	membership.

	Improvements to completing read:
	* completing-read.el (lyskom-read-conf-internal): Added membership
	predicate to lyskom-read-conf-internal.
	(lyskom-read-conf): Support integer argument in initial. Default
	to placing point at the start of input.

	Fix bug 1036:
	* commands2.el (kom-change-message-flag): Nwe command.

	* commands2.el (kom-is-person-member-of-conference): Show if a
	person receives group messages to the conference.

	* utilities.el (lyskom-return-membership-type): Show message-flag
	if it is not the default.

2003-07-25  David Byers  <byers@lysator.liu.se>

	UI support for bug 1036:
	* mship-edit.el (lp--compute-format-string): Support message-flag.
	(lp--format-entry): Ditto.
	(lp--flag-menu-get): Ditto.
	(lp--flag-menu-set): Ditto.
	(lp--format-insert-entry): Ditto.

	Protocol support for bug 1036:
	* komtypes.el (membership-type): Added message-flag.

	* parse.el (lyskom-parse-membership-type): Set message-flag from
	message-invert.

	* lyskom-rest.el (lyskom-prot-a-format-membership-type): Transmit
	message-invert instead of message-flag.

2003-07-22  David Byers  <byers@lysator.liu.se>

	* commands2.el (lyskom-update-membership-buffer): Fixed typo.

911
912
913
914
915
2003-07-23  Per Cederqvist  <ceder@ingate.com>

	* swedish-strings.el (lyskom-message): Fixed spelling error in
	Swedish 'pers-is-member-of-rcpt: inlgg => inlgg.

916
917
2003-07-21  David Byers  <byers@lysator.liu.se>

David Byers's avatar
David Byers committed
918
919
	* NEWS-0.48: Updated to here.

920
921
922
923
924
925
926
927
928
	Fix bug 708:
	* flags.el (lyskom-flag-global-variable-from-common): New function.
	(lyskom-flag-global-variable-from-elisp): New function.
	(lyskom-flag-write-boolean): New function.
	(lyskom-flag-read-boolean): New function.
	(lyskom-flag-write-symbol-list): New function.
	(lyskom-flag-read-symbol-list): New function.
	(lyskom-flag-read-from-string): New function.

David Byers's avatar
David Byers committed
929
930
2003-07-20  David Byers  <byers@lysator.liu.se>

931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
	Fix bug 708:
	* language.el (lyskom-first-available-language): New function.
	(lyskom-set-language): Use it to support setting language from a
	list.

	* startup.el (kom-start-anew): Use lyskom-first-available-language
	when dealing with kom-default-language.

	* defvar.el (def-kom-var): Added support for common flag. Use
	lyskom-global-variables instead of the old stuff. Added support
	for transition flag.
	(lyskom-global-variables): New variable.
	(lyskom-transition-variables): New variable.

	* check-strings.el (lcs-check-customize-variables): Handle new
	lyskom-global-variables. 

	* flags.el (lyskom-set-var-from-string): Added type parameter.
	(lyskom-maybe-set-var-from-string): Ditto.
	(lyskom-save-options): Use lyskom-global-variables, not the old
	stuff.
	(lyskom-maybe-set-var-from-string): Require that variable is a
	symbol, not a string.
	(lyskom-set-var-from-string): Ditto.

	* vars.el.in (lyskom-global-boolean-variables): Removed.
	(lyskom-global-non-boolean-variables): Removed.
	(lyskom-global-variable-types): New variable.

	Fix bugs adding self to conferences:
	* commands1.el (kom-add-self): Handle re-joining passive
	conferences and conferences with invitations (how did this slip
	through).

	Make text-list operations more constant-time:
	* komtypes.el (text-list->append): Use the tail field to make this
	a constant time operation.
	(text-list->delq): Support the tail field.
	(text-list->trim-head): Ditto.
	(set-text-list->texts): Ditto.
	(text-list): Added tail field.
	(text-list): Added length-internal field.
	(text-list->length): Wrapper for length-internal.
	(text-list->delq): Handle length-internal.
	(text-list->append): Ditto.
	(text-list->trim-head): Ditto.

	Fix for fix of bug 409:
	* komtypes.el (text-mapping->remove-local): Fixed bug that made
	clearing local no in a dense map impossible.

	Better error reporting:
	* parse.el (lyskom-parse-unparsed): Do not catch non-protocol
	errors. This finally allows us to get decent backtraces even for
	errors in callbacks.

David Byers's avatar
David Byers committed
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
	Fix bug 409 (use local-to-global):
	* prefetch.el (lyskom-fetch-start-of-map): Use text-mapping
	instead of map.
	(lyskom-prefetch-map-handler): Use text-mapping instead of map.
	(lyskom-prefetch-one-request): Use local-to-global instead of
	get-map.

	* lyskom-rest.el (lyskom-list-unread): Handle text-mappings, not
	just maps.
	(lyskom-list-unread-mapping): New function.

	* services.el (initiate-local-to-global): Pretend to do
	local-to-global using get-map.