aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/ChangeLog
blob: c22a4434ed120d74c1eac9a022e252ebbddebd07 (plain) (blame)
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
854
855
856
857
858
859
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
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
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
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
2001-06-11  Damon Chaplin  <damon@ximian.com>

    * e-time-utils.c (e_time_parse_date_and_time): skip any non-digits
    while looking for dates and times. This should fix some translation
    problems. Though there is still a problem with Japanese, where the
    am/pm flag comes before the time so we will skip it incorrectly.

2001-06-10  Damon Chaplin  <damon@ximian.com>

    * e-time-utils.c (e_time_parse_date_and_time): 
    (e_time_parse_time): got rid of '%n' at end of each format string
    for strptime. I don't know how I managed to put them in there.

2001-05-31  Christopher James Lahey  <clahey@ximian.com>

    * Makefile.am (INCLUDES): Added db3 cflags.

    * e-dbhash.c: Made this use db3.

    * e-db3-utils.c, e-db3-utils.h: New files with some helper
    functions.

2001-05-27  Dan Winship  <danw@ximian.com>

    * e-gui-utils.c: Remove e_pixmaps_update (moved to libeshell) so
    libeutil won't depend on bonobo.

2001-05-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-host-utils.c (e_gethostbyname_r)
    [HAVE_GETHOSTBYNAME_R && GETHOSTBYNAME_R_FIVE_ARGS]: Set `*herr'
    to zero if the function returns a non-NULL pointer to the hostent.
    According to the docs, a returned non-NULL hostent always means
    "no error" no matter what the returned value of `herr' is.  [And
    in fact, at least on libc 2.2.3, trying to resolve `localhost'
    sets herr to `HOST_NOT_FOUND' even if the name is resolved
    correctly and the returned hostent is non-NULL.]

2001-05-16  Dan Winship  <danw@ximian.com>

    * e-html-utils.c (e_text_to_html_full): add
    E_TEXT_TO_HTML_ESCAPE_8BIT to turn non-US-ASCII characters into
    "?"s.

2001-05-14  Jon Trowbridge  <trow@ximian.com>

    * e-html-utils.c (is_citation): Check for bad utf8.

2001-05-08  Dan Winship  <danw@ximian.com>

    * e-path.c (e_path_find_folders): Walk a hierarchy using the
    "/subfolders/" convention and call a callback for each folder
    found.

2001-05-01  Dan Winship  <danw@ximian.com>

    * e-msgport.c (e_mutex_assert_locked): Debugging routine. (Only
    works for recursive mutexes right now.)

    * e-html-utils.c (e_text_to_html_full): Don't use g_utf8_next_char
    on text that isn't valid UTF8, since it won't work (and might even
    get into an infinite loop).

2001-04-29  Dan Winship  <danw@ximian.com>

    * e-html-utils.c (email_address_extract): Make this smarter. Now
    e_text_to_html_full calls it when it sees a '@', and
    email_address_extract deals with scanning both forward and
    backward to find the bounds of the email address. It's still
    fooled by Message-IDs, but there's not a whole lot we can do
    there...

2001-04-26  Dan Winship  <danw@ximian.com>

    * e-host-utils.c (e_gethostbyname_r): Make the Solaris and
    no-gethostbyname_r implementations behave more like the Linux one.
    Document.

    * Makefile.am (INCLUDES): Remove UNICODE_CFLAGS
    (libeutil_la_LIBADD): Change UNICODE_LIBS to GAL_LIBS

2001-04-26  Not Zed  <NotZed@Ximian.com>

    * e-memory.c (e_poolv_get): Modified to match e_strv_get
    behaviour.  Assert on bad cases, and return "" rather than NULL
    for empty/unset strings.
    (e_poolv_new): Simplify the mutex cases, only have a single mutex
    for mempool and hashtable references.
    (e_poolv_set): Simplify mutex code.  Fixed a #ifdef orde prob in
    profile stuff.  Always copy string to our own memory when we add
    it to the hash, even if we free it; I think this would have led to
    dangling references otherwise.
    (e_poolv_destroy): Renamed from poolv_free, for consistency with
    the rest of the allocators here.
    (e_poolv_set): Add optional refcounting code here, not currently
    enabled/used, but should make proper string collection work
    easily.
    (e_poolv_destroy): Unrefcount the strings here.
    (e_poolv_cpy): Add refcounting code here.

    * e-memory.[ch]: Applied Jacob's patches <jacob@ximian.com> for
    'e-poolv' type, added his name to the authors list.

2001-04-24  Dan Winship  <danw@ximian.com>

    * e-html-utils.c (check_size): If the buffer is too small, making
    it twice as big does not guarantee it will be big enough. "Duh".
    Also, a bunch of the check_size calls don't seem to be taking
    trailing NULs into account, so add in a +1 here.

2001-04-24  Kjartan Maraas  <kmaraas@gnome.org>

    * e-gui-utils.c, e-memory, e-msgport.c, e-pilot-map, e-sexp.c:
    Added #include <glib.h> and move corresponding local headers
    to the top to catch missing includes in them. Tip from clahey.
    
2001-04-24  Chris Toshok  <toshok@ximian.com>

    * e-host-utils.h: remove prototype for e_gethostbyname_init.

    * e-host-utils.c (e_gethostbyname_r): don't dynamically allocate
    anything - store everything in the buffer that's passed in.  Also,
    stop using EMutex.  Switch to a static GMutex (so we can
    initialize it without having e_gethostbyname_init).
    (e_gethostbyname_init): removed.
    
2001-04-23  Jon Trowbridge  <trow@ximian.com>

    * e-html-utils.c (e_text_to_html_full): Removed attempts to use
    Radek's evil <DATA> hacks, which were just causing me
    (and GtkHTML) grief.

2001-04-23  Jon Trowbridge  <trow@ximian.com>

    * e-host-utils.c: Include glib.h, so that the g_warning in
    e_gethostbyname_r will be treated as a macro and not as an
    unresolved symbol.

2001-04-22  Chris Toshok  <toshok@ximian.com>

    * Makefile.am (libeutil_la_SOURCES): add e-host-utils.[ch]

    * e-host-utils.c: new file, with e_gethostbyname_r.

    * e-host-utils.h: new file.

2001-04-19  Dan Winship  <danw@ximian.com>

    * e-html-utils.c (is_citation): ">From" is not a citation unless
    the previous or following line is a citation.
    (e_text_to_html_full): Update for is_citation change. Also, when
    marking citations, unmangle mbox From-mangling.
    
2001-04-15  Federico Mena Quintero  <federico@ximian.com>

    * e-sexp.c (e_sexp_parse): Start parsing the sexp with
    parse_value(), not parse_list(), because we may have immediate
    values (e.g. "#f") as the whole sexp.

2001-04-08  JP Rosevear  <jpr@ximian.com>

    * Makefile.am: Setup up the conduit library building better so the
    files get disted

2001-04-06  Federico Mena Quintero  <federico@ximian.com>

    * e-sexp.c (scanner_config): Added a question mark to the set of
    valid characters for symbol names.
    (parse_value): Fixed parsing of boolean values.
    (parse_term_free): Added missing clause for ESEXP_TERM_BOOL.

2001-04-04  Kjartan Maraas  <kmaraas@gnome.org>

    * ename/test-ename-western-gtk.c: Fix headers.
    
2001-04-03  Federico Mena Quintero  <federico@ximian.com>

    * e-sexp.h (ESExpResultType): Added ESEXP_RES_TIME for time
    values.
    (ESExpResult): Added a "time_t value.time" field.
    (ESExpTermType): Added ESEXP_TERM_TIME.
    (ESExpTerm): Added a "time_t value.time" field.

    * e-sexp.c (e_sexp_result_free): Deal with time values.  Also, be
    more paranoid; added a default clause with g_assert_not_reached().
    (term_eval_lt): Deal with time values.
    (term_eval_gt): Likewise.
    (term_eval_eq): Likewise.
    (term_eval_plus): Likewise.
    (term_eval_sub): Likewise.
    (e_sexp_term_eval): Likewise.
    (eval_dump_result): Likewise.
    (parse_dump_term): Likewise.
    (parse_term_free): Likewise.

2001-04-01  Gediminas Paulauskas <menesis@delfi.lt>

    * e-gui-utils.h: new type EPixmap, which is used to cache pixmaps for
    bonobo components. use e_pixmaps_update to load icons into ui
    component.
    * e-gui-utils.c: implementation of EPixmap cache, moved here from
    mail/folder-browser-factory.c.

2001-03-31  Jon Trowbridge  <trow@ximian.com>

    * e-url.c (e_url_shroud): Check that first_colon < last_at,
    to prevent horrible things from happening.  Removed spew.
    (e_url_equal): Removed spew.

2001-03-30  Jon Trowbridge  <trow@ximian.com>

    * e-html-utils.c (e_text_to_html_full): Add support for converting
    e-mail addresses to links.
    (is_email_address): Added.  Identifies e-mail addresses.
    (email_address_extract): Added.  Extracts a copy of the e-mail
    address from the text.

    * e-html-utils.h (E_TEXT_TO_HTML_CONVERT_ADDRESSES): Added.

    * e-url.c (e_url_shroud): Added.  Copy a url, replacing
    any plaintext passwords with a single *.
    (e_url_equal): Compare two urls, taking into account that
    they may or may not be shrouded.

2001-03-29  Kjartan Maraas  <kmaraas@gnome.org>

    * e-corba-utils.h: Remove #include <glib.h>
    * e-dialog-widgets.c: Shuffle some headers.
    * e-dialog-widgets.h: Remove #include <libgnomeui/gnome-propertybox.h>
    * e-gtk-utils.c: #include <gtk/gtksignal.h>
    * e-gtk-utils.h: Replace #include <gtk/gtk.h>
    * e-gui-utils.c: Replace #include <gnome.h>
    * e-html-utils.c: Shuffle headers.
    * e-iterator.c: Replace #include <gtk/gtk.h>
    * e-iterator.h: Replace #include <gtk/gtk.h>
    * e-list-iterator.c: Remove #include <gtk/gtk.h>
    * e-list-iterator.h: Replace #include <gtk/gtk.h>
    * e-list.c: Remove #include <gtk/gtk.h>
    * e-list.h: Replace #include <gtk/gtk.h>
    * e-memory.c: #include <string.h> and <stdlib.h>
    * e-msgport.c: Move around some includes. s/%d/%ld/g in a printf()
    call to fix a warning.
    * e-pilot-map.c: #include <string.h>. Replace #include <gnome.h>
    * e-pilot-util.c: Remove #include <gnome.h>
    * e-sexp.c: Remove #include <glib.h>
    * e-sexp.h: Replace #include <gtk/gtk.h>
    * e-time-utils.c: #include <string.h>
    * md5-utils.c: Shuffle headers.
    * test-ename-western-gtk.c: Replace #include <gnome.h>
    * test-ename-western.c: Same here.
    
2001-03-20  Radek Doulik  <rodo@ximian.com>

    * e-html-utils.c (e_text_to_html_full): new function, extracted
    from e_text_to_html, added color parameter

2001-03-19  Radek Doulik  <rodo@ximian.com>

    * e-html-utils.c (e_text_to_html): support mark citation

    * e-html-utils.h (E_TEXT_TO_HTML_MARK_CITATION): added
    E_TEXT_TO_HTML_MARK_CITATION

2001-03-18  Damon Chaplin  <damon@ximian.com>

    * e-time-utils.c (e_time_format_time): added function to format just
    the time.

2001-03-16  Dan Winship  <danw@ximian.com>

    * e-path.c (e_path_to_physical): Fix a bug noticed by kmaraas

2001-03-15  Dan Winship  <danw@ximian.com>

    * e-html-utils.c (url_extract): Fix a bit: [mailto:foo] shouldn't
    grab the ']'

2001-03-12  JP Rosevear  <jpr@ximian.com>

    * Makefile.am: update cflag macros

2001-03-07  Dan Winship  <danw@ximian.com>

    * e-html-utils.c (url_extract): Fix an off-by-one in the "is this
    for real?" check so that "http:// " won't get URLified

2001-03-04  Damon Chaplin  <damon@ximian.com>

    * e-time-utils.[hc]: new files to contain functions to parse and
    format dates and times for various calendar widgets.

2001-03-01  Dan Winship  <danw@ximian.com>

    * e-path.c (e_path_to_physical): New function to turn foo/bar into
    foo/subfolders/bar. The inverse function doesn't exist yet because
    I didn't need it. Also, if the shell were going to use this, we'd
    need a few more tools...

    * Makefile.am (libeutil_la_SOURCES): Add e-path.[ch]

2001-03-01  Not Zed  <NotZed@Ximian.com>

    * e-sexp.c (e_sexp_encode_string): Make it handle a NULL string as
    an empty string.

2001-02-23  Not Zed  <NotZed@Ximian.com>

    * e-msgport.c (e_thread_destroy): Wait a lot lot longer for
    threads to finish.
    : Turned off some of the debug.

2001-02-08  Not Zed  <NotZed@Ximian.com>

    * e-memory.c (EMemChunk): Changed to allocate raw blocks for the
    data, and keep track of them with an array, this is so the native
    malloc alignment is not lost at the allocation stage.

2001-01-30  Not Zed  <NotZed@Ximian.com>

    * e-msgport.c (e_thread_destroy): Turn on joining of cancelled threads.
    (e_msgport_wait): Put a cleanup handler to clear the mp lock if it
    happens in cond_wait, since it will be locked again.

2001-01-29  Not Zed  <NotZed@Ximian.com>

    * e-msgport.c (e_thread_put): If we have waiting threads, then
    dont start a new one for the NEW case.
    (thread_dispatch): For the NEW case, dont exit, just keep running,
    waiting for a new message to come along.
    (e_thread_destroy): When cleaning up NEW threads, cancel any
    non-busy threads.

2001-01-24  Not Zed  <NotZed@Ximian.com>

    * e-sexp.h (ESExp): Add chunk allocators.

    * e-sexp.c: Removed some redundant debug printfs.
    (e_sexp_term_eval): Dont allocate result till we have it. so we
    can have a fatal error, and not leak it.
    (term_eval_plus): If we have to abort, free our arguments.
    (term_eval_sub): Same.
    (parse_new_term): Renamed to parse_term_new for consistency.
    Fixed callers.
    (e_sexp_result_new): Add the esexp as an argument.  Ouch, lots of
    code to change for this.  Allocate blocks from an ememchunk.
    Fixed all callers.
    (e_sexp_result_free): Same as above, free blocks from the
    ememchunk.  Fixed all callers.
    (parse_term_new): 
    (parse_term_free): Similarly, add the esexp to the argument, and
    alloc/free from memchunks.  Fixed all local callers.
    (e_sexp_init): Setup the memory chunk allocators.
    (e_sexp_finalise): Destroy memchunk allocators.

2001-01-23  Not Zed  <NotZed@Ximian.com>

    * e-sexp.c (e_sexp_parse): Setup error return and return error on
    parse error.
    (parse_list): Fail if we have a problem.
    (parse_value): Here too.
    (fatal_error): Fatal error handling function, jumps back to the
    top caller.
    (term_eval_and):
    (e_sexp_term_eval): 
    (term_eval_sub): 
    (term_eval_plus): 
    (term_eval_gt): 
    (term_eval_lt): 
    (term_eval_or):  Fail on error.
    (e_sexp_term_eval): Added a comment about where this can be
    called, which is only from inside e_sexp_eval().
    (e_sexp_eval): Setup setjmp error handler.
    (e_sexp_error): Error accessor function.

    * e-sexp.h: Added a longjmp environment to the structure, and an
    error return to parse.  

2001-01-22  JP Rosevear  <jpr@ximian.com>

    * e-dbhash.c (md5_to_dbt): New function, can't use strlen on the md5
    hash because it might have null chars in it.
    (e_dbhash_add): use md5_to_dbt

2001-01-19  JP Rosevear  <jpr@ximian.com>

    * e-pilot-map.c (e_pilot_map_remove_by_pid): Remove an item by pid
    (e_pilot_map_remove_by_uid): ditto for uid

    * e-pilot-map.h: new protos

2001-01-17  Jason Leach  <jasonleach@usa.net>

    * e-gtk-utils.c (gtk_radio_button_get_nth_selected): New function,
    name describes it well.
    (gtk_radio_button_select_nth): New function.

2001-01-17  Federico Mena Quintero  <federico@ximian.com>

    * e-dialog-widgets.[ch]: Ximianified.

2001-01-15  JP Roseveaer  <jpr@ximian.com>

    * e-pilot-util.c (e_pilot_utf8_from_pchar): Dup the string passed
    in, not the temporary string. d'oh.

2001-01-04  Dan Winship  <danw@helixcode.com>

    * e-msgport.c: #define E_THREAD_NONE as ((pthread_t)~0) and use
    that instead of ~0 throughout. (pthread_t is a pointer type on my
    system, so there are lots of warnings without the cast.)

2000-12-24  Not Zed  <NotZed@HelixCode.com>

    * Merge from camel-mt-branch.

2000-12-20  JP Rosevear  <jpr@helixcode.com>

    * e-pilot-util.c (e_pilot_utf8_to_pchar): Check for null strings
    (e_pilot_utf8_from_pchar): ditto

2000-12-19  JP Rosevear  <jpr@helixcode.com>

    * e-pilot-util.c (e_pilot_utf8_to_pchar): Convert utf8 strings to
    pilot character set
    (e_pilot_utf8_from_pchar): vice versa

    * Makefile.am: Conditionally build e-pilot-util.[hc] because
    they depend on pilot-link stuff

2000-12-23  Not Zed  <NotZed@HelixCode.com>

    * e-msgport.c (e_dlist_length): Util function.
    (e_thread_new): Another new thread primitive.  This one is a
    re-usable 'server thread' thingy.

2000-12-21  Not Zed  <NotZed@HelixCode.com>

    * Makefile.am (libeutil_la_SOURCES): Added msgport stuff.

    * e-msgport.[ch]: Some thread primitives.  e_dlist, a
    double-linked list (ok, not a thread primitive, but used in ...),
    e_msgport - an asynchronous, non-copying message passing
    rendesvous port, and e_mutex, a portably configurable mutex.

2000-12-19  Not Zed  <NotZed@HelixCode.com>

    * e-sexp.c: Make the code compile without being a gtk object (the
    old code can still be built as a gtk object if required).  Also
    removed some dead code.
    (e_sexp_ref): New function to ref if we're not a gkt object.
    (e_sexp_unref): Same for unref.

2000-12-13  Larry Ewing  <lewing@helixcode.com>

    * e-html-utils.c (e_text_to_html): make sure we actually make
    enough space for "&nbsp;".

2000-12-08  Federico Mena Quintero  <federico@helixcode.com>

    * e-dialog-widgets.c (e_dialog_editable_get): Updated
    documentation comment.

2000-12-04  Ettore Perazzoli  <ettore@helixcode.com>

    * e-corba-utils.h: New.

    * e-corba-utils.c: New.
    (e_safe_corba_string): New.

2000-11-30  Not Zed  <NotZed@HelixCode.com>

    * e-memory.c (e_strv_new): Fix typename of args (for all funcs).
    (e_strv_set_ref): Assert the index is in range.
    (e_strv_set_ref_free): "
    (e_strv_set): "
    (e_strv_get): "

2000-11-29  Not Zed  <NotZed@HelixCode.com>

    * e-sexp.c (term_eval_lt): Plug a memleak, need to free results
    from term_eval().
    (term_eval_gt): 
    (term_eval_eq): 

2000-11-27  Not Zed  <NotZed@HelixCode.com>

    * e-memory.c (e_mempool_new): Added some locking to global data.
    This should make the interfaces mt-safe, although each object is
    only per-thread safe.

2000-11-22  Not Zed  <NotZed@HelixCode.com>

    * e-memory.c (e_mempool_alloc): If we dont get a big enough chunk
    in the first node, give up.  Otherwise we spend too much time
    searching.
    (e_mempool_strdup): Doh, and allocate enough for the terminating
    NUL at that.
    (e_strv_set_ref_free): New function, set a reference to a string
    that is then owned/free'd by the strv.
    (e_strv_destroy): If there are any strings to destroy, free them
    here.

2000-11-21  Not Zed  <NotZed@HelixCode.com>

    * e-memory.c (e_memchunk_alloc0): New function to allocate a
    zero'd out chunk.
    (e_mempool_strdup): New function to strdup into a mempool.

2000-11-20  Not Zed  <NotZed@HelixCode.com>

    * e-memory.[ch]: New routines for fast memory management and
    compact string array storage.

    * Makefile.am (libeutil_la_SOURCES): Added e-memory.[ch].

2000-11-09  JP Rosevear  <jpr@helixcode.com>

    * e-dbhash.h: oops thats func not *func

    * e-dbhash.c (e_dbhash_foreach_key): Memset the data DBT to 0

2000-11-07  JP Rosevear  <jpr@helixcode.com>

    * Makefile.am: Build e-dbhash.[hc]

    * e-dbhash.[hc]: New routines to manage a db database on disk that
    contains md5 hashed data and indexed by uids.  Provides comparison
    functions and such so the caller does not have to do the md5 bits.

200-10-30  Kjartan Maraas  <kmaraas@gnome.org>

    * e-dialog-widgets.c: #include <string.h> to quench warning.
    * e-sexp.c: #include <stdlib.h> for same reason.
    
2000-10-27    <jpr@helixcode.com>

    * Makefile.am: build md5-utils

    * md5-utils.c: Make part of util, get rid of camel stream util
    function include string.h

    * md5-utils.h: ditto
    
2000-10-27    <jpr@helixcode.com>

    * e-pilot-map.c (e_pilot_map_lookup_uid): Return null if no
    pnode was found.

2000-10-27  JP Rosevear  <jpr@helixcode.com>

    * e-pilot-map.c (map_sax_start_element): Get archive field while
    parsing
    (map_write_foreach): Write out archive field
    (e_pilot_map_pid_is_archived): implement
    (e_pilot_map_uid_is_archived): ditto
    (e_pilot_map_insert): Insert new node structures
    (e_pilot_map_lookup_pid): Take into account the list is now
    a list of structures
    (e_pilot_map_lookup_uid): ditto

2000-10-26  Michael Meeks  <michael@helixcode.com>

    * ename/e-address-western.c (e_address_western_is_postal): 
    unsigned chars.

    * ename/e-name-western.c (e_name_western_get_one_prefix_at_str):
    cast to unsigned char.

2000-10-25  Dan Winship  <danw@helixcode.com>

    * e-html-utils.c (e_text_to_html): Deal properly with URLs at the
    end of the buffer. (The old code would append a "&#0;" to the
    text.)

2000-10-23  JP Rosevear  <jpr@helixcode.com>

    * e-pilot-map.c (e_pilot_map_lookup_pid): Lookup a pid by uid.
    (e_pilot_map_lookup_uid): Lookup a uid by pid.
    Now this is wrapped, we can store archive info internally

    * e-pilot-map.h: New accessor prototypes
    
2000-10-23  Dan Winship  <danw@helixcode.com>

    * ename/Makefile.am (INCLUDES): Remove unused GNOMELOCALEDIR
    setting.

2000-10-23  JP Rosevear  <jpr@helixcode.com>

    * e-pilot-map.c: Operate with EPilotMap structure so things are
    abstract to the caller
    (e_pilot_map_pid_is_archived): Infrastructure for marking records
    as archived
    (e_pilot_map_uid_is_archived): ditto

    * e-pilot-map.h: Add more to public interface, including EPilotMap
    structure
    
2000-10-23  JP Rosevear  <jpr@helixcode.com>

    * e-pilot-map.c: Pilot map functions grabbed from existing conduits

    * e-pilot-map.h (e_pilot_map_write): Header

2000-10-18  Dan Winship  <danw@helixcode.com>

    * e-html-utils.c (e_text_to_html): If unicode_get_utf8 returns -1,
    assume it was actually undeclared iso-8859-1 text.

2000-10-17  Jesse Pavel  <jpavel@helixcode.com>

    * ename/e-address-western.c: made the routines use the stardard
    e_strstrcase instead of the included function that existed
    earlier.

2000-10-11  Iain Holmes  <iain@helixcode.com>

    * ename/e-address-western.c (e_address_western_parse): g_strconcat
    needs to be NULL terminated or it goes funny.

Tue Sep 26 16:48:49 2000  Christopher James Lahey  <clahey@helixcode.com>

    * Makefile.am: Added $(EXTRA_GNOME_CFLAGS).

2000-09-25  Jeffrey Stedfast  <fejj@helixcode.com>

    * Makefile.am: add ename as a SUBDIR

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

    * e-list-iterator.c, e-list.c, e-list.h: Made e_list a bit more
    reentrant.  If a iterator gets its data pulled out from under it
    while in a loop, it goes back one so that loops will be able to
    continue.

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

    * Makefile.am: Removed all the files moved to gal.

    * e-dialog-widgets.c: Fixed the #include lines to deal properly
    with gal.

    * e-gui-utils.c, e-gui-utils.h: Removed all of the functionality
    that was moved to gal.

    * e-canvas-utils.c, e-canvas-utils.h, e-canvas-vbox.c,
    e-canvas-vbox.h, e-canvas.c, e-canvas.h, e-cursors.c, e-cursors.h,
    e-font.c, e-font.h, e-popup-menu.c, e-popup-menu.h, e-printable.c,
    e-printable.h, e-unicode.c, e-unicode.h, e-util.c, e-util.h,
    e-xml-utils.c, e-xml-utils.h: Moved to gal.

2000-09-13  Christopher James Lahey  <clahey@helixcode.com>

    * e-font.c: Fixed an uninitialized variable.

2000-09-12  Lauris Kaplinski  <lauris@helixcode.com>

    * e-unicode.c (e_utf8_to_gtk_string_sized): Use underscores
    for untranslatable characters
    (e_utf8_from_gtk_string_sized): Ditto

2000-09-12  Dan Winship  <danw@helixcode.com>

    * e-font.c (e_font_from_gdk_font): Change this a bit so that if
    you pass it a bold font, it puts that in font->bold and finds a
    lighter font for font->font (if it can). This is for themes like
    Metal where the default font is bold.
    (find_variants): renamed from find_best_bold
    
2000-09-11  Dan Winship  <danw@helixcode.com>

    * e-font.c (find_best_bold): Thou shalt leave space for the
    trailing \0.

    * e-util.c (e_strstrcase): The return value should not be
    const. (Well, unless the input was, but you can't know that.)

2000-09-11  Christopher James Lahey  <clahey@helixcode.com>

    * e-unicode.c, e-unicode.h: Added e_utf8_gtk_editable_get_text and
    e_utf8_gtk_editable_set_text.

2000-09-11  Lauris Kaplinski  <lauris@helixcode.com>

    * e-font.c: Try to find real bold variant of X font, fall
    to double stroke only if not found

2000-09-10  Ettore Perazzoli  <ettore@helixcode.com>

    * e-gtk-utils.c: New.
    (e_gtk_signal_connect_full_while_alive): New.

    * e-gtk-utils.h: New.

2000-09-08  Lauris Kaplinski  <lauris@helixcode.com>

    * e-font.c: Use experimental 16-bit font stuff for EFonts

2000-09-08  Dan Winship  <danw@helixcode.com>

    * e-popup-menu.h: remove consts from the EPopupMenu structure: the
    caller may want to modify its own EPopupMenu before calling
    e_popup_menu_run.

2000-09-07  Lauris Kaplinski  <lauris@helixcode.com>

    * e-dialog-widgets.c (e_dialog_editable_get): Use UTF-8
    (e_dialog_editable_set): Use UTF-8

    * e-font.c (translate_encoding): More encodings
    (e_gdk_font_encoding): Use experimental stuff

    * e-unicode.* (e_utf8_gtk_editable_insert_text): New wrapper
    
2000-09-07  Federico Mena Quintero  <federico@helixcode.com>

    * e-canvas.c (emit_event): Remove incorrect optimization.  Events
    are read-only!

2000-09-04  Lauris Kaplinski  <lauris@helixcode.com>

    * e-unicode.c: Added new font code, but comment it out now
    * e-font.h, e-font.c: Test code for font analyzing

2000-09-02  Lauris Kaplinski  <lauris@helixcode.com>

    * e-unicode.h, e-unicode.c: New functions
    e_utf8_gtk_clist_append, e_utf8_gtk_clist_set_text
    e_unicode_init

2000-08-31  Lauris Kaplinski  <lauris@helixcode.com>

    * e-html-utils.c (e_text_to_html): Use UTF-8

    * e-unicode.h:
    * e-unicode.c (g_unichar_to_utf8): glib 1.3 function
    (gdk_keyval_to_unicode): gdk 1.3 function
    (e_utf8_from_gdk_event_key): Use keyval, not string

2000-08-30  Lauris Kaplinski  <lauris@helixcode.com>

    * e-unicode.h: #define gnome_font_get_size and
    gnome_font_get_width, and gnome_font_lookup_default,
    if compiling with gnome-print 0.20

2000-08-30  Dan Winship  <danw@helixcode.com>

    * Makefile.am (libeutil_la_LIBADD): make e-util depend on
    libunicode

    * e-popup-menu.c (make_item): Use GtkMenuItem rather than
    GtkPixmapMenuItem for items with no pixmaps, so that if the whole
    menu is pixmapless, you don't get a column of blank pixmaps.

2000-08-24  Lauris Kaplinski  <lauris@helixcode.com>

    * e-unicode.h:
    * e-unicode.c (e_utf8_gtk_menu_item_new_with_label): New wrapper

2000-08-23  Lauris Kaplinski  <lauris@helixcode.com>

    * e-unicode.h:
    * e-unicode.c (e_utf8_strstrcase): New function

2000-08-23  Federico Mena Quintero  <federico@helixcode.com>

    * e-dialog-widgets.c (e_dialog_editable_set): Constify.

2000-08-22  Lauris Kaplinski  <lauris@helixcode.com>

    * e-unicode.h:
    * e-unicode.c: e_utf8_gtk_editable_get_chars
    e_utf8_gtk_entry_get_text
    e_utf8_gtk_entry_set_text
    e_utf8_to_gtk_string: New convenience functions

2000-08-22  Lauris Kaplinski  <lauris@helixcode.com>

    * e-unicode.h:
    * e-unicode.c: Some convenience functions to deal with Gtk+ and UTF-8

    * Makefile.am: Added e-unicode.h, e-unicode.c

2000-08-21  Lauris Kaplinski  <lauris@helixcode.com>

    * e-font.h:
    * e-font.c: Changed UTF-8 syntax from char-based to byte-based
    
2000-08-21  Peter Williams  <peterw@helixcode.com>

    * e-html-utils.c (e_text_to_html): Fix a booboo in the tab
    expansion code (didn't use the new value of 'out').

2000-08-19  Lauris Kaplinski  lauris@helixcode.com

    * e-font.h: #define e_font_height(f) to save some space
    
2000-08-19  Lauris Kaplinski  lauris@helixcode.com

    * e-font.h:
    * e-font.c: Thin wrapper around GdkFont to deal with UTF-8 directly
    Also handles bold/italic styling

2000-08-14  Peter Williams  <peterw@helixcode.com>

    * e-sexp.c (scanner_config): Add "-" to be an acceptable
    first character for an operation -- yaaay subtraction!

2000-08-11  Peter Williams  <peterw@helixcode.com>

    * e-html-utils.c (e_text_to_html): Fix the tab expansion
    for when the length would exceed the ten characters that
    we allocated.

2000-08-10  Dan Winship  <danw@helixcode.com>

    * e-setup.[ch]: Remove. The shell tells the components where
    the evolution homedir is now.
    
    * Makefile.am (libeutil_la_SOURCES): Remove e-setup.c

    * e-html-utils.c (e_text_to_html): If converting both spaces and
    newlines, then convert tabs too. The joys of pseudo-<PRE>.

2000-08-09  Christopher James Lahey  <clahey@helixcode.com>

    * e-popup-menu.c: Fix the bug where it truncates the last item

2000-08-09  Christopher James Lahey  <clahey@helixcode.com>

    * e-popup-menu.c: Ooops.

2000-08-09  Christopher James Lahey  <clahey@helixcode.com>

    * e-util.c, e-util.h: Added uncompiled e_read_uri function.

2000-08-09  Christopher James Lahey  <clahey@helixcode.com>

    * e-popup-menu.c, e-popup-menu.h: Added a hide_mask argument to
    the two popup menu functions.

2000-08-07  Christopher James Lahey  <clahey@helixcode.com>

    * e-gui-utils.c, e-gui-utils.c: Added
    e_container_change_tab_order.

2000-07-27  Peter Williams  <peterw@helixcode.com>

    * e-canvas.c (e_canvas_destroy): Chain the
    destroy handler.
    
2000-07-25  Peter Williams  <peterw@helixcode.com>  
    
    * e-canvas.c (emit_event): Don't bother with 
    dereferencing the event pointer.
    (e_canvas_item_set_cursor): Reference our selection
    item; print a debug message. Deref when destroying
    (e_canvas_item_add_selection): Same.
    (e_canvas_item_remove_selection): Same.
    
2000-07-25  Peter Williams  <peterw@helixcode.com>

    * Makefile.am (libeutil_static_la_LDFLAGS): Build both libraries
    (a typo didn't build libeutil.la, only -static.)

2000-07-25  Seth Alves  <alves@hungry.com>

    * Makefile.am (libeutil_static_la_LDFLAGS): build static version
    of library for conduit to use

2000-07-25  Christopher James Lahey  <clahey@helixcode.com>

    * e-util.c, e-util.h: Added a bunch of e_marshal functions.

2000-07-12  Christopher James Lahey  <clahey@helixcode.com>

    * e-util.c, e-util.h: Added e_strstrcase function.

2000-07-11  Christopher James Lahey  <clahey@helixcode.com>

    * e-canvas-vbox.c: Removed some debugging printfs.
    
    * e-canvas.c (e_canvas_unrealize): Call parent unrealize method.

2000-07-10  Ettore Perazzoli  <ettore@helixcode.com>

    * e-sexp.c (eval_dump_result): `#if 0'ed out.

    * e-popup-menu.h (e_popup_menu_create): New prototype.

2000-07-10  Dan Winship  <danw@helixcode.com>

    * e-html-utils.c: Fix warnings.

2000-07-08  Christopher James Lahey  <clahey@helixcode.com>

    * e-list.c, e-list.h: Added e_list_duplicate.

2000-07-07  Christopher James Lahey  <clahey@helixcode.com>

    * e-util.c, e-util.h: Added e_strsplit to work around a bug in
    g_strsplit.

2000-07-07  Christopher James Lahey  <clahey@helixcode.com>

    * e-iterator.c, e-iterator.h, e-list-iterator.c,
    e-list-iterator.h: Added last and insert functions.

2000-07-06  Federico Mena Quintero  <federico@helixcode.com>

    * e-dialog-widgets.c: Added docstrings.  This file did not have
    them at all.  EEEEEEK!

2000-07-05  Dan Winship  <danw@helixcode.com>

    * e-sexp.c (e_sexp_parse): Kill debugging message

2000-07-03  Christopher James Lahey  <clahey@helixcode.com>

    * e-iterator.c, e-iterator.h, e-list-iterator.c,
    e-list-iterator.h, e-list.c, e-list.h: New list class with
    iterators.

    * e-canvas.c: Made it so that you don't get the same selection in
    the selection list more than once.

2000-07-01  Ettore Perazzoli  <ettore@helixcode.com>

    * e-gui-utils.h: #include <libgnomeui/gnome-messagebox.h>.  It's
    needed to be able to pass an appropriate @type arg to
    `e_notice()'.

2000-06-29  Jody Goldberg <jgoldberg@home.com>

    * e-canvas.c (e_canvas_init) : Init the InputContext members
    (e_canvas_class_init) : Add a handler for unrealize.
    (e_canvas_focus_in) : enable the input context.
    (e_canvas_focus_out) : enable the input context.
    (e_canvas_realize) : Create an input context.
    (e_canvas_unrealize) : New function to release the input context.

2000-06-28  Dan Winship  <danw@helixcode.com>

    * e-html-utils.c (url_extract): add ")" to the set of characters
    to back up over at the end of a potential URL.

2000-06-27  Ettore Perazzoli  <ettore@helixcode.com>

    * e-dialog-widgets.c (get_toggle_value): Use `value_var', not
    `value'.

2000-06-27  Ettore Perazzoli  <ettore@helixcode.com>

    * Makefile.am (INCLUDES): `-I$(top_srcdir)' to fix compilation
    with builddir != srcdir.

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

    * Makefile.am: Added e-canvas-vbox.c and e-canvas-vbox.h.

    * e-canvas-vbox.c, e-canvas-vbox.h: New canvas object to act like
    a vbox using the reflow system.

2000-06-20  Christopher James Lahey  <clahey@helixcode.com>

    * e-canvas.c, e-canvas.h: Added a variable to keep track of the
    cursor.  Set the cursor when selection_add is called.  Properly
    unset the cursor at the right times.

2000-06-20  Christopher James Lahey  <clahey@helixcode.com>

    * e-canvas.c: Grab the focus when setting the cursor.

2000-06-20  Christopher James Lahey  <clahey@helixcode.com>

    * e-canvas.c, e-canvas.h: Built a system for doing selections
    and/or a cursor in canvas.

2000-06-13  Christopher James Lahey  <clahey@helixcode.com>

    * e-util.c, e-util.h: Changed the needed e_marshal functions.

    * e-printable.c, e-printable.h: Added a quantize parameter to
    e_printable_height.  Also, added a e_printable_will_fit function.
    
2000-06-10  Christopher James Lahey  <clahey@helixcode.com>

    * Makefile.am: Added e-printable.c and e-printable.h.

    * e-printable.c, e-printable.h: This new class is a printing
    context.  Other classes return an EPrintable which represents a
    context for printing that object.

    * e-util.c, e-util.h: Added
    e_marshal_NONE__OBJECT_DOUBLE_DOUBLE_BOOL and
    e_marshal_DOUBLE__OBJECT_DOUBLE_DOUBLE.

2000-06-01  Christopher James Lahey  <clahey@helixcode.com>

    * e-util.c: Fixed e_marshal_INT__INT_INT_POINTER.

2000-06-01  Christopher James Lahey  <clahey@helixcode.com>

    * e-util.c, e-util.h: Added e_marshal_INT__INT_INT_POINTER.

2000-06-01  Dan Winship  <danw@helixcode.com>

    * e-util.c (g_int_compare): Duh! -1 != 1. :)

2000-06-01  Christopher James Lahey  <clahey@helixcode.com>

    * e-sexp.c (e_sexp_term_eval): g_return_val_if_fail to prevent a crash.

2000-05-30  Not Zed  <NotZed@HelixCode.com>

    * e-sexp.c (e_sexp_encode_bool): Utility function to build a bool
    as part of an expression string.
    (e_sexp_encode_string): Likewise for strings.

2000-05-30  Christopher James Lahey  <clahey@helixcode.com>

    * e-canvas-utils.c, e-canvas-utils.h: Added
    e_canvas_item_show_area which makes sure that a particular area of
    a given item is in the scroll area.

2000-05-30  Federico Mena Quintero  <federico@helixcode.com>

    * e-dialog-widgets.c (hook_radio): Use the exported function to
    set the value.
    (get_radio_value): Likewise.
    (hook_option_menu): Likewise.
    (get_option_menu_value): Likewise.
    (hook_toggle): Likewise.
    (get_toggle_value): Likewise.
    (hook_spin_button): Likewise.
    (get_spin_button_value): Likewise.
    (hook_editable): Likewise.
    (get_editable_value): Likewise.
    (e_dialog_radio_set): Radio buttons are prepended to their parent
    group's list, so we need to flip the index around when
    getting/setting the value.
    (e_dialog_radio_get): Likewise.

2000-05-27  Federico Mena Quintero  <federico@helixcode.com>

    * e-dialog-widgets.c (e_dialog_editable_set): Moved over from
    event-editor-utils.c.
    (e_dialog_editable_get): Likewise.
    (e_dialog_toggle_set): Likewise.
    (e_dialog_toggle_get): Likewise.
    (e_dialog_spin_set): Likewise.
    (e_dialog_spin_get_double): Likewise.
    (e_dialog_spin_get_int): Likewise.
    (e_dialog_option_menu_set): Likewise, and added a value map.
    (e_dialog_option_menu_get): Likewise.
    (e_dialog_dateedit_set): Likewise.
    (e_dialog_dateedit_get): Likewise.
    (e_dialog_radio_set): New function.
    (e_dialog_radio_get): New function.

2000-05-24  Christopher James Lahey  <clahey@helixcode.com>

    * e-paned.c, e-paned.h: Removed.

2000-05-23  Federico Mena Quintero  <federico@helixcode.com>

    * e-dialog-widgets.c (get_radio_value): Implemented.  Amazing that
    one has to go through so much pain to get a stupid value from
    GTK+.
    (hook_option_menu): Implemented.  Same complaint.
    (get_toggle_value): Implemented.
    (get_spin_button_value): Implemented.
    (get_entry_value): Implemented.
    (e_dialog_widget_hook_value): Function to hook a widget to the
    variable it will modify.
    (e_dialog_get_values): Function to feed the variables from a
    dialog's widgets.
    (e_dialog_xml_widget_hook_value): Function to hook a widget from
    a Glade file.

2000-05-23  Christopher James Lahey  <clahey@helixcode.com>

    * e-util.c, e-util.h: Added e_write_file.

2000-05-19  Federico Mena Quintero  <federico@helixcode.com>

    * e-dialog-widgets.[ch]: New files with utilities for hooking up
    widgets in Glade-generated dialogs.

    * Makefile.am (libeutil_la_SOURCES): Added e-dialog-widgets.[ch].

2000-05-19  Christopher James Lahey  <clahey@helixcode.com>

    * e-gui-utils.c, e-gui-utils.h: Added e_container_foreach_leaf.

2000-05-18  Christopher James Lahey  <clahey@helixcode.com>

    * Makefile.am: Add imagesdir support.

    * e-gui-utils.c, e-gui-utils.h: Added e_create_image_widget for
    glade use.

2000-05-16  Christopher James Lahey  <clahey@helixcode.com>

    * e-xml-utils.c: xmlGetProp appears to return malloced memory.
    Thus we must free it.

2000-05-15  Ettore Perazzoli  <ettore@helixcode.com>

    * e-util.c (e_free_string_list): New function.

2000-05-14  Christopher James Lahey  <clahey@helixcode.com>

    * e-util.c, e-util.h: Added e_strdup_strip which returns a copy of
    the string with the leading and trailing spaces removed.

2000-05-11  NotZed  <NotZed@HelixCode.com>

    * e-sexp.c (e_sexp_finalise): Destroy the g_scanner when cleaning up.
    (e_sexp_finalise): Free symbol table on finalise.

2000-05-09  Christopher James Lahey  <clahey@helixcode.com>

    * e-canvas.c: Remove reflow idle when being destroyed.

2000-05-06  Christopher James Lahey  <clahey@helixcode.com>

    * e-html-utils.c: Got rid of some warnings.

    * e-util.c, e-util.h: Added e_read_file which takes a filename and
    returns a newly allocated string containing the contents of that
    file.

2000-05-03  Ettore Perazzoli  <ettore@helixcode.com>

    * e-util.h: #include <glib.h> and <gtk/gtktypeutils.h>.

    * e-util.c (e_free_object_list): New utility function.

2000-05-02  Damon Chaplin  <damon@helixcode.com>

    * e-canvas.c (e_canvas_focus_in): 
    (e_canvas_focus_out): set and reset the GTK_HAS_FOCUS flag. We now get
    focus_out events correctly.

2000-05-02  NotZed  <NotZed@HelixCode.com>

    * e-sexp.c (e_sexp_finalise): Free the parse tree if we have one.
    (e_sexp_parse): If we already have a parse tree, free it.

2000-05-02  Matt Loper  <matt@helixcode.com>

    * Makefile.am: set G_LOG_DOMAIN.

2000-05-01  Ettore Perazzoli  <ettore@helixcode.com>

    * e-xml-utils.c, e-xml-utils.h: Constified all the functions.

2000-04-27  Dan Winship  <danw@helixcode.com>

    * e-html-utils.c (e_text_to_html): Moved here from the mailer,
    since it's of general use, and the composer needs it too.

2000-04-24  Miguel de Icaza  <miguel@helixcode.com>

    * e-popup-menu.c: New file.  Implements easy to use popup menus. 

2000-04-24  Matt Loper  <matt@helixcode.com>

    * e-paned.c: New file. Makes a GtkPaned with more than two
    children.
    * e-paned.h: same.

    * Makefile.am: added e-paned.[ch].

2000-04-19  Christopher James Lahey  <clahey@helixcode.com>

    * e-xml-utils.c, e-xml-utils.h: Added
    e_xml_get_child_by_name_by_lang.

2000-04-16  Anders Carlsson  <andersca@gnu.org>

      * e-canvas.c (e_canvas_class_init): Add realize.
      (e_canvas_realize): Set the back pixmap to NULL to reduce flicker.

2000-04-14  Christopher James Lahey  <clahey@helixcode.com>

    * e-xml-utils.c: Fixing a warning.

2000-04-14  Christopher James Lahey  <clahey@helixcode.com>

    * e-xml-utils.c: Add g_return_if_fails.

2000-04-12  Miguel de Icaza  <miguel@gnu.org>

    * e-cursors.c (e_cursor_get): Prevent next hacker to get bitten by this.

2000-04-10  Christopher James Lahey  <clahey@helixcode.com>

    * e-canvas.c: Added proper keyboard focus handling.

2000-04-06  Matt Loper  <matt@helixcode.com>

    * e-setup.c (e_setup_base_dir): Get/set Evolution's base directory
    via gnome-config.
    (mkdir_if_necessary): New function.
    (e_setup_base_dir): Use mkdir_if_necessary().

2000-03-22  NotZed  <NotZed@HelixCode.com>

    * e-util/e-sexp.h: Formatting cleanup.

2000-03-07  NotZed  <NotZed@HelixCode.com>

    * e-util/Makefile.am (libeutil_la_SOURCES): s-sexp.h -> e-sexp.h.

2000-03-12  Christopher James Lahey  <clahey@helixcode.com>
    
    * e-util/e-canvas.c, e-util/e-canvas.h: Fixed some bugs here to
    speed up reflow and to make it fail less often.

2000-03-10  Christopher James Lahey  <clahey@helixcode.com>

    * e-util/e-canvas.c, e-util/e-canvas.h: Designed a new system for
    doing hierarchical displays in the canvas.  Adds an extra idle
    loop to the canvas system.

2000-03-05  Christopher James Lahey  <clahey@helixcode.com>

    * e-util/e-xml-utils.c: Fixed e_xml_set_integer_prop_by_name.

2000-03-04  Christopher James Lahey  <clahey@helixcode.com>

    * e-util/e-xml-utils.c, e-util/e-xml-utils.h: Added
    e_xml_set_integer_prop_by_name.

2000-02-28  NotZed  <NotZed@HelixCode.com>
    
    * e-util/e-sexp.[ch]: Added.  moved from filter-sexp.[ch]

    * e-util/Makefile.am (libeutil_a_SOURCES): Add e-sexp.
    (noinst_LTLIBRARIES): Changed to a libtool library.

2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

    * e-util/e-xml-utils.c, e-util/e-xml-utils.h: Added
    e_xml_get_integer_prop_by_name.

    * e-util/Makefile.am: Added e-util.c.

    * e-util/e-util.h: Added e-util.c functions.

    * e-util/e-util.c: New file for compare functions

2000-02-24  Christopher James Lahey  <clahey@helixcode.com>
    
    * e-util/e-canvas-utils.h: Fixed the comment at the top and added
    #ifndef __E_CANVAS_UTILS__.

    * e-util/Makefile.am: Added e-xml-utils.c and
    e-xml-utils.h.

    * e-util/e-xml-utils.h, e-util/e-xml-utils.c: Added files for some
    xml utilities.

    * e-util/e-util.h: Added type EFocus which describes which
    direction the focus will be coming from.

2000-02-23  Dan Winship  <danw@helixcode.com>

    * e-util/e-setup.c (e_setup_base_dir): Make ~/evolution mode 700
    rather than mode 600 (and use the symbolic name rather than the
    number).
    
2000-02-09  Christopher James Lahey  <clahey@helixcode.com>
    
    * e-util/Makefile.am: Add canvas utilities to libeutil.