aboutsummaryrefslogblamecommitdiffstats
path: root/e-util/ChangeLog
blob: eda4497af3a21b82700b92d44a16825b76c67f8b (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16















                                                                            






                                                                      




                                                                           






                                                                              





                                                                  






                                                        







                                                                       






                                                                         




                                                                       

                                               


                                                                  


                                                                   







                                                                            





                                                                             

                                             




                                                                              




                                                                            






                                                                      




                                                                      




                                                                         

                     






                                                                          




                                                                           





                                                                      








                                                                          






                                                                          




                                                                       




                                                                         





                                                                 



                                                    

                                             
                                                                              

                                                                    





                                                                        




                                                                          



                                                         







                                                                          




                                                                         





                                                                



                                                                   









                                                                          




                                                 





                                                                          



                                                     




                                                                          



                                                        





                                                               






                                                                




                                                                       





                                                                         

                                               



                                               



                                                                    









                                                                         





                                                                        






                                                                      




                                                                         





                                                                       
                                         








                                                                         


                                                              





                                                                             



                                                                     

                                                        






                                                                       



                                                        
                                                                  
                                                                    
 





                                                                          







                                                                    

                                         











                                                                          






                                                                     


                                                                      



                                                       




                                                                         












                                                                          
                                         
        


                                                                         



                                                               















                                                                          

                                             







                                                                        













                                                                          



                                                                    




                                                                        





                                                                     

                                             
                                                                         
 

                                             



                                                                

                                                                 






                                                                        




                                                                       

                                             



                                                                 




                                                                     







                                                                          




                                                                          






                                                                      




                                                                        










                                                                             





                                                                     




                                                                     





                                                                          




                                                                        





                                                                         





                                                                        




                                                                   

                                               



                                                  






                                                                       








                                                                       

                                           


                                                                       
 




                                                                    

                                             


                                                                          


                                                                      
 








                                                                         




                                                 






                                                                      








                                                                          







                                                                         




                                                            





                                                                         

                                             


                                                                         

                                           











                                                                             












                                                                         






                                                                               



                                                    

                                             





                                                                        



                                                                           










                                                                          




                                                                       




                                                 




                                                                      




                                                                          




                                                                       






                                                                           





                                                                         








                                                                  




                                                                        










                                                                          





                                                                       



                                                           





                                                                     

                                          


                                                                       



                                                                          








                                                                        

                                          



                                                                          


                                                             





















                                                                          






                                                                         





                                                                      









                                                                          

                                             





                                                                       



                                                                  







                                                                  






                                                                        





                                                                      




                                                                          






                                                                        



                                                      



















                                                                          







                                                                             





                                                                   














                                                                          


























                                                                              











                                                                       




                                                                            



                                                                     




                                                                         



                                          




                                                                         




                                                                        








                                                                          




                                                                          



                                                                   
                                       
 





                                                                         





                                                                               








                                                                          

                                        

                                                 






                                                                       









                                                                         
 






















                                                                         












                                                                            





                                                                          



                                                         




                                                                         





                                                                         



                                           




                                                                        








                                                                         






















                                                                         




                                                                     




                                                             






                                                    







                                                                        












                                                                        






                                                                         



                                                                        
 



                                                                    
                                                                  
 






                                                                    





                                                                     







                                                                          




                                                                    

                                 








                                                                      


                                                                   











                                                                        







                                                                        





                                                                         







                                                                      




                                                                    

                                            










                                                                          



                                                                           




                                                                          

                                               


                                                                       
 

                                             

                                                                          
 



                                                                         



                                                  

                                                           






                                                                        













                                                                          



                                                           





                                                                   







                                                                        

                                             


                                                                   


                                                                     




                                                                          




                                                                 






                                                     



                                                                 





                                                                          









                                                                    




                                                                         




                                                                  





                                                          








                                                            


                                                      

                                                            
 








                                                                         




                                                                        




                                                       



                                                               


                                                    







                                                       



                                                                             




                                                                      




                                                                  

                                                  



                                                               



                                                                           




                                                                





                                                                

                                             




                                                                    


                                                                        

                                                           



                                                                      



                                                           



                                                                   


                                                                       




                                                           





                                                        








                                                           



                                                                        




                                                                        



                                                                   



                                                           





                                                                        





                                                              



                                             



                                                           

                                                           




                                                                      


                                                           




                                                                       



                                                         








                                                                         





                                                                        








                                                                         




                                                                        

                                                    




                                                                     


                                                                      






                                                                         

                                                           





                                                                       



                                                             


                                                                     






                                                                         











                                                                       

                                                           



                                                           

                                                                   



                                                    



                                                                               





                                                                         





                                                                          

















                                                                         
















                                                                     



                                                           















                                                                          



                                                           






                                                                         



                                                                       






                                                                       




                                                                      



                                                      




                                                                          




                                                                             



                                                              







                                                                          





                                                               





                                                                              




                                                                         



                                            



                                                                     




                                                                      



                                                                         







                                                                  




                                                           




                                                                        

                                                           



                                                           

                                               



                                                                                



                                                           



                                                                          


                                                     





































































                                                                          
2002-10-24  Rodrigo Moya <rodrigo@ximian.com>

    Fixes #32764

    * e-config-listener.c (add_key): store the value returned by
    bonobo_event_source_client_add_listener, so that we can remove it
    later, when freeing the key structure.
    (free_key_hash): remove listener.
    (e_config_listener_set_boolean):
    (e_config_listener_set_float): 
    (e_config_listener_set_long):
    (e_config_listener_set_string): only set the cache values if there's
    no exception.
    (e_config_listener_destroy): remove all keys before unrefing the db
    component.

2002-10-23  Dan Winship  <danw@ximian.com>

    * ename/e-name-western.c: Cast chars to unsigned char before
    passing to ctype macros since they are not defined on negative
    numbers. Fixes parsing problems with names with accented
    characters on Solaris. (At least part of #32146)

2002-09-25  Rodrigo Moya <rodrigo@ximian.com>

    * e-component-listener.c (ping_component_callback): added a comment
    about the fix for #30918.

2002-09-23  Rodrigo Moya <rodrigo@ximian.com>

    * e-component-listener.c (ping_component_callback): gtk_object_ref the
    component listener before emitting the "component_died" signal, since
    in most cases, the component listener will be destroyed in the
    callbacks for that signal.

2002-09-22  Dan Winship  <danw@ximian.com>

    * e-config-listener.c: Fix some non-ANSI switch statements

    * e-path.c: #include <sys/types.h> for OS X

2002-09-11  Chris Toshok  <toshok@ximian.com>

    [ Fixes #27546 ]
    * ename/e-name-western-tables.h
    (e_name_western_complex_last_table): add "di" to
    e_name_western_complex_last_table.

2002-09-05  Rodrigo Moya <rodrigo@ximian.com>

    * e-config-listener.c (e_config_listener_set_boolean,
    e_config_listener_set_float, e_config_listener_set_long,
    e_config_listener_set_string): update the local copy (if we've
    got one) so that we don't return values if asked before getting
    the change notification.

2002-09-04  Dan Winship  <danw@ximian.com>

    * e-time-utils.c (e_mktime_utc): New. Like mktime(3), but assumes
    the input time is UTC.
    (e_localtime_with_offset): New. Like localtime_r(3), but also
    returns an offset from UTC.

2002-08-29  Dan Winship  <danw@ximian.com>

    * e-list.c (e_list_destroy): Don't call g_list_foreach with the
    free func if the free func is NULL.

2002-08-28  Jeffrey Stedfast  <fejj@ximian.com>

    * e-html-utils.c (e_text_to_html_full): Convert file: urls
    too. Fixes bug #29557.

    * e-proxy.[c,h] (e_proxy_init): New convenience function to
    initialise the proxy settings for soup to use.

2002-08-27  Rodrigo Moya <rodrigo@ximian.com>

    * e-config-listener.c[ch] (e_config_listener_get_float_with_default,
      e_config_listener_set_boolean, e_config_listener_set_float): new
    functions.
    (property_change_cb, add_key): added support for FLOAT values.
    (e_config_listener_set_string): free strings before returning.

2002-08-26  Peter Williams  <peterw@ximian.com>

    * e-dialog-utils.c (set_transient_for_gdk): If gdk_window_foreign_new
    returned NULL, we're probably screwed, but try to avoid a segfault.
    (Preemptive fix suggested by kmaraas).

2002-08-26  Rodrigo Moya <rodrigo@ximian.com>

    * e-config-listener.c (e_config_listener_get_string_with_default):
    call g_strdup in the correct place, or we'll return the internal copy.

2002-08-26  Rodrigo Moya <rodrigo@ximian.com>

    * e-config-listener.c (e_config_listener_set_long): only set the key
    if the value is different from what we've already read from the
    database, to avoid extra change notifications.
    (e_config_listener_set_string): likewise.

2002-08-22  Rodrigo Moya <rodrigo@ximian.com>

    * e-config-listener.[ch]: added "key_changed" signal to class.
    (property_change_cb): emit "key_changed" signal.
    (e_config_listener_set_long): new function.
    (e_config_listener_get_long_with_default): new function.

2002-08-22  Dan Winship  <danw@ximian.com>

    * e-path.c (e_path_rmdir): Remove an e_path directory, and its
    parent "subfolders" dir if it's now empty.

2002-08-22  JP Rosevear  <jpr@ximian.com>

    * e-time-utils.c (e_time_parse_date): if the year was two digits,
    add the current century

    Fixes # 17252
    
2002-08-16  Rodrigo Moya <rodrigo@ximian.com>

    * e-config-listener.[ch]: new class for config database access and
    monitoring.

    * Makefile.am: added new files.

2002-08-14  Rodrigo Moya <rodrigo@ximian.com>

    * e-component-listener.[ch]: new class for controlling a component,
    to detect when it dies.

2002-08-01  Dan Winship  <danw@ximian.com>

    * e-html-utils.c (is_citation): Remove the logic that assumes
    "Rupert> " is a citation, since it misfires more often than it
    hits.

2002-07-31  Dan Winship  <danw@ximian.com>

    * e-html-utils.c (is_addr_char, is_trailing_garbage): Don't use
    "isprint(c)" to mean "c >= 32 && c < 128" since it doesn't in most
    locales.
    (is_domain_name_char): new macro for dns-valid characters
    (email_address_extract): Use is_domain_name_char rather than
    is_addr_char for the part after the @.

2002-07-30  Jeffrey Stedfast  <fejj@ximian.com>

    * e-host-utils.c (e_gethostbyname_r): If the user has enabled IPv6
    support, use getaddrinfo to resolve hostnames and then manually
    fit the result into a struct hostent.
    (e_gethostbyaddr_r): Same.

2002-07-25  Not Zed  <NotZed@Ximian.com>

    * e-msgport.c (e_dlist_length): Return the actual count, rather
    than always 0!
    
2002-07-03  Peter Williams  <peterw@ximian.com>

    * Makefile.am: Install libeutil, libeconduit, and libedb3util and
    their headers.
    
2002-07-15  Not Zed  <NotZed@Ximian.com>

    * e-sexp.c (term_eval_caststring): Cast to a string type.
    (term_eval_castint): Cast to an int type.
    (symbols[]): Add to symbol table.

2002-07-09  Dan Winship  <danw@ximian.com>

    * e-categories-config.c: #include <string.h>

2002-07-02  Rodrigo Moya <rodrigo@ximian.com>

    * e-categories-config.c (e_categories_config_get_icon_for): changed to
    return a gboolean (TRUE if the icon is found, FALSE if not).

2002-06-07  Not Zed  <NotZed@Ximian.com>

    * e-dialog-utils.c (e_gnome_warning_dialog_parented):
    (e_gnome_ok_cancel_dialog_parented): Use connect_while_alive, so
    we're not called after we've quit.  See bug #15397.

2002-06-03  Not Zed  <NotZed@Ximian.com>

    * e-msgport.c (e_msgport_wait): Protect against EINTR (irix?), see
    bug #24086.

2002-05-07  Ettore Perazzoli  <ettore@ximian.com>

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

2002-05-06  Not Zed  <NotZed@Ximian.com>

    * e-msgport.c (e_thread_destroy): Destroy our mutex too.
    (e_thread_new): Add thread to a new list of all threads.
    (e_thread_destroy): Remove thread from list of all threads.
    (e_thread_busy): New function, returh true if we're busy somewhere
    processing work.

2002-04-19  Jeffrey Stedfast  <fejj@ximian.com>

    * e-passwords.c (e_passwords_get_password): Don't leak the base64
    encoded password buffer.

2002-04-16  Jeffrey Stedfast  <fejj@ximian.com>

    * e-host-utils.c (e_gethostbyaddr_r): New wrapper around
    gethostbyaddr_r if the system has it, else a whole new
    implementation.

2002-04-11  Jeffrey Stedfast  <fejj@ximian.com>

    * e-sexp.c (parse_value): Handle parsing negative integers.

2002-03-29  JP Rosevear  <jpr@ximian.com>

    * e-dialog-utils.c (e_file_dialog_save): open a file selection
    dialog with the given title and return the selected file name
    (save_ok): if the ok button is clicked, make sure the file doesn't
    already exist and if it does, see if the user wants to over write
    it

    * e-dialog-utils.h: new proto

2002-03-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-lang-utils.c: New.
    * e-lang-utils.h: New.

2002-03-22  Dan Winship  <danw@ximian.com>

    * e-request.c (e_request_string): Document the fact that this
    takes two locale charset strings and one UTF8 string and returns a
    UTF8 string. (Huh.)

2002-03-04  Jeffrey Stedfast  <fejj@ximian.com>

    * e-mktemp.c: #include <string.h> for strcmp.

2002-02-22  Dan Winship  <danw@ximian.com>

    * e-html-utils.c (e_text_to_html_full): Fix for if the buffer ends
    with an email address (and no newline).

2002-02-09  JP Rosevear  <jpr@ximian.com>

    * e-pilot-settings.h: add row and column defines

2002-01-27  Ettore Perazzoli  <ettore@ximian.com>

    * ename/Makefile.am: Use E_NAME_CFLAGS and E_NAME_LIBS.

    * Makefile.am: Use E_UTIL_CFLAGS and E_UTIL_LIBS.

2002-01-14  JP Rosevear  <jpr@ximian.com>

    * Makefile.am: compile new files

    * e-pilot-settings.[hc]: beginnings of a general conduit
    configuration gui

2002-01-10  Christopher James Lahey  <clahey@ximian.com>

    * ename/e-name-western.c (e_name_western_word_is_suffix): Allow
    for a period after suffixes.  Fixes Ximian bug #17012.

2002-01-04  Jeffrey Stedfast  <fejj@ximian.com>

    * e-memory.c (e_memchunk_clean): Prune free'd nodes from our free
    list otherwise we'll end up re-using free'd memory blocks and
    that's not a Good Thing (tm).

2002-01-02  Jeffrey Stedfast  <fejj@ximian.com>

    * md5-utils.h: Reverted.

2002-01-02  Jeffrey Stedfast  <fejj@ximian.com>

    * md5-utils.h: Move the struct into md5-utils.c - this is a
    kludgey hack around the fact that NSS also defines
    MD5Context. Besides, this should be a private struct anyway.

2002-01-02  JP Rosevear  <jpr@ximian.com>

    * e-dialog-utils.c (e_gnome_dialog_set_parent): util function
    moved from mail-callbacks, also destroys the dialog if the parent
    is destroyed
    (e_gnome_warning_dialog_parented): similarly
    (e_gnome_ok_cancel_dialog_parented): ditto

    * e-dialog-utils.h: new protos

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

    * e-pilot-map.c (e_pilot_map_clear): clear all info from the map

    * e-pilot-map.h: add proto

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

    * e-pilot-util.c (e_pilot_utf8_to_pchar): use UTF-8 instead of
    UTF8 as the source char set
    (e_pilot_utf8_from_pchar): use UTF-8 instead of UTF8 as the
    destination char set

2001-11-20  Dan Winship  <danw@ximian.com>

    * e-passwords.c (e_passwords_forget_password): Clear the password
    in bonobo-conf as well. Fixes ximian 14893.

2001-11-13  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am (libeutil_la_LIBADD): Remove `-lc'.  It makes the
    mailer do strange things when it calls `fork()', thus breaking
    e.g. mail sending through sendmail.

2001-11-13  JP Rosevear  <jpr@ximian.com>
 
    * e-pilot-map.c (real_e_pilot_map_insert): only insert non-0 pids
    into the pid map
    (e_pilot_map_insert): remove and free old keys/values here -
    including possibly orphaned keys
    (e_pilot_map_remove_by_uid): only free things if they should have
    been found

2001-11-13  JP Rosevear  <jpr@ximian.com>

    * Makefile.am (libeutil_la_LIBADD): Explicitly add -lc

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

    * e-time-utils.c (e_time_parse_date): added a 2nd format, with the
    weekday and the date. We need this so we can try to parse DATE values
    in the ECalendarTable.

2001-10-29  Ettore Perazzoli  <ettore@ximian.com>

    * e-dialog-utils.c (e_set_dialog_parent): Remove a g_warning.

2001-10-29  Christopher James Lahey  <clahey@ximian.com>

    * ename/e-name-western.c (e_name_western_fixup): Added French
    conjunction.

    * e-host-utils.c: Don't define gethost_mutex unless we need it.

2001-10-29  Christopher James Lahey  <clahey@ximian.com>

    * ename/e-name-western.c: Cleaned this up a bit.

2001-10-29  Christopher James Lahey  <clahey@ximian.com>

    * ename/e-name-western.c (e_name_western_fixup): Check for
    compound first names here (X & Y).  Fixes Ximian bug #13859.

2001-10-28  JP Rosevear  <jpr@ximian.com>

    * e-pilot-map.c (e_pilot_map_remove_by_pid): make sure to free the
    keys as well
    (e_pilot_map_remove_by_uid): ditto

2001-10-27  JP Rosevear  <jpr@ximian.com>

    * e-pilot-map.h: update proto

    * e-pilot-map.c (e_pilot_map_lookup_pid): touch the nodes if
    indicated and found
    (e_pilot_map_lookup_uid): ditto

2001-10-26  JP Rosevear  <jpr@ximian.com>

    * e-pilot-map.c (real_e_pilot_map_insert): take an extra param on
    whether to mark touched
    (map_sax_start_element): use above
    (e_pilot_map_insert): ditto
    (e_pilot_map_write): pass in extra info to foreach call
    (map_write_foreach): if we are in touched only mode, write out the
    map only if its been touched

    * e-pilot-map.h: add new member

2001-10-26  JP Rosevear  <jpr@ximian.com>
    
    * e-pilot-map.c (map_sax_start_element): add archived records
    with pilot id of 0
    (map_write_foreach): use the uid map for writing
    (e_pilot_map_write): write using the uid map

2001-10-26  JP Rosevear  <jpr@ximian.com>

    * e-pilot-map.c (e_pilot_map_insert): free up old memory first
    (e_pilot_map_destroy): free allocated memory when destroying

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

    * e-pilot-map.c (map_set_node_timet): plug leak

2001-10-23  Dan Winship  <danw@ximian.com>

    * e-html-utils.c (e_text_to_html_full): Change " " to "&nbsp;" at
    start of line.

2001-10-22  Dan Winship  <danw@ximian.com>

    * e-passwords.c (e_passwords_get_password): Pass a
    CORBA_Environment to bonobo_config_get_string so it doesn't g_warn
    on error. (Since the "error" is most likely just that the password
    isn't cached.)
    (e_passwords_remember_password, e_passwords_get_password,
    e_passwords_add_password): Change "if (foo) { entire function; }"
    to "if (!foo) return;"

    * e-html-utils.c (special_chars): Don't allow single quote or
    backtick in email addresses, or pipes following URLs.

2001-10-22  JP Rosevear  <jpr@ximian.com>
    
    * e-dbhash.c (e_dbhash_foreach_key): null out DBT memory prior to
    usage (from Edd Dumbill <edd@usefulinc.com>)
    
2001-10-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-dialog-utils.c (e_set_dialog_parent_from_xid): New.

2001-10-12  Chris Toshok  <toshok@ximian.com>

    * e-passwords.h: new parameter to e_passwords_init, and add
    prototype for e_passwords_clear_component_passwords.

    * e-passwords.c (e_passwords_init): copy off the component name.
    (e_passwords_shutdown): free/NULL the component name.
    (e_passwords_clear_component_passwords): new function.  remove the
    subtree rooted at /Passwords/<ComponentName>.
    (e_passwords_remember_password): use component_name when building
    up the path.
    (e_passwords_get_password): same.
    (e_passwords_add_password): remove/free the currently stored
    session password for this key if there is one, before adding the
    new one.

2001-10-11  Chris Toshok  <toshok@ximian.com>

    * e-passwords.h: change prototype for e_passwords_get_password.

    * e-passwords.c (e_passwords_get_password): remove 'const' from
    return type - the return type is now allocated and must be freed
    by the caller.
    
2001-10-11  Chris Toshok  <toshok@ximian.com>

    * e-passwords.c (e_passwords_init): open the bonobo config db for
    our passwords.
    (e_passwords_shutdown): sync and unref the bonobo db, and clear
    out the per session hash.
    (e_passwords_forget_passwords): remove the bonobo config db
    /Passwords path, and free up the session hash (but don't destroy
    it).
    (e_passwords_remember_password): remove the key/value from the
    session hash, after inserting it into the bonobo db.
    (e_passwords_get_password): look up a session password for the
    uri, and if it's not there, consult the bonobo db.
    (e_passwords_ask_password): quiet gcc's warnings, and only consult
    the toggle button state if we actaully created it.

2001-10-09  Rodrigo Moya <rodrigo@ximian.com>

    * e-url.c (e_uri_to_string): don't add the host if it's null

2001-10-06  Christopher James Lahey  <clahey@ximian.com>

    * ename/e-address-western.c (e_address_western_parse): Made this
    refuse to parse more than 2047 characters of address.

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

    * e-passwords.c (e_passwords_add_password): Make this dup the
    strings it's passed.
    (*) Add lots of docs.

2001-10-03  Rodrigo Moya <rodrigo@ximian.com>

    * e-url.c (e_uri_new): default protocol to file: if not specified

2001-10-02  Rodrigo Moya <rodrigo@ximian.com>

    * e-url.c (e_uri_copy): duplicate also the params member

2001-10-02  Rodrigo Moya <rodrigo@ximian.com>

    * e-url.[ch] (e_uri_copy, e_uri_to_string): new functions
    
2001-10-01  Rodrigo Moya <rodrigo@ximian.com>
    
    * e-url.[ch]: added basic URI management functions

    * Makefile.am: added BONOBO flags to make it compile with latest
    Bonobo, which installs headers in a version-based directory

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

    * e-passwords.c (e_passwords_ask_password): New, copied/renamed
    from mailer and gnome-libs.

2001-09-30  Chris Toshok  <toshok@ximian.com>

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

2001-09-30  Chris Toshok  <toshok@ximian.com>

    * e-passwords.c: copy/rename the mail specific password stuff
    here.

    * e-passwords.h: same.

2001-09-28    <NotZed@Ximian.com>

    * e-msgport.c (e_msgport_put): Write the pipe notification outside
    the lock.  This way if the pipe fills up because of too many
    outstanding request, the queue isn't deadlocked.  This only
    happens wiht 4096 outstanding messages, so something is getting
    VERY busy!  Fixes #11121.

2001-09-24  Christopher James Lahey  <clahey@ximian.com>

    * e-categories-master-list-wombat.c (ecmlw_load, ecmlw_save): Make
    the printouts here conditionally compiled out.

2001-09-21    <NotZed@Ximian.com>

    * e-msgport.c (e_thread_destroy): Instead of using
    pthread_cancel() which seems to have numerous implementation
    issues, send a special quit message to the subordinate thread.
    (thread_dispatch): When it gets a quit message, well, quit!

2001-09-18  Ettore Perazzoli  <ettore@ximian.com>

    * e-gtk-utils.c (widget_realize_callback_for_backing_store): Use
    ->bin_window [instead of ->window] if the widget is a GtkLayout.

2001-09-17  Damon Chaplin  <damon@ximian.com>

    * e-time-utils.c (e_time_parse_date): only use 1 format, so we are
    consistent everywhere. If we support multiple formats we have to
    support that in e_time_parse_date_and_time() which means an explosion
    of different formats. I don't think the alternatives are that useful,
    anyway.
    (e_time_parse_date_and_time): parse everything in one go, to avoid
    i18n problems. Also only use '%p' if the locale has am/pm strings.
    (e_time_parse_time): Only use '%p' if locale has am/pm strings.

2001-09-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-gtk-utils.c (gtk_radio_button_get_nth_selected): Removed.
    (gtk_radio_button_select_nth): Removed.
    (e_make_widget_backing_stored): New.

2001-09-13  Jeffrey Stedfast  <fejj@ximian.com>

    * e-mktemp.c (e_mktemp_cleanup): Make sure the dir pointer is
    non-NULL before using it.

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

    * e-html-utils.c (e_text_to_html_full): Fix some broken calls to
    check_size that could result in memory corruption displaying short
    replies.

2001-09-06  Dan Winship  <danw@ximian.com>

    * e-html-utils.c (e_text_to_html_full): Add E_TEXT_TO_HTML_CITE,
    to prepend "> " to each line.

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

    * e-mktemp.c (get_path): Fix the check for the case when mkdir()
    returns EEXIST to check S_ISDIR on the right structure component.
    Fixes bug #8775.

2001-08-31  Federico Mena Quintero  <federico@ximian.com>

    * e-time-utils.c (e_time_parse_date_and_time): Added format for 
    "7 PM" and equivalents.  Fixes bug #7456.
    (e_time_parse_time): Likewise.

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

    * e-categories-master-list-wombat.c (ecmlw_load): Dont call
    g_print with a NULL string.  See bug #7396.

2001-08-24  Jeffrey Stedfast  <fejj@ximian.com>

    * e-mktemp.c (get_path): Make more robust.

2001-08-24  Jeffrey Stedfast  <fejj@ximian.com>

    * Makefile.am: Added e-mktemp.[c,h] to the build.

    * e-mktemp.c (e_mktemp): A new wrapper around mktemp so that we
    can keep track of temp files for later cleanup.
    (e_mkstemp): Same but obviously for the mkstemp call.
    (e_mkdtemp): And finally a mkdtemp wrapper.

2001-08-24  Zbigniew Chyla  <cyba@gnome.pl>

    * Makefile.am (libeutil_la_SOURCES): Added e-unicode-i18n.c and
    e-unicode-i18n.h.

    * e-unicode-i18n.[ch]: New files with two extra functions
    (e_utf8_gettext, e_utf8_dgettext) and U_() macro.
    Should be used instead of _() if we need UTF-8 string.

2001-08-23  Zbigniew Chyla  <cyba@gnome.pl>

    * e-request.c (e_request_string): Modified to accept and return
    UTF-8 string.  It's currently used only in
    shell/e-shortcuts-view.c and we need UTF-8 there.

2001-08-20  Damon Chaplin  <damon@ximian.com>

    * e-time-utils.c (e_time_parse_date): added comments to help
    translators a bit.

2001-08-09  Rodrigo Moya <rodrigo@ximian.com>

    * e-categories-config.c (e_categories_config_get_icon_for): return
    when there's no icon associated with the category

    * e-categories-config.c: reworked to use the
    ECategoriesMasterListWombat class. Also, load correctly images
    (fixes #6794)

2001-08-09  Federico Mena Quintero  <federico@ximian.com>

    * e-categories-master-list-wombat.c (ecmlw_destroy): Chain to the
    destroy handler in the parent class!

    * e-list-iterator.c (e_list_iterator_destroy): Likewise.  Sigh.

    * e-list.c (e_list_destroy): Likewise.  Double sigh.

2001-08-08  Ettore Perazzoli  <ettore@ximian.com>

    * e-dialog-utils.h: New.
    * e-dialog-utils.c: New.

2001-08-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-bonobo-factory-util.c
    (e_bonobo_generic_factory_multi_display_new): New function to
    create a factory that creates separate component instances for
    different displays.

2001-08-03  Christopher James Lahey  <clahey@ximian.com>

    * e-list-iterator.c (e_list_iterator_next): Made it so that
    e_list_iterator_next goes to the first element if it's set to
    NULL.  This makes deleting the first element and then doing
    e_list_iterator_next go to the new first element.  Did the analogy
    for e_list_iterator_prev for completeness and consistency's sakes.
    Fixes Ximian bug #6057.

2001-08-01  Christopher James Lahey  <clahey@ximian.com>

    * e-categories-master-list-wombat.c (ecmlw_load): Fixed the load
    statement here by just using array_from_string.
    (ecmlw_save): Removed the part where we save the icons and colors
    since that's handled in the array_to_string function.  Fixes
    Ximian bug #4451.

2001-07-27  JP Rosevear  <jpr@ximian.com>

    * e-dbhash.c (string_to_dbt): memset everything to 0
    (md5_to_dbt): ditto

2001-07-20  Rodrigo Moya <rodrigo@ximian.com>

    * e-categories-config.c (initialize_categories_config): use the 2
    new category icons (16_category_suppliers.png and
    16_category_time-and-expenses.png)

2001-07-19  Rodrigo Moya <rodrigo@ximian.com>

    * e-categories-config.c (initialize_categories_config): use the 2
    new category icons

    * Makefile.am: s/imagedir/imagesdir

2001-07-17  Rodrigo Moya <rodrigo@ximian.com>

    * e-categories-config.c (initialize_categories_config): generate
    default configuration for icons-per-category the first time. And
    use a global (for this file) Bonobo_ConfigDatabase

2001-07-16  Rodrigo Moya <rodrigo@ximian.com>

    * e-categories-config.c (e_categories_config_get_icon_for):
    (e_categories_config_get_icon_file_for):
    (e_categories_config_set_icon_file_for): use GdkPixbuf to load images

2001-07-16  Federico Mena Quintero  <federico@ximian.com>

    * e-time-utils.c (parse_with_strptime): Generalized function for
    trying a number of strptime() formats on a string.
    (e_time_parse_time): Use parse_with_strptime().
    (e_time_parse_date): New function, analogous to the previous one,
    but uses a number of date formats.

2001-07-12  Federico Mena Quintero  <federico@ximian.com>

    * e-time-utils.c (e_time_parse_date_and_time): If the string is
    empty, clear the struct tm before returning.

2001-07-12  Jon Trowbridge  <trow@ximian.com>

    * e-html-utils.c: Added is_addr_char_no_pipes macro, which specifically
    does not consider '|' ("pipe") to be a legal address character.
    (email_address_extract): Use is_addr_char_no_pipes when looking for
    e-mail addresses to turn into HTML links. (Bug #3940)

2001-07-05  Not Zed  <NotZed@Ximian.com>

    * e-memory.c: Added some malloc check stuff.

2001-07-04  Rodrigo Moya <rodrigo@ximian.com>

    * e-categories-master-list-wombat.c (ecmlw_load): load all icons
    and colors for each category

    (ecmlw_save): save all icons and categories associated with
    each category

    * e-categories-config.c: use BonoboConf to store/retrieve settings,
    and use ECategoriesMasterListWombat when creating a ECategories
    dialog widget

2001-07-02  Christopher James Lahey  <clahey@ximian.com>

    * Makefile.am (libeutil_la_SOURCES): Added
    e-categories-master-list-wombat.c and
    e-categories-master-list-wombat.h.
    (INCLUDES): Added $(BONOBO_CONF_CFLAGS).

    * e-categories-master-list-wombat.c,
    e-categories-master-list-wombat.h: New class implementing a master
    list that stores its state using bonobo-conf.

2001-07-02  Rodrigo Moya <rodrigo@ximian.com>

    * e-categories-config.[ch]: new file for a set of functions for
    managing category-related (icons, colors) configuration

2001-07-01  Ettore Perazzoli  <ettore@ximian.com>

    * e-request.c: New.
    * e-request.h: New.

2001-06-25  Jeffrey Stedfast  <fejj@ximian.com>

    * e-sexp.c (term_eval_and): When ANDing two bools, don't use a
    bitwise AND.

2001-06-18  Dan Winship  <danw@ximian.com>

    * Makefile.am: Split e-db3-utils and e-dbhash off into libedb3util
    so eutil won't depend on db3.

2001-06-15  Not Zed  <NotZed@Ximian.com>

    * e-sexp.c (parse_values): REmove a silly hardcoded term limit,
    oops forgot about that.

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.