From: Jürgen Vigna Date: Thu, 13 Jul 2000 09:38:34 +0000 (+0000) Subject: Small fixes + literate patch X-Git-Tag: 1.6.10~22122 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=b4500f209de02aa39e51b3cebd835b29aeb019e5;p=lyx.git Small fixes + literate patch git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@880 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/ChangeLog b/ChangeLog index c402ed9426..028cc1c495 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2000-07-13 Juergen Vigna + + * 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 * src/BufferView2.C (open_new_inset): changed to a bool returnvalue diff --git a/lib/examples/Literate.lyx b/lib/examples/Literate.lyx index 647af802ed..0cb835d8aa 100644 --- a/lib/examples/Literate.lyx +++ b/lib/examples/Literate.lyx @@ -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 <>= @@ -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 diff --git a/src/insets/insetbib.C b/src/insets/insetbib.C index 51ba1a6064..2c34fbf6c9 100644 --- a/src/insets/insetbib.C +++ b/src/insets/insetbib.C @@ -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()) diff --git a/src/insets/insetbib.h b/src/insets/insetbib.h index b598ec57d7..0ca6e3de19 100644 --- a/src/insets/insetbib.h +++ b/src/insets/insetbib.h @@ -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); diff --git a/src/insets/insetcommand.h b/src/insets/insetcommand.h index 3d1d1bf539..fe0c8e9258 100644 --- a/src/insets/insetcommand.h +++ b/src/insets/insetcommand.h @@ -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; diff --git a/src/insets/insettabular.C b/src/insets/insettabular.C index 4f2cf7a267..2cffe7fc69 100644 --- a/src/insets/insettabular.C +++ b/src/insets/insettabular.C @@ -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) {