]> git.lyx.org Git - features.git/commitdiff
Small fixes + literate patch
authorJürgen Vigna <jug@sad.it>
Thu, 13 Jul 2000 09:38:34 +0000 (09:38 +0000)
committerJürgen Vigna <jug@sad.it>
Thu, 13 Jul 2000 09:38:34 +0000 (09:38 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@880 a592a061-630c-0410-9148-cb99ea01b6c8

ChangeLog
lib/examples/Literate.lyx
src/insets/insetbib.C
src/insets/insetbib.h
src/insets/insetcommand.h
src/insets/insettabular.C

index c402ed9426ac22236fe9bfb09848136e1c07cbaa..028cc1c495a52460fc38be63ac4c59539f7d7c65 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2000-07-13  Juergen Vigna  <jug@sad.it>
+
+       * lib/examples/Literate.lyx: small patch!
+
+       * src/insets/insetbib.C (Read): added this function because of wrong
+       Write (without [begin|end]_inset).
+
 2000-07-11  Juergen Vigna  <jug@sad.it>
 
        * src/BufferView2.C (open_new_inset): changed to a bool returnvalue
index 647af802ed108357b969a1c10c185de726ff2066..0cb835d8aad6f19570780eea9457ea4af997f19f 100644 (file)
@@ -266,7 +266,7 @@ Both noweave and notangle routines, always output one single line for each
 \newline 
     if (noweb_try(0))
 \newline 
-      output_error(1, 0, "noweb");
+      output_error(1, err_line, "noweb");
 \newline 
   }
 \newline 
@@ -309,7 +309,15 @@ char *noweb_msgs[] = {
 \newline 
   "This can't happen:",
 \newline 
-  "non-numeric line number in" 
+  "non-numeric line number in"
+\newline 
+};
+\newline 
+
+\newline 
+char *noweb_msgs_mimic_gcc[] = {
+\newline 
+  ": unescaped << in documentation chunk"
 \newline 
 };
 \newline 
@@ -320,7 +328,7 @@ A noweb error message can be any string that contains a matching pair of
  < <\SpecialChar ~
 \SpecialChar ~
 \SpecialChar ~
-> >, or any of the above strings.
+> >, or any of the above strings
 \layout Scrap
 
 <<Function bodies>>=
@@ -331,13 +339,39 @@ noweb_try (int buf_line)
 \newline 
 {
 \newline 
-  char    *s, *b;
+  char    *s, *t, *b;
 \newline 
-  int     i;
+  int     i; 
 \newline 
+
 \newline 
   b = buffer[buf_line];
+\newline 
+  err_line = 0;
+\newline 
+
+\newline 
+  for (i=0; i<1; i++) {
+\newline 
+      s = (char *)strstr (b, noweb_msgs_mimic_gcc[i]);
+\newline 
+      if (s != NULL) {
+\newline 
+        t = (char *)strchr(buffer[buf_line], ':');
+\newline 
+        err_line = atoi(t+1);
+\newline 
+        t = buffer[buf_line];
+\newline 
+        ++s;
+\newline 
+        while (*(t++) = *(s++));
+\newline 
+        return 1;
+\newline 
+      }
+\newline 
+  }
 \newline 
   s = (char *)strstr(b, "<<");
 \newline 
@@ -345,25 +379,25 @@ noweb_try (int buf_line)
 \newline 
     s = (char *)strstr(s+2, ">>");
 \newline 
-    if (s != NULL)
+    if (s != NULL) {
 \newline 
       return 1;
 \newline 
-  } else {
+    }
 \newline 
-    for (i=0; i<12; i++) {
+  } else { 
 \newline 
-      s = (char *)strstr (b, noweb_msgs[i]);
+     for (i = 0; i < 12; ++i) {
 \newline 
-      if (s != NULL)
+        s = (char *)strstr (b, noweb_msgs[i]);
 \newline 
-        break;
+        if (s != NULL) {
 \newline 
-    }
+           return 1;
 \newline 
-    if (s != NULL)
+        }
 \newline 
-      return 1;
+    }
 \newline 
   }
 \newline 
@@ -761,7 +795,7 @@ To combine the scan of noweb error messages and xlc error messages is very
 \newline 
     if (noweb_try(0))
 \newline 
-      output_error(1, 0, "noweb");
+      output_error(1, err_line, "noweb");
 \newline 
     else if (xlc_try(0))
 \newline 
@@ -797,7 +831,7 @@ To combine the scan of noweb error messages and gcc error messages is simple
 \newline 
     if (last_buf_line == 0 && noweb_try(0)) {
 \newline 
-      output_error(1, 0, "noweb");
+      output_error(1, err_line, "noweb");
 \newline 
       continue;
 \newline 
@@ -922,4 +956,6 @@ build-script
 #!/bin/sh
 \newline 
 notangle -Rbuild-script $1 | sh
+\layout LyX-Code
+
 \the_end
index 51ba1a6064dabf4fb0e42111695aeb58573c259a..2c34fbf6c9a028bc98746a425cbb69c1b29de5e1 100644 (file)
@@ -141,6 +141,20 @@ void InsetBibKey::Write(Buffer const *, ostream & os) const
 }
 
 
+// This is necessary here because this is written without begin_inset
+// This should be changed!!! (Jug)
+void InsetBibKey::Read(Buffer const *, LyXLex & lex)
+{    
+       string token;
+
+       if (lex.EatLine()) {
+               token = lex.GetString();
+               scanCommand(token);
+       } else
+               lex.printError("InsetCommand: Parse error: `$$Token'");
+}
+
+
 string InsetBibKey::getScreenLabel() const
 {
        if (! getOptions().empty())
index b598ec57d7f1be5764fe4218c1cff016e6023414..0ca6e3de191715c03728272716fb1915ff97a8da 100644 (file)
@@ -44,6 +44,8 @@ public:
        /// Currently \bibitem is used as a LyX2.x command, so we need this method.
         void Write(Buffer const *, std::ostream &) const;
        ///
+       void Read(Buffer const *, LyXLex & lex);
+       ///
        virtual string getScreenLabel() const;
         ///
        void Edit(BufferView *, int x, int y, unsigned int button);
index 3d1d1bf53933a308741da66b18115ce81507cf2e..fe0c8e92583f9a3e1a36fd211b72dbeebb1097ba 100644 (file)
@@ -37,8 +37,8 @@ public:
 
        /// Parse the command.
        void scanCommand(string const & cmd);
-       /// Will not be used when lyxf3
-       void Read(Buffer const *, LyXLex & lex);
+       ///
+       virtual void Read(Buffer const *, LyXLex & lex);
        /// 
        virtual int Latex(Buffer const *, std::ostream &,
                          bool fragile, bool free_spc) const;
index 4f2cf7a2674c991c2130d5fa0ffcf75fb8521eb3..2cffe7fc694a242ce1e8759bd518faf5b28370ae 100644 (file)
@@ -47,7 +47,7 @@ using std::endl;
 
 #define cellstart(p) ((p % 2) == 0)
 
-//#define USE_NEW_LAYOUT 1
+#define USE_NEW_LAYOUT 1
 
 InsetTabular::InsetTabular(Buffer * buf, int rows, int columns)
 {