Hi,
Peter, very thanks for your feedback.
In <Pine.LNX.4.55.0507172309490.5175@localhost.localdomain>
"Re: svn commit: r15343 - in trunk/subversion: libsvn_subr" on Sun, 17 Jul 2005 23:40:54 +0200 (CEST),
"Peter N. Lundblad" <peter@famlundblad.se> wrote:
> > Extract NLS initialization code from svn_cmdline_init.
> >
> > * subversion/libsvn_subr/nls.c
> > (svn_nls_environment_init): Initialize NLS environment.
> > (svn_nls_init): Initialize NLS environment and set up
> > text domain.
> >
> These are new functions. YOu should say so in the log.
Is the following new log message OK?
[[[
Extract NLS initialization code from svn_cmdline_init.
* subversion/libsvn_subr/nls.c: New file.
(svn_nls_environment_init): New function.
Initialize NLS environment.
(svn_nls_init): New function.
Initialize NLS environment and set up text domain.
* subversion/include/svn_nls.h: New file.
...
]]]
> > Added: trunk/subversion/include/svn_nls.h
...
I attached the patch applied your many comments. Could you
check this?
> > +svn_error_t *svn_nls_environment_init (void);
...
> > +svn_error_t *svn_nls_init (void);
>
> OK. So why do we need both these functions? Becuase the last one also
> calls textdomain, which sets the default text domain to subversion. Does
> this one-liner really deserve a public API? AFAICT we're relying on the
> default text domain in two places in cmdline/cmdline (and I didn't find
> any place in the other cmdline programs we have). Can we change those two
> places from
> gettext(...)
> to
> dgettext(PACKGE_NAME, ...)
> we can stop using plain gettext and get rid of that textdomain() call.
It seems that getting rid of textdomain() is good idea.
I think the changes for doing this is just only replace
gettext(...) by _(...). Because _(...) macro is defined as
dgettext(PACKAGE_NAME, ...) in
subversion/svn_private_config.h{w,.in}.
Cheers,
--
kou
Index: subversion/include/svn_nls.h
===================================================================
--- subversion/include/svn_nls.h (revision 15353)
+++ subversion/include/svn_nls.h (working copy)
@@ -29,24 +29,28 @@
#endif /* __cplusplus */
/** Set up the NLS environment.
- * Return the error @c APR_EINVAL or APR_INCOMPLETE if an
+ * Return the error @c APR_EINVAL or @c APR_INCOMPLETE if an
* error occurs.
*
* @note This function is for bindings. You should usually
- * use @c svn_cmdline_init() instead of calling this
+ * use svn_cmdline_init() instead of calling this
* function directly. This function should be called
* after initializing APR.
+ *
+ * @since New in 1.3.
*/
svn_error_t *svn_nls_environment_init (void);
/** Set up the NLS which includes NLS environment set up.
- * Return the error @c APR_EINVAL or APR_INCOMPLETE if an
+ * Return the error @c APR_EINVAL or @c APR_INCOMPLETE if an
* error occurs.
*
* @note This function is for bindings. You should usually
- * use @c svn_cmdline_init() instead of calling this
+ * use svn_cmdline_init() instead of calling this
* function directly. This function should be called
* after initializing APR.
+ *
+ * @since New in 1.3.
*/
svn_error_t *svn_nls_init (void);
Index: subversion/libsvn_subr/cmdline.c
===================================================================
--- subversion/libsvn_subr/cmdline.c (revision 15353)
+++ subversion/libsvn_subr/cmdline.c (working copy)
@@ -164,13 +164,13 @@
svn_utf_initialize (pool);
{
- svn_error_t *error = svn_nls_init();
- if (error)
+ svn_error_t *err = svn_nls_init();
+ if (err)
{
- if (error_stream)
- fprintf(error_stream, "%s", error->message);
+ if (error_stream && err->message)
+ fprintf (error_stream, "%s", err->message);
- svn_error_clear(error);
+ svn_error_clear (err);
return EXIT_FAILURE;
}
}
Index: subversion/libsvn_subr/nls.c
===================================================================
--- subversion/libsvn_subr/nls.c (revision 15353)
+++ subversion/libsvn_subr/nls.c (working copy)
@@ -36,7 +36,7 @@
svn_error_t *
svn_nls_environment_init (void)
{
- svn_error_t *error = SVN_NO_ERROR;
+ svn_error_t *err = SVN_NO_ERROR;
#ifdef ENABLE_NLS
#ifdef WIN32
@@ -64,7 +64,7 @@
MultiByteToWideChar (CP_ACP, 0, ansi_path, -1, ucs2_path,
sizeof (ucs2_path) / sizeof (ucs2_path[0]));
if (! inwords) {
- error =
+ err =
svn_error_createf(APR_EINVAL, NULL,
_("Can't convert string to UCS-2: '%s'"),
ansi_path);
@@ -72,12 +72,12 @@
}
else
{
- error = svn_error_create(APR_EINVAL, NULL,
- _("Can't get module file name"));
+ err = svn_error_create(APR_EINVAL, NULL,
+ _("Can't get module file name"));
}
}
- if (error == SVN_NO_ERROR)
+ if (err == SVN_NO_ERROR)
{
outbytes = outlength = 3 * (inwords + 1);
utf8_path = apr_palloc (pool, outlength);
@@ -87,10 +87,10 @@
apr_err = APR_INCOMPLETE;
if (apr_err)
{
- error = svn_error_create(apr_err, NULL,
- _("Can't convert module path "
- "to UTF-8 from UCS-2: '%s'"),
- ucs2_path);
+ err = svn_error_create(apr_err, NULL,
+ _("Can't convert module path "
+ "to UTF-8 from UCS-2: '%s'"),
+ ucs2_path);
}
else
{
@@ -114,7 +114,7 @@
#endif
#endif
- return error;
+ return err;
}
svn_error_t *
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jul 18 05:15:03 2005