]> git.lyx.org Git - lyx.git/blobdiff - src/BufferParams.cpp
Kornel's gcc compile fix.
[lyx.git] / src / BufferParams.cpp
index 90c2a187d666a6fa2475cca151d113f2ea16f35f..f369c8d6d9cbdf03d67c3cf520ec2c45edc3a5ce 100644 (file)
@@ -644,7 +644,6 @@ string BufferParams::readToken(Lexer & lex, string const & token,
                                if (branch_ptr)
                                        branch_ptr->setFilenameSuffix(lex.getInteger());
                        }
-                       // not yet operational
                        if (tok == "\\color") {
                                lex.eatLine();
                                string color = lex.getString();
@@ -660,6 +659,7 @@ string BufferParams::readToken(Lexer & lex, string const & token,
        } else if (token == "\\index") {
                lex.eatLine();
                docstring index = lex.getDocString();
+               docstring shortcut;
                indiceslist().add(index);
                while (true) {
                        lex.next();
@@ -669,10 +669,10 @@ string BufferParams::readToken(Lexer & lex, string const & token,
                        Index * index_ptr = indiceslist().find(index);
                        if (tok == "\\shortcut") {
                                lex.next();
+                               shortcut = lex.getDocString();
                                if (index_ptr)
-                                       index_ptr->setShortcut(lex.getDocString());
+                                       index_ptr->setShortcut(shortcut);
                        }
-                       // not yet operational
                        if (tok == "\\color") {
                                lex.eatLine();
                                string color = lex.getString();
@@ -682,7 +682,8 @@ string BufferParams::readToken(Lexer & lex, string const & token,
                                if (color == "none")
                                        color = lcolor.getX11Name(Color_background);
                                // FIXME UNICODE
-                               lcolor.setColor(to_utf8(index), color);
+                               if (!shortcut.empty())
+                                       lcolor.setColor(to_utf8(shortcut), color);
                        }
                }
        } else if (token == "\\author") {
@@ -1463,10 +1464,6 @@ bool BufferParams::writeLaTeX(odocstream & os, LaTeXFeatures & features,
        // Line spacing
        lyxpreamble += from_utf8(spacing().writePreamble(tclass.provides("SetSpace")));
 
-       // date
-       if (suppress_date)
-               lyxpreamble += "\\date{}\n";
-
        // PDF support.
        // * Hyperref manual: "Make sure it comes last of your loaded
        //   packages, to give it a fighting chance of not being over-written,
@@ -1500,6 +1497,12 @@ bool BufferParams::writeLaTeX(odocstream & os, LaTeXFeatures & features,
                        "Textclass specific LaTeX commands.\n"
                        + tmppreamble + '\n';
 
+       // suppress date if selected
+       // use \@ifundefined because we cannot be sure that every document class
+       // has a \date command
+       if (suppress_date)
+               atlyxpreamble += "\\@ifundefined{date}{}{\\date{}}\n";
+
        /* the user-defined preamble */
        if (!containsOnly(preamble, " \n\t"))
                // FIXME UNICODE