[arch-commits] Commit in libreoffice/trunk (2 files)

andyrtr at archlinux.org andyrtr at archlinux.org
Sat May 19 19:02:34 UTC 2012


    Date: Saturday, May 19, 2012 @ 15:02:33
  Author: andyrtr
Revision: 159254

upgpkg: libreoffice 3.5.3-3

add scripting subpackages; fix icu hewbrew issuew, fix mimetype handling

Added:
  libreoffice/trunk/fix_broken_hebrew_wordwrapping.diff
Modified:
  libreoffice/trunk/PKGBUILD

-------------------------------------+
 PKGBUILD                            |   59 ++++-
 fix_broken_hebrew_wordwrapping.diff |  360 ++++++++++++++++++++++++++++++++++
 2 files changed, 410 insertions(+), 9 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2012-05-19 18:59:08 UTC (rev 159253)
+++ PKGBUILD	2012-05-19 19:02:33 UTC (rev 159254)
@@ -18,10 +18,13 @@
 	'libreoffice-extension-pdfimport'
 	'libreoffice-extension-presenter-screen'
 	'libreoffice-extension-presentation-minimizer'
-	'libreoffice-extension-report-builder')
+	'libreoffice-extension-report-builder'
+	'libreoffice-scripting-beanshell'
+	'libreoffice-scripting-javascript'
+	'libreoffice-extension-scripting-python') # svn up -r 142692 (last one with all extensions built
 _LOver=3.5.3.2
 pkgver=3.5.3
-pkgrel=2
+pkgrel=3
 arch=('i686' 'x86_64')
 license=('LGPL3')
 url="http://www.libreoffice.org/"
@@ -76,6 +79,7 @@
 	gmake_install.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=1048d8fa4abd3e55a45dfb6884db808da1d72c9e
 	smp_buildfix.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=cf23f57ae6bb7af689a45e0a850c3c2f67a8f810
 	poppler_buildfix.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=ac68934592ec7d838cf5c22744be8d97aa4a1a47
+	fix_broken_hebrew_wordwrapping.diff
 	buildfix_icu49.diff
 	libreoffice-common.sh libreoffice-common.csh)
 noextract=(2fa6028324347860e684e75310818d43-libvisio-0.0.16.tar.bz2
@@ -140,6 +144,7 @@
          '60ce5dc9bd098f95c2e621a930c98dd9'
          '661a52a02a31b3afbe4b3b3146061afd'
          '72ba8d57cefdc25a6f1bc845edfd4d78'
+         '025d9b17d9eb90dc282c5c1289a666aa'
          '9734ea20c9f67e1b6e1c5a1247fbd3ff'
          'f0e72d0e1bc93a50a3aa9d31350b156c'
          '867c682b45f477f916786e00c45d7ab7')
@@ -166,8 +171,10 @@
 	# one late fix to solve make distro-pack-install issue
 	patch -Np1 -i ${srcdir}/gmake_install.diff
 	patch -Np1 -i ${srcdir}/smp_buildfix.diff
-	patch -Np0 -i ${srcdir}/buildfix_icu49.diff
+	#patch -Np0 -i ${srcdir}/buildfix_icu49.diff
 	patch -Np1 -i ${srcdir}/poppler_buildfix.diff
+	# https://bugs.archlinux.org/task/29854 based on 3.6/master patch http://cgit.freedesktop.org/libreoffice/core/patch/?id=20c24114143d6d38774b56a142fd4ae05094308e
+	patch -Np1 -i ${srcdir}/fix_broken_hebrew_wordwrapping.diff
 	
 	# unset C(XX)FLAGS
 	# http://www.openoffice.org/issues/show_bug.cgi?id=103205
@@ -213,6 +220,8 @@
 		--enable-mergelibs \
 		--enable-opengl \
 		--enable-odk\
+		--enable-ext-scripting-beanshell \
+		--enable-ext-scripting-javascript \
 		--disable-ext-mysql-connector \
 		--with-system-mysql \
 		--enable-librsvg=system \
@@ -284,7 +293,7 @@
 package_libreoffice-common() {
 
  pkgdesc="common files for LibreOffice - a productivity suite that is compatible with other major office suites"
- install=${pkgname}.install
+ install=libreoffice-common.install
  depends=('libreoffice-langpack' "hunspell>=1.2.8" "python2>=2.7" "neon>=0.28.6"
           'nspr' 'libsm' 'redland' 'hyphen' 'graphite' "icu>=49.1" 
           'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'xdg-utils' 'orbit2')
@@ -348,7 +357,7 @@
 
 package_libreoffice-base() {
  pkgdesc="GUI Spreadsheet Applicationdatabase front-end for LibreOffice. Allows creation and management of databases through a GUI."
- install=${pkgname}.install
+ install=libreoffice-base.install
  depends=('libreoffice-common' 'hsqldb-java')
  optdepends=('libreoffice-postgresql-connector')
  backup=()
@@ -400,7 +409,7 @@
 
 package_libreoffice-calc() {
  pkgdesc="Spreadsheet application for LibreOffice."
- install=${pkgname}.install
+ install=libreoffice-calc.install
  depends=('libreoffice-common' 'lpsolve' )
  optdepends=()
  backup=()
@@ -423,7 +432,7 @@
 
 package_libreoffice-draw() {
  pkgdesc="Drawing Application for LibreOffice."
- install=${pkgname}.install
+ install=libreoffice-draw.install
  depends=('libreoffice-common')
  optdepends=()
  backup=()
@@ -467,7 +476,7 @@
 
 package_libreoffice-impress() {
  pkgdesc="Presentation Application for LibreOffice."
- install=${pkgname}.install
+ install=libreoffice-impress.install
  depends=('libreoffice-common')
  optdepends=('mesa:             for the OGLTrans extension')
  backup=()
@@ -582,7 +591,7 @@
 
 package_libreoffice-writer() {
  pkgdesc="Word Processor Applicationfor LibreOffice."
- install=${pkgname}.install
+ install=libreoffice-writer.install
  depends=('libreoffice-common' 'libwpd>=0.9.2' 'libwps' 'libxml2')
  optdepends=('libwpg:           library for importing and converting Corel WordPerfect(tm) Graphics images')
  backup=()
@@ -664,3 +673,35 @@
 	install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
 	unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/report-builder.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/report-builder
 }
+
+package_libreoffice-scripting-beanshell() {
+
+ pkgdesc="LibreOffice extension - Enables support for scripts in BeanShell"
+ depends=('libreoffice-common' 'java-environment')
+ groups=('libreoffice-extensions')
+
+	install -dm755 ${pkgdir}/usr/lib/libreoffice/program/{classes,services}
+	mv ${srcdir}/fakeinstall/usr/lib/libreoffice/program/classes/ScriptProviderForBeanShell.jar ${pkgdir}/usr/lib/libreoffice/program/classes/
+	mv ${srcdir}/fakeinstall/usr/lib/libreoffice/program/services/scriptproviderforbeanshell.rdb ${pkgdir}/usr/lib/libreoffice/program/services/
+}
+
+package_libreoffice-scripting-javascript() {
+
+ pkgdesc="LibreOffice extension - Enables support for scripts in JavaScript"
+ depends=('libreoffice-common' 'java-environment')
+ groups=('libreoffice-extensions')
+
+	install -dm755 ${pkgdir}/usr/lib/libreoffice/program/{classes,services}
+	mv ${srcdir}/fakeinstall/usr/lib/libreoffice/program/classes/{js.jar,ScriptProviderForJavaScript.jar} ${pkgdir}/usr/lib/libreoffice/program/classes/
+	mv ${srcdir}/fakeinstall/usr/lib/libreoffice/program/services/scriptproviderforjavascript.rdb ${pkgdir}/usr/lib/libreoffice/program/services/
+}
+
+package_libreoffice-extension-scripting-python() {
+
+ pkgdesc="LibreOffice extension - Enables support for scripts in Python"
+ depends=('libreoffice-common' 'python2')
+ groups=('libreoffice-extensions')
+
+	install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
+	unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/script-provider-for-python.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/script-provider-for-python
+}

Added: fix_broken_hebrew_wordwrapping.diff
===================================================================
--- fix_broken_hebrew_wordwrapping.diff	                        (rev 0)
+++ fix_broken_hebrew_wordwrapping.diff	2012-05-19 19:02:33 UTC (rev 159254)
@@ -0,0 +1,360 @@
+From 20c24114143d6d38774b56a142fd4ae05094308e Mon Sep 17 00:00:00 2001
+From: Caolán McNamara <caolanm at redhat.com>
+Date: Sun, 13 May 2012 21:41:30 +0000
+Subject: Resolves: fdo#49849 implement Unicode 6.1 hebrew line breaking rules
+
+i.e.  sync with svn diff -c 31071
+http://source.icu-project.org/repos/icu/icu/trunk/source/data/brkitr/line.txt
+
+Change-Id: I I I41b3d02f1a0da3b83a9684f29d466660d96254c6
+---
+diff --git a/i18npool/qa/cppunit/test_breakiterator.cxx b/i18npool/qa/cppunit/test_breakiterator.cxx
+index 14051d4..ffd590c 100644
+--- a/i18npool/qa/cppunit/test_breakiterator.cxx
++++ b/i18npool/qa/cppunit/test_breakiterator.cxx
+@@ -42,6 +42,7 @@
+ #include <unotest/bootstrapfixturebase.hxx>
+ 
+ #include <rtl/strbuf.hxx>
++#include <rtl/ustrbuf.hxx>
+ 
+ #include <string.h>
+ 
+@@ -58,6 +59,9 @@ public:
+     void testWeak();
+     void testAsian();
+     void testThai();
++#if TODO
++    void testNorthernThai();
++#endif
+ 
+     CPPUNIT_TEST_SUITE(TestBreakIterator);
+     CPPUNIT_TEST(testLineBreaking);
+@@ -71,6 +71,9 @@
+     CPPUNIT_TEST(testWeak);
+     CPPUNIT_TEST(testAsian);
+     CPPUNIT_TEST(testThai);
++#if TODO
++    CPPUNIT_TEST(testNorthernThai);
++#endif
+     CPPUNIT_TEST_SUITE_END();
+ 
+ private:
+@@ -80,28 +83,46 @@
+     uno::Reference<i18n::XBreakIterator> m_xBreak;
+ };
+ 
+-//See https://bugs.freedesktop.org/show_bug.cgi?id=31271 for motivation
+ void TestBreakIterator::testLineBreaking()
+ {
+-    ::rtl::OUString aTest1(RTL_CONSTASCII_USTRINGPARAM("(some text here)"));
+-
+     i18n::LineBreakHyphenationOptions aHyphOptions;
+     i18n::LineBreakUserOptions aUserOptions;
+     lang::Locale aLocale;
+ 
+-    aLocale.Language = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("en"));
+-    aLocale.Country = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("US"));
+-
++    //See https://bugs.freedesktop.org/show_bug.cgi?id=31271
+     {
+-        //Here we want the line break to leave text here) on the next line
+-        i18n::LineBreakResults aResult = m_xBreak->getLineBreak(aTest1, strlen("(some tex"), aLocale, 0, aHyphOptions, aUserOptions);
+-        CPPUNIT_ASSERT_MESSAGE("Expected a break at the the start of the word", aResult.breakIndex == 6);
++         ::rtl::OUString aTest(RTL_CONSTASCII_USTRINGPARAM("(some text here)"));
++
++        aLocale.Language = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("en"));
++        aLocale.Country = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("US"));
++
++        {
++            //Here we want the line break to leave text here) on the next line
++            i18n::LineBreakResults aResult = m_xBreak->getLineBreak(aTest, strlen("(some tex"), aLocale, 0, aHyphOptions, aUserOptions);
++            CPPUNIT_ASSERT_MESSAGE("Expected a break at the the start of the word", aResult.breakIndex == 6);
++        }
++
++        {
++            //Here we want the line break to leave "here)" on the next line
++            i18n::LineBreakResults aResult = m_xBreak->getLineBreak(aTest, strlen("(some text here"), aLocale, 0, aHyphOptions, aUserOptions);
++            CPPUNIT_ASSERT_MESSAGE("Expected a break at the the start of the word", aResult.breakIndex == 11);
++        }
+     }
+ 
++    //See https://bugs.freedesktop.org/show_bug.cgi?id=49849
+     {
+-        //Here we want the line break to leave "here)" on the next line
+-        i18n::LineBreakResults aResult = m_xBreak->getLineBreak(aTest1, strlen("(some text here"), aLocale, 0, aHyphOptions, aUserOptions);
+-        CPPUNIT_ASSERT_MESSAGE("Expected a break at the the start of the word", aResult.breakIndex == 11);
++        const sal_Unicode HEBREW1[] = { 0x05DE, 0x05D9, 0x05DC, 0x05D9, 0x5DD };
++        ::rtl::OUString aWord(HEBREW1, SAL_N_ELEMENTS(HEBREW1));
++        ::rtl::OUString aTest(rtl::OUStringBuffer(aWord).append(' ').append(aWord).makeStringAndClear());
++
++        aLocale.Language = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("he"));
++        aLocale.Country = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IL"));
++
++        {
++            //Here we want the line break to happen at the whitespace
++            i18n::LineBreakResults aResult = m_xBreak->getLineBreak(aTest, aTest.getLength()-1, aLocale, 0, aHyphOptions, aUserOptions);
++            CPPUNIT_ASSERT_MESSAGE("Expected a break at the the start of the word", aResult.breakIndex == aWord.getLength()+1);
++        }
+     }
+ }
+ 
+@@ -295,27 +320,29 @@ void TestBreakIterator::testThai()
+     aLocale.Language = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("th"));
+     aLocale.Country = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TH"));
+ 
+-    i18n::Boundary aBounds;
+-    {
+-        const sal_Unicode THAI1[] = { 0x0E01, 0x0E38, 0x0E2B, 0x0E25, 0x0E32, 0x0E1A };
+-        ::rtl::OUString aTest(THAI1, SAL_N_ELEMENTS(THAI1));
+-        aBounds = m_xBreak->getWordBoundary(aTest, 0, aLocale,
+-            i18n::WordType::DICTIONARY_WORD, true);
+-        CPPUNIT_ASSERT_MESSAGE("Should skip full word",
+-            aBounds.startPos == 0 && aBounds.endPos == aTest.getLength());
+-    }
++    const sal_Unicode THAI1[] = { 0x0E01, 0x0E38, 0x0E2B, 0x0E25, 0x0E32, 0x0E1A };
++    ::rtl::OUString aTest(THAI1, SAL_N_ELEMENTS(THAI1));
++    i18n::Boundary aBounds = m_xBreak->getWordBoundary(aTest, 0, aLocale,
++        i18n::WordType::DICTIONARY_WORD, true);
++    CPPUNIT_ASSERT_MESSAGE("Should skip full word",
++        aBounds.startPos == 0 && aBounds.endPos == aTest.getLength());
++}
+ 
+-#ifdef TODO
+-    {
+-        const sal_Unicode NORTHERN_THAI1[] = { 0x0E01, 0x0E38, 0x0E4A, 0x0E2B, 0x0E25, 0x0E32, 0x0E1A };
+-        ::rtl::OUString aTest(NORTHERN_THAI1, SAL_N_ELEMENTS(NORTHERN_THAI1));
+-        aBounds = m_xBreak->getWordBoundary(aTest, 0, aLocale,
+-            i18n::WordType::DICTIONARY_WORD, true);
+-        CPPUNIT_ASSERT_MESSAGE("Should skip full word",
+-            aBounds.startPos == 0 && aBounds.endPos == aTest.getLength());
+-    }
+-#endif
++#if TODO
++void TestBreakIterator::testNorthernThai()
++{
++    lang::Locale aLocale;
++    aLocale.Language = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("nod"));
++    aLocale.Country = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TH"));
++
++    const sal_Unicode NORTHERN_THAI1[] = { 0x0E01, 0x0E38, 0x0E4A, 0x0E2B, 0x0E25, 0x0E32, 0x0E1A };
++    ::rtl::OUString aTest(NORTHERN_THAI1, SAL_N_ELEMENTS(NORTHERN_THAI1));
++    i18n::Boundary aBounds = m_xBreak->getWordBoundary(aTest, 0, aLocale,
++        i18n::WordType::DICTIONARY_WORD, true);
++    CPPUNIT_ASSERT_MESSAGE("Should skip full word",
++        aBounds.startPos == 0 && aBounds.endPos == aTest.getLength());
+ }
++#endif
+ 
+ void TestBreakIterator::setUp()
+ {
+diff --git a/i18npool/source/breakiterator/data/README b/i18npool/source/breakiterator/data/README
+new file mode 100644
+index 0000000..8d7598d
+--- a/dev/null
++++ b/i18npool/source/breakiterator/data/README
+@@ -0,0 +1,12 @@
++The originals of these come from svn checkout
++http://source.icu-project.org/repos/icu/icu/trunk/source/data/brkitr they no
++longer appear in the icu tarballs, but are in icu's svn
++
++At various stages these copies have been customized and are not horribly out of
++sync. It unclear which diffs from the base versions are deliberate and which
++are now accidental :-(
++
++We need to review the various issues referenced in the commits that caused
++custimizations and see if they're still relevant or not, write regression tests
++for them, if any are still relavant then apply the changes back on top of the
++latest versions.
+diff --git a/i18npool/source/breakiterator/data/line.txt b/i18npool/source/breakiterator/data/line.txt
+index cbabee6..91c8f3d 100644
+--- a/i18npool/source/breakiterator/data/line.txt
++++ b/i18npool/source/breakiterator/data/line.txt
+@@ -61,11 +61,13 @@ $BB = [:LineBreak =  Break_Before:];
+ $BK = [:LineBreak =  Mandatory_Break:];
+ $B2 = [:LineBreak =  Break_Both:];
+ $CB = [:LineBreak =  Contingent_Break:];
++$CJ = [:LineBreak =  Conditional_Japanese_Starter:];
+ $CL = [:LineBreak =  Close_Punctuation:] ;
+ $CM = [:LineBreak =  Combining_Mark:];
+ $CR = [:LineBreak =  Carriage_Return:];
+ $EX = [:LineBreak =  Exclamation:];
+ $GL = [:LineBreak =  Glue:];
++$HL = [:LineBreak =  Hebrew_Letter:];
+ $HY = [:LineBreak =  Hyphen:];
+ $H2 = [:LineBreak =  H2:];
+ $H3 = [:LineBreak =  H3:];
+@@ -77,7 +79,7 @@ $JV = [:LineBreak =  JV:];
+ $JT = [:LineBreak =  JT:];
+ $LF = [:LineBreak =  Line_Feed:];
+ $NL = [:LineBreak =  Next_Line:];
+-$NS = [:LineBreak =  Nonstarter:];
++$NS = [[:LineBreak =  Nonstarter:] $CJ];
+ $NU = [:LineBreak =  Numeric:];
+ $OP = [[:LineBreak =  Open_Punctuation:] - $DG];
+ $PO = [:LineBreak =  Postfix_Numeric:];
+@@ -118,6 +120,7 @@ $B2cm = $B2 $CM*;
+ $CLcm = $CL $CM*;
+ $EXcm = $EX $CM*;
+ $GLcm = $GL $CM*;
++$HLcm = $HL $CM*;
+ $HYcm = $HY $CM*;
+ $H2cm = $H2 $CM*;
+ $H3cm = $H3 $CM*;
+@@ -150,6 +153,7 @@ $B2 $CM+;
+ $CL $CM+;
+ $EX $CM+;
+ $GL $CM+;
++$HL $CM+;
+ $HY $CM+;
+ $H2 $CM+;
+ $H3 $CM+;
+@@ -186,7 +190,7 @@ $CANT_CM = [ $SP $BK $CR $LF $NL $ZW $CM];       # Bases that can't take CMs
+ #            so for this one case we need to manually list out longer sequences.
+ #
+ $AL_FOLLOW_NOCM = [$BK $CR $LF $NL $ZW $SP];
+-$AL_FOLLOW_CM   = [$CL $EX $IS $SY $WJ $GL $QU $BA $HY $NS $IN $NU $ALPlus $OP];
++$AL_FOLLOW_CM   = [$CL $EX $HL $IS $SY $WJ $GL $QU $BA $HY $NS $IN $NU $ALPlus $OP];
+ $AL_FOLLOW      = [$AL_FOLLOW_NOCM $AL_FOLLOW_CM];
+ 
+ 
+@@ -320,8 +324,13 @@ $LB20NonBreaks $CM* ($BAcm | $HYcm | $NScm);
+ $BBcm [^$CB];                                  #  $BB  x
+ $BBcm $LB20NonBreaks $CM*;
+ 
++# LB 21a Don't break after Hebrew + Hyphen
++#   HL (HY | BA) x
++#  
++$HLcm ($HYcm | $BAcm) [^$CB]?;
++
+ # LB 22
+-$ALcm    $INcm;
++($ALcm | $HLcm) $INcm;
+ $CM+     $INcm;     #  by rule 10, any otherwise unattached CM behaves as AL
+ $IDcm    $INcm;
+ $INcm    $INcm;
+@@ -331,16 +340,18 @@ $NUcm    $INcm;
+ # $LB 23
+ $IDcm  $POcm;
+ $ALcm  $NUcm;       # includes $LB19
++$HLcm  $NUcm;
+ $CM+   $NUcm;       # Rule 10, any otherwise unattached CM behaves as AL
+ $NUcm  $ALcm;
++$NUcm  $HLcm;
+ 
+ #
+ # LB 24
+ #
+ $PRcm $IDcm;
+ $ALcm $PRcm;
+-$PRcm $ALcm;
+-$POcm $ALcm;
++$PRcm ($ALcm | $HLcm);
++$POcm ($ALcm | $HLcm);
+ 
+ #
+ # LB 25   Numbers.
+@@ -361,8 +372,8 @@ $PRcm ($JLcm | $JVcm | $JTcm | $H2cm | $H3cm);
+ 
+ # LB 28   Do not break between alphabetics
+ #
+-$ALcm $ALcm;
+-$CM+ $ALcm;      # The $CM+ is from rule 10, and unattached CM is treated as AL
++($ALcm | $HLcm) ($ALcm | $HLcm);
++$CM+ ($ALcm | $HLcm);      # The $CM+ is from rule 10, an unattached CM is treated as AL
+ 
+ # LB 29
+ $IScm ($ALcm | $NUcm);
+@@ -371,11 +382,9 @@ $IScm ($ALcm | $NUcm);
+ # Rule 30   Do not break between letters, numbers or ordinary symbols
+ #           and opening or closing punctuation
+ #
+-($ALcm | $NUcm) $OPcm;
++($ALcm | $HLcm | $NUcm) $OPcm;
+ $CM+ $OPcm;
+-$CLcm ($ALcm | $NUcm);
+-
+-
++$CLcm ($ALcm | $HLcm | $NUcm);
+ 
+ #
+ #  Reverse Rules.
+@@ -391,6 +400,7 @@ $CM+ $B2;
+ $CM+ $CL;
+ $CM+ $EX;
+ $CM+ $GL;
++$CM+ $HL;
+ $CM+ $HY;
+ $CM+ $H2;
+ $CM+ $H3;
+@@ -544,24 +554,25 @@ $CM* ($BA | $HY | $NS) $CM* [$LB20NonBreaks-$CM];     #  . x (BA | HY | NS)
+ $CM* [$LB20NonBreaks-$CM] $CM* $BB;                   #  BB x .
+ [^$CB] $CM* $BB;                                      # 
+ 
+-
++# LB21a
++[^$CB] $CM* ($HY | $BA) $CM* $HL;
+ 
+ # LB 22
+-$CM* $IN $CM* $ALPlus;
++$CM* $IN $CM* ($ALPlus | $HL);
+ $CM* $IN $CM* $ID;
+ $CM* $IN $CM* $IN;
+ $CM* $IN $CM* $NU;
+ 
+ # LB 23
+ $CM* $PO $CM* $ID;
+-$CM* $NU $CM* $ALPlus;
+-$CM* $ALPlus $CM* $NU;
++$CM* $NU $CM* ($ALPlus | $HL);
++$CM* ($ALPlus | $HL) $CM* $NU;
+ 
+ # LB 24
+ $CM* $ID $CM* $PR;
+ $CM* $PR $CM* $ALPlus;
+-$CM* $ALPlus $CM* $PR;
+-$CM* $ALPlus $CM* $PO;
++$CM* ($ALPlus | $HL) $CM* $PR;
++$CM* ($ALPlus | $HL) $CM* $PO;
+ 
+ $CM* $ALPlus $CM* ($IS | $SY | $HY)+ / $SP;
+ $CM* $NU+ $CM* $HY+ / $SP;
+@@ -580,15 +591,14 @@ $CM* $PO $CM* ($H3 | $H2 | $JT | $JV | $JL);
+ $CM* ($H3 | $H2 | $JT | $JV | $JL) $CM* $PR;
+ 
+ # LB 28
+-$CM* $ALPlus $CM* $ALPlus;
+-
++$CM* ($ALPlus | $HL) $CM* ($ALPlus | $HL);
+ 
+ # LB 29
+ $CM* ($NU | $ALPlus) $CM* $IS+ [^$SP];
+ 
+ # LB 30
+-$CM* $OP $CM* ($NU | $ALPlus);
+-$CM* ($NU | $ALPlus) $CM* ($CL | $SY)+ [^$SP];
++$CM* $OP $CM* ($ALPlus | $HL | $NU);
++$CM* ($ALPlus | $HL | $NU) $CM* ($CL | $SY)+ [^$SP];
+ 
+ 
+ ## -------------------------------------------------
+@@ -609,6 +619,9 @@ $SP+ $CM* $QU;
+ $SP+ $CM* $CL;
+ $SP+ $CM* $B2;
+ 
++# LB 21
++$CM* ($HY | $BA) $CM* $HL;
++
+ # LB 18
+ ($CM* ($IS | $SY))+ $CM* $NU;
+ $CL $CM* ($NU | $IS | $SY);
+@@ -629,6 +642,6 @@ $dictionary $dictionary;
+ #  turn off rule chaining.  We don't want to move more
+ #  than necessary.
+ #
+-[$CM $OP $QU $CL $B2 $PR $HY $SP $dictionary]+ [^$CM $OP $QU $CL $B2 $PR $HY $dictionary];
++[$CM $OP $QU $CL $B2 $PR $HY $BA $SP $dictionary]+ [^$CM $OP $QU $CL $B2 $PR $HY $BA $dictionary];
+ $dictionary $dictionary;
+ 
+--
+cgit v0.9.0.2-2-gbebe




More information about the arch-commits mailing list