The branch, master, has been updated.

- Log -----------------------------------------------------------------

commit ef94c42383258d841a1bd7d3d7dd7453f6bdef08
Author: Uwe Stöhr <[email protected]>
Date:   Tue May 14 02:26:22 2013 +0200

    GuiMathMatrix.cpp: remove an unused header
    
    - sorry, I accidentally added it in the last commit

diff --git a/src/frontends/qt4/GuiMathMatrix.cpp 
b/src/frontends/qt4/GuiMathMatrix.cpp
index cce00c2..8106629 100644
--- a/src/frontends/qt4/GuiMathMatrix.cpp
+++ b/src/frontends/qt4/GuiMathMatrix.cpp
@@ -19,7 +19,6 @@
 #include "FuncRequest.h"
 
 #include "support/gettext.h"
-#include "support/docstring.h"
 
 #include <QLineEdit>
 #include <QPushButton>

commit 4b7fd9fea2729e53dce415f9310c332cc193dcfd
Author: Uwe Stöhr <[email protected]>
Date:   Tue May 14 02:19:43 2013 +0200

    GuiMathMatrix.cpp: fix bug #7049
    
    - we should not fill the dialog comboBoxes in the .ui-files

diff --git a/src/frontends/qt4/GuiMathMatrix.cpp 
b/src/frontends/qt4/GuiMathMatrix.cpp
index 8cc8089..cce00c2 100644
--- a/src/frontends/qt4/GuiMathMatrix.cpp
+++ b/src/frontends/qt4/GuiMathMatrix.cpp
@@ -18,6 +18,9 @@
 
 #include "FuncRequest.h"
 
+#include "support/gettext.h"
+#include "support/docstring.h"
+
 #include <QLineEdit>
 #include <QPushButton>
 #include <QSpinBox>
@@ -27,6 +30,35 @@ using namespace std;
 namespace lyx {
 namespace frontend {
 
+static char const * const DecoChars[] = {
+       N_("None"),
+       N_("[x]"),
+       N_("(x)"),
+       N_("{x}"),
+       N_("|x|"),
+       N_("||x||"),
+       ""
+};
+
+static char const * const DecoNames[] = {
+       N_("bmatrix"),
+       N_("pmatrix"),
+       N_("Bmatrix"),
+       N_("vmatrix"),
+       N_("Vmatrix"),
+       ""
+};
+
+static char const * const VertAligns[] = {
+       N_("Top"),
+       N_("Middle"),
+       N_("Bottom"),
+       ""
+};
+
+static char const v_align_c[] = "tcb";
+
+
 GuiMathMatrix::GuiMathMatrix(GuiView & lv)
        : GuiDialog(lv, "mathmatrix", qt_("Math Matrix"))
 {
@@ -60,6 +92,11 @@ GuiMathMatrix::GuiMathMatrix(GuiView & lv)
        connect(decorationCO, SIGNAL(activated(int)),
                this, SLOT(decorationChanged(int)));
 
+       for (int i = 0; *VertAligns[i]; ++i)
+               valignCO->addItem(qt_(VertAligns[i]));
+       for (int i = 0; *DecoChars[i]; ++i)
+               decorationCO->addItem(qt_(DecoChars[i]));
+
        bc().setPolicy(ButtonPolicy::IgnorantPolicy);
 }
 
@@ -96,7 +133,6 @@ void GuiMathMatrix::slotOK()
        // otherwise it is an AMS matrix
        // decorated matrices cannot have a vertical alignment
        
-       char v_align_c[] = "tcb";
        char const c = v_align_c[valignCO->currentIndex()];
        QString const sh = halignED->text();
        string const str = fromqstr(
@@ -104,25 +140,7 @@ void GuiMathMatrix::slotOK()
 
        if (decorationCO->currentIndex() != 0) {
                int const deco = decorationCO->currentIndex();
-               QString deco_name;
-               // FIXME This is very dangerous way of coding.
-               // The order is defined in .ui file and anybody who will touch 
it
-               // will destroy the whole math decorations machinery.
-               // For better way look on MathDelimiter Size-combo solution and 
biggui[] array.
-               // Similarly for the v_align_c stuff -- at least we should push 
it into
-               // constructor and have it in one file...
-               switch (deco) {
-                       case 1: deco_name = "bmatrix";
-                               break;
-                       case 2: deco_name = "pmatrix";
-                               break;
-                       case 3: deco_name = "Bmatrix";
-                               break;
-                       case 4: deco_name = "vmatrix";
-                               break;
-                       case 5: deco_name = "Vmatrix";
-                               break;
-               }
+               QString deco_name = DecoNames[deco - 1];
                // only if a special alignment is set create a 1x1 AMS array in 
which
                // a normal array will be created, otherwise create just a 
normal AMS array
                if (sh.contains('l') || sh.contains('r')) {
diff --git a/src/frontends/qt4/ui/MathMatrixUi.ui 
b/src/frontends/qt4/ui/MathMatrixUi.ui
index 932d89b..0ff1a0a 100644
--- a/src/frontends/qt4/ui/MathMatrixUi.ui
+++ b/src/frontends/qt4/ui/MathMatrixUi.ui
@@ -1,4 +1,5 @@
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
  <class>MathMatrixUi</class>
  <widget class="QDialog" name="MathMatrixUi">
   <property name="geometry">
@@ -162,21 +163,6 @@
         <property name="toolTip">
          <string>Vertical alignment</string>
         </property>
-        <item>
-         <property name="text">
-          <string>Top</string>
-         </property>
-        </item>
-        <item>
-         <property name="text">
-          <string>Middle</string>
-         </property>
-        </item>
-        <item>
-         <property name="text">
-          <string>Bottom</string>
-         </property>
-        </item>
        </widget>
       </item>
       <item row="0" column="0">
@@ -242,36 +228,6 @@
         <property name="toolTip">
          <string>decoration type / matrix border</string>
         </property>
-        <item>
-         <property name="text">
-          <string>None</string>
-         </property>
-        </item>
-        <item>
-         <property name="text">
-          <string>[x]</string>
-         </property>
-        </item>
-        <item>
-         <property name="text">
-          <string>(x)</string>
-         </property>
-        </item>
-        <item>
-         <property name="text">
-          <string>{x}</string>
-         </property>
-        </item>
-        <item>
-         <property name="text">
-          <string>|x|</string>
-         </property>
-        </item>
-        <item>
-         <property name="text">
-          <string>||x||</string>
-         </property>
-        </item>
        </widget>
       </item>
      </layout>

commit 813c00a21f99ccc584f650ee82b81b6ea5d8055e
Author: Vincent van Ravesteijn <[email protected]>
Date:   Mon May 13 12:47:22 2013 +0200

    Use [[Context]] for the msgid of some strings

diff --git a/src/LyX.cpp b/src/LyX.cpp
index a8849ca..e678e98 100644
--- a/src/LyX.cpp
+++ b/src/LyX.cpp
@@ -1066,7 +1066,7 @@ int parse_version(string const &, string const &, string 
&)
 {
        cout << "LyX " << lyx_version
               << " (" << lyx_release_date << ")" << endl;
-       cout << to_utf8(bformat(_("Built on %1$s, %2$s"),
+       cout << to_utf8(bformat(_("Built on %1$s[[date]], %2$s[[time]]"),
                from_ascii(__DATE__), from_ascii(__TIME__))) << endl;
 
        cout << lyx_version_info << endl;
diff --git a/src/frontends/qt4/GuiAbout.cpp b/src/frontends/qt4/GuiAbout.cpp
index acabad2..8ceed8f 100644
--- a/src/frontends/qt4/GuiAbout.cpp
+++ b/src/frontends/qt4/GuiAbout.cpp
@@ -138,7 +138,7 @@ static QString buildinfo()
        QTextStream out(&res);
        out << "LyX " << lyx_version
                << " (" << lyx_release_date << ")" << endl;
-       out << toqstr(bformat(_("Built on %1$s, %2$s"),
+       out << toqstr(bformat(_("Built on %1$s[[date]], %2$s[[time]]"),
                from_ascii(__DATE__), from_ascii(__TIME__))) << endl;
 
        out << lyx_version_info << endl;

commit fec57fe959dd4897a37281d85a1ba8ef85f78912
Author: Vincent van Ravesteijn <[email protected]>
Date:   Mon May 13 12:46:33 2013 +0200

    Implement the use of [[Context]] for placeholders
    
    When placeholders are used, the context can indicate what will be
    substituted for the placeholder (e.g. "%1$s[[date]], %1$s[[time]]).

diff --git a/README.localization b/README.localization
index 52280f9..2f77eec 100644
--- a/README.localization
+++ b/README.localization
@@ -71,8 +71,9 @@ appear in your translations! Please take them exactly as they 
are or you may
 experience crashes when running LyX.
 
 [[Context]] is used to distinguish otherwise identical strings, which could
-have different translations depending on the Context. [[Context]] appears only
-in msgid string and should not be repeated in the translated version.
+have different translations depending on the Context. It can also be used to
+indicate what is substituted for a placeholder. [[Context]] appears only in
+msgid string and should not be repeated in the translated version.
 
 {} refer to counters and must not be translated. An example would be:
 msgid "Algorithm \\arabic{theorem}"
diff --git a/src/support/Messages.cpp b/src/support/Messages.cpp
index ea6ec0d..5c8d45f 100644
--- a/src/support/Messages.cpp
+++ b/src/support/Messages.cpp
@@ -34,17 +34,26 @@ void cleanTranslation(docstring & trans)
          Some english words have different translations, depending on
          context. In these cases the original string is augmented by
          context information (e.g. "To:[[as in 'From page x to page
-         y']]" and "To:[[as in 'From format x to format y']]". This
-         means that we need to filter out everything in double square
-         brackets at the end of the string, otherwise the user sees
-         bogus messages. If we are unable to honour the request we
-         just return what we got in.
+         y']]" and "To:[[as in 'From format x to format y']]". Also, 
+         when placeholders are used, the context can indicate what will
+         be substituted for the placeholder (e.g. "%1$s[[date]], %1$s
+         [[time]]). This means that we need to filter out everything 
+         in double square brackets at the end of the string, otherwise
+         the user sees bogus messages. If we are unable to honour the
+         request we just return what we got in.
        */
-       size_t const pos1 = trans.find(from_ascii("[["));
-       if (pos1 != docstring::npos) {
-               size_t const pos2 = trans.find(from_ascii("]]"), pos1);
-               if (pos2 != docstring::npos) 
-                       trans.erase(pos1, pos2 - pos1 + 2);
+       static docstring const ctx_start = from_ascii("[[");
+       static docstring const ctx_end = from_ascii("]]");
+       while (true) {
+               size_t const pos1 = trans.find(ctx_start);
+               if (pos1 != docstring::npos) {
+                       size_t const pos2 = trans.find(ctx_end, pos1);
+                       if (pos2 != docstring::npos) {
+                               trans.erase(pos1, pos2 - pos1 + 2);
+                               continue;
+                       }
+               }
+               break;
        }
 }
 

commit b79c88034edaa6cc256c8869820b5d8f943d3bbf
Author: Georg Baum <[email protected]>
Date:   Mon May 13 21:53:28 2013 +0200

    Add test for Layout::write()
    
    When running the test, you'll get the following messages:
    
    Testing ../../src/../lib/layouts/siamltex.layout...
    Layout.cpp (268): Cannot copy unknown style `Enumerate'
    Testing ../../src/../lib/layouts/svglobal.layout...
    Cannot delete style `Dedication'
    Testing ../../src/../lib/layouts/svjog.layout...
    Cannot delete style `Dedication'
    Testing ../../src/../lib/layouts/svprobth.layout...
    Cannot delete style `Dedication'
    
    These are no errors of Layout::write(), but they indicate problems in the
    definition of the layout files.
    
    Kornel, it would be nice if you could do the cmake part.

diff --git a/src/Layout.cpp b/src/Layout.cpp
index b48b764..5ac163a 100644
--- a/src/Layout.cpp
+++ b/src/Layout.cpp
@@ -1478,7 +1478,7 @@ void Layout::makeDefaultCSS() const
        }
 
 // tex2lyx does not see output_xhtml.cpp
-#ifndef TEX2LYX
+#ifndef NO_LAYOUT_CSS
        // alignment
        string where = alignmentToCSS(align);
        if (!where.empty()) {
diff --git a/src/Makefile.am b/src/Makefile.am
index bdf0c7b..780b710 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -666,3 +666,38 @@ else
 liblyxinsets_a_SOURCES = $(SOURCEFILESINSETS) $(HEADERFILESINSETS)
 
 endif
+
+
+############################## Tests ##################################
+
+EXTRA_DIST += \
+       tests/test_Layout
+
+
+TESTS = \
+       tests/test_Layout
+
+check_PROGRAMS = \
+       check_Layout
+
+check_Layout_CPPFLAGS = $(AM_CPPFLAGS) -DNO_LAYOUT_CSS
+check_Layout_LDADD = support/liblyxsupport.a $(INTLLIBS) $(LIBICONV) 
$(BOOST_LIBS) @LIBS@ $(QT4_CORE_LIBS) $(LIBSHLWAPI)
+# need to allow multiple definitions of _() (see dummy_functions.cpp)
+check_Layout_LDFLAGS = $(QT4_CORE_LDFLAGS) -Wl,--allow-multiple-definition
+check_Layout_SOURCES = \
+       insets/InsetLayout.cpp \
+       Color.cpp \
+       Counters.cpp \
+       Floating.cpp \
+       FloatList.cpp \
+       FontInfo.cpp \
+       Layout.cpp \
+       LayoutFile.cpp \
+       Lexer.cpp \
+       ModuleList.cpp \
+       Spacing.cpp \
+       TextClass.cpp \
+       tests/check_Layout.cpp \
+       support/tests/boost.cpp \
+       support/tests/dummy_functions.cpp
+
diff --git a/src/support/tests/dummy_functions.cpp 
b/src/support/tests/dummy_functions.cpp
index bfec86f..63f16db 100644
--- a/src/support/tests/dummy_functions.cpp
+++ b/src/support/tests/dummy_functions.cpp
@@ -20,4 +20,10 @@ namespace lyx {
 
                return lyx_messages;
        }
+       Messages const & getMessages(string const &)
+       {
+               static Messages lyx_messages;
+
+               return lyx_messages;
+       }
 }
diff --git a/src/tests/check_Layout.cpp b/src/tests/check_Layout.cpp
new file mode 100644
index 0000000..b4ecad9
--- /dev/null
+++ b/src/tests/check_Layout.cpp
@@ -0,0 +1,130 @@
+#include <config.h>
+
+#include "../support/FileName.h"
+#include "../support/filetools.h"
+#include "../Format.h"
+#include "../LayoutFile.h"
+#include "../LaTeXFeatures.h"
+#include "../Lexer.h"
+#include "../support/Messages.h"
+#include "../support/os.h"
+#include "../support/Package.h"
+
+#include <cstdlib>
+#include <iostream>
+
+
+namespace lyx {
+namespace frontend {
+namespace Alert {
+void warning(docstring const & title, docstring const & message, bool const &)
+{
+       LYXERR0(title);
+       LYXERR0(message);
+}
+}
+}
+
+bool LaTeXFeatures::isAvailable(std::string const &)
+{
+       return false;
+}
+
+Formats formats;
+bool Formats::isZippedFile(support::FileName const &) const
+{
+       return false;
+}
+}
+
+
+using namespace lyx::support;
+using namespace lyx;
+
+using namespace std;
+
+
+bool test_Layout(string const & input, string const & output)
+{
+       FileName const ifn(makeAbsPath(input));
+       LayoutFileList l;
+       LayoutFileIndex i = l.addLocalLayout(ifn.onlyFileName(), 
ifn.onlyPath().absFileName());
+       if (i.empty()) {
+               cerr << "Could not read layout file " << input << ".layout.\n";
+               return false;
+       }
+       LayoutFile const & f = l[i];
+       ostream * os = NULL;
+       if (output == "-")
+               os = &cout;
+       else if (!output.empty())
+               os = new ofstream(output.c_str());
+       bool success = true;
+       for (TextClass::const_iterator it = f.begin(); it != f.end(); ++it) {
+               if (os)
+                       it->write(*os);
+               ostringstream oss;
+               it->write(oss);
+               istringstream iss(oss.str());
+               // swallow "Style Standard" line
+               string line;
+               if (getline(iss, line)) {
+                       Lexer lex;
+                       lex.setStream(iss);
+                       Layout test;
+                       test.setName(it->name());
+                       if (test.read(lex, f)) {
+                               // Caution: operator==() is incomplete!
+                               // Testing test == *it does not make much sense
+                               // therefore.
+                               // It does not work either for styles with
+                               // non-empty obsoletedby if the obsoletedby
+                               // style was modified after the obsolete style
+                               // was defined: Layout::write() writes only the
+                               // final version, but the obsolete style was
+                               // set to the version at the time it was
+                               // defined, and therefore they differ. See e.g.
+                               // the obsolete style AMS which is replaced by
+                               // Subjectclass in amsdefs.inc, and
+                               // Subjectclass is modified later in 
siamltex.layout.
+                               ostringstream osstest;
+                               test.write(osstest);
+                               if (osstest.str() != oss.str()) {
+                                       cerr << "Round trip for style "
+                                            << to_utf8(it->name())
+                                            << " failed:\n"
+                                            << osstest.str() << oss.str();
+                                       success = false;
+                               }
+                       } else {
+                               cerr << "Could not read style "
+                                    << to_utf8(it->name()) << ".\n";
+                               success = false;
+                       }
+               } else {
+                       cerr << "Could not read first line for style "
+                            << to_utf8(it->name()) << ".\n";
+                       success = false;
+               }
+       }
+       if (output != "-")
+               delete os;
+       return success;
+}
+
+
+int main(int argc, char * argv[])
+{
+       os::init(argc, argv);
+       lyxerr.setStream(cerr);
+       if (argc < 2 || argc > 3) {
+               cerr << "Usage: " << argv[0] << " <input layout file> [<output 
layout file>]\n";
+               return EXIT_FAILURE;
+       }
+       FileName const exe(makeAbsPath(os::internal_path(os::utf8_argv(0))));
+       string const lyxexe = addName(exe.onlyPath().absFileName(), "lyx");
+       init_package(lyxexe, string(), string());
+       if (test_Layout(argv[1], argc > 2 ? argv[2] : ""))
+               return EXIT_SUCCESS;
+       return EXIT_FAILURE;
+}
diff --git a/src/tests/test_Layout b/src/tests/test_Layout
new file mode 100755
index 0000000..02431ea
--- /dev/null
+++ b/src/tests/test_Layout
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+retval=0
+for i in ${srcdir}/../lib/layouts/*.layout
+do
+       echo Testing $i...
+       dn=`dirname $i`
+       bn=`basename $i .layout`
+       if ! ./check_Layout ${dn}/${bn}; then
+               retval=1
+       fi
+done
+exit $retval
diff --git a/src/tex2lyx/CMakeLists.txt b/src/tex2lyx/CMakeLists.txt
index ee36c5f..751926e 100644
--- a/src/tex2lyx/CMakeLists.txt
+++ b/src/tex2lyx/CMakeLists.txt
@@ -30,6 +30,7 @@ include_directories(BEFORE
        ${ZLIB_INCLUDE_DIR})
 
 add_definitions(-DTEX2LYX)
+add_definitions(-DNO_LAYOUT_CSS)
 
 if(WIN32)
        set(FILE_RC ${TOP_CMAKE_PATH}/lyx.rc)
diff --git a/src/tex2lyx/Makefile.am b/src/tex2lyx/Makefile.am
index 0da4b02..5be47e7 100644
--- a/src/tex2lyx/Makefile.am
+++ b/src/tex2lyx/Makefile.am
@@ -16,7 +16,7 @@ bin_PROGRAMS = tex2lyx
 
 DEFAULT_INCLUDES = 
 
-AM_CPPFLAGS += -DTEX2LYX $(PCH_FLAGS) -I$(top_srcdir)/src/tex2lyx \
+AM_CPPFLAGS += -DTEX2LYX -DNO_LAYOUT_CSS $(PCH_FLAGS) 
-I$(top_srcdir)/src/tex2lyx \
        -I$(top_srcdir)/src -I$(top_builddir) $(BOOST_INCLUDES)
 
 TEST_FILES = \

commit 02e59530b15d223c0978ecacfb7379f7bec986f4
Author: Julien Rioux <[email protected]>
Date:   Mon May 13 21:07:04 2013 +0200

    Add missing space in front of edition in generated bibentry.

diff --git a/lib/layouts/stdciteformats.inc b/lib/layouts/stdciteformats.inc
index 9d3260f..226d2b3 100644
--- a/lib/layouts/stdciteformats.inc
+++ b/lib/layouts/stdciteformats.inc
@@ -20,11 +20,11 @@ CiteFormat default
        !emphtitle {!<i>!}%title%{!</i>!}
        !emphjournal {!<i>!}%journal%{!</i>!}
 
-       !insomething %author%, %!quotetitle%, %_in%{%editor%[[ %editor%, 
%_edtext%,]]} {!<i>!}%booktitle%{!</i>!}%!volnum%{%edition%[[%edition%]]} 
({%address%[[%address%: ]]}%publisher%, %year%)%!pages%.{%note%[[ %note%]]}
+       !insomething %author%, %!quotetitle%, %_in%{%editor%[[ %editor%, 
%_edtext%,]]} {!<i>!}%booktitle%{!</i>!}%!volnum%{%edition%[[ %edition%]]} 
({%address%[[%address%: ]]}%publisher%, %year%)%!pages%.{%note%[[ %note%]]}
 
        article %author%, %!quotetitle%, %!emphjournal% {%volume%[[ 
%volume%{%number%[[, %number%]]}]]} (%year%)%!pages%.{%note%[[ %note%]]}
 
-       book %!authoredit%%!emphtitle%%!volnum%{%edition%[[%edition%]]} 
({%address%[[%address%: ]]}%publisher%, %year%).{%note%[[ %note%]]}
+       book %!authoredit%%!emphtitle%%!volnum%{%edition%[[ %edition%]]} 
({%address%[[%address%: ]]}%publisher%, %year%).{%note%[[ %note%]]}
 
        incollection %!insomething%
        inproceedings %!insomething%

commit 66f44f46c26b97963356fba9a7821c46d6e4921a
Author: Julien Rioux <[email protected]>
Date:   Mon May 13 20:58:12 2013 +0200

    Add modifier to jurabib and natbib (author-year) modules.

diff --git a/lib/layouts/jurabib.module b/lib/layouts/jurabib.module
index 2b0357d..8616772 100644
--- a/lib/layouts/jurabib.module
+++ b/lib/layouts/jurabib.module
@@ -89,7 +89,7 @@ CiteFormat authoryear
        !textbefore2 
{%textbefore%[[/%textbefore%]][[{%dialog%[[/<%_before%>]]}]]}
        !textafter {%textafter%[[, %textafter%]]}
        !textafter2 {%textafter%[[ %textafter%]]}
-       !year {%year%[[%year%]][[??]]}
+       !year {%year%[[%year%]][[??]]}{%modifier%[[%modifier%]]}
 
        # cite styles
        cite %!cite%
diff --git a/lib/layouts/natbib.module b/lib/layouts/natbib.module
index b9195e5..56c6d00 100644
--- a/lib/layouts/natbib.module
+++ b/lib/layouts/natbib.module
@@ -55,7 +55,7 @@ CiteFormat default
        !abbrvauthor {%abbrvauthor%[[%abbrvauthor%]][[??]]}
        !textbefore {%textbefore%[[%textbefore% ]]}
        !textafter {%textafter%[[, %textafter%]]}
-       !year {%year%[[%year%]][[??]]}
+       !year {%year%[[%year%]][[??]]}{%modifier%[[%modifier%]]}
 
        # cite styles
        citet %!citet%%!textafter%%!close%
diff --git a/src/BiblioInfo.cpp b/src/BiblioInfo.cpp
index db397a4..dfc29bb 100644
--- a/src/BiblioInfo.cpp
+++ b/src/BiblioInfo.cpp
@@ -665,7 +665,7 @@ docstring BibTeXInfo::getValueForKey(string const & oldkey, 
Buffer const & buf,
                key = oldkey.substr(6);
                cleanit = true;
        }
-               
+
        docstring ret = operator[](key);
        if (ret.empty() && xref)
                ret = (*xref)[key];
@@ -680,6 +680,8 @@ docstring BibTeXInfo::getValueForKey(string const & oldkey, 
Buffer const & buf,
                        ret = bib_key_;
                else if (key == "label")
                        ret = label_;
+               else if (key == "modifier" && modifier_ != 0)
+                       ret = modifier_;
                else if (key == "abbrvauthor")
                        // Special key to provide abbreviated author names.
                        ret = getAbbreviatedAuthor(buf, false);
@@ -714,7 +716,7 @@ docstring BibTeXInfo::getValueForKey(string const & oldkey, 
Buffer const & buf,
        }
        if (cleanit)
                return html::cleanAttr(ret);
-       
+
        return ret;
 }
 

commit 3d4076b598deb18660e50ec9c327efc3b15f15d0
Author: Julien Rioux <[email protected]>
Date:   Mon May 13 20:29:49 2013 +0200

    Natbib authoryear uses (Ref1; Ref2) by default.
    
    I was confused when I checked this. It looks like plainnat.bst
    overwrites this default to use [Ref1, Ref2] style instead, but
    when using natbib's defaults you get the (Ref1; Ref2) style.

diff --git a/lib/layouts/natbib.module b/lib/layouts/natbib.module
index ba028c0..b9195e5 100644
--- a/lib/layouts/natbib.module
+++ b/lib/layouts/natbib.module
@@ -45,10 +45,6 @@ CiteFormat default
        _addtobib Add to bibliography only.
 
        # macros
-       !open [
-       !sep ,
-       !close ]
-
        !startlink {!<a href='#LyXCite-%clean:key%'>!}
        !endlink {!</a>!}
 
@@ -69,6 +65,10 @@ CiteFormat default
 End
 
 CiteFormat authoryear
+       !open (
+       !sep ;
+       !close )
+
        !citet %!startlink%%!abbrvauthor%%!endlink% 
%!open%%!textbefore%%!year%%!nextcitet%
        !citealt %!startlink%%!abbrvauthor% 
%!textbefore%%!year%%!endlink%%!nextcitealt%
        !citealp %!startlink%%!abbrvauthor%, %!year%%!endlink%%!nextcitealp%
@@ -85,6 +85,10 @@ CiteFormat authoryear
 End
 
 CiteFormat numerical
+       !open [
+       !sep ,
+       !close ]
+
        !citet %!abbrvauthor% 
%!open%%!textbefore%{%dialog%[[#ID]][[%!startlink%#%key%%!endlink%]]}%!nextcitet%
        !citealt %!abbrvauthor% 
%!textbefore%{%dialog%[[#ID]][[%!startlink%#%key%%!endlink%]]}%!nextcitealt%
 

commit 75ffcc8e866de04b076c81d78003a86efca98e4e
Author: Julien Rioux <[email protected]>
Date:   Mon May 13 20:26:46 2013 +0200

    Initialize BibTeXInfo modifier to zero, always.

diff --git a/src/BiblioInfo.h b/src/BiblioInfo.h
index 254338b..c4c27e3 100644
--- a/src/BiblioInfo.h
+++ b/src/BiblioInfo.h
@@ -45,10 +45,10 @@ public:
        /// and the values are the associated field values.
        typedef std::map<docstring, docstring>::const_iterator const_iterator;
        ///
-       BibTeXInfo() : is_bibtex_(true) {}
+       BibTeXInfo() : is_bibtex_(true), modifier_(0) {}
        /// argument sets isBibTeX_, so should be false only if it's coming
        /// from a bibliography environment
-       BibTeXInfo(bool ib) : is_bibtex_(ib) {}
+       BibTeXInfo(bool ib) : is_bibtex_(ib), modifier_(0) {}
        /// constructor that sets the entryType
        BibTeXInfo(docstring const & key, docstring const & type);
        /// \return the short form of an authorlist, used for sorting

-----------------------------------------------------------------------

Summary of changes:
 README.localization                      |    5 +-
 lib/doc/UserGuide.lyx                    |91311 ++++++++++++++--------------
 lib/doc/de/UserGuide.lyx                 |92007 ++++++++++++++--------------
 lib/doc/es/UserGuide.lyx                 |92362 +++++++++++++++--------------
 lib/doc/fr/UserGuide.lyx                 |95586 +++++++++++++++---------------
 lib/doc/ja/UserGuide.lyx                 |74937 ++++++++++++------------
 lib/layouts/jurabib.module               |    2 +-
 lib/layouts/natbib.module                |   14 +-
 lib/layouts/stdciteformats.inc           |    4 +-
 po/sk.po                                 |  311 +-
 src/AppleSpellChecker.h                  |    2 +-
 src/AspellChecker.h                      |    2 +-
 src/BiblioInfo.cpp                       |    6 +-
 src/BiblioInfo.h                         |    4 +-
 src/EnchantChecker.h                     |    2 +-
 src/ErrorList.h                          |    2 +-
 src/Layout.cpp                           |    2 +-
 src/LayoutFile.h                         |    2 +-
 src/LyX.cpp                              |    3 +-
 src/Makefile.am                          |   35 +
 src/Paragraph.cpp                        |  282 +-
 src/Text2.cpp                            |    2 +-
 src/frontends/qt4/GuiAbout.cpp           |    7 +-
 src/frontends/qt4/GuiDocument.cpp        |   52 +-
 src/frontends/qt4/GuiMathMatrix.cpp      |   57 +-
 src/frontends/qt4/GuiPrefs.cpp           |   48 +-
 src/frontends/qt4/GuiSelectionManager.h  |    2 +-
 src/frontends/qt4/Menus.cpp              |   17 +-
 src/frontends/qt4/PanelStack.cpp         |    4 +-
 src/frontends/qt4/qt_helpers.cpp         |    6 +
 src/frontends/qt4/qt_helpers.h           |    2 +
 src/frontends/qt4/ui/FindAndReplaceUi.ui |    2 +-
 src/frontends/qt4/ui/MathMatrixUi.ui     |   48 +-
 src/insets/Inset.h                       |    2 +-
 src/insets/InsetCitation.h               |    2 +-
 src/insets/InsetCommandParams.h          |    2 +-
 src/insets/InsetIPAMacro.h               |    2 +-
 src/insets/InsetLine.h                   |    2 +-
 src/insets/InsetNomencl.h                |    4 +-
 src/insets/InsetSpecialChar.h            |    2 +-
 src/insets/RenderBase.h                  |    2 +-
 src/mathed/InsetMathSideset.h            |    4 +-
 src/output_xhtml.cpp                     |  377 +-
 src/output_xhtml.h                       |  162 +-
 src/support/Messages.cpp                 |   29 +-
 src/support/debug.h                      |    2 +-
 src/support/foreach.h                    |    2 +-
 src/support/pmprof.h                     |    2 +-
 src/support/tests/dummy_functions.cpp    |    6 +
 src/tests/check_Layout.cpp               |  130 +
 src/tests/test_Layout                    |   13 +
 src/tex2lyx/CMakeLists.txt               |    1 +
 src/tex2lyx/Makefile.am                  |    2 +-
 src/tex2lyx/Parser.h                     |    2 +-
 54 files changed, 224930 insertions(+), 222948 deletions(-)
 create mode 100644 src/tests/check_Layout.cpp
 create mode 100755 src/tests/test_Layout


hooks/post-receive
-- 
Repository for new features

Reply via email to