Warn if a short name is not acceptable.
[platform/upstream/glib.git] / ChangeLog.pre-2-8
1 2005-07-13  Matthias Clasen  <mclasen@redhat.com>
2
3         * glib/goption.c (g_option_group_add_entries): Warn if a
4         short name is not acceptable.
5
6 2005-07-12  Matthias Clasen  <mclasen@redhat.com>
7
8         * glib/goption.h (G_OPTION_FLAG_NOALIAS): 
9         * glib/goption.c: Add and implement a new flag
10         to turn off the automatic <groupname>- prefixing
11         for conflict resolution of long option names. (#171840,
12         Adam McLaurin)
13         
14         All optional callback arguments  (#308886, Pawel
15         Sliwowski)
16
17         * glib/goption.h (G_OPTION_FLAG_OPTIONAL_ARG): 
18         * glib/goption.c: Add and implement a new flag
19         to indicate that a callback *optionally* takes another
20         argument.
21
22         * tests/option-test.c: Add tests for optional arguments.
23
24 2005-07-12  Matthias Clasen  <mclasen@redhat.com>
25
26         * glib/gthread.c (g_static_rec_mutex_lock_full): Don't lock
27         if depth is zero.  (#310148, Wim Taymans)
28
29 2005-07-10  Matthias Clasen  <mclasen@redhat.com>
30
31         * glib/gutils.c (g_listenv): Ignore anomalous environment
32         entries which are not of the form variable=value.  (#309859,
33         Morten Welinder)
34
35 2005-07-09  Tor Lillqvist  <tml@novell.com>
36
37         * glib/giowin32.c: Totally rewritten socket channel
38         implementation. See discussion in bug #147392.
39
40         * configure.in: Don't use autoconf variables for the resource
41         object files on Win32 any longer. Instead handle that in the
42         Makefile.am files. Check for windres.
43
44         * glibconfig.h.win32.in: Minor tuning to match the
45         configure-produced glibconfig.h closely.
46
47         * glib/Makefile.am: Don't use the scripts in build/win32 to
48         compile glib.rc into a resource object file. (This means we lose
49         the build number increment magic, but I doubt it was that useful
50         anyway.) Instead use windres directly. To pass the normal .o file
51         produced by windres through libtool, which wants .lo files, pass
52         it directly to the linker using a -Wl option.
53
54         * glib/glib.rc.in: Thus replace BUILDNUMBER with 0.
55
56 2005-07-08  Matthias Clasen  <mclasen@redhat.com>
57
58         * configure.in: Bump version
59         
60         * === Released 2.7.2 ===
61
62         * NEWS: Updates
63
64 2005-07-07  Matthias Clasen  <mclasen@redhat.com>
65
66         * configure.in: Make the size_t size detection work on AIX. 
67         (#309725)
68
69 2005-07-06  Matthias Clasen  <mclasen@redhat.com>
70
71         * configure.in: Require a newer gtk-doc.
72
73 2005-07-01  Hans Breuer  <hans@breuer.org>
74
75         * glib/gmessages.c : include <process.h> for getpid()
76         * glib/gmappedfile.c : include <io.h> for close() etc.
77         * glib/makefile.msc.in : add    gmappedfile.obj
78
79 2005-07-01  Matthias Clasen  <mclasen@redhat.com>
80
81         * glib/gkeyfile.c (g_key_file_get_key_comment): 
82         (g_key_file_get_top_comment): Don't reverse the order of multiline 
83         comments.
84         (g_key_file_get_group_comment): Actually get the group comment.
85
86         * tests/keyfile-test.c (test_comments): Test that comments are
87         handled properly.  (#309263, Mikael Magnusson)
88
89 2005-06-30  Matthias Clasen  <mclasen@redhat.com>
90
91         * configure.in: Bump version
92
93         * === Released 2.7.1 ===
94
95 2005-06-30  Matthias Clasen  <mclasen@redhat.com>
96
97         * glib/gstring.c (g_str_hash): Fix portability issues.  
98         (#307064, Morten Welinder)
99
100         Apply a patch which may make GLib work on BeOS again.  
101         (#309157, Kian Duffy)
102
103         * glib/gmain.c: Update the BeOS includes.
104
105         * glib/gstdio.c: 
106         * glib/gutils.c (g_find_program_in_path): 
107         * glib/gbacktrace.c (g_on_error_stack_trace): Use the UNIX
108         implementation on BeOS, as well.
109
110         * configure.in: Don't put glib 1.0 into G_MODULE_LIBS, even
111         on BeOS.
112
113         * NEWS: Updates
114
115 2005-06-26  Tor Lillqvist  <tml@novell.com>
116
117         * glib/Makefile.am: libtool installs/uninstalls the import
118         library, no need to do it ourselves. Do still install/uninstall
119         the .def file, though.
120
121         * glib/gmappedfile.c: Add Win32 implementation.
122         (g_mapped_file_free): Don't mention writable shared mappings in
123         the doc comment. Free the GMappedFile struct.
124
125         * tests/mapping-test.c (main): No kill() or SIGUSR1 on Win32, use
126         a flag file instead to stop the child. Use g_usleep() instead of
127         sleep().
128
129 2005-06-24  Matthias Clasen  <mclasen@redhat.com>
130
131         Add an mmap() wrapper called GMappedFile. (#148218,
132         David Schleef, Behdad Esfahbod)
133         
134         * glib/gmappedfile.[hc]: New files.
135
136         * configure.in: Check for mmap.
137         
138         * glib/Makefile.am: Add new files.
139         
140         * glib/glib.symbols: Add new functions.
141
142         * glib/glib.h: Include gmappedfile.h
143
144         * tests/mapping-test.c: Tests for GMappedFile.
145
146         * tests/Makefile.am: Add new file.
147
148         * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Add --enable-man.
149
150 2005-06-24  Tor Lillqvist  <tml@novell.com>
151
152         * glib/Makefile.am (install-libtool-import-lib): Current GNU tools
153         do understand the PRIVATE keyword.
154
155         * glib/gfileutils.c (g_mkdir_with_parents): Return error with
156         EINVAL also for empty pathnames.
157         (g_build_pathname_va): Fix typo.
158
159 Thu Jun 23 15:52:08 2005  Manish Singh  <yosh@gimp.org>
160
161         * glib/gfileutils.c: g_build_filename_va is only use in the G_OS_WIN32
162         case, so compile it conditionally.
163
164 2005-06-23  Matthias Clasen  <mclasen@redhat.com>
165
166         * tests/keyfile-test.c (test_group_remove): Don't leak
167         memory here.
168
169         * glib/gkeyfile.c (g_key_file_load_from_data_dirs): Don't
170         leak output_path.  (#308546, Kjartan Maraas)
171
172         * glib/glib.symbols: 
173         * glib/gfileutils.h: 
174         * glib/gfileutils.c (g_build_pathv, g_build_filenamev): 
175         Variants of g_build_path() and g_build_filename()
176         which take a string array instead of varargs.  
177         (#149092, Todd A. Fisher)
178
179         * tests/strfunc-test.c: Add tests for g_build_pathv() 
180         and g_build_filenamev().
181
182 2005-06-22  Tor Lillqvist  <tml@novell.com>
183
184         * glib/gfileutils.c
185         * glib/gfileutils.h
186         * glib/glib.symbols
187         * tests/testglib.c: Rename g_makepath() to g_mkdir_with_parents().
188
189 2005-06-22  Matthias Clasen  <mclasen@redhat.com>
190
191         * glib/goption.c (parse_short_option, parse_long_option): 
192         Pass the option name also in the NO_ARG case.  (#308602,
193         Masatake YAMATO)
194         (parse_arg): Properly store changes for arrays.  (#308528,
195         Roger Leigh)
196
197 2005-06-22  Tor Lillqvist  <tml@novell.com>
198
199         * glib/gfileutils.c (g_makepath): New function. Creates a
200         directory including intermediate parent directories as
201         needed. (#60509)
202
203         * glib/gfileutils.h: Declare it.
204
205         * glib/gutils.c (g_get_host_name): New function. Returns the
206         machine's name, or one of its names. Document that it is
207         best-effort only, and not guaranteed to be unique or anything.
208         (g_get_any_init): Get the host name here. On Unix use
209         gethostname(), on Windows use GetComputerName(). (#5200)
210
211         * glib/gutils.h: Declare it.
212
213         * glib/glib.symbols: Add new functions.
214
215         * tests/testglib.c: Test g_makepath() and g_get_host_name().
216         
217 2005-06-18  Matthias Clasen  <mclasen@redhat.com>
218
219         * glib/goption.h: 
220         * glib/goption.c: Add G_OPTION_FLAG_NO_ARG and
221         G_OPTION_FLAG_FILENAME to allow greater control of
222         G_OPTION_ARG_CALLBACK options. (#302632, Dan Winship)
223
224         * tests/option-test.c: test callback args
225
226 2005-06-14  Theppitak Karoonboonyanan  <thep@linux.thai.net>
227
228         * configure.in: Added 'th' (Thai) to ALL_LINGUAS.
229
230 2005-06-10  Matthias Clasen  <mclasen@redhat.com>
231
232         * configure.in: Bump version
233
234         * === Released 2.7.0 ===
235
236         * NEWS: Updates
237
238 2005-06-09  Matthias Clasen  <mclasen@redhat.com>
239
240         * glib/gkeyfile.c (g_key_file_parse_value_as_integer): Better
241         error checking. (#306389, Morten Welinder)
242
243         * glib/goption.c (parse_int): Set errno to 0 before calling
244         strtol.  (#306388, Morten Welinder)
245
246 2005-06-09  Tor Lillqvist  <tml@novell.com>
247
248         * glib/gstdio.h
249         * glib/gstdio.c
250         * glib/glib.symbols: Add a chdir() wrapper, too.
251
252         * glib/glib.symbols: Add g_win32_locale_filename_from_utf8().
253
254         * glib/gwin32.c (g_win32_locale_filename_from_utf8): Clarify doc
255         comment.
256
257 2005-06-08  Tor Lillqvist  <tml@novell.com>
258
259         * glib/gutils.c (get_windows_directory_root): New helper function
260         on Win32, returns the root of the drive (or possibly share) where
261         the Windows directory is. (In the case of Terminal Server sessions
262         the Windows directory is a per-user folder.)
263         (g_get_any_init): Use get_windows_directory_root() as last resort
264         for both temp directory and home directory. g_get_home_dir() now
265         never returns NULL on Win32. Don't look at HOMEDRIVE and
266         HOMEPATH. HOME, USERPROFILE, CSIDL_PROFILE and Windows directory
267         drive root should be enough.
268
269 2005-06-08  Matthias Clasen  <mclasen@redhat.com>
270
271         * glib/glib.symbols: 
272         * glib/gunicode.h: 
273         * glib/gunicollate.c (g_utf8_collate_key_for_filename): 
274         New function to calculate collation keys which are more
275         suitable for sorting filenames.  (#172690, Ole Laursen)
276
277 Fri May 27 17:18:00 2005  Manish Singh  <yosh@gimp.org>
278
279         * glib/goption.c (parse_short_option): initialize option_name
280         before using it.
281
282 2005-05-27  Matthias Clasen  <mclasen@redhat.com>
283
284         * glib/goption.c (parse_short_option, parse_long_option):
285         Return an error if an option is missing its argument.  (#305576,
286         Björn Lindqvist)
287
288         * tests/option-test.c (missing_arg_test): Add a testcase.
289
290 Wed May 25 15:33:51 2005  Manish Singh  <yosh@gimp.org>
291
292         * glib/goption.c (print_help): rest_description should be const.
293
294 2005-05-25  Matthias Clasen  <mclasen@redhat.com>
295
296         * glib/gunidecomp.c (combine_hangul): Don't eat Hangul 
297         when normalizing.  (#301742, reported by Christian Biere,
298         patch by Noah Levitt)
299
300 2005-05-24  Matthias Clasen  <mclasen@redhat.com>
301
302         * glib/goption.c (print_help): If the remaining argument
303         has an arg_description, display the synopsis as
304         PROGNAME [OPTION...] REST  (#305346, Noah Levitt)
305
306 2005-05-20  Federico Mena Quintero  <federico@ximian.com>
307
308         Merged from glib-2-6:
309
310         * glib/gspawn.c (g_spawn_command_line_sync): Clarify the meaning
311         of exit_status(); it's not the return code from the child, but
312         rather the waitpid() status.
313
314 2005-05-18  Matthias Clasen  <mclasen@redhat.com>
315
316         * glib/gunidecomp.c: Correct the end of the Hangul 
317         Syllables range, from 0xd7af to 0xd7a3, in several
318         places.  (#301984, Changwoo Ryu)
319
320 2005-05-17  Matthias Clasen  <mclasen@redhat.com>
321
322         * tests/tree-test.c (main): Check the return values of
323         g_tree_remove().
324
325         * glib/gtree.c (g_tree_remove, g_tree_steal): Return
326         a boolean indicating wether the key was found.  (#302545,
327         Matthew F. Barnes)
328
329 2005-05-06  Brian Cameron  <brian.cameron@sun.com>
330
331         * configure.in, gmodule-no-export-2.0-uninstalled.pc.in,
332           Makefile.am:  Added gmodule-no-export-2.0-uninstalled.pc.in
333           to allow building of other libraries like pango when 
334           glib is uninstalled.
335
336 2005-05-06  Matthias Clasen  <mclasen@redhat.com>
337
338         * tests/option-test.c: Add a testcase.
339         
340         * glib/goption.c (g_option_context_parse): Treat '-'
341         on its own as a non-option argument.  (#168008, Tim Musson,
342         Thomas Leonard and others)
343
344 2005-05-05  Owen Taylor  <otaylor@redhat.com>
345
346         * glib/gdataset.[ch] glib/gdatasetprivate.h: Add 
347         g_datalist_set/unset_flags(), g_datalist_get_flags() functions
348         to squeeze some bits into a GDataSet... this is needed for
349         efficient implementation of toggle references in GObject.
350
351         * tests/gobject/references.c tests/gobject/Makefile.am:
352         Add a test case for weak and toggle references.
353
354         * glib/gfileutils.[ch]: Rename g_file_replace() back
355         to g_file_set_contents().
356
357         * glib/glib.symbols: Update.
358
359 2005-05-02  Matthias Clasen  <mclasen@redhat.com>
360
361         * glib/gstring.c (g_str_equal, g_str_hash): Move docs
362         inline.
363
364 2005-05-01  Matthias Clasen  <mclasen@redhat.com>
365
366         * glib/ghash.h: Rename some parameters to make gtk-doc
367         happy.
368
369         * glib/gutils.c: 
370         * glib/gwin32.c: 
371         * glib/gstdio.c: Fix some typos, mark new API as "Since 2.8".
372
373 2005-04-29  Matthias Clasen  <mclasen@redhat.com>
374
375         * glib/gtree.c: Clarify some docs. (#302062, Matthew F. Barnes)
376
377 2005-04-28  Matthias Clasen  <mclasen@redhat.com>
378
379         * glib/gstrfuncs.c (g_strcompress): Warn and don't crash
380         when meeting a trailing \\.  (#301373, Benjamin Otte)
381
382 2005-04-27  Tor Lillqvist  <tml@novell.com>
383
384         * glib/gconvert.c (open_converter, g_convert_with_iconv): Don't
385         call g_set_error() unless the GError pointer is non-NULL. This
386         avoids infinite recursion problems in certain rare situations on
387         Windows, when g_locale_from_utf8() is called from
388         _glib_get_locale_dir() after the change below. It's the
389         _glib_gettext() calls to translate error messages that are
390         parameters to g_set_error() that cause the recursion, not
391         g_set_error() itself.
392
393         * glib/gwin32.c (g_win32_locale_filename_from_utf8): New
394         function. Converts a filename to the system codepage, and if a
395         straight conversion isn't possible (because the filename contains
396         characters not in the system codepage), try looking up the
397         filename (which should refer to an existing file for this to
398         succeed) with short (8.3) pathname components.
399
400         * glib/gutils.c (_glib_get_locale_dir): No need to cache the
401         result, this function is normally called only once. Return the
402         path to the locale directory in system codepage, not UTF-8. The
403         path is passed to bindtextdomain(), which doesn't use UTF-8 file
404         names. Use g_win32_locale_filename_from_utf8(). (#301772)
405
406         Don't do run-time lookup of message catalog directory on
407         Cygwin. Cygwin is supposed to look and feel like Unix, and on Unix
408         we use paths fixed at configure time.
409
410 2005-04-19  Tor Lillqvist  <tml@novell.com>
411
412         * glib/gutils.h: Minor comment improvement.
413
414 2005-04-18  Tor Lillqvist  <tml@novell.com>
415
416         * glib/gfileutils.c: No <sys/wait.h> on Win32. Definition of
417         save_errno was missing in one place.
418
419 Sat Apr 16 20:15:44 2005  Soeren Sandmann  <sandmann@redhat.com>
420
421         * glib/gfileutils.c (g_file_replace): Save the errno in various
422         places
423
424         * glib/gfileutils.c (set_umask_permissions): Fork a child and do
425         chmod() to the umask() permissions there.
426
427 2005-04-10  Matthias Clasen  <mclasen@redhat.com>
428
429         * glib/gmessages.h (g_debug): Use G_LOG_LEVEL_DEBUG in
430         both definitions.  (#300071, Tommi Komulainen)
431
432 2005-04-09  Tor Lillqvist  <tml@novell.com>
433
434         * glib/gutils.c: Include <process.h> on Win32 for getpid(). (#173094)
435
436 2005-04-08  Tor Lillqvist  <tml@novell.com>
437
438         * glib/gstdio.h
439         * glib/gstdio.c
440         * glib/glib.symbols (g_access, g_chmod, g_creat): Wrap also
441         access(), chmod() and creat(). (#169623, #171285)
442
443 2005-04-08  Tor Lillqvist  <tml@novell.com>
444
445         Improve g_get_system_data_dirs() on Windows. A library that calls
446         g_get_system_data_dirs() might be installed in a different
447         top-level prefix than GLib or the application being run.
448
449         * glib/gutils.h (g_win32_get_system_data_dirs): New static
450         function defined in this header. Calls
451         g_win32_get_system_data_dirs_for_module() passing the address of
452         itself as parameter. g_get_system_data_dirs() is #defined as this
453         function.
454
455         * glib/gutils.c (g_win32_get_system_data_dirs_for_module): New
456         function. If the address parameter is non-NULL, the corresponding
457         module's installation location is used for one of the returned
458         path names, in addition to the COMMON_APPDATA, COMMON_DOCUMENTS,
459         glib top-level and application top-level folders.
460         (g_get_system_data_dirs): Now just for backward compatibility on
461         Win32. Just call g_win32_get_system_data_dirs_for_module(NULL).
462
463         * glib/glib.symbols: Add g_win32_get_system_data_dirs_for_module.
464
465         * glib/gutils.c (read_aliases): Not used on Windows.
466         (unalias_lang): Don't do anything on Windows, there is no
467         /usr/share/locale/locale.alias file..
468         
469 Thu Apr  7 22:51:15 2005  <yosh@gimp.org>
470
471         * glib/gutils.c (g_get_system_data_dirs): Declare glib_top_share_dir
472         and exe_top_share_dir only in G_OS_WIN32.
473
474 2005-04-08  Tor Lillqvist  <tml@novell.com>
475
476         * glib/gutils.c (g_get_system_data_dirs): After investigating more
477         closely the actual use cases of this function, I understand better
478         what it needs to do on Windows. In addition to the Windows
479         COMMON_APPDATA and COMMON_DOCUMENTS folders, also return the
480         "share" subfolders of GLib's installation location and the
481         application .exe's installation location, hoping that either
482         matches what the function's caller is looking for.
483
484         * glib/gutils.h (G_WIN32_DLLMAIN_FOR_DLL_NAME): Use wide char API
485         if available, and store dll name in UTF-8.
486
487 2005-04-05  Matthias Clasen  <mclasen@redhat.com>
488
489         * glib/gfileutils.c (get_contents_stdio): Avoid memory 
490         leaks in borderline cases.  (#172612, Morten Welinder)
491
492 2005-04-04  Matthias Clasen  <mclasen@redhat.com>
493
494         * glib/gconvert.c: Clarify docs in some places. (#172404, 
495         Morten Welinder)
496
497 2005-04-03  Matthias Clasen  <mclasen@redhat.com>
498
499         * glib/gutils.h: Undef G_CAN_INLINE if G_IMPLEMENT_INLINES is 
500         defined. This was the pre-2.6 behaviour, and without it,
501         G_IMPLEMENT_INLINES cannot be used in multiple .c files
502         at all.  (#165852, Dave Benson)
503
504 2005-04-01  Matthias Clasen  <mclasen@redhat.com>
505
506         * glib/gmain.c (g_child_watch_source_new): Add a note regarding
507         waitpid(-1).
508         (g_child_watch_source_init_multi_threaded): 
509         (g_child_watch_source_init_single): Don't use SA_RESTART,
510         since it causes problems on at least one platform. (#168352)
511
512 2005-03-30  Steve Murphy  <murf@e-tools.com>
513
514         * configure.in: Added "rw" to ALL_LINGUAS.
515
516 2005-03-30  Sven Neumann  <sven@gimp.org>
517
518         * glib/gfileutils.c (get_contents_stdio): handle the unlikely case
519         that no bytes are read from the file and allocate an empty string.
520
521 2005-03-30  Tor Lillqvist  <tml@novell.com>
522
523         * glib/giowin32.c (g_io_win32_fd_get_flags_internal): Always claim
524         file descriptors open to devices are readable, since we can't
525         know. fstat() doesn't give any useful information. (#145326)
526
527 2005-03-29  Tor Lillqvist  <tml@novell.com>
528
529         * glib/gmain.c (g_poll): [Win32] If the event fired, assign
530         f->revents=f->events. We can't know whether the upper layer using
531         the event actually is readable, writeable or what, so say that all
532         the conditions hold. Remove the ResetEvent() call that has been
533         ifdeffed out anyway for a long time. Remove an "#ifdef 1" and
534         #endif pair of lines, that code is not optional.
535         (g_get_current_time): [Win32] Use GetSystemTimeAsFileTime()
536         instead of time() and GetTickCount(). Much simpler.
537
538 2005-03-28  Matthias Clasen  <mclasen@redhat.com>
539
540         * tests/date-test.c: 
541         * tests/testgdate.c: Add tests for 
542         g_date_get_iso8601_week_of_year().
543
544         * glib/gdate.c (g_date_get_iso8601_week_of_year): 
545         Fix the calculation.  (#169858, Jon-Kare Hellan)
546
547 2005-03-27  Tor Lillqvist  <tml@novell.com>
548
549         * configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
550         after all, and in fact necessary with HEAD libtool.
551
552 2005-03-23  Tor Lillqvist  <tml@novell.com>
553
554         * glib/gutils.c (g_getenv): [Win32] Fix corner case bug when
555         environment variable value is exactly one character.
556
557 2005-03-21  Matthias Clasen  <mclasen@redhat.com>
558
559         * glib/glib.symbols: Add g_try_malloc0
560
561         * glib/gmem.h: Add g_try_new, g_try_new0, g_try_renew and
562         g_try_malloc0.  (#169611, Stefan Kost)
563
564         * glib/gmem.c: Implement g_try_malloc0.
565
566 2005-03-20  Tor Lillqvist  <tml@novell.com>
567
568         * glib/gspawn-win32.c (do_spawn_with_pipes): Close the process
569         handle if the caller doesn't want it also in the case without a
570         helper process.
571         (g_spawn_sync): Don't ask for a child pid which we don't need.
572
573         * glib/gtimer.c: On Win32, use GetSystemTimeAsFileTime() instead
574         of GetTickCount(). (#159507)
575
576         * glib/gmessages.c (g_log_default_handler)
577         * glib/gutils.c (g_get_prgname): Move the Win32 code that asks the
578         program name from the system to g_get_prgname(). Do output the pid
579         also on Win32 (useful in case there are several instances of the
580         same program running).
581
582         * tests/testglib.c (main): Print more detailled output from the
583         timer tests. Don't print home directory twice. Test
584         g_win32_error_message().
585
586         * tests/spawn-test.c (run_tests): On Win32, run netstat instead of
587         ipconfig. On Windows XP collecting output from ipconfig doesn't
588         seem to work for some reason.
589
590 2005-03-18  Hans Breuer  <hans@breuer.org>
591
592         * glib/makefile.msc.in : handle galiasdef.c (although completely 
593         useless for msvc build)
594
595         * glib/gbacktrace.c glib/gmessage.c : need at least _WIN_VER 0x0401
596         for IsDebuggerPresent()
597
598 2005-03-17  Matthias Clasen  <mclasen@redhat.com>
599
600         * glib/gkeyfile.c: Update the documentation, reflecting the
601         fact that the special case for !group_name --> start_group
602         got removed.  (#170566, Tim-Philipp Müller)
603
604 2005-03-15  Matthias Clasen  <mclasen@redhat.com>
605
606         * glib/goption.c (g_option_context_set_main_group): Warn 
607         if there already is a main group.  (#170445, Jeff Franks)
608
609 Sun Mar 13 22:01:17 2005  Manish Singh  <yosh@gimp.org>
610
611         * tests/array-test.c: delete a bunch of dead code.
612
613 Sun Mar 13 21:28:47 2005  Manish Singh  <yosh@gimp.org>
614
615         * glib/gdataset.c: remove spurious IA prefix from g_quark_try_string.
616
617 2005-03-13  Matthias Clasen  <mclasen@redhat.com>
618
619         * glib/gatomic.c:
620         * glib/gcache.c: Small fixes to the previous commit.
621
622 2005-03-13  Matthias Clasen  <mclasen@redhat.com>
623
624         Make PLT-reduction work with gcc4, and don't include
625         everything in galias.h:
626         
627         * glib/glib.symbols: Group symbols by header and source file.
628         * glib/makegalias.pl: Protect definitions by the same 
629         preprocessor symbols used to guard the headers. Move
630         the alias declarations to a separate file which is 
631         produced when calling makegalias.pl -def
632         * glib/Makefile.am (galiasdef.c): Add a rule to generate this
633         file.
634         * glib/*.c: Include galias.h after the other GLib headers,
635         include galiasdef.c at the bottom.
636
637         * glib/glib.symbols: Add g_listenv and g_file_replace.
638
639 Fri Mar 11 23:51:12 2005  Soeren Sandmann  <sandmann@redhat.com>
640
641         * glib/gfileutils.c (write_to_temp_file): Don't try and generate
642         a dotfile from the name -- it doesn't work with absolute
643         paths. Also make documentation indicate that symlinks will be
644         overwritten. Both pointed out by Alexis S. L. Carvalho.
645
646 2005-03-11  Matthias Clasen  <mclasen@redhat.com>
647
648         * m4macros/glib-gettext.m4: Avoid stupid compiler complaints
649         about precision loss.
650
651 2005-03-10  Matthias Clasen  <mclasen@redhat.com>
652
653         * glib/gdate.c: Remove a lot of pointless g_return_if_fail()
654         checks.  (#169859, Morten Welinder)
655
656 2005-03-10  Sven Neumann  <sven@gimp.org>
657
658         * tests/file-test.c: include <gstdio.h>.
659
660 2005-03-10  Sven Neumann  <sven@gimp.org>
661
662         * glib/gfileutils.c (get_contents_stdio): delay memory allocation
663         until after the first read. Saves a bunch of reallocs. Also
664         increased the buffer size to 4096 bytes. (bug #165954)
665
666         * tests/file-test.c (test_get_contents): added a (very basic) test
667         for g_file_get_contents().
668
669 Wed Mar  9 19:06:45 2005  Manish Singh  <yosh@gimp.org>
670
671         * glib/glib.symbols: Add g_file_replace.
672
673 2005-03-09  Matthias Clasen  <mclasen@redhat.com>
674
675         * configure.in: Bump version
676
677 2005-03-09  Sven Neumann  <sven@gimp.org>
678
679         * glib/gfileutils.c (g_file_replace): avoid unnecessary filename
680         conversions.
681
682 2005-03-09  Tor Lillqvist  <tml@novell.com>
683
684         * glib/gutils.c (g_get_user_data_dir, g_get_user_config_dir,
685         g_get_user_cache_dir, g_get_system_data_dirs,
686         g_get_system_config_dirs): [Win32] Don't leak return value from
687         get_special_folder(). (#169348, Daniel Atallah) Guard against
688         g_home_dir being NULL, use g_tmp_dir/g_user_name in that case.
689
690 Tue Mar  8 15:46:54 2005  Søren Sandmann  <sandmann@redhat.com>
691
692         * glib/gfileutils.c (g_file_replace): New API. A function to
693         atomically create a file.
694
695 2005-03-08  Matthias Clasen  <mclasen@redhat.com>
696
697         * glib/glib.symbols: Add the new attributes here too.
698
699         * glib/gmacros.h: Define G_GNUC_NULL_TERMINATED.
700         (#164706, Marc Meissner)
701
702         * glib/gstrfuncs.h: 
703         * glib/gfileutils.h: Use G_GNUC_NULL_TERMINATED where
704         appropriate.
705
706         * glib/goption.c (parse_int): Fix an error message.  
707         (#168751, Hazael Maldonado Torres)
708
709 2005-03-07  Matthias Clasen  <mclasen@redhat.com>
710
711         * glib/gdebug.h: Small cleanup (use G_BEGIN/END_DECLS).
712         (#168474, Fabricio Barros Cabral)
713
714 2005-03-07  Matthias Clasen  <mclasen@redhat.com>
715
716         * glib/gutils.c (g_find_program_in_path): Mark the last
717         paragraph of the docs as Windows-specific.  (#169433)
718
719 2005-03-06  Matthias Clasen  <mclasen@redhat.com>
720
721         * glib/gmarkup.c: Add G_GNUC_PRINTF attribute
722         to set_error.
723         (g_markup_parse_context_end_parse): Fix an
724         error message, noticed by Tim Janik.
725
726 2005-02-24  Tor Lillqvist  <tml@novell.com>
727
728         * glib/Makefile.am (BUILT_EXTRA_DIST): Don't distribute
729         glib.def. (#167496, J. Ali Harlow)
730
731         * glib/gfileutils.c (get_contents_win32): Use g_fopen(). (#168341,
732         Daniel Atallah)
733
734 2005-02-23  Matthias Clasen  <mclasen@redhat.com>
735
736         * configure.in: Don't forget to set G_THREAD_LIBS_FOR_GTHREAD 
737         on non-linux platforms.  (#168177, Michael Banck)
738
739         * tests/keyfile-test.c (test_locale_string): Set LANGUAGE 
740         instead of LC_ALL to shield against LANGUAGE being set in 
741         the environment.  (#168311, Suren A. Chilingaryan)
742
743 Tue Feb 22 22:03:38 2005  Manish Singh  <yosh@gimp.org>
744
745         * glib/gstdio.h: On G_OS_UNIX, simple #define g_open and co. as
746         aliases for their respective C library functions, instead of
747         using the function wrappers. This avoids library users having to
748         care about matching large file support with whatever glib has been
749         built with. Fixes bug #167942.
750
751         * glib/gstdio.c
752         * glib/abicheck.sh
753         * glib/glib.symbols
754         * glib/makegalias.pl: Logic to make the gstdio wrappers still
755         available for compatibility, but not used in new code.
756
757 Tue Feb 22 18:33:07 2005  Manish Singh  <yosh@gimp.org>
758
759         * glib/gtimer.c (g_usleep): Simplify the loop for the fix below.
760
761 2005-02-20  Matthias Clasen  <mclasen@redhat.com>
762
763         * glib/gqueue.c (g_queue_new): Use a memchunk for
764         sizeof(GQueue)-sized chunks.  (#167984, Fabrício Barros Cabral)
765
766         * glib/gtimer.c (g_usleep): Fix usage of 
767         nanosleep().  (#163039, Bastien Nocera)
768
769 2005-02-16  Adi Attar  <aattar@cvs.gnome.org>
770
771         * configure.in: Added "xh" to ALL_LINGUAS.
772
773 2005-02-11  Tor Lillqvist  <tml@novell.com>
774
775         * glib/giowin32.c: Include winsock2.h before windows.h, to avoid
776         compilation errors with MSVC. (#167105)
777
778 2005-02-10  Matthias Clasen  <mclasen@redhat.com>
779
780         * glib/goption.c (print_help): Take main group options into
781         account when calculating column size.  (#166921)
782         (g_option_context_parse): Accept -? as documented.  (#166977)
783
784 2005-02-09  Matthias Clasen  <mclasen@redhat.com>
785         * glib/gkeyfile.c (find_file_in_data_dirs): Don't leak path
786         here.  (#166801, Kjartan Maraas)
787
788 2005-02-08  Matthias Clasen  <mclasen@redhat.com>
789
790         * glib/gkeyfile.c (g_key_file_parse_value_as_string): Don't
791         write out of bounds.
792
793         * glib/goption.c (g_option_context_parse): Fix a 
794         one-too-short memory allocation.  (#166609, Nicolas Laurent)
795
796         * tests/Makefile.am (TESTS_ENVIRONMENT): Add tests with
797         MALLOC_CHECK_.
798
799         * tests/option-test.c: Add a test for unkown short options.
800
801 2005-02-07  Matthias Clasen  <mclasen@redhat.com>
802
803         * glib/glib.symbols: 
804         * glib/gutils.h: 
805         * glib/gutils.c (g_listenv): New function to list all 
806         environment variables.  (#166327, Hans Petter Jansson)
807
808 2005-02-07  Tor Lillqvist  <tml@novell.com>
809
810         * glib-zip.in: Add gmodule-no-export-2.0.pc.
811
812 Sun Feb  6 21:59:09 2005  Manish Singh  <yosh@gimp.org>
813
814         * glib/abicheck.sh: feed the contents of config.h and glibconfig.h
815         into the preprocessor, since glib.symbols could need #defines
816         from them.
817
818 Sun Feb  6 12:09:55 2005  Manish Singh  <yosh@gimp.org>
819
820         * glib/gatomic.c: Don't use matching constraints for asm mem
821         parameters. This makes the code match with current glibc, and
822         quiets some warnings with gcc 3.4.
823
824 2005-02-05  Tor Lillqvist  <tml@novell.com>
825
826         * configure.in (G_LIBS_EXTRA)
827         * glib/giowin32.c: I think we can include <winsock2.h> and link
828         with -lws2_32. Only Windows 95 originally didn't have Winsock 2,
829         and it's available as an update for it. Not that we use any actual
830         Winsock 2 -only features, but still, simpler to link directly with
831         ws2_32.dll instead of going through wsock32.dll.
832
833         * glib/gfileutils.c (g_file_get_contents): In the Win32 ABI
834         stability version, call g_file_get_contents_utf8(), not
835         itself. (#166386, Bill Skaggs)
836
837 2005-02-04  Matthias Clasen  <mclasen@redhat.com>
838
839         * configure.in: Remove the --enable-ansi option  (#160469)
840
841         * configure.in: Define a HAVE_GNUC_VISIBILITY automake
842         conditional.
843
844         * glib/Makefile.am (TESTS): Only check the abi if
845         the compiler supports visibility, otherwise we
846         know there will be (harmless) extra symbols.  
847         (#166181, Ed Avis)
848
849 2005-02-02  Tor Lillqvist  <tml@novell.com>
850
851         * glib/gwin32.h: Remove unnecessary MSVC-only typedef for
852         pid_t. (#165910) GLib does not pretend to be a POSIX emulation
853         library.
854
855         * glib/gstdio.c: In the Win32 part of all functions, handle
856         invalid UTF-8 more robustly. Don't pass the resulting NULL
857         wide-char or codepage strings on to C library functions, but bail
858         out early. (#166084)
859
860         * glib/gfileutils.c: Don't use potentially incorrect errno in
861         several places. (#165951)
862         (g_mkstemp): Set errno appropriately.
863
864 2005-02-02  Matthias Clasen  <mclasen@redhat.com>
865
866         * glib/gutils.c: Move doc comments inline.
867
868         * glib/ghash.h: Adjust some argument names.
869
870         * configure.in: Give meaningful names to g_memmove() 
871         arguments.
872
873 2005-02-01  Matthias Clasen  <mclasen@redhat.com>
874
875         * tests/keyfile-test.c (test_key_remove): Add test case for
876         key removal.
877
878         * glib/gkeyfile.c (g_key_file_remove_key): Actually remove 
879         the key from the list of pairs.  (#165980, David Hoover)
880
881         * glib/gkeyfile.c: Doc clarifications.  (#165907, Vincent Untz)
882
883         * tests/keyfile-test.c (test_group_remove): Add test case for
884         group removal.
885
886         * glib/gkeyfile.c (g_key_file_remove_group): Don't segfault
887         if the group doesn't exist.  (#165887, Mathias Hasselmann)
888
889 2005-01-30  Matthias Clasen  <mclasen@redhat.com>
890
891         * tests/keyfile-test.c: Some more unit tests.
892
893 2005-01-28  Christian Rose  <menthos@menthos.com>
894
895         * configure.in: Added "tl" to ALL_LINGUAS.
896
897 2005-01-24  Matthias Clasen  <mclasen@redhat.com>
898
899         * tests/run-markup-tests.sh: Let $srcdir default to .
900
901         * tests/markups/fail-40.gmarkup: Add a test with a long entity
902         name.
903
904         * glib/gmarkup.c (unescape_text_state_inside_entity_name): Don't
905         copy the entity name into a short buffer of fixed length. Instead,
906         compare it in place with strncmp(), and do a full strdup() in the
907         error path.  (#165100, Simon Budig)
908
909 2005-01-22  Tor Lillqvist  <tml@novell.com>
910
911         * glib/gdate.c (g_date_set_time): Don't g_assert that localtime()
912         returns non-NULL. It does return NULL at least on Win32 if you
913         pass it a negative time_t, which although wrong, shouldn't cause
914         an application to abort. Instead return 2000-01-01 as a default
915         date. Print a warning unless G_DISABLE_CHECKS. (#164622)
916
917 2005-01-20  Matthias Clasen  <mclasen@redhat.com>
918
919         * glib/gkeyfile.c (g_key_file_parse_value_as_integer): Don't
920         interpret leading zeros as octal. The specification requires
921         %f parsing, and %f doesn't allow octal.  
922
923         * tests/keyfile-test.c: Add some more tests.
924
925         * glib/gkeyfile.c (g_key_file_get_keys): Return keys in
926         the order found in the file, rather than the opposite.
927         (g_key_file_parse_value_as_string): Fix error reporting.
928
929 2005-01-19  Matthias Clasen  <mclasen@redhat.com>
930
931         * glib/gkeyfile.c (g_key_file_parse_data): Accept \r\n as 
932         line end.  (#163030, Bastian Nocera)
933         (g_key_file_load_from_data): Make -1 work as a size.
934         
935         * tests/keyfile-test.c: Some unit tests for the keyfile
936         parser.  
937
938         * tests/Makefile.am (test_programs): Add keyfile-test.
939
940 2005-01-19  Tor Lillqvist  <tml@novell.com>
941
942         * glib/gbacktrace.c (g_on_error_stack_trace): On Win32 call
943         G_BREAKPOINT() if being debugged.
944
945         * glib/gmessages.c (g_logv): For fatal messages on Win32, use
946         G_BREAKPOINT() also without G_ENABLE_DEBUG, but only if being
947         debugged. Suggestion by Ulf Lamping.
948
949 2005-01-18  Matthias Clasen  <mclasen@redhat.com>
950
951         * glib/gqsort.c: Don't include alloca.h. It is not needed,
952         and does not exist on win32.  (#164468, Kazuki IWAMOTO)
953
954         * glib/gkeyfile.c (g_key_file_get_boolean_list): Fix a
955         sparse warning.  (#164467, Kjartan Maraas)
956
957 2005-01-17  Matthias Clasen  <mclasen@redhat.com>
958
959         * glib/gconvert.c (g_get_filename_charsets): Don't crash
960         if G_FILENAME_ENCODING is empty.  (#164330, Pawel Sakowski)
961
962 2005-01-15  Tor Lillqvist  <tlillqvist@novell.com>
963
964         * configure.in: sh portability fix. Use "test" and not [.
965         (#163144, Robert Ögren)
966
967 2005-01-13  Matthias Clasen  <mclasen@redhat.com>
968
969         * glib/gqsort.c: Sync to glibc.  (#133994, Morten Welinder, 
970         patch by Kjartan Maraas)
971
972 2005-01-11  Owen Taylor <otaylor@redhat.com>
973
974         * configure.in: Add gmodule-export-2.0.pc to AC_CONFIG_FILES.
975
976         * glib/Makefile.am gobject/Makefile.am gthread/Makefile.am:
977         Use grep | head -n 1 instead of grep -m 1 which doesn't work
978         with slightly older versions of GNU grep in 
979         install-libtool-import-lib rule.
980
981 2005-01-11  Matthias Clasen  <mclasen@redhat.com>
982
983         * glib/gdir.c (g_dir_open): Typo fix.
984
985 2005-01-10  Owen Taylor  <otaylor@redhat.com>
986
987         * Makefile.am (EXTRA_DIST): Add missing ChangeLog.pre*
988
989 2005-01-09  Hans Breuer  <hans@breuer.org>
990
991         * glib/gfileutils.c : make it compile with mvc6 default sdk,
992         (#define INVALID_FILE_ATTRIBUTES, FILE_ATTRIBUTE_DEVICE)
993
994 2005-01-09  Tor Lillqvist  <tlillqvist@novell.com>
995
996         * glib/gwin32.c: Include also wchar.h for wcslen on
997         Cygwin.
998         (g_win32_error_message): Fix cast. (#163133, Roger Leigh)
999
1000         * glib/gfileutils.c: Include <io.h> on Windows for
1001         prototypes. (#163390, Kazuki Iwamoto)
1002
1003 2005-01-07  Matthias Clasen  <mclasen@redhat.com>
1004
1005         * NEWS: Typo fixes.
1006
1007         * configure.in: Bump version
1008
1009         * === Released 2.6.1 ===
1010
1011 2005-01-07  Matthias Clasen  <mclasen@redhat.com>
1012
1013         * configure.in: 
1014         * Makefile.am: Generate and distribute gmodule-export-2.0.pc,
1015         which is currently just a copy of gmodule-2.0.pc, but makes
1016         it explicit that it adds --export-dynamic.
1017         
1018         * gmodule-export-2.0.pc.in: Copy of gmodule-2.0.pc.in.
1019
1020 2005-01-06  Tor Lillqvist  <tml@iki.fi>
1021
1022         * glib/Makefile.am
1023         * gobject/Makefile.am: glib.def and gobject.def are generated, not
1024         in $(srcdir). (#163143, J. Ali Harlow)
1025
1026         * configure.in
1027         * glib/Makefile.am
1028         * gobject/Makefile.am: Win32 cross-compilation fixes. (#163144,
1029         J. Ali Harlow)
1030
1031 2005-01-05  Matthias Clasen  <mclasen@redhat.com>
1032
1033         * glib/gutils.h: Simplify the inlining magic to make it
1034         work at Oh zero.  (#162990, Kalpesh Shah) 
1035
1036 2005-01-04  Tor Lillqvist  <tml@iki.fi>
1037
1038         * glib/guniprop.c (get_locale_type): Use g_win32_getlocale()
1039         instead of setlocale() on Windows. setlocale() returns strings
1040         like "Turkish_Turkey".
1041
1042 2005-01-04  Matthias Clasen  <mclasen@redhat.com>
1043
1044         Fix the inlining magic.  (#157536, Jens Hatlak, and
1045         #149907, Morten Welinder)
1046         
1047         * configure.in: Define G_CAN_INLINE in glibconfig.h
1048
1049         * glib/gutils.h: Streamline the inlining magic a bit,
1050         don't use extern when implementing the non-inlined 
1051         version.
1052
1053 2005-01-03  Matthias Clasen  <mclasen@redhat.com>
1054
1055         * glib/gutils.c (g_find_program_in_path): Don't return
1056         directories.  (#160738, Tommi Komulainen)
1057
1058         * glib/gfileutils.c (g_file_get_contents): Clarify the 
1059         documentation.  (#162251, Mariano Suárez-Alvarez)
1060
1061 2005-01-02  Matthias Clasen  <mclasen@redhat.com>
1062
1063         * glib/gutils.c (g_setenv, g_unsetenv): Clarify the 
1064         docs.  (#162747, Crispin Flowerday)
1065
1066 2005-01-01  J. Ali Harlow  <ali@juiblex.co.uk>
1067
1068         * configure.in: Don't use AC_TRY_RUN to test for long long format
1069         when using the MSVCRT.DLL runtime since we know the answer anyway
1070         and it causes some mild inconvience when cross compiling.
1071
1072         * README.win32: Add a reference to the cross compiling section
1073         of the reference manual.
1074
1075         * docs/reference/glib/cross.sgml: MinGW uses MSVCRT.DLL which
1076         requires %I64i instead of %lli. (#161306)
1077
1078 2005-01-01  Tor Lillqvist  <tml@iki.fi>
1079
1080         * glib/gutils.c: Make the g_getenv() ABI backward compatibility
1081         wrapper more robust.
1082
1083 2005-01-01  Tor Lillqvist  <tml@iki.fi>
1084
1085         * glib/glib.symbols
1086         * glib/gutils.h
1087         * glib/gutils.c: Make also g_getenv(), g_setenv(), g_unsetenv()
1088         and g_find_program_in_path() take and return UTF-8 strings on
1089         Win32. Implement DLL ABI backward compatility for them, too. Move
1090         all the DLL ABI stability wrappers to the end of the file. Use
1091         wide character API when available in inner_find_program_in_path().
1092
1093         * glib/gfileutils.c: With the UTF-8ness of g_getenv() above, just
1094         use g_getenv() to get PATHEXT. (Yeah, it's probably overdoing it
1095         to consider somebody actually having anything else than ASCII
1096         in PATHEXT, but...)
1097
1098 2004-12-31  Tor Lillqvist  <tml@iki.fi>
1099
1100         * glib/gfileutils.c (g_file_test): Rewrite the Win32 version to
1101         use GetFileAttributes() instead of stat(). stat() is unreliable
1102         for corner cases like '\\server\share' or '.\'. Part of fixing
1103         #161797. When testing for executability, in addition to the fixed
1104         set of executable file name extensions also check the PATHEXT
1105         environment variable.
1106
1107 2004-12-30  Tor Lillqvist  <tml@iki.fi>
1108
1109         * glib/gutils.c (g_get_current_dir): In the Win32 version, use
1110         GetCurrentDirectory() directly for simpler buffer length
1111         management. I don't trust getcwd() getting it right all the time.
1112
1113 2004-12-30  Matthias Clasen  <mclasen@redhat.com>
1114
1115         * glib/gfileutils.c (g_file_test): Typo fix.
1116
1117 2004-12-30  Tor Lillqvist  <tml@iki.fi>
1118
1119         * glib/gutils.c (g_path_skip_root): Require UNC paths to start
1120         with exactly two slashes.
1121         (g_get_current_dir): Use wide character API when available.
1122         (g_path_get_dirname): Handle UNC paths better. Part of fix for
1123         #161797.
1124
1125 2004-12-27  Matthias Clasen  <mclasen@redhat.com>
1126
1127         * configure.in: Add an OS_LINUX conditional.
1128
1129         * glib/Makefile.am (TESTS): Only check the ABI on 
1130         linux, since the shell script is not portable, and libtool
1131         deficiencies may distort the ABI on other platforms.  (#161741)
1132
1133 2004-12-21  Matthias Clasen  <mclasen@redhat.com>
1134
1135         * glib/goption.c (print_entry): Don't show
1136         the special G_OPTION_REMAINING entry.  (#161934,
1137         Matthew F. Barnes)
1138
1139 2004-12-20  Tor Lillqvist  <tml@iki.fi>
1140
1141         * glib/gconvert.c (g_locale_to_utf8, g_filename_to_uri): Improve
1142         docs.
1143
1144 2004-12-20  Matthias Clasen  <mclasen@redhat.com>
1145
1146         * tests/option-test.c: Add some tests for '--' 
1147         stripping.
1148
1149         * glib/goption.c (g_option_context_parse): Don't
1150         strip '--' if it would be needed by a second option
1151         parser.  (#161701)
1152
1153         * glib/gunicollate.c (g_utf8_collate): Make docs 
1154         more accurate.  (#161683, Marcin Krzyzanowski)
1155
1156 2004-12-19  Matthias Clasen  <mclasen@redhat.com>
1157
1158         * glib/goption.c (g_option_context_parse): Call
1159         post-parse hooks also if argv is NULL.  (#161668,
1160         Marcin Krzyzanowski)
1161