Am 07.01.2010 00:08, schrieb Uwe Stöhr:

This is the third one:

- code simplification: don't evaluate synonym languages at three different places. Do this right before writing the LyX file header.

regards Uwe
Index: preamble.cpp
===================================================================
--- preamble.cpp	(revision 32820)
+++ preamble.cpp	(working copy)
@@ -313,24 +313,6 @@
 		// last language in the documentclass options is used.
 		handle_opt(options, known_languages, h_language);
 		delete_opt(options, known_languages);
-		if (is_known(h_language, known_brazilian_languages))
-			h_language = "brazilian";
-		else if (is_known(h_language, known_french_languages))
-			h_language = "french";
-		else if (is_known(h_language, known_german_languages))
-			h_language = "german";
-		else if (is_known(h_language, known_ngerman_languages))
-			h_language = "ngerman";
-		else if (is_known(h_language, known_portuguese_languages))
-			h_language = "portuguese";
-		else if (is_known(h_language, known_russian_languages))
-			h_language = "russian";
-		else if (is_known(h_language, known_ukrainian_languages))
-			h_language = "ukrainian";
-		h_quotes_language = h_language;
-		// there is only the quotes language "german"
-		if (h_quotes_language == "ngerman")
-			h_quotes_language = "german";
 	}
 
 	else if (name == "fontenc")
@@ -391,28 +373,8 @@
 		; // Ignore this, the geometry settings are made by the \geometry
 		  // command. This command is handled below.
 
-	else if (is_known(name, known_languages)) {
-		if (is_known(h_language, known_brazilian_languages))
-				h_language = "brazilian";
-		else if (is_known(name, known_french_languages))
-			h_language = "french";
-		else if (is_known(name, known_german_languages))
-			h_language = "german";
-		else if (is_known(name, known_ngerman_languages))
-			h_language = "ngerman";
-		else if (is_known(h_language, known_portuguese_languages))
-				h_language = "portuguese";
-		else if (is_known(name, known_russian_languages))
-			h_language = "russian";
-		else if (is_known(name, known_ukrainian_languages))
-			h_language = "ukrainian";
-		else
-			h_language = name;
-		h_quotes_language = h_language;
-		// there is only the quotes language "german"
-		if (h_quotes_language == "ngerman")
-			h_quotes_language = "german";
-	}
+	else if (is_known(name, known_languages))
+		h_language = name;
 
 	else if (name == "natbib") {
 		h_cite_engine = "natbib_authoryear";
@@ -455,6 +417,21 @@
 
 void end_preamble(ostream & os, TextClass const & /*textclass*/)
 {
+	// merge synonym languages
+	if (is_known(h_language, known_brazilian_languages))
+		h_language = "brazilian";
+	else if (is_known(h_language, known_french_languages))
+		h_language = "french";
+	else if (is_known(h_language, known_german_languages))
+		h_language = "german";
+	else if (is_known(h_language, known_ngerman_languages))
+		h_language = "ngerman";
+	else if (is_known(h_language, known_portuguese_languages))
+		h_language = "portuguese";
+	else if (is_known(h_language, known_russian_languages))
+		h_language = "russian";
+	else if (is_known(h_language, known_ukrainian_languages))
+		h_language = "ukrainian";
 	os << "#LyX file created by tex2lyx " << PACKAGE_VERSION << "\n"
 	   << "\\lyxformat 264\n"
 	   << "\\begin_document\n"
@@ -657,21 +634,7 @@
 			// options.
 			handle_opt(opts, known_languages, h_language);
 			delete_opt(opts, known_languages);
-			if (is_known(h_language, known_brazilian_languages))
-				h_language = "brazilian";
-			else if (is_known(h_language, known_french_languages))
-				h_language = "french";
-			else if (is_known(h_language, known_german_languages))
-				h_language = "german";
-			else if (is_known(h_language, known_ngerman_languages))
-				h_language = "ngerman";
-			else if (is_known(h_language, known_portuguese_languages))
-				h_language = "portuguese";
-			else if (is_known(h_language, known_russian_languages))
-				h_language = "russian";
-			else if (is_known(h_language, known_ukrainian_languages))
-				h_language = "ukrainian";
-			h_quotes_language = h_language;
+			
 			// paper orientation
 			if ((it = find(opts.begin(), opts.end(), "landscape")) != opts.end()) {
 				h_paperorientation = "landscape";

Reply via email to