aboutsummaryrefslogblamecommitdiffstats
path: root/e-util/ChangeLog
blob: cb5df43d2df3901fe91b505db5a0ef6a38dd1c39 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11










                                                                          





                                                                       



                                                           





                                                                     

                                          


                                                                       



                                                                          








                                                                        

                                          



                                                                          


                                                             





















                                                                          






                                                                         





                                                                      









                                                                          

                                             





                                                                       



                                                                  







                                                                  






                                                                        





                                                                      




                                                                          






                                                                        



                                                      



















                                                                          







                                                                             





                                                                   














                                                                          


























                                                                              











                                                                       




                                                                            



                                                                     




                                                                         



                                          




                                                                         




                                                                        








                                                                          




                                                                          



                                                                   
                                       
 





                                                                         





                                                                               








                                                                          

                                        

                                                 






                                                                       









                                                                         
 






















                                                                         












                                                                            





                                                                          



                                                         




                                                                         





                                                                         



                                           




                                                                        








                                                                         






















                                                                         




                                                                     




                                                             






                                                    







                                                                        












                                                                        






                                                                         



                                                                        
 



                                                                    
                                                                  
 






                                                                    





                                                                     







                                                                          




                                                                    

                                 








                                                                      


                                                                   











                                                                        







                                                                        





                                                                         







                                                                      




                                                                    

                                            










                                                                          



                                                                           




                                                                          

                                               


                                                                       
 

                                             

                                                                          
 



                                                                         



                                                  

                                                           






                                                                        













                                                                          



                                                           





                                                                   







                                                                        

                                             


                                                                   


                                                                     




                                                                          




                                                                 






                                                     



                                                                 





                                                                          









                                                                    




                                                                         




                                                                  





                                                          








                                                            


                                                      

                                                            
 








                                                                         




                                                                        




                                                       



                                                               


                                                    







                                                       



                                                                             




                                                                      




                                                                  

                                                  



                                                               



                                                                           




                                                                





                                                                

                                             




                                                                    


                                                                        

                                                           



                                                                      



                                                           



                                                                   


                                                                       




                                                           





                                                        








                                                           



                                                                        




                                                                        



                                                                   



                                                           





                                                                        





                                                              



                                             



                                                           

                                                           




                                                                      


                                                           




                                                                       



                                                         








                                                                         





                                                                        








                                                                         




                                                                        

                                                    




                                                                     


                                                                      






                                                                         

                                                           





                                                                       



                                                             


                                                                     






                                                                         











                                                                       

                                                           



                                                           

                                                                   



                                                    



                                                                               





                                                                         





                                                                          

















                                                                         
















                                                                     



                                                           















                                                                          



                                                           






                                                                         



                                                                       






                                                                       




                                                                      



                                                      




                                                                          




                                                                             



                                                              







                                                                          





                                                               





                                                                              




                                                                         



                                            



                                                                     




                                                                      



                                                                         







                                                                  




                                                           




                                                                        

                                                           



                                                           

                                               



                                                                                



                                                           



                                                                          


                                                     





































































                                                                          
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.