]> git.lyx.org Git - lyx.git/commitdiff
backport listerrors to python 1.5, fix installation when there are no ps TeX fonts...
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Mon, 25 Mar 2002 23:29:30 +0000 (23:29 +0000)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Mon, 25 Mar 2002 23:29:30 +0000 (23:29 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3829 a592a061-630c-0410-9148-cb99ea01b6c8

ChangeLog
NEWS
lib/ChangeLog
lib/Makefile.am
lib/configure.m4
lib/examples/listerrors.lyx
lib/scripts/listerrors

index bb0adf1f19413c2ed0628e246251649c9c7ef598..5e4740bcd6724ba2993c002ed9e317375f9f1534 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2002-03-26  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
+
+       * NEWS: update somewhat for 1.2.0
+
 2002-03-22  Angus Leeming  <a.leeming@ic.ac.uk>
 
        * INSTALL: updated the Problems section for Tru64 Unix.
diff --git a/NEWS b/NEWS
index 0ba2e552bbff2b0880eaea9853fb8736a5334a33..c78925944962c16f99f665368b86e6cbaa916d48 100644 (file)
--- 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.
+Other changes include:
+
+- Most of the popups have been rewritten in the GUI-I framework, and
+  improved in the process
 
 - 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
+  version and alternative fontends are expected for 1.3.0
 
-Other changes include:
+- 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 natbib for bibliography citations
+  "shelfful", or many german words
 
 - Support for parsing preamble when converting LaTeX files. Along 
   with changes in the LaTeX production of alignment options, this 
index 1d876c0d3f364e81d4a17ed5c3a7a97841f4ae84..fbbf3553e8a4d5cb4da10044447a9525d989e7d4 100644 (file)
@@ -1,3 +1,16 @@
+2002-03-19  Kayvan A. Sylvan  <kayvan@sylvan.com>
+
+       * 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  <lasgouttes@freesurf.fr>
+
+       * 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  <larsbj@birdstep.com>
 
        * Minipage.lyx:
index a72ff9c144cc0e8c0e8b092bffd5dffe5ac38c93..4510d24130b94b92675222f6c72f0becf54a9c16 100644 (file)
@@ -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
 
index b8ebadd65b111f0fd39345978efc823291a57570..e03b7e0aad73e0bb651387a339841b78319e8bdf 100644 (file)
@@ -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
index 63edb0512d855879e68dc0ea2004e273ea1e0029..48999af139fe9902df484d03dfdd64e488c23e12 100644 (file)
@@ -242,9 +242,9 @@ Expects to read from stdin and output to stdout.
 __author__ = "Kayvan A.
  Sylvan <kayvan@sylvan.com>"
 \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.
  <edmar-w-jr@technologist.com>
@@ -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
 
 <<Look for the unescaped angle-brackets in documentation>>=
 \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
 
 <<Handle the gcc error message>>= 
 \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 = []
-\newline 
-msgs += (line[first_space:],)
+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 
index 5142f6dff0420500321d0873e00a03d61ee855b4..326702b3f376556f96820ae6bdd8188d2ace7e92 100755 (executable)
@@ -5,15 +5,15 @@ Expects to read from stdin and output to stdout.
 """
 
 __author__ = "Kayvan A. Sylvan <kayvan@sylvan.com>"
-__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. <edmar-w-jr@technologist.com>
     original Literate support for LyX.
 Bernard Michael Hurley <berhardh@westherts.ac.uk>
     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