Patchwork Use _() in calls to build_help

login
register
mail settings
Submitter Tom Tromey
Date Aug. 2, 2019, 2:15 p.m.
Message ID <20190802141519.20019-1-tromey@adacore.com>
Download mbox | patch
Permalink /patch/33920/
State New
Headers show

Comments

Tom Tromey - Aug. 2, 2019, 2:15 p.m.
Currently some code in gdb uses build_help with N_(), like:

  static const std::string compile_print_help
    = gdb::option::build_help (N_("\

I believe this is incorrect.  The N_ macro is used to mark text that
should end up in the message catalog, but which will be translated by
a later call to gettext.

However, in this case, there is no later call to gettext, so (if gdb
had translations), this text would remain untranslated.

Instead, I think using the ordinary _() macro is correct here.
Translators will have to know to preserve "%OPTIONS%" in the text --
but that seems both unavoidable and fine.

Tested by rebuilding as there's not much else to do.

gdb/ChangeLog
2019-08-02  Tom Tromey  <tromey@adacore.com>

	* compile/compile.c (_initialize_compile): Use _(), not N_().
	* thread.c (_initialize_thread): Use _(), not N_().
	* stack.c (_initialize_stack): Use _(), not N_().
	* printcmd.c (_initialize_printcmd): Use _(), not N_().
---
 gdb/ChangeLog         | 7 +++++++
 gdb/compile/compile.c | 6 +++---
 gdb/printcmd.c        | 2 +-
 gdb/stack.c           | 8 ++++----
 gdb/thread.c          | 4 ++--
 5 files changed, 17 insertions(+), 10 deletions(-)
Kevin Buettner - Aug. 2, 2019, 10:37 p.m.
On Fri,  2 Aug 2019 08:15:19 -0600
Tom Tromey <tromey@adacore.com> wrote:

> Currently some code in gdb uses build_help with N_(), like:
> 
>   static const std::string compile_print_help
>     = gdb::option::build_help (N_("\
> 
> I believe this is incorrect.  The N_ macro is used to mark text that
> should end up in the message catalog, but which will be translated by
> a later call to gettext.
> 
> However, in this case, there is no later call to gettext, so (if gdb
> had translations), this text would remain untranslated.
> 
> Instead, I think using the ordinary _() macro is correct here.
> Translators will have to know to preserve "%OPTIONS%" in the text --
> but that seems both unavoidable and fine.
> 
> Tested by rebuilding as there's not much else to do.
> 
> gdb/ChangeLog
> 2019-08-02  Tom Tromey  <tromey@adacore.com>
> 
> 	* compile/compile.c (_initialize_compile): Use _(), not N_().
> 	* thread.c (_initialize_thread): Use _(), not N_().
> 	* stack.c (_initialize_stack): Use _(), not N_().
> 	* printcmd.c (_initialize_printcmd): Use _(), not N_().

LGTM.

Kevin
Tom Tromey - Aug. 5, 2019, 5:04 p.m.
>> gdb/ChangeLog
>> 2019-08-02  Tom Tromey  <tromey@adacore.com>
>> 
>> * compile/compile.c (_initialize_compile): Use _(), not N_().
>> * thread.c (_initialize_thread): Use _(), not N_().
>> * stack.c (_initialize_stack): Use _(), not N_().
>> * printcmd.c (_initialize_printcmd): Use _(), not N_().

Kevin> LGTM.

Thanks, I checked it in.

Tom

Patch

diff --git a/gdb/compile/compile.c b/gdb/compile/compile.c
index 4c0721daa67..1c0513ae97e 100644
--- a/gdb/compile/compile.c
+++ b/gdb/compile/compile.c
@@ -971,7 +971,7 @@  Command to compile source code and inject it into the inferior."),
   const auto compile_opts = make_compile_options_def_group (nullptr);
 
   static const std::string compile_code_help
-    = gdb::option::build_help (N_("\
+    = gdb::option::build_help (_("\
 Compile, inject, and execute code.\n\
 \n\
 Usage: compile code [OPTION]... [CODE]\n\
@@ -994,7 +994,7 @@  indicate the end of the expression."),
   set_cmd_completer_handle_brkchars (c, compile_code_command_completer);
 
 static const std::string compile_file_help
-    = gdb::option::build_help (N_("\
+    = gdb::option::build_help (_("\
 Evaluate a file containing source code.\n\
 \n\
 Usage: compile file [OPTION].. [FILENAME]\n\
@@ -1011,7 +1011,7 @@  Options:\n\
   const auto compile_print_opts = make_value_print_options_def_group (nullptr);
 
   static const std::string compile_print_help
-    = gdb::option::build_help (N_("\
+    = gdb::option::build_help (_("\
 Evaluate EXPR by using the compiler and print result.\n\
 \n\
 Usage: compile print [[OPTION]... --] [/FMT] [EXPR]\n\
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index 1faa09eee71..0c368a6f6d8 100644
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -2848,7 +2848,7 @@  This may usually be abbreviated to simply \"set\"."),
 
   const auto print_opts = make_value_print_options_def_group (nullptr);
 
-  static const std::string print_help = gdb::option::build_help (N_("\
+  static const std::string print_help = gdb::option::build_help (_("\
 Print value of expression EXP.\n\
 Usage: print [[OPTION]... --] [/FMT] [EXP]\n\
 \n\
diff --git a/gdb/stack.c b/gdb/stack.c
index 7833ca4aeb6..0dd7057fe1f 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -3275,7 +3275,7 @@  Options:\n\
   const auto frame_apply_opts
     = make_frame_apply_options_def_group (nullptr, nullptr);
 
-  static std::string frame_apply_cmd_help = gdb::option::build_help (N_("\
+  static std::string frame_apply_cmd_help = gdb::option::build_help (_("\
 Apply a command to a number of frames.\n\
 Usage: frame apply COUNT [OPTION]... COMMAND\n\
 With a negative COUNT argument, applies the command on outermost -COUNT frames.\n"
@@ -3288,7 +3288,7 @@  With a negative COUNT argument, applies the command on outermost -COUNT frames.\
 			&frame_cmd_list);
   set_cmd_completer_handle_brkchars (cmd, frame_apply_cmd_completer);
 
-  static std::string frame_apply_all_cmd_help = gdb::option::build_help (N_("\
+  static std::string frame_apply_all_cmd_help = gdb::option::build_help (_("\
 Apply a command to all frames.\n\
 \n\
 Usage: frame apply all [OPTION]... COMMAND\n"
@@ -3300,7 +3300,7 @@  Usage: frame apply all [OPTION]... COMMAND\n"
 		 &frame_apply_cmd_list);
   set_cmd_completer_handle_brkchars (cmd, frame_apply_all_cmd_completer);
 
-  static std::string frame_apply_level_cmd_help = gdb::option::build_help (N_("\
+  static std::string frame_apply_level_cmd_help = gdb::option::build_help (_("\
 Apply a command to a list of frames.\n\
 \n\
 Usage: frame apply level LEVEL... [OPTION]... COMMAND\n\
@@ -3407,7 +3407,7 @@  Usage: select-frame level LEVEL"),
     = make_backtrace_options_def_group (nullptr, nullptr, nullptr);
 
   static std::string backtrace_help
-    = gdb::option::build_help (N_("\
+    = gdb::option::build_help (_("\
 Print backtrace of all stack frames, or innermost COUNT frames.\n\
 Usage: backtrace [OPTION]... [QUALIFIER]... [COUNT | -COUNT]\n\
 \n\
diff --git a/gdb/thread.c b/gdb/thread.c
index 485c996e146..4a7fe689dbb 100644
--- a/gdb/thread.c
+++ b/gdb/thread.c
@@ -2150,7 +2150,7 @@  Options:\n\
 
   const auto thread_apply_opts = make_thread_apply_options_def_group (nullptr);
 
-  static std::string thread_apply_help = gdb::option::build_help (N_("\
+  static std::string thread_apply_help = gdb::option::build_help (_("\
 Apply a command to a list of threads.\n\
 Usage: thread apply ID... [OPTION]... COMMAND\n\
 ID is a space-separated list of IDs of threads to apply COMMAND on.\n"
@@ -2166,7 +2166,7 @@  THREAD_APPLY_OPTION_HELP),
   const auto thread_apply_all_opts
     = make_thread_apply_all_options_def_group (nullptr, nullptr);
 
-  static std::string thread_apply_all_help = gdb::option::build_help (N_("\
+  static std::string thread_apply_all_help = gdb::option::build_help (_("\
 Apply a command to all threads.\n\
 \n\
 Usage: thread apply all [OPTION]... COMMAND\n"