]> git.donarmstrong.com Git - lilypond.git/commitdiff
Message-handling: Make the Input class use the functions in warn.cc
authorReinhold Kainhofer <reinhold@kainhofer.com>
Sun, 18 Sep 2011 00:09:41 +0000 (02:09 +0200)
committerReinhold Kainhofer <reinhold@kainhofer.com>
Fri, 23 Sep 2011 16:46:22 +0000 (18:46 +0200)
This allows us to handle all warnings/error really similar in warn.cc.
For example, we can then simply suppress some warnings by only checking
in warn.cc. This patch makes the whole handling much more consistent,
as now everything is in warn.cc

lily/include/input.hh
lily/input.cc

index 91c15df3299dba369b234c1e2de9d84ff0ffb1f0..c319de0829e8c425b2c66a5b24ca77da88d91df9 100644 (file)
@@ -62,7 +62,8 @@ public:
   Input (Input const &i);
   Input ();
 protected:
-  void print_message (int level, string s) const;
+  string message_location () const;
+  string message_string (string msg) const;
 };
 
 #include "smobs.hh"
index 292e06a44950fc623eab74d985faacd6f9534a39..28923f49481efd792eb93a9e67d210ec8b970820 100644 (file)
@@ -78,21 +78,24 @@ Input::set_location (Input const &i_start, Input const &i_end)
 
   [file:line:column:][warning:]message
 */
-void
-Input::print_message (int level, string s) const
+string
+Input::message_string (string msg) const
 {
-  string location;
   if (source_file_)
-    ::print_message (level, location_string (),
-                     s + "\n" + source_file_->quote_input (start_) + "\n");
+    return msg + "\n" + source_file_->quote_input (start_);
   else
-    ::print_message (level, "", s);
+    return msg;
 }
 
+string
+Input::message_location () const
+{
+  return (source_file_) ? location_string () : "";
+}
 void
 Input::error (string s) const
 {
-  print_message (LOG_ERROR, _f ("error: %s", s));
+  ::non_fatal_error (message_string (s), message_location ());
   // UGH, fix naming or usage (use non_fatal_error in most places, instead)
   // exit (1);
 }
@@ -101,39 +104,36 @@ void
 Input::programming_error (string s) const
 {
   if (get_program_option ("warning-as-error"))
-    error (s);
+    ::error (message_string (s), message_location ());
   else
-    {
-      print_message (LOG_ERROR, _f ("programming error: %s", s));
-      print_message (LOG_ERROR, _ ("continuing, cross fingers") + "\n");
-    }
+    ::programming_error (message_string (s), message_location ());
 }
 
 void
 Input::non_fatal_error (string s) const
 {
-  print_message (LOG_ERROR, _f ("error: %s", s));
+  ::non_fatal_error (message_string (s), message_location ());
 }
 
 void
 Input::warning (string s) const
 {
   if (get_program_option ("warning-as-error"))
-    error (s);
+    ::non_fatal_error (message_string (s), message_location ());
   else
-    print_message (LOG_WARN, _f ("warning: %s", s));
+    ::warning (message_string (s), message_location ());
 }
 
 void
 Input::message (string s) const
 {
-  print_message (LOG_INFO, s);
+  ::message (message_string (s), true, message_location ());
 }
 
 void
 Input::debug_output (string s) const
 {
-  print_message (LOG_DEBUG, s);
+  ::debug_output (message_string (s), true, message_location ());
 }
 
 string