diff --git a/ChangeLog b/ChangeLog index bb0adf1f19..5e4740bcd6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2002-03-26 Jean-Marc Lasgouttes + + * NEWS: update somewhat for 1.2.0 + 2002-03-22 Angus Leeming * INSTALL: updated the Problems section for Tru64 Unix. diff --git a/NEWS b/NEWS index 0ba2e552bb..c789259449 100644 --- a/NEWS +++ b/NEWS @@ -2,32 +2,51 @@ What's new in version 1.2.0? ---------------------------- LyX 1.2.0 is the version where many of changes in the 1.1.x series -begin to really pay off. It should prove to be a very solid base for +really begin to pay off. It should prove to be a very solid base for further developments. As of this version, we use (yet another) new versioning scheme: next major version will be 1.3.0, and 1.2.x will be just incremental fixes (like the fix series used to be for 1.1.5 and 1.1.6). -In the 1.2.0 verison, we switched to the so-called 'new' insets: +This version sees the introduction of the so-called `new' insets, +which can contain arbitrary text. As a consequence, many new features +are now possible: -- Floats, footnotes and margin notes are now real insets +- Floats, footnotes and margin notes are now real insets. The + positional parameters of figure, table and algorith, floats can be set + float-by-float - Most problems with the new table inset of 1.1.6 have been resolved (memory consumption, spell-checking, search and replace...) -- TeX mode has been superseded by the 666 (aka ERT) inset, which is - foldable +- TeX mode has been superseded by the ERT inset, which is foldable, or + can be shown inline -- New graphics inset with support for hassle-free inclusion of various - image formats (GIF, JPEG, PNG and EPS by default). +- Notes inset can now contain arbitrary LyX constructs; they will not + appear in the output. - New minipage inset -- Notes inset can now contain arbitrary LyX constructs -The math editor has been mostly rewritten (and thus may have many new -bugs :). Most of the changes should not be visible for the user, -except: +Other more traditional insets have been improved too: + +- New graphics inset with support for hassle-free inclusion of various + image formats (GIF, JPEG, PNG and EPS by default) and a new + rendering scheme that should fix the bugs we had with the older + ghostscript method. + +- Support for natbib for bibliography citations + + + +The math editor has been mostly rewritten. This begun as a general +cleanup, but it turns out that many new features happened in this +process, among which: + +- possibility to display arbitrary TeX symbols as long as the fonts are + made available to the X server + +- support for many amsmath features - Improvements to the parser @@ -39,25 +58,23 @@ except: - Enable size changes to arrays after creation (add/delete rows/columns) -- Support for amsmath align environment - - Support for changing font on a selection -Most of the popups have been rewritten in the GUI-I framework: - -- The citation dialog citation dialog has a search facility, with - support for regular expressions. - -- The kde frontend has been dropped in favor of a new qt2 frontend. - Note that only the xforms front is really operational as of this - version. Other changes include: -- New ligature break special character, useful for words like - shelfful, or many german words +- Most of the popups have been rewritten in the GUI-I framework, and + improved in the process -- Support for natbib for bibliography citations +- The kde frontend has been dropped in favor of a new qt2 frontend. + Note that only the xforms front is really operational as of this + version and alternative fontends are expected for 1.3.0 + +- The citation dialog has a search facility, with support for regular + expressions. + +- New ligature break special character, useful for words like + "shelfful", or many german words - Support for parsing preamble when converting LaTeX files. Along with changes in the LaTeX production of alignment options, this diff --git a/lib/ChangeLog b/lib/ChangeLog index 1d876c0d3f..fbbf3553e8 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,16 @@ +2002-03-19 Kayvan A. Sylvan + + * examples/listerrors.lyx: Fixed to run with python-1.5 as well + as with latest python-2.2 + + * scripts/listerrors: Re-generated from listerrors.lyx + +2002-03-25 Jean-Marc Lasgouttes + + * Makefile.am (install-xfonts): fix the target when no X fonts + have been found. + General: do not use $$(foo) instead of $${foo} for shell variables! + 2002-03-21 Lars Gullik Bjønnes * Minipage.lyx: diff --git a/lib/Makefile.am b/lib/Makefile.am index a72ff9c144..4510d24130 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -51,33 +51,34 @@ libinstalldirs: done install-xfonts: - files=`sed -e 's/^\([^ ]*\) .*$$/\1/' xfonts/fonts.dir` ; \ - for i in $$(files) ; do \ + test -f xfonts/fonts.dir || exit 0 ; \ + files=`sed -e 's/^[0-9]*$$//' -e 's/^\([^ ]*\) .*$$/\1/' xfonts/fonts.dir` ; echo [$$files] ;\ + for i in $${files} ; do \ ln -sf `kpsewhich $$i` $(DESTDIR)$(pkgdatadir)/xfonts/$$i ; \ - done - $(INSTALL_DATA) xfonts/fonts.dir $(DESTDIR)$(pkgdatadir)/xfonts/fonts.dir + done ; \ + $(INSTALL_DATA) xfonts/fonts.dir $(DESTDIR)$(pkgdatadir)/xfonts/fonts.dir ; \ $(INSTALL_DATA) xfonts/fonts.scale $(DESTDIR)$(pkgdatadir)/xfonts/fonts.scale install-data-local: libinstalldirs install-xfonts files=`cd $(srcdir) ; echo $(LIBINSTFILES)` ; \ - for i in $$(files) ; do \ + for i in $${files} ; do \ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(pkgdatadir)/$$i ; \ done install-exec-local: libinstalldirs files=`cd $(srcdir) ; echo $(LYXSCRIPTS)` ; \ - for i in $$(files) ; do \ + for i in $${files} ; do \ $(INSTALL_SCRIPT) $(srcdir)/$$i $(DESTDIR)$(pkgdatadir)/$$i ; \ done uninstall-local: @$(NORMAL_UNINSTALL) files=`cd $(srcdir) ; echo $(LIBINSTFILES) $(LYXSCRIPTS)` ; \ - for i in $$(files) ; do \ + for i in $${files} ; do \ rm -f $(pkgdatadir)/$$i ; \ done ; \ dirs=`cd $(srcdir) ; echo $(LYXLIBDIRS)` ; \ - for i in $$(dirs) ; do \ + for i in $${dirs} ; do \ rm -rf $(pkgdatadir)/$$i ; \ done diff --git a/lib/configure.m4 b/lib/configure.m4 index b8ebadd65b..e03b7e0aad 100644 --- a/lib/configure.m4 +++ b/lib/configure.m4 @@ -552,10 +552,12 @@ EOF ######## X FONTS # create a fonts.dir file to make X fonts available to LyX echo "checking for TeX fonts" + fontlist="cmex10 cmmi10 cmr10 cmsy10 eufm10 msam10 msbm10" rm -f xfonts/fonts.dir xfonts/fonts.scale xfonts/tmpfonts num=0 +touch xfonts/tmpfonts for font in $fontlist ; do MSG_CHECKING([for $font]) result=no diff --git a/lib/examples/listerrors.lyx b/lib/examples/listerrors.lyx index 63edb0512d..48999af139 100644 --- a/lib/examples/listerrors.lyx +++ b/lib/examples/listerrors.lyx @@ -242,9 +242,9 @@ Expects to read from stdin and output to stdout. __author__ = "Kayvan A. Sylvan " \newline -__date__ = "$Date: 2002/03/19 21:42:48 $" +__date__ = "$Date: 2002/03/25 23:29:30 $" \newline -__version__ = "$Revision: 1.1 $" +__version__ = "$Revision: 1.2 $" \newline __credits__ = """Edmar Wienskoski Jr. @@ -259,7 +259,7 @@ __copyright__ = "Copyright 2002 - The LyX team." \newline \newline -import sys +import sys, string \newline \newline @@ -363,9 +363,7 @@ def getline(file = sys.stdin): \newline if lines: \newline - line = lines[-1] -\newline - lines = lines[:-1] + line = lines.pop() \newline else: \newline @@ -391,7 +389,7 @@ def pushline(line): \newline lines = __lines \newline - lines += (line,) # push a list onto the stack, not individual letters + lines.append(line) \newline \newline @@ -509,9 +507,9 @@ unescaped < < in documentation chunk <>= \newline -if line.find(": unescaped << in documentation chunk") != -1: +if string.find(line, ": unescaped << in documentation chunk") != -1: \newline - line_parts = line.split(':') + line_parts = string.split(line, ':') \newline num_str = line_parts[1] \newline @@ -519,7 +517,7 @@ if line.find(": unescaped << in documentation chunk") != -1: \newline i = 0 \newline - while i < num_len and num_str[i].isdigit(): i += 1 + while i < num_len and (num_str[i] in string.digits): i = i + 1 \newline if i == num_len: \newline @@ -538,13 +536,13 @@ Some noweb messages are simply about undefined scraps. \newline if (not retval): \newline - left = line.find("<<") + left = string.find(line, "<<") \newline if (left != -1) and ((left + 2) < len(line)) and \backslash \newline - (line[left+2:].find(">>") != -1): + (string.find(line[left+2:], ">>") != -1): \newline write_error(line, "noweb"); \newline @@ -586,7 +584,7 @@ if (not retval): \newline for msg in msgs_to_try: \newline - if line.find(msg) != -1: + if string.find(line, msg) != -1: \newline write_error(line, "noweb") \newline @@ -647,7 +645,7 @@ The error message starts with a gcc header (as above) without an associated <>= \newline -first_space = line.find(' ') +first_space = string.find(line, ' ') \newline if first_space > 1: # The smallest would be "X: " \newline @@ -661,7 +659,7 @@ if first_space > 1: # The smallest would be "X: " \newline num_end = first_space \newline - while next_line[num_end].isdigit(): num_end += 1 + while next_line[num_end] in string.digits: num_end = num_end + 1 \newline if num_end > first_space: # good! \newline @@ -686,11 +684,9 @@ At the point in the code that we know that we are in the middle of an error \newline num_str = next_line[first_space:num_end] \newline -msgs = [] +msgs = [line[first_space:]] \newline -msgs += (line[first_space:],) -\newline -msgs += (next_line[num_end + 1:],) +msgs.append(next_line[num_end + 1:]) \newline header_to_see = next_line[:num_end] \newline @@ -698,7 +694,7 @@ next_line = getline() \newline while next_line and next_line[:num_end] == header_to_see: \newline - msgs += (next_line[num_end + 1:],) + msgs.append(next_line[num_end + 1:]) \newline next_line = getline() \newline @@ -754,9 +750,9 @@ def xlc_try(line): \newline if line[0] == '"': # This is the first character of all xlc errors \newline - next_quote = line.find('"', 1) + next_quote = string.find(line, '"', 1) \newline - first_space = line.find(' ') + first_space = string.find(line, ' ') \newline if (next_quote != -1) and (first_space > next_quote): # no space inisde quotes @@ -765,7 +761,7 @@ def xlc_try(line): \newline num_start = num_end = first_space + 6 \newline - while line[num_end].isdigit(): num_end += 1 + while line[num_end] in string.digits: num_end = num_end + 1 \newline if num_end > num_start: \newline diff --git a/lib/scripts/listerrors b/lib/scripts/listerrors index 5142f6dff0..326702b3f3 100755 --- a/lib/scripts/listerrors +++ b/lib/scripts/listerrors @@ -5,15 +5,15 @@ Expects to read from stdin and output to stdout. """ __author__ = "Kayvan A. Sylvan " -__date__ = "$Date: 2002/03/19 21:42:48 $" -__version__ = "$Revision: 1.1 $" +__date__ = "$Date: 2002/03/25 23:29:30 $" +__version__ = "$Revision: 1.2 $" __credits__ = """Edmar Wienskoski Jr. original Literate support for LyX. Bernard Michael Hurley modifications to original listerrors.""" __copyright__ = "Copyright 2002 - The LyX team." -import sys +import sys, string def write_error(msg, tool = "noweb", line_number = 1): """Write out the given message in TeX error style. @@ -37,8 +37,7 @@ def getline(file = sys.stdin): global __lines lines = __lines if lines: - line = lines[-1] - lines = lines[:-1] + line = lines.pop() else: line = file.readline() return line @@ -47,7 +46,7 @@ def pushline(line): "push a line onto the pushback stack." global __lines lines = __lines - lines += (line,) # push a list onto the stack, not individual letters + lines.append(line) def main(): """Entry point for listerrors. Takes no options. @@ -65,19 +64,19 @@ def noweb_try(line): Returns 1 on success, 0 otherwise. Outputs on stdout.""" retval = 0 - if line.find(": unescaped << in documentation chunk") != -1: - line_parts = line.split(':') + if string.find(line, ": unescaped << in documentation chunk") != -1: + line_parts = string.split(line, ':') num_str = line_parts[1] num_len = len(num_str) i = 0 - while i < num_len and num_str[i].isdigit(): i += 1 + while i < num_len and (num_str[i] in string.digits): i = i + 1 if i == num_len: write_error(":" + line_parts[2], "noweb", int(num_str)) retval = 1 if (not retval): - left = line.find("<<") + left = string.find(line, "<<") if (left != -1) and ((left + 2) < len(line)) and \ - (line[left+2:].find(">>") != -1): + (string.find(line[left+2:], ">>") != -1): write_error(line, "noweb"); retval = 1; if (not retval): @@ -94,7 +93,7 @@ def noweb_try(line): "This can't happen:", "non-numeric line number in") for msg in msgs_to_try: - if line.find(msg) != -1: + if string.find(line, msg) != -1: write_error(line, "noweb") retval = 1 break @@ -105,23 +104,22 @@ def gcc_try(line): Returns 1 on success, 0 otherwise. Outputs on stdout.""" retval = 0 - first_space = line.find(' ') + first_space = string.find(line, ' ') if first_space > 1: # The smallest would be "X: " if line[first_space - 1] == ':': header_to_see = line[:first_space - 1] next_line = getline() if next_line and next_line[:first_space - 1] == header_to_see: num_end = first_space - while next_line[num_end].isdigit(): num_end += 1 + while next_line[num_end] in string.digits: num_end = num_end + 1 if num_end > first_space: # good! num_str = next_line[first_space:num_end] - msgs = [] - msgs += (line[first_space:],) - msgs += (next_line[num_end + 1:],) + msgs = [line[first_space:]] + msgs.append(next_line[num_end + 1:]) header_to_see = next_line[:num_end] next_line = getline() while next_line and next_line[:num_end] == header_to_see: - msgs += (next_line[num_end + 1:],) + msgs.append(next_line[num_end + 1:]) next_line = getline() if next_line: pushline(next_line) write_error(msgs, "gcc", int(num_str)) @@ -138,12 +136,12 @@ def xlc_try(line): Returns 1 on success, 0 otherwise. Outputs on stdout.""" retval = 0 if line[0] == '"': # This is the first character of all xlc errors - next_quote = line.find('"', 1) - first_space = line.find(' ') + next_quote = string.find(line, '"', 1) + first_space = string.find(line, ' ') if (next_quote != -1) and (first_space > next_quote): # no space inisde quotes if line[first_space - 1:first_space + 6] == ", line ": num_start = num_end = first_space + 6 - while line[num_end].isdigit(): num_end += 1 + while line[num_end] in string.digits: num_end = num_end + 1 if num_end > num_start: write_error(line, "xlc", int(line[num_start : num_end])) retval = 1