ChangeLog 141 KB
Newer Older
1
2
3
The ChangeLog is now auto-generated when releasing.  If you
are seeing this, use 'git log' for a detailed list of changes.

4
5
0.9:

6
7
8
9
2007-02-18  Daniel Elstner  <daniel.kitta@gmail.com>

	* NEWS: Final update for the release.  Yay!

10
11
12
13
14
15
16
17
18
19
20
21
2007-02-18  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/controller.h: Minor code reformatting: Change instances
	of <foo,bar> in template argument lists to <foo, bar>.
	* src/filebuffer.{cc,h}: ditto,
	* src/fileshared.{cc,h}: ditto,
	* src/filetree.h: ditto,
	* src/filetreeprivate.{cc,h}: ditto,
	* src/pcreshell.{cc,h}: ditto.
	* src/mainwindow.cc (program_license): Add terminating newline
	to last paragraph.

22
23
24
25
26
27
28
29
30
31
32
33
2007-02-18  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/stringutils.{cc,h} (Util::wstring_to_utf8): New function to
	convert an std::wstring to UTF-8.  This is a temporary measure
	to deal with the same locale issues as discussed in the comments
	to bug #399216.
	(Util::int_to_string): Use a wide character stream and convert
	the result to UTF-8 with Util::wstring_to_utf8().
	* src/statusline.cc (CounterBox::stringstream_): Change to
	std::wostringstream, as above.
	(CounterBox::number_to_string): Use Util::wstring_to_utf8().

34
35
36
37
38
39
40
41
42
2007-02-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* configure.ac (ACLOCAL_FLAGS): Declare variable as precious
	using AC_ARG_VAR(), which also makes it a substituted variable.
	This should prevent inconsistent behavior if the variable changes
	in the environment after configure has run.
	(ACLOCAL_AMFLAGS): Remove substitution.
	* Makefile.am (ACLOCAL_AMFLAGS): Define variable.

43
44
45
46
47
2007-01-20  Daniel Elstner  <daniel.kitta@gmail.com>

	* INSTALL: Remove generic installation instructions from the
	repository, as this file is supplied by automake.

48
49
50
51
52
53
54
55
56
57
2007-01-17  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/stringutils.{cc,h} (Util::filename_short_display_name):
	Rename from Util::shorten_pathname().  Return the display name
	of the shortened filename encoded in UTF-8.
	(Util::expand_pathname): Remove as this function is no longer
	being used anywhere.
	* src/mainwindow.cc (MainWindow::set_title_filename): Use
	Util::filename_short_display_name().

58
59
60
61
62
63
64
65
2007-01-17  Daniel Elstner  <daniel.kitta@gmail.com>

	* Makefile.am (rxlocaledir): New variable that defines the locale
	directory the same way intltool does.
	(global_defs): Use $(rxlocaledir) instead of $(localedir).  In
	addition to being different from intltool's definition, standard
	$(localedir) also requires at least Autoconf 2.59c.

66
67
68
69
70
71
72
73
74
2007-01-16  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/statusline.cc (CounterBox::CounterBox): Change the shadow
	type to Gtk::SHADOW_ETCHED_IN.  Still looks somewhat ugly though;
	I need to think of something better.  Also enable the single line
	mode property of the numeric labels, in order to avoid resizing if
	the digits in the font have different height.
	(StatusLine::StatusLine): Increase HBox spacing to 3 pixels.

75
76
77
78
79
80
81
2007-01-16  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/filetree.cc (regexxer_create_file_tree): Prefix function
	signature with G_MODULE_EXPORT, as this will probably be required
	on Windows to enable dynamic loading.
	* src/statusline.cc (regexxer_create_status_line): Ditto.

82
83
84
85
86
87
88
89
90
91
92
93
94
2007-01-16  Daniel Elstner  <daniel.kitta@gmail.com>

	* m4/dk-warn.m4 (DK_ARG_ENABLE_WARNINGS): Accept a fourth argument
	which can be used to generate -DMODULE_DISABLE_DEPRECATED defines
	by specifying a list of module prefixes.  These flags are produced
	only in --enable-warnings=fatal mode, in order to avoid breaking
	the default build if new deprecations appear in some module.

	* configure.ac (REGEXXER_WARNING_FLAGS): List the module prefixes
	GLIBMM and GTKMM in the fourth argument to DK_ARG_ENABLE_WARNINGS.
	* Makefile.am (global_defs): Remove -D*_DISABLE_DEPRECATED flags,
	since they are now included in $(REGEXXER_WARNING_FLAGS).

95
96
97
98
99
100
101
2007-01-16  Daniel Elstner  <daniel.kitta@gmail.com>

	* Makefile.am (ui/stockimages.h): Accept backslash '\' as directory
	separator in filenames, in addition to the forward slash '/'.  You
	can never know.

2007-01-15  Daniel Elstner  <daniel.kitta@gmail.com>
Daniel Elstner's avatar
Daniel Elstner committed
102
103
104

	* MAINTAINERS: Add my real name.

105
106
107
108
109
110
111
112
113
114
115
116
117
2007-01-14  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/translation.{cc,h} (Util::compose_argv): New function with
	the functionality of compose_impl() but using a format string of
	type const char*.  This implementation operates on bytes instead of
	Unicode code points, and copies the chunks between placeholders in
	one go instead of each character separately.
	(Util::compose): Call compose_argv() instead of compose_impl()
	and change the type of the format argument to const char* because
	the format string really should be a string literal.  Also, inline
	all of these overloads since they just forward their arguments to
	compose_argv() anyway, so that inlining actually reduces code size.

118
119
120
121
122
123
124
2007-01-14  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/fileshared.h: Replace occurrences of "lhs" and "rhs" with
	"a" and "b", respectively.
	(BoundState): Remove BOUND_MASK value from enumeration as it is
	nowhere being used.

125
126
127
128
129
130
131
132
133
134
135
136
2007-01-14  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/filetree.{cc,h}: Clean up the code a bit.  In particular,
	change occurrences of Gtk::TreePath to Gtk::TreeModel::Path.
	* src/filetreeprivate.{cc,h}: Likewise.

	* src/sharedptr.h (Util::SharedPtr::SharedPtr): Inline.
	(Util::SharedPtr::~SharedPtr): Remove assertion and inline.
	* src/sharedptr.cc: Remove now empty file.

	* Makefile.am (src_regexxer_SOURCES): Remove src/sharedptr.cc.

137
138
139
140
141
142
143
144
2007-01-14  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/filetree.cc (regexxer_create_file_tree): Move function to
	the global namespace.  Putting it inside an anonymous namespace
	just obfuscated the code, as this function is exported for the
	world to see.
	* src/statusline.cc (regexxer_create_status_line): Likewise.

145
146
147
148
2007-01-13  Daniel Elstner  <daniel.kitta@gmail.com>

	* MAINTAINERS: Add file for the benefit of sysadmin tools.

149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
2007-01-13  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/globalstrings.h (conf_dir_application): New string constant
	defining the directory of regexxer in the GConf database.  This
	string literal replaces the REGEXXER_GCONF_DIRECTORY macro which
	used to be defined in the Makefile.  This global macro definition
	was inherently pointless as it was not configurable anyway.
	* src/main.cc (initialize_configuration): Use conf_dir_application
	instead of REGEXXER_GCONF_DIRECTORY.
	* src/prefdialog.cc (PrefDialog::initialize_configuration): ditto.

	* configure.ac (REGEXXER_GCONF_DIRECTORY): Remove substitution.
	(PKG_CHECK_MODULES): Add gmodule-export-2.0 to the module list to
	get the -Wl,--export-dynamic flag automatically.
	(DK_LINK_EXPORT_DYNAMIC): Remove macro invocation as it no longer
	necessary.  Also, add comments elaborating about the whole linker
	stuff.
	* Makefile.am (global_defs): Remove -DREGEXXER_GCONF_DIRECTORY.
	(src_regexxer_LDFLAGS): Get rid of $(REGEXXER_EXPORT_DYNAMIC).

	* m4/dk-export.m4 (DK_LINK_EXPORT_DYNAMIC): Remove macro.

171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
2007-01-13  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/filetree.cc (FileTree::find_recursively): Replace uses of
	Glib::filename_display_name() by Glib::filename_display_basename()
	to enable translation of well-known locations in future.  Store
	the full path in the directory stack.
	(FileTree::find_fill_dirstack): Convert the full path from the
	stack to a displayable name with Glib::filename_display_basename().
	(FileTree::save_file_at_iter): Determine the basename for
	use in the error message with Glib::filename_display_basename().

	* src/mainwindow.cc (MainWindow::set_title_filename): Call
	Glib::filename_display_basename() to get the filename to be
	displayed in the window title.

	* src/filetreeprivate.{cc,h}: Some early spring cleaning.

188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
2007-01-12  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/fileio.cc: Prefix function and data definitions within
	anonymous namespaces with the "static" keyword.  Although this
	usage of "static" is deprecated in C++, GCC still exports symbols
	defined in anonymous namespaces.  For more information, see:
	http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18267
	* src/fileshared.cc: ditto,
	* src/main.cc: ditto,
	* src/mainwindow.cc: ditto,
	* src/pcreshell.cc: ditto,
	* src/prefdialog.cc: ditto,
	* src/stringutils.cc: ditto,
	* src/translation.cc: ditto.

203
204
205
206
2007-01-11  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/mainwindow.cc (MainWindow::initialize): Really minor tweaks.

207
208
209
210
211
212
213
214
215
216
217
218
219
2007-01-11  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/main.cc (RegexxerOptions): Make init_state_ a value member
	of the class instead creating it dynamically.  This simplification
	is now possible since the RegexxerOptions object will be allocated
	dynamically anyway.
	(RegexxerOptions::init_state): Rename from take_init_state(), and
	make it return a const reference.
	(main): Use new init_state() method when initializing the window.

	* src/mainwindow.{cc,h} (MainWindow::initialize): Change init
	parameter type to a const reference.

220
221
222
223
224
225
226
227
2007-01-11  Daniel Elstner  <daniel.kitta@gmail.com>

	* Makefile.am (global_defs): Define REGEXXER_LOCALEDIR to the
	"$(locale)" directory path.  Remove define for REGEXXER_DATADIR
	since it was used only as part of the locale directory.
	* src/main.cc (main): Use REGEXXER_LOCALEDIR.
	(locale_directory): Remove string literal.

228
229
230
231
232
2007-01-11  Daniel Elstner  <daniel.kitta@gmail.com>

	* ui/prefdialog.glade (label_toolbar_style): Assign mnemonic widget
	combo_toolbar_style as GTK+ messes up the automatic assignment.

233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
2007-01-11  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/filebuffer.cc (FileBuffer::create_with_error_message): Use
	UTF-8 encoded typographically correct apostrophe in the title
	string.
	* src/filetree.cc (FileTree::find_recursively): Replace call to
	Util::filename_to_utf8_fallback() by Glib::filename_display_name().
	(FileTree::find_fill_dirstack): Likewise.
	(FileTree::save_file_at_iter): Use UTF-8 encoded typographically
	correct quote characters in the error message string.
	(FileTree::load_file_with_fallback): Likewise.

	* src/pcreshell.cc (throw_regex_error): New function to throw a
	Pcre::Error exception with a properly formatted error message.
	(Pcre::Pattern::Pattern): Use throw_regex_error().

	* src/prefdialog.cc (PrefDialog::on_entry_fallback_activate):
	Use proper Unicode quotes in error message string.

	* src/mainwindow.cc (MainWindow::initialize): Run the search
	automatically only if also a filename pattern has been specified
	on the command line.
	(MainWindow::confirm_quit_request): Use proper Unicode apostrophe
	in the error message.
	(MainWindow::on_find_files): Likewise.  Also remove the code to
	format an error message for regex exceptions, as Pcre::Error now
	already carries a user-friendly message.
	(MainWindow::set_title_filename): Replace calls to
	Util::filename_to_utf8_fallback() by Glib::filename_display_name().

	* src/stringutils.{cc,h} (Util::shell_pattern_to_regex): Minor
	optimization twiddling.
	(Util::substitute_references): Likewise.
	(Util::filename_to_utf8_fallback): Remove function, as we can
	now simply use Glib::filename_display_name() instead.
	(Util::convert_to_ascii): Remove; no longer used anywhere.
	(Util::shorten_pathname): Use G_IS_DIR_SEPARATOR() instead of
	comparing against G_DIR_SEPARATOR directly.  Necessary because
	on win32 both '/' and '\' are accepted as directory separators.

	* ui/regexxer.schemas.in: Reformat and use proper Unicode quotes
	and apostrophes.
	* ui/prefdialog.glade: Likewise.  Also remove some property
	specifications which assigned default values anyway.
	* ui/mainwindow.glade: As above, strip pointless property settings.

279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
2007-01-11  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/fileio.cc (save_iochannel): Add comment about assertions and
	reorganize the code a bit.
	(Regexxer::save_file): Elaborate on why IOChannel::close() is
	used explicitely.

	* src/filetreeprivate.cc (FileTreePrivate::collatekey_sort_func):
	Fix oversight:  Subtracting two unsigned values and converting the
	result to a signed type relies on implementation-defined behavior.
	Explicitely cast the operands to a signed type before substraction.

	* src/main.cc (main): Use g_get_prgname() instead of the string
	literal PACKAGE_TARNAME in the error message for Glib::OptionError
	exceptions.

295
296
297
298
299
300
301
302
303
304
2007-01-10  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/filebuffer.cc (FileBuffer::create_with_error_message): Get
	rid of the inappropriate plea to translators to replace space with
	no-break space in the message title.  Apart from the fact that it
	was a bad idea in the first place to make translators put up with
	this internal issue, the no-break spaces have no point being there
	at all.  A single untranslated no-break space between the error
	icon and the title text is all that is warranted.

305
306
307
308
309
2007-01-09  Daniel Elstner  <daniel.kitta@gmail.com>

	* autogen.sh: Simplify redirection of aclocal and automake output
	when testing for versioned executables.

310
311
312
313
314
315
316
2007-01-09  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/mainwindow.cc (program_license): New string literal with the
	same license information as at the top of the file.
	(MainWindow::on_about): Show the license information in the about
	dialog.

317
318
319
320
321
322
323
2007-01-09  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/mainwindow.cc: Remove leftover includes <gtk/gtktooltips.h>
	and <gtkmm/comboboxentry.h>, which had only been required for the
	tooltip hack removed earlier.  Also, collapse multiple empty lines
	into one.

324
325
326
327
328
329
330
2007-01-08  Daniel Elstner  <daniel.kitta@gmail.com>

	* configure.ac (ACLOCAL_AMFLAGS): Substitute $ACLOCAL_FLAGS from
	the environment at configure time instead of when make runs.
	Formerly, the flags could change without reconfiguring, which is
	probably a bad idea and contrary to Makefile conventions.

331
332
333
334
335
336
337
338
2007-01-08  Daniel Elstner  <daniel.kitta@gmail.com>

	* configure.ac (AC_INIT): Replace my email address for bug reports
	with the URI <http://regexxer.sourceforge.net/bugs>.  This address
	is redirected to <http://sourceforge.net/tracker/?group_id=64876>,
	so that the bug tracker now has a canonical URI that hides the
	numeric group ID.

339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
2007-01-07  Daniel Elstner  <daniel.kitta@gmail.com>

	* ui/mainwindow.glade: Again remove the tearoff menus and the
	menubar and toolbar handle boxes.  This was just superfluous UI
	clutter not actually used by anyone.
	(button_folder): Get rid of the custom button that used to fire
	up the file chooser dialog, plus the accompanying text entry for
	display and editing of the folder name.  Replace this old cruft
	with a fresh and crisp GtkFileChooserButton plus a label.  Yay!
	(combo_pattern_entry): Reactivate commented-out markup that sets
	a tooltip on the internal GtkEntry child of combo_pattern.  As
	this finally supported by libglade it is no longer necessary to
	hack around the limitation in code.

	* src/mainwindow.{cc,h} (MainWindow): Adapt the implementation
	to work with the changed UI layout.  Change the folder selection
	handling as necessary.
	(MainWindow::load_xml): Remove the tooltip hack for the pattern
	entry, since libglade now allows for this in the glade file.
	(MainWindow::get_folder_fullname): Remove now unused method.
	(MainWindow::on_select_folder): Likewise.

361
362
363
364
365
2007-01-07  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/main.cc: #include <memory> for std::auto_ptr<> rather than
	relying on indirect inclusion by some other header file.

366
367
368
369
370
2007-01-07  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/main.cc: Remove <cstdlib> and <cstdio> includes left over
	from the old libpopt code.

371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/pcreshell.h ({Compile,Match}Options): Eeek, as it turns out
	the flag ANCHORED (and probably others too) are valid flags at both
	compile time and match time.  Move ANCHORED from CompileOptions to
	MatchOptions as I need it there for the following /g matching fix.
	These enumerations should of course be properly namespaced instead;
	this is just a quick hack for now.
	* src/pcreshell.cc: Rename a couple of variables to improve code
	clarity.

	* src/filebuffer.cc (FileBuffer::find_matches): Set the ANCHORED
	flag in addition to the NOT_EMPTY flag if the previous match was
	empty in /g mode.  This matches the algorithm outlined in recent
	versions of the PCRE documentation to mimic the behavior of Perl.

387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/main.cc (RegexxerOptions): New class that implements the
	command-line option interface using the option parsing facilities
	of glibmm instead of libpopt.
	(parse_command_line): Remove old function that used libpopt to
	parse command line options.
	(main): Use the new option parsing code.  Also, merge the gettext
	initialization into a single call again.  The special trickery that
	used to bind the codeset separately after option processing is no
	longer necessary with the new parser.

	* src/mainwindow.{cc,h} (Regexxer::InitState): Reorganize the data
	structure so that default-constructed objects equal the default
	values of the command-line options.  This is a work-around for
	glibmm bug #393571.
	(MainWindow::initialize): Adapt to Regexxer::InitState changes.

	* src/translation.{cc,h} (Util::enable_utf8_gettext): Merge back
	into Util::initialize_gettext(), as the separation is no longer
	necessary.
	(compose_impl): Optimize a bit by reserving the memory for the
	result string in advance.  Also, replace a couple of `...' quotes
	with "..." in a warning message.

	* Makefile.am (src_regexxer_LDADD): Remove $(POPTLIBS).
	* configure.ac (DK_LIB_POPT): Remove check for libpopt.
	* m4/dk-popt.m4: Remove now obsolete file.

416
417
418
419
420
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* configure.ac (AC_CONFIG_SRCDIR): Name a file that will be
	truly unique to regexxer.

421
422
423
424
425
426
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* m4/dk-{export,feature,pkgprog,popt,warn}.m4: Prefix M4 macro
	filenames with "dk-", to avoid clashes with other applications
	installing their M4 files here.

Daniel Elstner's avatar
Update.    
Daniel Elstner committed
427
428
429
430
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* NEWS: Update.

431
432
433
434
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/exported-symbols: Add comment about the purpose of this file.

435
436
437
438
439
440
441
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/filebuffer.cc (FileBuffer::on_erase): Copy tagtable->match
	into a local variable and use it.  This fixes a compilation error
	with the Intel C++ compiler caused by the creation of a temporary
	inside the statement expression of g_return_if_fail().

442
443
444
445
446
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/globalstrings.h (glade_aboutdialog_filename): Remove
	leftover string constant.

447
448
449
450
451
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* COPYING: Update to latest version shipped with Automake.
	* INSTALL: Likewise.

452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/mainwindow.{cc,h} (MainWindow::on_about): Replace custom
	about dialog with stock GTK+ one.
	(on_about_dialog_response): Rename from on_about_dialog_hide().
	Add unused function parameter for the response ID.
	* src/aboutdialog.{cc,h}: Remove now superfluous files.
	* ui/aboutdialog.glade: Likewise.

	* Makefile.am (src_regexxer_SOURCES): Remove src/aboutdialog.{cc,h}
	from the list of source files.
	(dist_pkgdata_DATA): Remove ui/aboutdialog.glade from list.
	* configure.ac (REGEXXER_MODULES): Require gtkmm 2.6, in which the
	stock about dialog first appeared.

Daniel Elstner's avatar
Daniel Elstner committed
467
468
469
470
471
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* NEWS: Update.
	* README: Minor reformatting.

472
473
474
475
476
477
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/miscutils.cc: Remove file, as it was essentially empty
	except for including miscutils.h.
	* Makefile.am (src_regexxer_SOURCES): Remove src/miscutils.cc.

478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/*.{cc,h}: Update copyright notice:  The postal address of
	the Free Software Foundation changed, and my email address too.
	Also, remove the statement I had inserted which explicitely
	disallowed using a later version of the license.  I think I do
	not have to ask for permission from contributors, since the
	copyright notice only mentions me as the copyright holder, so
	technically everyone automatically transferred her copyright
	to me.  Anyway, the change is utterly minor and the notice now
	matches what everyone else is using.
	Also use the opportunity to get rid of the version control
	substitutions and the trailing empty line in every file.
	* ui/aboutdialog.glade: Update my email address.

493
494
495
496
497
498
499
500
501
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* Makefile.am (src_regexxer_LDADD): Replace $(LIBINTL) substitution
	with $(INTLLIBS).  Apparently AM_GLIB_GNU_GETTEXT(), unlike plain
	AM_GNU_GETTEXT(), assigns INTLLIBS instead of LIBINTL for whatever
	reason.  This difference is nowhere documented.  Funny noone has
	noticed this yet, since as far as I can tell it is empty only with
	GNU libc.

502
503
504
505
506
507
508
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* autogen.sh: Reduce the list of cruft to delete; it was a bit over
	the top and too long to maintain anyway.  Also, remove colons from
	substitutions again, as the script no longer assigns the empty
	string anywhere to the variables in question.

509
510
511
512
513
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>

	* autogen.sh: Comment "set -ex" and remove pointless ":;".

2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>
514
515
516
517
518
519

	* autogen.sh: Further simplify the script by making use of set -e
	and colons in substitutions, like ${foo:-bar}.  Although some truly
	ancient shells do not provide these features, this does not matter
	much for scripts intended for maintainer use.

520
2007-01-06  Daniel Elstner  <daniel.kitta@gmail.com>
521
522
523
524

	* autogen.sh: Reduce number of rm -f invocations by means of line
	continuation.

525
526
527
528
529
530
531
532
533
534
535
2007-01-05  Daniel Elstner  <daniel.kitta@gmail.com>

	* regexxer.{desktop,schemas}.in: Move to ui/ directory to reduce
	clutter in the toplevel directory.
	* Makefile.am ({desktop,schemas}_in_files): Update accordingly.
	({desktop,schemas}_DATA): Likewise.
	(ui/stockimages.h): Do not rely on $(mkdir_p) because it is already
	obsolete but AC_PROG_MKDIR_P() is too recent to require.  Just use
	plain mkdir and test for the existence of the directory on failure.
	Also, add a comment explaining the implicit directory creation.

536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
2007-01-05  Daniel Elstner  <daniel.kitta@gmail.com>

	* configure.ac (AC_PREREQ): Require Autoconf 2.58.
	(AC_CONFIG_MACRO_DIR): Specify m4 macro directory.
	(IT_PROG_INTLTOOL): Replace obsolete AC_PROG_INTLTOOL().  Require
	at least intltool 0.35 for full po/LINGUAS and po/Makevars support.
	(ALL_LINGUAS): No longer set this environment variable, but rely
	on po/LINGUAS support.  Get rid of the CONFIG_STATUS_DEPENDENCIES
	substitution hack.
	(GETTEXT_PACKAGE): Move the variable assignment to AC_SUBST().

	* po/Makevars: Reintroduce this file, as it is finally properly
	supported by intltool.  Set XGETTEXT_OPTIONS to the list of
	keywords xgettext should recognize.

	* autogen.sh: Get rid of the hack that appends XGETTEXT_KEYWORDS
	to po/Makefile.in.in.  Also change the invocation order of the
	various setup tools according to the recommendation found in the
	gettext manual.  Delete some more cruft from the m4/ directory.

	* ABOUT-NLS: Get rid of this both large and largely useless file.
	Probably a left-over from the time before glib-gettextize.

559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
2007-01-05  Daniel Elstner  <daniel.kitta@gmail.com>

	* m4/export.m4: New file.  Defines generalized replacements in the
	DK_ namespace for the cxx.m4 macros REGEXXER_LINK_EXPORT_DYNAMIC()
	and REGEXXER_LINK_VERSION_SCRIPT().
	* m4/feature.m4: New file.  Defines a couple of generic helper
	macros for feature testing.
	* m4/pkgproc.m4: New file.  Defines the macro DK_PKG_PATH_PROG()
	which replaces REGEXXER_PKG_PATH_PROG() from misc.m4.
	* m4/popt.m4: New file.  Defines DK_LIB_POPT(), a generalized
	replacement for REGEXXER_LIB_POPT() from misc.m4.
	* m4/warn.m4: New file.  Defines the macro DK_ARG_ENABLE_WARNINGS()
	which is a generalized and also somewhat improved replacement for
	REGEXXER_ARG_ENABLE_WARNINGS() from cxx.m4.  Note that the argument
	values of --enable-warnings= have changed; see ./configure --help.
	* m4/{cxx,misc}.m4: Remove files.

	* configure.ac: Use the new macros in the DK_ namespace.
	(DK_ARG_ENABLE_WARNINGS): Pass "-Wno-non-virtual-dtor" to the
	compiler if accepted.  Nasty, but due to the gconfmm bug the only
	way to recover the functionality of --enable-warnings=fatal.
	Assign the warning flags to the variable REGEXXER_WARNING_FLAGS.
	* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Again raise the value
	passed to --enable-warnings= from "maximum" to "fatal", now that
	we work around the gconfmm bug.
	(AM_CPPFLAGS): Add $(REGEXXER_WARNING_FLAGS).
	(src_regexxer_LDADD): Reorder the library substitutions so that
	the ones more likely to depend on others in the list come first.

588
589
590
591
592
593
594
595
596
597
598
2007-01-05  Daniel Elstner  <daniel.kitta@gmail.com>

	* pixmaps/*.png: Move images to ui/ directory.  This makes for
	a more streamlined directory structure, and besides "pixmaps" was
	a horrible name anyway.
	* pixmaps: Remove directory.
	* Makefile.am: Accomodate for the change from "pixmaps" to "ui".
	As a side effect, the .dirstamp hack for ui/ is also no longer
	necessary, as the ui/stockimages.h rule already covers this.
	* src/main.cc: Change stockimages.h #include accordingly.

599
600
601
602
603
604
2007-01-05  Daniel Elstner  <daniel.kitta@gmail.com>

	* macros: Rename directory to m4.  I love Subversion.
	* autogen.sh: Change "-I macros" to "-I m4" in aclocal invocation.
	* configure.ac (ACLOCAL_AMFLAGS): Likewise for this substitution.

605
606
607
608
609
2007-01-05  Daniel Elstner  <daniel.kitta@gmail.com>

	* Makefile.am (AM_CPPFLAGS): Remove leftover $(PCRE_CFLAGS).
	(src_regexxer_LDADD): Likewise for $(PCRE_LIBS).

610
611
612
613
614
615
616
617
618
619
620
621
622
2007-01-05  Daniel Elstner  <daniel.kitta@gmail.com>

	* configure.ac (PCRE_CHECK_VERSION): Remove invocation of hand-
	crafted macro and just add "libpcre >= 5.0" to PKG_CHECK_MODULES()
	instead.  PCRE supports pkg-config since version 5.0, released
	September 2004.  I think it is safe to make that a requirement.
	(PCRE_CHECK_UTF8): Ditch the UTF-8 check, which was problematic
	anyway since it involved executing a runtime test.  Just rely on
	regexxer to report an error at runtime if libpcre is found not to
	support UTF-8.  This is acceptable since updating to a libpcre
	with UTF-8 support does not require rebuilding regexxer.
	* macros/pcre.m4: Get rid of it.

623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
2007-01-04  Daniel Elstner  <daniel.kitta@gmail.com>

	* Makefile.am: Switch to a non-recursing build system.  The entire
	source tree except for the po/ subdirectory is now built from the
	toplevel Makefile.  For the rationale of this change, see Peter
	Miller's excellent paper "Recursive Make Considered Harmful":
	http://members.pcug.org.au/~millerp/rmch/recu-make-cons-harm.html

	The new system makes use of Automake's subdir-objects feature to
	put compilation results into the src/ subdirectory.  The Automake
	variables and rules from the subdirectories have been merged into
	the toplevel Makefile.am and adapted as necessary.

	(DISTCHECK_CONFIGURE_FLAGS): Lower --enable-warnings argument from
	"hardcore" to "maximum", in order to get distcheck to work despite
	the non-virtual base class warning triggered by gconfmm.

	* {pixmaps,src,ui}/Makefile.am: Remove from repository.

	* configure.ac (AC_INIT): Bump version number to 0.9.  Also change
	my mail address.
	(AC_PREREQ): Raise version requirement to autoconf 2.55.
	(AM_INIT_AUTOMAKE): Require Automake 1.8 and add -Wall option.
	(PKG_CHECK_MODULES): Replace output variable prefix REGEXXER with
	REGEXXER_MODULES for clarity.  Remove the AC_SUBST() invocations
	as the macro seems to do that on its own now.
	(AC_CONFIG_FILES): Remove {pixmaps,src,ui}/Makefile from the list.

	* NEWS: Add entry on regexxer 0.9.  Not complete yet.

	* autogen.sh: Rip out the overzealous version checking fancyness.
	This stuff was just a wee bit over the top.  Overall, reduce the
	the script to a sensible minimum.  Honor $NOCONFIGURE instead of
	$AUTOGEN_SUBDIR_MODE to match autogen.sh from gnome-common.

	* mkinstalldirs: Remove, as glib-gettextize now properly adds
	this file to the source tree if it is missing.
	* config.rpath: Remove, as it does not seem to be actually used
	anywhere.

663
664
665
666
667
668
669
670
2006-12-22  Daniel Elstner  <daniel.kitta@gmail.com>

	* configure.ac: Use REGEXXER_PKG_PATH_PROG() to locate the
	gtk-update-icon-cache command.
	* pixmaps/Makefile.am (update-icon-cache): Add new target, which
	is invoked as prerequisite of install-data-hook in order to update
	the GTK+ icon theme cache after installation.

671
672
673
674
675
676
677
678
2006-12-10  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/main.cc (main): Use gtk_window_set_default_icon_name() to
	have the default window icon looked up in the icon theme, rather
	than explicitely specifying an image filename.  For some reason
	this method has not been wrapped yet.
	(set_default_window_icon): Remove now unused function.
	* src/aboutdialog.cc (AboutDialog::create): For the same reason as
Daniel Elstner's avatar
Daniel Elstner committed
679
	above, use Gtk::Image::set_from_icon_name() instead of an explicit
680
681
682
683
	filename to load the application icon.
	* src/globalstrings.h (application_icon_filename): Remove now
	unused string.

684
685
686
687
688
689
690
691
692
2006-12-09  Daniel Elstner  <daniel.kitta@gmail.com>

	* regexxer.desktop.in: Remove a couple of keys and change some
	values to match the latest freedesktop.org desktop-entry-spec.

	* pixmaps/Makefile.am: Install the regexxer application icon
	to $(datadir)/icons/hicolor/48x48/apps as the freedesktop.org
	icon-theme-spec says.

693
694
695
696
697
698
699
700
701
702
703
2006-11-21  Daniel Elstner  <daniel.kitta@gmail.com>

	* ui/mainwindow.glade (menuitem_about): Replace the stock item
	reference "regexxer-about" with "gtk-about", now that the latter
	has been added to GTK+.
	* src/main.cc (stock_icon_about): Remove.
	(regexxer_stock_items): Remove "regexxer-about" stock item.
	* pixmaps/Makefile.am (stockimages): Remove stock_menu_about.png
	from list.
	* pixmaps/stock_menu_about.png: Remove file.

704
705
706
707
708
709
710
2006-11-21  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/filetree.cc (FileTree::on_style_changed): Use the proper
	stock images "file" and "directory" instead of abusing "new" and
	"open", respectively.  These new items have been available since
	GTK+ 2.6.

711
712
713
714
715
716
2006-11-13  Daniel Elstner  <daniel.kitta@gmail.com>

	* src/stringutils.cc (parse_control_char, Util::convert_to_ascii):
	Avoid bitwise operations with possibly signed char values.  Make
	use of explicit casts and unsigned integer literals instead.

Daniel Elstner's avatar
Daniel Elstner committed
717
718
719
720
2006-11-13  Daniel Elstner  <daniel.kitta@gmail.com>

	* AUTHORS: Change my mail address.

721
722
723
724
725
726
727
728
729
730
2006-11-13  Daniel Elstner  <daniel.kitta@gmail.com>

	* macros/cxx.m4 (REGEXXER_LINK_EXPORT_DYNAMIC): New macro to
	check for support of the --export-dynamic linker flag.
	* configure.ac: Use the new REGEXXER_LINK_EXPORT_DYNAMIC macro
	to fill in the substituted variable REGEXXER_EXPORT_DYNAMIC.
	* src/Makefile.am (regexxer_LDFLAGS): Substitute the value of
	$(REGEXXER_EXPORT_DYNAMIC) since libglade no longer passes the
	linker flag -Wl,--export-dynamic by default.

731
732
733
734
735
2006-10-05  Sven Herzberg  <herzi@gnome-de.org>

	* autogen.sh: use --copy on intltoolize, so modifying
	po/Makefile.in.in doesn't fail for the missing permissions

736
737
738
739
740
741
742
743
744
2005-12-13  Murray Cumming  <murrayc@murrayc.com>

	* autogen.sh: Use --force on intltoolize, because it was 
	complaining about an old Makefile.in.in.
	* configure.ac:
	* src/Makefile.am: Change PKG_CFLAGS/LIBS to REGEXXER_CFLAGS/LIBS 
	because the latest autoconf (or something) complains that PKG_CFLAGS 
	may be undefined. Not sure why, but this fixes it.

745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
2004-07-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* macros/cxx.m4 (REGEXXER_LINK_VERSION_SCRIPT): Rename from
	REGEXXER_CXXLINK_VERSION_SCRIPT() and make the macro language-
	acnostic.  Also, take the name of the output variable to set as
	first parameter instead of hardcoding it.
	(REGEXXER_ARG_ENABLE_WARNINGS): Don't change the current language
	but use AC_LANG_ASSERT() instead to make sure it's C++.  The user
	is required to select the approriate language by himself then, as
	recommended in the autoconf manual.

	* macros/misc.m4 (REGEXXER_LIB_POPT): Make language-acnostic.
	* macros/pcre.m4 (PCRE_CHECK_UTF8): ditto.

	* configure.ac: Reorder a couple of macro invocations and insert
	a call to AC_LANG([C++]).

762
763
764
765
766
767
2004-07-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/main.cc (parse_command_line): Fix the help string of the
	--ignore-case option to match the tool tip of the corresponding
	checkbutton.

768
769
770
771
772
2004-07-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/main.cc (parse_command_line): Replace `...' with \"...\" in
	message strings, for consistency with the rest of the application.

773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
2004-07-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filebuffer.{cc,h} (FileBuffer::find_matches): Add a feedback
	slot parameter and invoke it for every matching line.  The current
	line number and the subject string are passed as arguments to the
	feedback slot.

	* src/filetree.{cc,h} (FileTree::signal_feedback): New signal.
	(FileTree::find_matches_at_path_iter): Pass a feedback slot to
	FileBuffer::find_matches() that forwards to signal_feedback()
	with the fileinfo object bound as third argument.

	* src/mainwindow.{cc,h} (print_location): New handler for the
	feedback signal which prints the location of the match to standard
	output, in the same format as used by 'grep -n'.
	(InitState::feedback): New bool member.
	(MainWindow::initialize): Connect the filetree's signal_feedback
	to print_location if the init state's feedback flag is true.

	* src/main.cc (parse_command_line): Add the --line-number command
	line argument, intended to work just like the grep equivalent.

795
796
797
798
799
800
801
802
803
804
805
2004-07-13  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/mainwindow.{cc,h} (MainWindow::autorun_idle): New method
	which first invokes the file search and the regex search after
	that, unless the user hit the Stop button in between.
	(MainWindow::initialize): Connect Glib::signal_idle() to the new
	autorun_idle() method instead of controller_.find_files.slot().
	(MainWindow::busy_action_leave): Don't reset busy_action_cancel_
	so that autorun_idle() can test this flag to determine whether
	the busy action was cancelled by the user.

806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
2004-07-13  Daniel Elstner  <daniel.elstner@gmx.net>

	* macros/pcre.m4 (PCRE_CHECK_UTF8): Make sure the preprocessor
	directives in the test program start in the first column, just
	in case we do hit on some ancient compiler that requires it.

	* macros/misc.m4 (REGEXXER_LIB_POPT): New macro that checks
	whether libpopt and popt.h are available and usable.

	* configure.ac: Use REGEXXER_LIB_POPT().
	* src/Makefile.am (regexxer_LDADD): Add $(POPT_LIBS).

	* src/mainwindow.{cc,h} (InitState): New struct that defines
	the initial state of main window's entry boxes and check buttons.
	(MainWindow::initialize): New method to initialize the UI elements
	with the values defined by a InitState object.

	* src/translation.{cc,h} (initialize_gettext): Remove the call to
	bind_textdomain_codeset().
	(enable_utf8_gettext): New function that calls
	bind_textdomain_codeset() if available.  The separation became
	necessary in order to allow for the command line help message to
	be printed to the console in locale encoding.

	* src/main.cc (parse_command_line): New function which parses the
	command line arguments and returns an InitState object.
	(main): Invoke parse_command_line(), enable_utf8_gettext() and
	MainWindow::initialize() as appropriate.

835
836
837
838
839
2004-07-12  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/stringutils.cc (shell_pattern_to_regex): Handle ']' and '!'
	inside character classes more correctly.

840
841
842
843
844
845
846
847
848
849
850
851
2004-07-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* configure.ac (REGEXXER_CXX_HAS_STD_LOCALE): Remove.  libsigc++ 2
	depends on a proper compiler like g++ 3 anyway, so it make sense
	to require support of std::locale from now on.

	* macros/cxx.m4 (REGEXXER_CXX_HAS_STD_LOCALE): Delete the macro.

	* src/statusline.cc: Get rid of the preprocessor conditionals
	around code that makes use of std::locale.
	* src/stringutils.cc: ditto.

852
853
854
855
856
857
2004-07-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* configure.ac: Swap invocations of REGEXXER_ARG_ENABLE_WARNINGS()
	and REGEXXER_CXXLINK_VERSION_SCRIPT(), just in case the additional
	warning flags break the test program used by the latter macro.

Daniel Elstner's avatar
Update.    
Daniel Elstner committed
858
859
860
861
862
863
0.8:

2004-07-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* NEWS: Update.

Daniel Elstner's avatar
Daniel Elstner committed
864
865
866
867
2004-07-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* ui/mainwindow.glade (hbox_file): Increase "spacing" to 9.

868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
2004-07-06  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/exported-symbols: New file; an ld version script which lists
	the symbols that should be exported explicitely.  Using that makes
	the stripped regexxer binary more than 100k smaller!

	* macros/cxx.m4 (REGEXXER_CXXLINK_VERSION_SCRIPT): New macro to
	test if the linker supports the -Wl,--version-script argument.

	* configure.ac: Call REGEXXER_CXXLINK_VERSION_SCRIPT().

	* src/Makefile.am (dist_noinst_DATA): Distribute exported-symbols.
	(regexxer_DEPENDENCIES): Depend on exported-symbols.
	(regexxer_LDFLAGS): Pass $(REGEXXER_VERSION_SCRIPT) to the linker.

883
884
885
886
887
888
2004-07-05  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/aboutdialog.cc (apply_label_what_markup): Rename from
	apply_label_markup for clarity.

2004-07-05  Daniel Elstner  <daniel.elstner@gmx.net>
889
890
891
892
893
894
895
896
897
898

	* src/filetree.{cc,h} (FileTree::find_matches_at_path_iter): Use
	reference arguments instead of pointers.  Make use of sigc::ref()
	to bind a reference argument to a signal handler.
	(FileTree::replace_matches_at_path_iter): ditto
	(FileTree::save_file_at_iter): Likewise.  Also get rid of the
	on-demand creation of error_list, because it's unnecessary and
	not exception-safe.  The caller is responsible for instantiating
	the MessageList now.

899
900
901
902
903
904
2004-06-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/stringutils.cc (validate_encoding): Be slightly more picky
	and demand the first and last characters of the encoding string to
	be alpha-numeric.

905
906
907
908
909
910
2004-06-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/stringutils.cc (validate_encoding): Better don't try to call
	Glib::convert() with identical input and output encodings.  I heard
	the iconv on Solaris doesn't like that idea at all.

911
912
913
914
915
2004-06-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/prefdialog.cc (PrefDialog::on_response): Suggest a sync
	to the GConf client when the dialog is closed.

916
917
918
919
920
921
922
923
2004-06-29  Daniel Elstner  <daniel.elstner@gmx.net>

	* ui/mainwindow.glade: Remove empty string properties and all
	GtkEntry "invisible_char" properties.  The latter had no purpose
	other than to annoy the translators.

	* ui/prefdialog.glade: ditto.

924
925
926
927
928
929
930
931
2004-06-29  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/mainwindow.cc (selection_clipboard): New string constant
	defining the name of the selection to use for the clipboard.
	(MainWindow::on_cut): Use the selection_clipboard constant.
	(MainWindow::on_copy): ditto
	(MainWindow::on_paste): ditto.

932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
2004-06-29  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/controller.{cc,h} (Controller::edit_actions): Rename from
	clip_actions.
	(Controller::erase): Add action.
	(Controller::load_xml): Fetch cut, copy, paste and delete menu
	items from the glade file.

	* src/mainwindow.{cc,h} (MainWindow::on_{cut,copy,paste,erase}):
	Add and implement new signal handlers.
	(MainWindow::connect_signals): Connect the cut, copy, paste and
	erase actions to the new signal handlers.
	(MainWindow::on_filetree_switch_buffer): Enable or disable the
	edit actions based on the editability of the file buffer.

947
948
949
950
951
952
953
954
2004-06-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/controller.{cc,h} (Controller): Add an Edit menu, as well
	as a Cut, Copy and Paste menu items.

	* ui/mainwindow.glade: As above, and move Undo and Preferences
	into the Edit menu.

955
956
957
958
959
2004-06-21  Daniel Elstner  <daniel.elstner@gmx.net>

	* po/Makevars (XGETTEXT_OPTIONS): Recent intltool now parses the
	Makevars file, thus set this variable to the options we want.

960
961
962
963
964
965
966
967
2004-06-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/Makefile.am (global_defines): Get rid of the redundant
	-DREGEXXER_LOCALEDIR=\""$(datadir)/locale"\" definition.

	* src/main.cc (locale_directory): New string constant.
	(main): Replace REGEXXER_LOCALEDIR with locale_directory.

968
969
970
971
972
973
974
975
976
977
978
979
980
2004-06-19  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/Makefile.am (global_defines): Add -DGTKMM_DISABLE_DEPRECATED.

	* src/filetree.cc (FileTree::FileTree): Replace the deprecated
	set_sort_column_id() by set_sort_column().
	* src/filetreeprivate.cc
	(FileTree::ScopedBlockSorting::ScopedBlockSorting): ditto
	(FileTree::ScopedBlockSorting::~ScopedBlockSorting): ditto.

	* src/mainwindow.cc (MainWindow::on_go_next): Use scroll_to()
	in place of the deprecated scroll_to_mark().

981
982
983
984
985
986
2004-06-19  Daniel Elstner  <daniel.elstner@gmx.net>

	* pixmaps/Makefile.am (stockimages.h): Strip the directory prefix
	from filenames if present, because of the possibility of automatic
	rule rewriting as done e.g. by SunOS make.

Daniel Elstner's avatar
Daniel Elstner committed
987
988
989
990
2004-06-19  Daniel Elstner  <daniel.elstner@gmx.net>

	* Makefile.am (dist_noinst_DATA): Add po/LINGUAS.

991
992
993
994
995
2004-06-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/aboutdialog.cc (apply_label_markup): Make use of the <small>
	convenience tag to simplify the markup slightly.

996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
2004-06-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/aboutdialog.cc: Include <libglademm/xml.h> instead of the
	whole <libglademm.h> to save a tiny bit of compile time.
	* src/controller.cc: ditto.

	* src/filebuffer.cc: Same here, and also replace <gconfmm.h> by
	<gconfmm/client.h>.
	* src/filetree.cc: ditto
	* src/mainwindow.cc: ditto
	* src/prefdialog.cc: ditto.

1008
1009
1010
1011
1012
1013
1014
2004-06-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/translation.cc (initialize_gettext): Only call
	bind_textdomain_codeset() if it is available.  I do hope there
	aren't any gettext implementations around that perform encoding
	conversion but don't have bind_textdomain_codeset()...

1015
1016
1017
1018
1019
1020
1021
2004-06-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/sharedptr.h (SharedPtr): Add dummy template specializations
	for SharedObject and const SharedObject.  This makes it impossible
	to instantiate a generic SharedPtr<SharedObject>, which would be
	fatal because SharedObject doesn't have a virtual destructor.

1022
1023
1024
1025
1026
1027
1028
2004-06-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/sharedptr.h (SharedObject::refcount_): Change type to long,
	so that a full word will be used on 64 bit machines.
	(SharedPtr): Add a paragraph about operator const void*() to the
	class description.

1029
1030
1031
1032
1033
1034
1035
2004-06-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* autogen.sh: Append an XGETTEXT_KEYWORDS = ... line to the
	generated po/Makefile.in.in file.  These flags are picked up
	by intltool-update and passed to xgettext.  Use this feature
	to make xgettext recognize Util::compose() format strings.

1036
1037
1038
1039
1040
1041
2004-06-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* configure.ac (GETTEXT_PACKAGE): Use a plain shell assignment
	plus a separate AC_SUBST([GETTEXT_PACKAGE]) in order to please
	the fucked up intltool-update script.

1042
1043
1044
1045
2004-06-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/translation.h (translate): Add G_GNUC_FORMAT(1) attribute.

1046
1047
1048
1049
1050
1051
1052
2004-06-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.cc (FileTree::find_add_file): Create the FileInfo
	object in advance before inserting the new row in order to improve
	exception safety.
	(FileTree::find_fill_dirstack): Same here for the DirInfo object.

1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
2004-06-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetreeprivate.{cc,h} (FileTreePrivate::next_match_file):
	Move code from FileTree::next_match_file() here.
	(FileTreePrivate::prev_match_file):
	Move code from FileTree::prev_match_file() here.

	* src/filetree.{cc,h} (FileTree::next_match_file): Remove.
	(FileTree::prev_match_file): Remove.

1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
2004-06-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.{cc,h} (FileTree::next_match_file): Replace the
	collapse_stack parameter by a single Gtk::TreeModel::Path pointer,
	because we really don't have to collapse each expanded child row
	explicitely.  Simplify the implementation accordingly.
	(FileTree::prev_match_file): ditto.
	(FileTree::select_next_file): Get rid of the collapse_stack
	container and use a simple Gtk::TreeModel::Path variable instead.

1073
1074
1075
1076
1077
2004-06-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/fileio.cc (save_iochannel): Use Gtk::TextBuffer::get_slice()
	rather than get_text().

1078
1079
1080
1081
1082
2004-06-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/stringutils.cc (substitute_references): Reduce usage of
	Glib::ustring::raw() in favor of native ustring accessor methods.

1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
2004-06-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/stringutils.{cc,h} (substitute_references): Change return
	type and parameter types to Glib::ustring.  I have no idea as to
	why the interface used std::string in the first place...

	* src/filebuffer.cc (FileBuffer::get_line_preview): Adapt to the
	changed parameter types of Util::substitute_references().
	(FileBuffer::replace_match): ditto.

1093
1094
1095
1096
1097
2004-06-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filebuffer.cc (FileBuffer::find_matches): Remove bogus
	comment.

1098
1099
1100
1101
1102
1103
1104
2004-06-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filebuffer.cc (FileBuffer::undo_remove_match): Avoid
	decrementing current_match_ since it might point to the start
	of the range.  Also remove the call to remove_tag_current()
	because it does nothing if match_removed_ is set anyway.

Daniel Elstner's avatar
Daniel Elstner committed
1105
1106
1107
1108
2004-06-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* ui/mainwindow.glade (menuitem_undo): Add accelerator key CTRL-z.

1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
2004-06-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/pcreshell.h: Eliminate the include dependency on the pcre.h
	header.  This requires defining the numeric values of the bit flag
	enums directly, but fortunately these cannot be changed without
	breaking ABI anyway.

	* src/pcreshell.cc: Include pcre.h, and use static_cast<> where
	necessary to allow for Pattern::pcre_ to be declared as void*.

1119
1120
1121
1122
1123
2004-06-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/mainwindow.cc (MainWindow::set_title_filename): Concatenate
	with the string literal PACKAGE_NAME at compile time.

1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
2004-06-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.{cc,h} (FileTree::find_add_file): New method.
	Move the actual file-adding parts from find_check_file() here.
	(FileTree::find_recursively): Move the file testing previously
	done in find_check_file() into this method in order to make the
	recursion more obvious.  Also handle Glib::Dir exceptions right
	here, so that the caller doesn't have to handle them.
	(FileTree::find_files): Remove the try/catch block enclosing the
	call to find_recursively().  We no longer need to do it twice.
	(FileTree::find_check_file): Remove.

1136
1137
1138
1139
2004-06-03  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.cc (FileTree::calculate_file_index): Simplify.

1140
1141
1142
1143
1144
2004-06-02  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filebuffer.cc (FileBuffer::create_with_error_message):
	Minor code rearrangement.

1145
1146
1147
1148
1149
2004-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.cc (FileTree::find_files): Slightly clarify
	the call to Gtk::TreePath's constructor.

1150
1151
1152
1153
1154
1155
1156
1157
1158
2004-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* Makefile.am (ACLOCAL_AMFLAGS): Remove because automake-1.7
	complains about the undefined variable ${ACLOCAL_FLAGS} even
	though it's a shell substitution.

	* configure.ac: Use AC_SUBST() to set up ACLOCAL_AMFLAGS here
	instead, so automake-1.7 won't notice.

1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
2004-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.cc (FileTree::expand_and_select): Replace the
	calls to TreeSelection::select() and TreeView::scroll_to_row()
	by a single TreeView::set_cursor() call.
	(FileTree::find_files): After the tree has been filled in, the
	first call to expand_and_select() doesn't always scroll to the
	selected row (no matter if set_cursor() or scroll_to_row() is
	used there).  Explicitely scroll to the first row after filling
	the tree to work around this problem.

Daniel Elstner's avatar
Daniel Elstner committed
1170
1171
1172
1173
2004-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* regexxer.desktop.in (Categories): Prepend GNOME to the list.

1174
1175
1176
1177
1178
2004-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/translation.cc (compose_impl): Remove superfluous namespace
	prefix.

1179
1180
1181
1182
1183
1184
2004-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/translation.cc (compose): Optimize and reduce executable
	size by replacing std::vector<Glib::ustring> by a POD array of
	pointers to the Glib::ustring arguments.

1185
1186
1187
1188
1189
1190
1191
2004-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.cc (FileTree::load_file_with_fallback): Get the
	UTF-8 encoded basename from the filename column of the tree model
	instead of stripping and converting fileinfo->fullname all over
	again.

1192
1193
1194
1195
1196
1197
1198
2004-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/fileio.cc (load_file): Move the assignment of 'false' to
	fileinfo->load_failed to the very end of the function, because
	there is a tiny chance that one of the other assignments throws
	an exception.

1199
1200
1201
1202
1203
1204
2004-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.cc (FileTree::find_increment_file_count): There
	is no need for the reverse_iterator abstraction here -- just use
	plain iterators and decrement them.

1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
2004-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.cc (FileTree::prev_match_file): As it turns out
	keeping track of the parent iterator does have some merit.  While
	there was nothing wrong with the previous change, I discovered
	that the parent's children can be indexed in order to obtain an
	iterator pointing to the previous row.  At least for deep trees
	this is likely to be faster than resolving the whole path via
	Gtk::TreeModel::get_iter().

1215
1216
1217
1218
1219
1220
1221
2004-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.cc (FileTree::prev_match_file): There is no need to
	keep track of the parent iterator; just use Gtk::TreePath::size()
	and TreePath::up().  Also use TreePath::push_back() instead of the
	deprecated TreePath::append_index().

1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
2004-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.{cc,h} (FileTree::find_matches_at_path_iter):
	Rename from find_matches_at_iter(): add a path parameter and
	use it instead of obtaining the path from the iter argument.
	(FileTree::replace_matches_at_path_iter): Rename from
	replace_matches_at_iter(): add a path parameter and use it.
	(FileTree::find_matches): Use TreeModel::foreach() rather than
	foreach_iter() in order to gain a minor performance improvement
	by taking advantage of the supplied Gtk::TreePath.
	(FileTree::replace_all_matches): ditto.

1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
2004-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.{cc,h} (FileTree::on_treestore_rows_reordered):
	New signal handler which updates the match boundaries defined by
	the [path_match_first_, path_match_last_] range.  Previously this
	has been handled in on_treestore_sort_column_changed(), which is
	unfortunately called before the actual sorting takes place.
	(FileTree::on_treestore_sort_column_changed): Remove.
	(FileTree::FileTree): Connect to signal_rows_reordered() instead
	of signal_sort_column_changed().

1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
2004-05-31  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetreeprivate.{cc,h} (FileTreeColumns::instance): New
	static method which replaces the filetree_columns() function,
	for consistency with RegexxerTags::instance().
	(filetree_columns): Remove.

	* src/filetree.cc: Replace all instances of filetree_columns()
	with FileTreeColumns::instance().

1255
1256
1257
1258
1259
1260
1261
1262
1263
2004-05-31  Daniel Elstner  <daniel.elstner@gmx.net>

	* ui/aboutdialog.glade (label_url): Get rid of the prefixed U+202D
	LEFT-TO-RIGHT OVERRIDE since Pango gets that right on its own now.
	(label_author_who): ditto

	* ui/mainwindow.glade (button_multiple): ditto
	(button_caseless): ditto.

Daniel Elstner's avatar
Daniel Elstner committed
1264
1265
1266
1267
2004-05-31  Daniel Elstner  <daniel.elstner@gmx.net>

	* ui/mainwindow.glade (button_multiple): Set to active by default.

1268
1269
2004-05-31  Daniel Elstner  <daniel.elstner@gmx.net>

Daniel Elstner's avatar
Daniel Elstner committed
1270
1271
1272
1273
	* src/statusline.cc (StatusLine::set_file_encoding): Work around
	the GTK+ bug with right-aligned labels by calling check_resize(),
	just as already done in CounterBox::set_index().  Note that the
	status bar is right-aligned only in RTL locales.
1274

1275
1276
1277
1278
1279
1280
2004-05-31  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/aboutdialog.cc (AboutDialog::create): If no translation is
	available for the current locale, replace "translator-credits" by
	some more user-friendly text.

1281
1282
1283
1284
1285
1286
1287
1288
2004-05-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.cc (FileTree::color_modified_): Use "Accent Red"
	from the basic GNOME 32-color palette instead of rgb.txt "red".

	(FileTree::text_cell_data_func): Set the text style to "oblique"
	in addition to painting in red color if the file was modified.

1289
1290
1291
1292
1293
2004-05-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/pcreshell.cc (Pattern::get_substring_bounds): Sanity-check
	for index >= 0 too.

1294
1295
1296
1297
1298
1299
2004-05-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/mainwindow.cc (MainWindow::on_conf_value_changed): Remove
	"using namespace Gtk" directive which became pointless after the
	last change.

1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
2004-05-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* regexxer.schemas.in (override_direction): Remove configuration
	option because it doesn't seem to be necessary anymore.  That is,
	the current GTK+ release gets the direction of Latin text in RTL
	locales right now.

	* src/globalstrings.h (conf_key_override_direction): Remove.
	* src/mainwindow.cc (MainWindow::on_conf_value_changed): Remove
	the code that handles the "override_direction" config option.
	* src/prefdialog.{cc,h} (PrefDialog): ditto.
	* ui/prefdialog.glade (button_override_direction): Remove.

1313
1314
1315
1316
1317
1318
1319
1320
2004-05-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filebuffer.cc (FileBuffer::find_matches): Get rid of an
	unused main_context variable plus initialization code.  Whoa,
	this ancient piece of code must have been lurking here for at
	least a year without being used.  Unfortunately g++ didn't warn
	about it since the ctor/dtor might have had side effects...

1321
1322
1323
1324
1325
1326
1327
1328
1329
2004-05-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* autogen.sh: In the regex used to extract version numbers, avoid
	any use of quantifiers other than * for maximum portability.

	* macros/pcre.m4 (PCRE_CHECK_VERSION): Same here, and also be more
	forgiving about extra characters possibly following the version
	number.

1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
2004-05-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* macros/misc.m4 (REGEXXER_PKG_PATH_PROG): Replace AC_MSG_ERROR()
	by AC_MSG_FAILURE(), and add an autoconf-time check to make sure
	all necessary arguments are specified.

	* macros/pcre.m4: Replace AC_MSG_ERROR() by AC_MSG_FAILURE(), and
	add a few redirections of stderr to the config.log file descriptor
	where appropriate.

1340
1341
1342
1343
1344
1345
1346
1347
1348
2004-05-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetreeprivate.h (FileTreePrivate::filetree_columns):
	Remove the G_GNUC_CONST attribute since in this function's case
	it doesn't gain us anything anyway.

	* src/translation.h (translate): Use G_GNUC_PURE rather than
	G_GNUC_CONST because the function depends on global memory.

1349
1350
1351
1352
1353
2004-05-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/pcreshell.cc (Pattern::match): Use the symbolic constant
	PCRE_ERROR_NOMATCH instead of comparing with -1 directly.

1354
1355
1356
1357
1358
1359
1360
1361
1362
2004-05-29  Daniel Elstner  <daniel.elstner@gmx.net>

	* ui/mainwindow.glade (button_preferences): Remove tool button.
	I'm not yet convinced that the "Quit" button should be removed
	too, because I like it large and easy to hit on :)

	* src/controller.cc (Controller::load_xml): No longer load
	"button_preferences" from the glade file.

1363
1364
1365
1366
1367
1368
1369
2004-05-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* macros/misc.m4 (REGEXXER_PKG_PATH_PROG): There is no need to
	pass the [not found] argument to AC_PATH_PROG, since the default
	action is just right.
	* macros/pcre.m4 (PCRE_CHECK_VERSION): ditto.

1370
1371
1372
1373
1374
2004-05-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* Makefile.am (ACLOCAL_AMFLAGS): Add ${ACLOCAL_FLAGS} as
	recommended by James Henstridge.

1375
1376
1377
1378
1379
1380
2004-05-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* Makefile.am (install-schemas): Don't use $^ since it probably
	isn't portable.
	(uninstall-schemas): ditto.

1381
1382
1383
1384
1385
1386
2004-05-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* configure.ac (PCRE_CHECK_VERSION): Bump version requirement to
	libpcre 4.0.  Apparently the code required this version for quite
	some time now, but without configure checking for it.

1387
1388
1389
1390
1391
1392
1393
1394
1395
2004-05-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/pcreshell.cc (Pattern::Pattern): Let's be paranoid and
	use g_new0() rather than plain g_new() to allocate ovector_.
	(Pattern::get_substring_bounds): More paranoia: assert that
	the index argument is within the allowed range.
	(Pattern::get_substring): Call get_substring_bounds() to get the
	boundary offsets in order to take advantage of the error checking.

1396
1397
1398
1399
1400
2004-05-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/stringutils.cc (convert_to_ascii): Replace non-ASCII
	characters by octal escapes rather than just a question mark.

1401
1402
1403
1404
1405
1406
2004-05-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filebuffer.cc (RegexxerTags::instance): Remove G_GNUC_CONST
	because it causes problems on PPC, and doesn't have any effect in
	this particular case anyway.

1407
1408
1409
1410
1411
1412
1413
1414
1415
2004-05-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/mainwindow.{cc,h} (MainWindow::get_folder_fullname): New
	method that expands the entered folder name and converts it to
	filename encoding.  An error message is displayed to the user
	if the conversion fails.
	(MainWindow::on_select_folder): Use get_folder_fullname().
	(MainWindow::on_find_files): ditto.

1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
2004-05-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/stringutils.{cc,h} (expand_pathname): Operate directly in
	filename encoding since all callers need to convert one way or
	the other anyway.  Change type of parameter and return value to
	std::string accordingly.
	(shorten_pathname): ditto.

	* src/mainwindow.cc (MainWindow::MainWindow): Reverse order of
	the calls to filename_to_utf8_fallback() and shorten_pathname().
	(MainWindow::on_select_folder): ditto
	(MainWindow::on_find_files): ditto.

	* src/mainwindow.{cc,h} (MainWindow::set_title_filename): Change
	parameter type to std::string and call filename_to_utf8_fallback().
	Also remove the default argument from the declaration, and get rid
	of the logic that handles the empty string.
	(MainWindow::MainWindow): Call window_->set_title() directly in
	order to set the default title, instead of passing an empty string
	to set_title_filename().
	(MainWindow::on_filetree_switch_buffer): ditto.

1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
2004-05-27  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/stringutils.cc (filename_to_utf8_fallback): On failure,
	don't fall back to the locale encoding anymore but straight to
	plain ASCII.  Thus from now on, this function will never throw
	for errors of type ConvertError::ILLEGAL_SEQUENCE.  Also cover
	the new G_FILENAME_ENCODING variable in the warning message.

	* src/filetree.cc (FileTree::find_files): Remove the explicit
	handling of Glib::ConvertError.

1449
1450
1451
1452
1453
2004-05-26  Daniel Elstner  <daniel.elstner@gmx.net>

	* regexxer.schemas.in: Use colors from the basic GNOME 32-color
	palette for the match_color and current_match_color default values.

1454
1455
1456
1457
1458
1459
1460
2004-05-26  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/stringutils.cc (apply_modifiers): Validate the UCS-4 code
	point returned by Unicode::tolower() or Unicode::totitle() before
	appending it to the string.  This is necessary because for example
	converting U+00DF to title case is an invalid operation.

1461
1462
1463
1464
1465
1466
1467
1468
2004-05-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/translation.cc (compose_impl): Print a warning message to
	the console if the format string contains an invalid substitution,
	rather than just silently ignoring the error.  This is mainly of
	importance to translators, as it provides them some feedback if
	they get it wrong.

1469
1470
1471
1472
1473
1474
2004-05-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.cc (regexxer_create_file_tree): Move to anonymous
	namespace.  Not that it matters much, but I like it this way.
	* src/statusline.cc (regexxer_create_status_line): ditto.

1475
1476
1477
1478
1479
2004-05-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.cc (FileTree::FileTree): Remove superfluous
	namespace qualification.

1480
1481
1482
1483
1484
1485
1486
2004-05-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* autogen.sh: Avoid using postfix operators on subexpressions
	in the regex used to extract version numbers.  This makes the
	expression both simpler and more portable.
	* macros/pcre.m4 (PCRE_CHECK_VERSION): ditto.

1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
2004-05-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* macros/pcre.m4 (PCRE_CHECK_VERSION): Strip "-L/usr/lib" from
	PCRE_LIBS if necessary.  Strip "-I/usr/include" from PCRE_CFLAGS
	too -- although not required on Debian, it's better not to rely
	on this.

	* autogen.sh: Standard POSIX regexps suck: according to the sed
	documentation, both "\?" and "\+" are GNU extensions.  Replace by
	"\{0,1\}" and "\{1,\}", respectively.
	* macros/pcre.m4 (PCRE_CHECK_VERSION): ditto.

1499
1500
1501
1502
1503
2004-05-21  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/mainwindow.cc (MainWindow::on_find_files): Minor coding style
	modifications.

1504
1505
1506
1507
1508
1509
2004-05-21  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/mainwindow.cc (MainWindow::on_select_folder): Simplify the
	code: with the new FileChooser we no longer have to handle the case
	of selecting a file instead of a directory.

Daniel Elstner's avatar
Daniel Elstner committed
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
2004-05-21  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/fileio.h (ErrorBinaryFile): New exception class.

	* src/fileio.cc (load_iochannel): Throw ErrorBinaryFile if the
	input stream contains '\0' bytes, rather than just returning a
	null pointer.
	(load_file): Throw ErrorBinaryFile if the file could not be
	loaded in either of the specified encodings.

	* src/filetree.cc (FileTree::load_file_with_fallback): Handle
	the ErrorBinaryFile exception.

1523
1524
1525
1526
1527
2004-05-21  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.cc (FileTree::replace_all_matches): Substitute
	Gtk::TreeIter with Gtk::TreeModel::iterator for consistency.

1528
1529
1530
1531
1532
2004-05-21  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/undostack.cc (UndoStack::do_undo): Don't create a temporary
	copy of the pulse slot since libsigc++2 allows calling const slots.

1533
1534
2004-05-21  Daniel Elstner  <daniel.elstner@gmx.net>

1535
1536
1537
1538
1539
1540
1541
1542
1543
	* src/filetree.cc: Replace a couple of explicit TreePath(iter)
	conversions by simple assignments.
	(FileTree::replace_all_matches): Make sure path_match_first_
	points to the first file that still has matches after a replace
	operation was interrupted.
	(FileTree::replace_matches_at_iter): Remove the assertion that
	FileBuffer::get_match_count() must return 0 after returning from
	FileBuffer::replace_all_matches(), because the operation might
	have been interrupted.
1544

Daniel Elstner's avatar
Daniel Elstner committed
1545
1546
1547
1548
2004-05-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* ui/mainwindow.glade (entry_preview): Set "can_focus" to False.

1549
1550
1551
1552
2004-05-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/mainwindow.cc: Break apart a couple of uber-long lines.

1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
2004-05-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/aboutdialog.cc (package_title): New string constant which
	defines the package title string plus surrounding markup.
	(AboutDialog::create): Use the separated package_title constant.

	* src/aboutdialog.{cc,h} (AboutDialog::create): Change the return
	type to std::auto_ptr<Gtk::Dialog> because copying-destroys-source
	is just what we want.   Calling release() to achieve exactly that
	was a silly idea to begin with.

1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
2004-05-19  Daniel Elstner  <daniel.elstner@gmx.net>

	* ui/aboutdialog.glade (label_debian_*): Remove.  The Debian
	package of regexxer is not the only one out there, and I cannot
	list all of them in the about dialog.  Sorry Ross :/
	(label_translator_{what,who}): Give credit to the translator(s)
	for the user's locale as listed in the translation of the string
	"translator-credits".
	(label_url): Get rid of the custom SelectableLabel widget class.
	The only feature provided by the custom widget was tab-navigation
	to labels -- I figured one can simply use C-Tab to do just that.
	(label_author_who): ditto
	(label_translator_who): ditto.

	* src/aboutdialog.cc (SelectableLabel): Remove custom widget.
	(AboutDialog::create): Acommodate to glade file modifications.

1581
1582
1583
1584
1585
1586
1587
2004-05-19  Daniel Elstner  <daniel.elstner@gmx.net>

	* Makefile.am (ACLOCAL_AMFLAGS): No need to explicitely specify
	$(top_srcdir)/ in the directory name because the aclocal rule
	changes to that directory anyway.  This also avoids confusing
	recent releases of gettextize.

1588
1589
1590
1591
1592
2004-05-19  Daniel Elstner  <daniel.elstner@gmx.net>

	* configure.ac (CONFIG_STATUS_DEPENDENCIES): AC_SUBST() this
	variable with '$(top_srcdir)/po/LINGUAS' for utmost perfection ;-)

1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
2004-05-19  Daniel Elstner  <daniel.elstner@gmx.net>

	* ui/mainwindow.glade (toolbar): Make glade-2 replace its old-style
	magic "class names" with proper GtkToolItem and derivated elements.
	Note that you'll need to apply the patch for #142761 in order to
	make changing the toolbar style at runtime work.
	(combo_pattern): Replace deprecated GtkCombo with GtkComboBoxEntry.

	* src/controller.cc (ControlItem::add_widgets): Allow for both
	Gtk::ToolButton and Gtk::Button widgets, and detect at runtime
	which type to use.

	* src/mainwindow.cc (MainWindow::load_xml): Due to #142755, we
	currently have to use get_child() on combo_pattern to gain access
	to the entry widget.  Also, a hack was necessary to attach the
	tooltip to the entry without instantiating another Gtk::Tooltips
	object.

	* src/mainwindow.h: Remove a couple of unused forward declarations.

1613
1614
1615
1616
1617
1618
2004-05-18  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/prefdialog.cc (PrefDialog::on_response): Invoke
	Gtk::Widget::activate() instead of directly calling the handler
	on_entry_fallback_activate().  Dunno why I didn't see this before.

1619
1620
1621
1622
1623
2004-05-18  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/prefdialog.cc (get_toolbar_style_index): Return -1 rather
	than 0 on failure.

1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
2004-05-18  Daniel Elstner  <daniel.elstner@gmx.net>

	* ui/prefdialog.glade (button_textview_font): Replace custom font
	selection button with the new GtkFontButton.
	(button_match_color): Replace custom color selection button with
	the new GtkColorButton.
	(button_current_color): ditto.
	(combo_toolbar_style): Rename from option_toolbar_style.  Use the
	new GtkComboBox widget instead of GtkOptionMenu.

	* src/prefdialog.{cc,h} (FontSelectionButton): Remove.
	(ColorSelectionButton): Remove.
	(PrefDialog): Accomodate to changes in the glade file.
	(on_textview_font_set): Rename from on_textview_font_selected().
	(on_match_color_set): Rename from on_match_color_selected().
	(on_current_color_set): Rename from on_current_color_selected().

1641
1642
1643
1644
1645
1646
1647
2004-05-18  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/mainwindow.cc (MainWindow::load_xml): Make the folder button
	grab focus because otherwise the Preferences tool button will be
	focused after startup.  I blame libglade -- its whole tool button
	handling seems to be somewhat shaky.

1648
1649
1650
1651
1652
1653
2004-05-18  Daniel Elstner  <daniel.elstner@gmx.net>

	* configure.ac (ALL_LINGUAS): Use `cat "$srcdir/po/LINGUAS"` to
	assign this variable, so that there is only one file to edit when
	adding a new language.

1654
1655
1656
1657
2004-05-17  Duarte Loreto <happyguy_pt@hotmail.com>

	* configure.ac: Added Portuguese (pt) to ALL_LINGUAS.

1658
1659
1660
1661
2004-05-17  Christian Rose  <menthos@menthos.com>

	* configure.ac: Added "sv" to ALL_LINGUAS.

1662
1663
1664
1665
1666
1667
1668
1669
1670
2004-05-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* Makefile.am (dist_noinst_SCRIPTS): Remove config.rpath because
	automake distributes this file automatically.  List intltool-*.in
	files in the separate variable dist_intltool.
	(dist_noinst_DATA): List all *.m4 files in the separate variable
	dist_macros.  Move $(dist_intltool) from dist_noinst_SCRIPTS here
	because the .in files aren't scripts.

1671
1672
1673
1674
1675
2004-05-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* regexxer.desktop (Name): Use _Name to make it translatable, and
	change the string to "regexxer Search Tool".  Idea from Dag Wieers.

1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
2004-05-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filebuffer.cc: Mark all const_cast<> work-arounds for the
	Gtk::TextIter API bug with // XXX comments.
	(FileBuffer::get_match_index): Get rid of libstdc++-v2 work-around.

	* src/filebuffer.h (FileBuffer): Get rid of the friend declarations
	that were added to work around a GCC 2.95 deficiency.
	* src/filetree.h (FileTree): ditto
	* src/mainwindow.h (MainWindow): ditto.

1687
1688
1689
1690
1691
1692
1693
1694
1695
2004-05-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* Makefile.am (install-schemas): Simplify.  Since regexxer.schemas
	is now a generated file it is always placed in the build directory.
	(uninstall-schemas): Likewise.  Also add $(schemas_DATA) to the
	prerequisites so that the rule will work with a clean tree.  Having
	make uninstall generate files is a little awkward, but I cannot see
	a way around that :/

1696
1697
1698
1699
1700
1701
1702
2004-05-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* Makefile.am (CLEANFILES): List build-time generated files
	$(desktop_DATA) and $(schemas_DATA).
	(DISTCLEANFILES): List configure-time generated files
	intltool-extract, intltool-merge and intltool-update.

1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
2004-05-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* autogen.sh: Execute glib-gettextize and intltoolize.

	* configure.ac: Call AC_PROG_INTLTOOL().  Assign ALL_LINGUAS and
	GETTEXT_PACKAGE, and do an AC_SUBST() of the latter.
	(AM_GNU_GETTEXT): Use AM_GLIB_GNU_GETTEXT() instead.

	* Makefile.am (dist_desktop_DATA): Remove the dist_ prefix,
	introduce desktop_in_files, and add the @INTLTOOL_DESKTOP_RULE@
	substitution in order to make regexxer intltool-aware.
	(dist_schema_DATA): Likewise for the GConf schemas file.
	(dist_noinst_SCRIPTS): Add intltool-extract.in, intltool-merge.in
	and intltool-update.in.

	* regexxer.desktop: Rename to regexxer.desktop.in, use _Comment
	instead of Comment, and remove the manually inserted de and dk
	translations.

	* regexxer.schemas: Rename to regexxer.schemas.in.

1724
1725
1726
1727
1728
1729
2004-05-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetreeprivate.cc (collatekey_sort_func): Use libstdc++-v3
	method std::string::compare() instead of memcmp() for sub-string
	comparison, since libsigc++2 depends on gcc >= 3 anyway.

1730
1731
1732
1733
1734
2004-05-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.cc (FileTree::FileTree): Make the file column
	take up available space with set_expand(true).

1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
2004-05-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* configure.ac (AC_INIT): Bump version to 0.8.
	(PKG_CHECK_MODULES): Require gconfmm-2.6 >= 2.6.1.
	(REGEXXER_GCONFMM_VALUE_HACK): Remove.

	* src/miscutils.{cc,h}
	(check_for_broken_gconfmm_value_changed): Remove.
	(has_broken_gconfmm_value_changed): Remove.

	* src/main.cc (main): Remove call to gconfmm bug runtime test.

Daniel Elstner's avatar
Daniel Elstner committed
1747
1748
1749
1750
	* src/filebuffer.cc (on_conf_value_changed): Remove hack.
	* src/filetree.cc (on_conf_value_changed): ditto
	* src/mainwindow.cc (on_conf_value_changed): ditto.
	* src/prefdialog.{cc,h} (on_conf_value_changed_hack): Remove.
1751

1752
1753
1754
1755
1756
2004-05-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/mainwindow.cc (on_select_folder): Use Gtk::FileChooserDialog
	instead of the old Gtk::FileSelection.

1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2004-05-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* ui/prefdialog.glade: Removes the <requires lib="gnome"/> line
	that was inserted by buggy glade-2.

2004-05-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filetree.cc: Replace instances of `...' in message strings
	with "...".  Since the translator is supposed to use double-quotes
	it would be confusing to use single quotes in the original string.
	* src/mainwindow.cc: ditto
	* src/prefdialog.cc: ditto.

2004-05-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* ui/mainwindow.glade (button_find_files): Use a custom image and
	label instead of a stock item as button content, so that it can be
	more clearly distinguished from button_find_matches.

2004-05-13  Daniel Elstner  <daniel.elstner@gmx.net>

	* ui/mainwindow.glade: Reintroduce tearoff menu items by manually
	inserting the necessary XML elements.

2004-05-12  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/fileio.cc: Remove the libgnome-vfsmm code already enclosed
	by #if 0 ... #endif.  It's all in the CVS history anyway.
	* src/filetree.cc: ditto.

2004-05-12  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/imagebutton.{cc,h}: Remove files as they're no longer used.
	* src/Makefile.am (regexxer_SOURCES): Remove imagebutton.{cc,h}.

2004-05-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/globalstrings.h (glade_mainwindow_filename): New string.

	* src/mainwindow.{cc,h}: Use libglademm to load the UI at runtime,
	and make the actual Gtk::Window a member of class MainWindow.
	Remove the old UI creation code.

	* src/controller.{cc,h} (Controller::load_xml): The menu bar,
	toolbar and action area is now contained in mainwindow.glade,
	and thus this new method wholly replaces the old code which
	generated those widgets.
	(ControlItem::add_widgets): New helper method intented to help
	reducing the code size.

	* src/filetree.cc (regexxer_create_file_tree): New function.
	* src/statusline.cc (regexxer_create_status_line): New function.

	* src/main.cc (main): Access the Gtk::Window by using the new
	accessor method Regexxer::MainWindow::get_window().

2004-05-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* ui/mainwindow.glade: New file defining the main window's UI.
	* ui/Makefile.am (dist_glade_DATA): Add mainwindow.glade.

2004-05-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/globalstrings.h (glade_aboutdialog_filename): New string.

	* src/aboutdialog.{cc,h}: Use libglademm to load the dialog UI
	at runtime, and replace class AboutDialog by a single create()
	function in namespace Regexxer::AboutDialog.  Remove the old
	UI creation code.

	* src/mainwindow.{cc,h} (MainWindow::about_dialog_): Change type
	to std::auto_ptr<Gtk::Dialog> since AboutDialog no longer exists.
	Replace all references to AboutDialog in the implementation too.
	(MainWindow::on_about): Make use of the new AboutDialog::create().

2004-05-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* ui/aboutdialog.glade: New file defining the UI of the about
	dialog.
	* ui/Makefile.am (dist_glade_DATA): Add aboutdialog.glade.

2004-05-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/prefdialog.cc (PrefDialog::load_xml): Remove superfluous
	sub-block.

2004-05-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/prefdialog.cc (regexxer_create_font_selection_button):
	Add missing parameters to the function signature.
	(regexxer_create_color_selection_button): ditto.

2004-05-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/Makefile.am (global_defines): Define REGEXXER_PKGDATADIR.

	* src/globalstrings.h (glade_prefdialog_filename): New string.

	* src/prefdialog.{cc,h}: Use libglademm to load the dialog UI
	at runtime, and make the actual dialog widget a data member of
	class PrefDialog.  Remove the old UI creation code.

	* src/mainwindow.cc (MainWindow::on_preferences): Use the new
	PrefDialog::get_dialog() accessor to get the actual widget.

2004-05-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* ui: New directory for glade XML files.
	* ui/.cvsignore: New file.
	* ui/Makefile.am: New file.
	* ui/prefdialog.glade: New file defining the UI of the preferences
	dialog.

	* configure.ac (PKG_CHECK_MODULES): Check for libglademm-2.0.
	(AC_CONFIG_FILES): Add ui/Makefile.

	* Makefile.am (SUBDIRS): Add ui.

0.7:

2004-05-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* AUTHORS: Add Murray Cumming.
	* NEWS: Update.

2004-05-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/translation.{cc,h} (sgettext): Ditch the sgettext() approach,
	because it's not likely to be supported by libglade when regexxer
	starts using that at some point.  Until now there are no ambiguous
	messages in regexxer, and we can switch back when the need arises.

	* src/controller.cc: Remove the disambiguing "...|" prefix from all
	translatable messages.
	* src/filebuffer.cc: ditto
	* src/filetree.cc: ditto
	* src/mainwindow.cc: ditto
	* src/prefdialog.cc: ditto
	* src/statusline.cc: ditto.

2004-05-07  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/main.cc (stock_icon_info): Rename to 'stock_icon_about',
	as it should have been called in the first place.  Apparently
	I misinterpreted a change in the German GNOME translation as
	project-wide switch to a new name for "About".  Now I realize
	why Murray changed that string a while ago...

	* src/controller.{cc,h} (Controller::info): Rename to 'about'.
	* src/mainwindow.{cc,h} (MainWindow::on_info): Rename to 'on_about'.

2004-05-06  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/translation.cc (compose_impl): Simplify the loop in order to
	avoid the need for look-ahead via Util::next().

2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/translation.cc (compose_impl): Apparently there's no need
	to use Glib::Unicode::isdigit() since digit_value() is defined to
	return -1 for non-digits anyway.

2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/translation.{cc,h} (compose): Add a set of overloaded utility
	functions to be used to compose a text message from a format string
	and up to three string arguments.  This allows the translator to
	arrange the arguments as required by the language.

	* src/filetree.cc (FileTree::save_file_at_iter): Make use of
	Util::compose() instead of separately piecing strings together.
	Also, translate the format string via gettext().
	(load_file_with_fallback): ditto
	* src/mainwindow.cc (MainWindow::on_exec_search): ditto
	* src/prefdialog.cc (PrefDialog::on_entry_fallback_activate):
	ditto.

2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/miscutils.cc: Compile the runtime check for that gconfmm
	bug only if REGEXXER_ENABLE_GCONFMM_VALUE_HACK is defined, as it
	currently always is.

	* src/main.cc (main): Test for REGEXXER_ENABLE_GCONFMM_VALUE_HACK
	around the call to Util::check_for_broken_gconfmm_value_changed().

2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/translation.{cc,h} (initialize_gettext): New utility
	function to take care of setting up the text domain.

	* src/main.cc (main): Use initialize_gettext().

2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>

	* ABOUT-NLS: Add missing file to fix the build.

	* src/aboutdialog.cc: Translate all user-visible strings except
	for those instances where positional parameter substitution is
	required for proper results.  I'll deal with those ones later.
	* src/controller.cc: ditto
	* src/filebuffer.cc: ditto
	* src/filetree.cc: ditto
	* src/main.cc: ditto
	* src/mainwindow.cc: ditto
	* src/pcreshell.cc: ditto
	* src/prefdialog.cc: ditto
	* src/statusline.cc: ditto.

	* src/translation.h (N_): #define to gettext_noop(s) rather than
	simply (s).  This doesn't actually make a difference but I think
	the intent is clearer that way.

2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>

	Add support for message translation via gettext.

	* po: New directory, containing all the gettext stuff.
	* config.rpath: New file added by gettextize.
	* mkinstalldirs: ditto.

	* Makefile.am (dist_noinst_SCRIPTS): Add config.rpath.

	* autogen.sh: Don't remove mkinstalldirs because it's not
	installed by automake --add-missing, and gettext uses it.
	(WARNINGS): Comment-out in order to reduce the flood of warnings
	triggered by all the old m4 code in system macros.

	* configure.ac: Invoke AM_GNU_GETTEXT().
	(AC_CONFIG_FILES): Add po/Makefile.in.

	* NEWS: Update.

	* src/translation.{cc,h}: New files implementing gettext() support.
	* src/statusline.cc: Translate the label of the "Stop" button.
	* src/main.cc (main): Add code to initialize the text domain.

	* src/Makefile.am (regexxer_SOURCES): Add translation.{cc,h}.

2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/miscutils.{cc,h} (check_for_broken_gconfmm_value_changed):
	Implement a truly evil run-time check for that gconfmm bug.
	Although this one is already fixed in CVS, there's no release out
	yet and for now I wouldn't like regexxer to depend on it anyway.
	(has_broken_gconfmm_value_changed): Provide an accessor function
	to the global flag indicating whether gconfmm is broken.

	* src/main.cc (main): Call check_for_broken_gconfmm_value_changed().

	* configure.ac (REGEXXER_GCONFMM_VALUE_HACK): Make this macro
	call has_broken_gconfmm_value_changed() to determine whether the
	work-around has to be applied.

2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>

	* src/filebuffer.cc (FileBuffer::replace_match): Invoke on_insert()
	directly in case of empty-by-empty replace in order to avoid this
	nasty special-case where a FileBufferActionRemoveMatch object in
	the stack is not followed by either an insert or an erase action.
	This finally fixes the last one of undo system bugs known to me.

2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>